summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.in71
-rw-r--r--doc/configuration.texi5
-rw-r--r--doc/knot.info320
-rwxr-xr-xdoc/mdate-sh15
-rw-r--r--doc/reference.texi2
-rw-r--r--doc/running.texi2
-rw-r--r--doc/stamp-vti6
-rw-r--r--doc/texinfo.tex361
-rw-r--r--doc/version.texi6
9 files changed, 454 insertions, 334 deletions
diff --git a/doc/Makefile.in b/doc/Makefile.in
index d8e93dd..1a14f1d 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 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.
@@ -58,24 +57,58 @@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_compile_flag.m4 \
$(top_srcdir)/m4/ax_ext.m4 \
$(top_srcdir)/m4/ax_gcc_x86_cpuid.m4 \
- $(top_srcdir)/m4/ax_recvmmsg.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/visibility.m4 $(top_srcdir)/configure.ac
+ $(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/visibility.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/src/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
+AM_V_DVIPS = $(am__v_DVIPS_@AM_V@)
+am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@)
+am__v_DVIPS_0 = @echo " DVIPS " $@;
+am__v_DVIPS_1 =
+AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@)
+am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@)
+am__v_MAKEINFO_0 = @echo " MAKEINFO" $@;
+am__v_MAKEINFO_1 =
+AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@)
+am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@)
+am__v_INFOHTML_0 = @echo " INFOHTML" $@;
+am__v_INFOHTML_1 =
+AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@)
+am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@)
+am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@;
+am__v_TEXI2DVI_1 =
+AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@)
+am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@)
+am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@;
+am__v_TEXI2PDF_1 =
+AM_V_texinfo = $(am__v_texinfo_@AM_V@)
+am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@)
+am__v_texinfo_0 = -q
+am__v_texinfo_1 =
+AM_V_texidevnull = $(am__v_texidevnull_@AM_V@)
+am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
+am__v_texidevnull_0 = > /dev/null
+am__v_texidevnull_1 =
INFO_DEPS = $(srcdir)/knot.info
am__TEXINFO_TEX_DIR = $(srcdir)
DVIS = knot.dvi
@@ -314,7 +347,7 @@ clean-libtool:
-rm -rf .libs _libs
.texi.info:
- restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+ $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \
am__cwd=`pwd` && $(am__cd) $(srcdir) && \
rm -rf $$backupdir && mkdir $$backupdir && \
if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
@@ -336,18 +369,18 @@ clean-libtool:
rm -rf $$backupdir; exit $$rc
.texi.dvi:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2DVI) $<
+ $(TEXI2DVI) $(AM_V_texinfo) --clean $< $(AM_V_texidevnull)
.texi.pdf:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2PDF) $<
+ $(TEXI2PDF) $(AM_V_texinfo) --clean $< $(AM_V_texidevnull)
.texi.html:
- rm -rf $(@:.html=.htp)
- if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+ $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
+ $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
-o $(@:.html=.htp) $<; \
then \
rm -rf $@; \
@@ -382,8 +415,8 @@ mostlyclean-vti:
maintainer-clean-vti:
-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
.dvi.ps:
- TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
- $(DVIPS) -o $@ $<
+ $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+ $(DVIPS) $(AM_V_texinfo) -o $@ $<
uninstall-dvi-am:
@$(NORMAL_UNINSTALL)
@@ -482,6 +515,8 @@ TAGS:
ctags: CTAGS
CTAGS:
+cscope cscopelist:
+
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
diff --git a/doc/configuration.texi b/doc/configuration.texi
index 5dd5549..e6cdf53 100644
--- a/doc/configuration.texi
+++ b/doc/configuration.texi
@@ -274,13 +274,12 @@ Setting to a value greater than @code{0} means that every flow is allowed N resp
It is also possible to configure SLIP interval, which causes every Nth blocked response to be slipped
as a truncated response. Not that some error responses cannot be truncated and are slipped as-is.
For more information, refer to @ref{rate-limit-slip}.
-It is advisable to not set slip interval to a value larger than 2, to allow legitimate clients
-get at least some level of service.
+It is advisable to not set slip interval to a value larger than 1.
Example configuration:
@example
system @{
rate-limit 200; # Each flow is allowed to 200 resp. per second
- rate-limit-slip 2; # Every other response is slipped (default)
+ rate-limit-slip 1; # Every response is slipped (default)
@}
@end example
diff --git a/doc/knot.info b/doc/knot.info
index c2ad015..23137d0 100644
--- a/doc/knot.info
+++ b/doc/knot.info
@@ -1,6 +1,6 @@
-This is knot.info, produced by makeinfo version 4.13 from knot.texi.
+This is ./knot.info, produced by makeinfo version 4.8 from ./knot.texi.
-This manual is for Knot DNS (version 1.3.0-rc4, 9 July 2013), which is
+This manual is for Knot DNS (version 1.3.0-rc5, 29 July 2013), which is
a high-performance authoritative-only DNS server.
Copyright (C) 2012 CZ.NIC, z.s.p.o.
@@ -30,7 +30,7 @@ File: knot.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
Knot DNS
********
-This manual is for Knot DNS (version 1.3.0-rc4, 9 July 2013).
+This manual is for Knot DNS (version 1.3.0-rc5, 29 July 2013).
* Menu:
@@ -502,7 +502,7 @@ For example:
$ ./configure --enable-debug=server,packet --enable-debuglevel=brief
$ ./configure --enable-debug=server,packet --enable-debuglevel=verbose
-For more detailed information, see *note Debug messages::.
+For more detailed information, see *Note Debug messages::.
In most simple case you can just run configure without any options.
@@ -732,14 +732,14 @@ can be used as a base for your Knot DNS setup.
Now let's go step by step through this minimal configuration file:
1. In `system' statement we have configured `storage' directory where
- Knot DNS will store slave zones and journal files. (See *note
- system:: and *note storage::)
+ Knot DNS will store slave zones and journal files. (See *Note
+ system:: and *Note storage::)
2. The `interfaces' statement defines interfaces where Knot DNS will
listen for incoming connections. We have defined two interfaces:
one IPv4 called `my_interface' explicitly listening on port 53 and
second IPv6 called `second_int' also listening on port 53, which
- is the default port for the DNS. See *note interfaces::.
+ is the default port for the DNS. See *Note interfaces::.
3. The `log' statement defines the log facilities for Knot DNS. In
this example we told Knot DNS to send its log messages with the
@@ -747,7 +747,7 @@ Now let's go step by step through this minimal configuration file:
you omit this sections, all severities will printed to either
`stdout' or `stderr', and the severities from the `warning' and
more serious to syslog. You can find all possible combinations in
- the *note log::.
+ the *Note log::.
4. The `zones' statement is probably the most important one, because
it defines the zones that Knot DNS will serve. In its most simple
@@ -766,7 +766,7 @@ the zone master. If `update-in' is set and zone has a master, any
accepted DNS UPDATE will be forwarded to master. Also note that you
need to explicitly allow incoming NOTIFY, otherwise the daemon would
reject them. Also, you can specify paths, relative to the storage
-directory. See *note zones:: and *note storage::. If the zone file
+directory. See *Note zones:: and *Note storage::. If the zone file
doesn't exist and `xfr-in' is set, it will be bootstrapped over AXFR.
remotes {
@@ -788,7 +788,7 @@ configure a TSIG key and assign it to a remote. Supported algorithms
for TSIG key are:
`hmac-md5, hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384,
hmac-sha512'
-Key secret is written in a base64 encoded format. See *note keys::.
+Key secret is written in a base64 encoded format. See *Note keys::.
keys {
key0 hmac-md5 "Wg=="; # keyname algorithm secret
@@ -929,7 +929,7 @@ File: knot.info, Node: Enabling zone semantic checks, Next: Creating IXFR diff
=================================
You can turn on more detailed semantic checks of zone file in this
-`zones' statement (*note zones::). Refer to *note zones List of zone
+`zones' statement (*note zones::). Refer to *Note zones List of zone
semantic checks:: to see which checks are enabled by default and which
are optional.
@@ -941,9 +941,9 @@ File: knot.info, Node: Creating IXFR differences from zone file changes, Next:
If Knot is being run as a master server, experimental feature
`ixfr-from-differences' can be enabled to create IXFR differences from
-changes made to the master zone file. See *note Controlling running
+changes made to the master zone file. See *Note Controlling running
daemon:: for more information. For more about `zones' statement see
-*note zones::.
+*Note zones::.

File: knot.info, Node: Using Response Rate Limiting, Prev: Creating IXFR differences from zone file changes, Up: Knot DNS Configuration
@@ -959,21 +959,20 @@ could then exploit DNS server responding to every query, potentially
flooding the victim with a large unsolicited DNS responses.
As of Knot DNS version 1.2.0, RRL is compiled in, but disabled by
-default. You can enable it with the *note rate-limit:: option in the
-*note system:: section. Setting to a value greater than `0' means that
+default. You can enable it with the *Note rate-limit:: option in the
+*Note system:: section. Setting to a value greater than `0' means that
every flow is allowed N responses per second, (i.e. `rate-limit 50;'
means `50' responses per second). It is also possible to configure
SLIP interval, which causes every Nth blocked response to be slipped as
a truncated response. Not that some error responses cannot be truncated
-and are slipped as-is. For more information, refer to *note
+and are slipped as-is. For more information, refer to *Note
rate-limit-slip::. It is advisable to not set slip interval to a value
-larger than 2, to allow legitimate clients get at least some level of
-service.
+larger than 1.
Example configuration:
system {
rate-limit 200; # Each flow is allowed to 200 resp. per second
- rate-limit-slip 2; # Every other response is slipped (default)
+ rate-limit-slip 1; # Every response is slipped (default)
}

@@ -1026,8 +1025,6 @@ server daemon. If you want to control the daemon directly, use
-v, --verbose Verbose mode - additional runtime
information.
-V, --version Print knot server version.
- -w, --wait Wait for the server to finish stop
- operations.
-i, --interactive Interactive mode (do not daemonize).
-h, --help Print help and usage.
@@ -1091,7 +1088,7 @@ foreground mode, PID file will be created in `rundir' directory.
$ knotd -d -c slave.conf # start the daemon
$ knotc -c slave.conf stop # stop the daemon
-When the server is running, you can control the daemon, see *note
+When the server is running, you can control the daemon, see *Note
Controlling running daemon::.

@@ -1131,7 +1128,7 @@ restarting the server. This can be done with the `knotc reload' action.
$ knotc -c master.conf reload # reconfigure and load updated zones
If you want _IXFR-out_ differences created from changes you make to a
-zone file, enable *note ixfr-from-differences:: in `zones' statement,
+zone file, enable *Note ixfr-from-differences:: in `zones' statement,
then reload your server as seen above. If _SOA_'s _serial_ is not
changed no differences will be created. Please note that this feature
is in _experimental_ stage and should be used with care. If you
@@ -1662,7 +1659,7 @@ each Nth response as truncated, thus allowing client to reconnect via
TCP for at least some degree of service. It is worth noting, that some
responses can't be truncated (f.e. SERVFAIL).
-Default value: `2'
+Default value: `1'

File: knot.info, Node: system Example, Prev: system Statement Definition and Usage, Up: system
@@ -1671,8 +1668,8 @@ A.1.3 system Example
--------------------
system {
- identity "Knot DNS 1.3.0-rc4";
- version "1.3.0-rc4";
+ identity "Knot DNS 1.3.0-rc5";
+ version "1.3.0-rc5";
nsid "amaterasu";
storage "/var/lib/knot";
rundir "/var/run/knot";
@@ -1974,10 +1971,10 @@ A.5 `groups' Statement
======================
The `groups' statement is used to create groups of remote machines
-defined in *note remotes:: statement. The group can substitute multiple
+defined in *Note remotes:: statement. The group can substitute multiple
machines specification anywhere in the configuration where the list of
-remotes is allowed to be used (namely `allow' in *note control::
-section and ACLs in *note zones:: section).
+remotes is allowed to be used (namely `allow' in *Note control::
+section and ACLs in *Note zones:: section).
The remotes definitions must exist prior to using them in group
definitions. One remote can be a member of multiple groups.
@@ -2025,7 +2022,7 @@ A.5.2.2 `remote_id'
...................
`remote_id' contains a symbolic name for a remote server as specified in
-*note remotes:: section.
+*Note remotes:: section.

File: knot.info, Node: groups Examples, Prev: groups Statement Definition and Grammar, Up: groups
@@ -2094,7 +2091,7 @@ A.6.2 Statement Definition and Grammar
--------------------------------------
Control interface `listen-on' either defines a UNIX socket or an
-IPv4/IPv6 `interface' definition as in *note interfaces::. Default
+IPv4/IPv6 `interface' definition as in *Note interfaces::. Default
port for IPv4/v6 control interface is `5533', however UNIX socket is
preferred. UNIX socket address is relative to `rundir' if not
specified as an absolute path. Without any configuration, the socket
@@ -2266,7 +2263,7 @@ A.7.2.8 semantic-checks
.......................
`semantic-checks' statement turns on optional semantic checks for this
-particular zone. See *note zones List of zone semantic checks:: for
+particular zone. See *Note zones List of zone semantic checks:: for
more information.
Possible values are `on' and `off'. Most checks are disabled by
@@ -2281,7 +2278,7 @@ A.7.2.9 ixfr-from-differences
EXPERIMENTAL: option `ixfr-from-differences' is only relevant if you
are running Knot DNS as a master for this zone. By turning the feature
on you tell Knot to create differences from changes you made to a zone
-file upon server reload. See *note Controlling running daemon:: for
+file upon server reload. See *Note Controlling running daemon:: for
more information.
Possible values are `on' and `off'. Disabled by default.
@@ -2323,7 +2320,7 @@ A.7.2.13 zonefile-sync
`zonefile-sync' is only relevant in a slave server scenario and only
after receiving IXFR. It is a time in seconds after which current zone
-in memory will be synced to its file on a disk (as set in *note
+in memory will be synced to its file on a disk (as set in *Note
file::). Knot DNS will serve the latest zone even after restart, but
zone file on a disk will only be synced after `zonefile-sync' time has
expired. Possible values are 1 to INT_MAX, optionally suffixed by unit
@@ -2593,135 +2590,130 @@ A.9.2 Examples

Tag Table:
-Node: Top1039
-Node: Introduction4047
-Node: What is Knot DNS4345
-Node: Knot DNS features4863
-Node: Scope of this document5884
-Node: Knot DNS Resource Requirements6146
-Node: Hardware requirements6444
-Node: CPU requirements7084
-Node: Memory requirements7469
-Node: Supported operating system8185
-Node: Knot DNS Installation8653
-Node: Required build environment8960
-Node: Required libraries9584
-Node: Userspace RCU10389
-Node: Installation from the sources11341
-Node: Configuring and generating Makefiles11926
-Node: Compilation13584
-Node: Installation14160
-Node: Installation from packages14667
-Node: Installing Knot DNS packages on Debian15191
-Node: Installing Knot DNS packages on Ubuntu16169
-Node: Adding official PPA repository for Knot DNS17083
-Node: Installing Knot DNS packages on Fedora17711
-Node: Installing Knot DNS from ports on FreeBSD19110
-Node: Knot DNS Configuration19457
-Node: Minimal configuration20028
-Node: Slave configuration22041
-Node: Master configuration24037
-Node: Configuring multiple interfaces25083
-Node: Using DNS UPDATE25568
-Node: Remote control interface27135
-Node: Enabling zone semantic checks28227
-Node: Creating IXFR differences from zone file changes28694
-Node: Using Response Rate Limiting29267
-Node: Running Knot DNS30768
-Node: Running a slave server34499
-Node: Running a master server35795
-Node: Controlling running daemon36776
-Node: Troubleshooting37947
-Node: Submitting a bugreport38355
-Node: Generating backtrace39525
-Node: Debug messages40527
-Node: Enabling debug messages in server41197
-Node: Debug messages Example42757
-Node: Statement Index42956
-Node: Knot DNS Configuration Reference46779
-Node: system47145
-Node: system Syntax47506
-Node: system Statement Definition and Usage48385
-Node: identity48818
-Node: version49228
-Node: hostname49662
-Node: nsid50100
-Node: storage50420
-Node: rundir50777
-Node: pidfile51118
-Node: workers51417
-Node: user51802
-Node: max-conn-idle52236
-Node: max-conn-hs52553
-Node: max-conn-reply52914
-Node: transfers53145
-Node: rate-limit53430
-Node: rate-limit-size54172
-Node: rate-limit-slip54843
-Node: system Example55427
-Node: keys55792
-Node: keys Syntax56099
-Node: keys Statement Definition and Usage56328
-Node: key_id56534
-Node: Example57496
-Node: interfaces57730
-Node: interfaces Syntax58065
-Node: interfaces Statement Definition and Usage58403
-Node: interface_id58645
-Node: interfaces Examples59009
-Node: remotes59488
-Node: remotes Syntax60087
-Node: remotes Statement Definition and Grammar60526
-Node: remote_id60796
-Node: address60996
-Node: port61215
-Node: key61469
-Node: via61684
-Node: remotes Examples61914
-Node: groups62440
-Node: groups Syntax63130
-Node: groups Statement Definition and Grammar63348
-Node: group_id63606
-Node: groups_remote_id63813
-Node: groups Examples64060
-Node: control64466
-Node: control Syntax65003
-Node: control Statement Definition and Grammar65371
-Node: control Examples65954
-Node: zones66436
-Node: zones Syntax66780
-Node: zones Statement Definition and Grammar67740
-Node: zone_id68172
-Node: file68560
-Node: xfr-in68904
-Node: xfr-out69243
-Node: notify-in69588
-Node: notify-out69836
-Node: update-in70091
-Node: semantic-checks70434
-Node: ixfr-from-differences70853
-Node: disable-any71410
-Node: notify-timeout71797
-Node: notify-retries72142
-Node: zonefile-sync72461
-Node: ixfr-fslimit73171
-Node: zones Example73577
-Node: zones List of zone semantic checks74399
-Node: log76199
-Node: log Syntax76422
-Node: log Statement Definition and Grammar76746
-Node: log_name77456
-Node: category77785
-Node: severity78252
-Node: log_file78994
-Node: log Example79249
-Node: include79632
-Node: include Syntax80101
-Node: include Examples80239
+Node: Top1043
+Node: Introduction4052
+Node: What is Knot DNS4350
+Node: Knot DNS features4868
+Node: Scope of this document5889
+Node: Knot DNS Resource Requirements6151
+Node: Hardware requirements6449
+Node: CPU requirements7089
+Node: Memory requirements7474
+Node: Supported operating system8190
+Node: Knot DNS Installation8658
+Node: Required build environment8965
+Node: Required libraries9589
+Node: Userspace RCU10394
+Node: Installation from the sources11346
+Node: Configuring and generating Makefiles11931
+Node: Compilation13589
+Node: Installation14165
+Node: Installation from packages14672
+Node: Installing Knot DNS packages on Debian15196
+Node: Installing Knot DNS packages on Ubuntu16174
+Node: Adding official PPA repository for Knot DNS17088
+Node: Installing Knot DNS packages on Fedora17716
+Node: Installing Knot DNS from ports on FreeBSD19115
+Node: Knot DNS Configuration19462
+Node: Minimal configuration20033
+Node: Slave configuration22046
+Node: Master configuration24042
+Node: Configuring multiple interfaces25088
+Node: Using DNS UPDATE25573
+Node: Remote control interface27140
+Node: Enabling zone semantic checks28232
+Node: Creating IXFR differences from zone file changes28699
+Node: Using Response Rate Limiting29272
+Node: Running Knot DNS30703
+Node: Running a slave server34321
+Node: Running a master server35617
+Node: Controlling running daemon36598
+Node: Troubleshooting37769
+Node: Submitting a bugreport38177
+Node: Generating backtrace39347
+Node: Debug messages40349
+Node: Enabling debug messages in server41019
+Node: Debug messages Example42579
+Node: Statement Index42778
+Node: Knot DNS Configuration Reference46601
+Node: system46967
+Node: system Syntax47328
+Node: system Statement Definition and Usage48207
+Node: identity48640
+Node: version49050
+Node: hostname49484
+Node: nsid49922
+Node: storage50242
+Node: rundir50599
+Node: pidfile50940
+Node: workers51239
+Node: user51624
+Node: max-conn-idle52058
+Node: max-conn-hs52375
+Node: max-conn-reply52736
+Node: transfers52967
+Node: rate-limit53252
+Node: rate-limit-size53994
+Node: rate-limit-slip54665
+Node: system Example55249
+Node: keys55614
+Node: keys Syntax55921
+Node: keys Statement Definition and Usage56150
+Node: key_id56356
+Node: Example57318
+Node: interfaces57552
+Node: interfaces Syntax57887
+Node: interfaces Statement Definition and Usage58225
+Node: interface_id58467
+Node: interfaces Examples58831
+Node: remotes59310
+Node: remotes Syntax59909
+Node: remotes Statement Definition and Grammar60348
+Node: remote_id60618
+Node: address60818
+Node: port61037
+Node: key61291
+Node: via61506
+Node: remotes Examples61736
+Node: groups62262
+Node: groups Syntax62952
+Node: groups Statement Definition and Grammar63170
+Node: group_id63428
+Node: groups_remote_id63635
+Node: groups Examples63882
+Node: control64288
+Node: control Syntax64825
+Node: control Statement Definition and Grammar65193
+Node: control Examples65776
+Node: zones66258
+Node: zones Syntax66602
+Node: zones Statement Definition and Grammar67562
+Node: zone_id67994
+Node: file68382
+Node: xfr-in68726
+Node: xfr-out69065
+Node: notify-in69410
+Node: notify-out69658
+Node: update-in69913
+Node: semantic-checks70256
+Node: ixfr-from-differences70675
+Node: disable-any71232
+Node: notify-timeout71619
+Node: notify-retries71964
+Node: zonefile-sync72283
+Node: ixfr-fslimit72993
+Node: zones Example73399
+Node: zones List of zone semantic checks74221
+Node: log76021
+Node: log Syntax76244
+Node: log Statement Definition and Grammar76568
+Node: log_name77278
+Node: category77607
+Node: severity78074
+Node: log_file78816
+Node: log Example79071
+Node: include79454
+Node: include Syntax79923
+Node: include Examples80061

End Tag Table
-
-
-Local Variables:
-coding: utf-8
-End:
diff --git a/doc/mdate-sh b/doc/mdate-sh
index 60dc485..4614441 100755
--- a/doc/mdate-sh
+++ b/doc/mdate-sh
@@ -3,8 +3,7 @@
scriptversion=2010-08-21.06; # UTC
-# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009, 2010
-# Free Software Foundation, Inc.
+# Copyright (C) 1995-2012 Free Software Foundation, Inc.
# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
#
# This program is free software; you can redistribute it and/or modify
@@ -40,7 +39,7 @@ fi
case $1 in
'')
- echo "$0: No file. Try \`$0 --help' for more information." 1>&2
+ echo "$0: No file. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
@@ -76,7 +75,7 @@ LC_TIME=C
export LC_TIME
# GNU ls changes its time format in response to the TIME_STYLE
-# variable. Since we cannot assume `unset' works, revert this
+# variable. Since we cannot assume 'unset' works, revert this
# variable to its documented default.
if test "${TIME_STYLE+set}" = set; then
TIME_STYLE=posix-long-iso
@@ -96,14 +95,14 @@ if ls -n /dev/null 1>/dev/null 2>&1; then
ls_command="$ls_command -n"
fi
-# A `ls -l' line looks as follows on OS/2.
+# A 'ls -l' line looks as follows on OS/2.
# drwxrwx--- 0 Aug 11 2001 foo
# This differs from Unix, which adds ownership information.
# drwxrwx--- 2 root root 4096 Aug 11 2001 foo
#
# To find the date, we split the line on spaces and iterate on words
# until we find a month. This cannot work with files whose owner is a
-# user named `Jan', or `Feb', etc. However, it's unlikely that `/'
+# user named "Jan", or "Feb", etc. However, it's unlikely that '/'
# will be owned by a user whose name is a month. So we first look at
# the extended ls output of the root directory to decide how many
# words should be skipped to get the date.
@@ -116,7 +115,7 @@ month=
command=
until test $month
do
- test $# -gt 0 || error "failed parsing \`$ls_command /' output"
+ test $# -gt 0 || error "failed parsing '$ls_command /' output"
shift
# Add another shift to the command.
command="$command shift;"
@@ -136,7 +135,7 @@ do
esac
done
-test -n "$month" || error "failed parsing \`$ls_command /' output"
+test -n "$month" || error "failed parsing '$ls_command /' output"
# Get the extended ls output of the file or directory.
set dummy x`eval "$ls_command \"\\\$save_arg1\""`
diff --git a/doc/reference.texi b/doc/reference.texi
index 7344956..04b1fcb 100644
--- a/doc/reference.texi
+++ b/doc/reference.texi
@@ -270,7 +270,7 @@ As attacks using DNS/UDP are usually based on a forged source address, an attack
if all responses would be completely blocked. The idea behind SLIP mechanism is to send each Nth response as truncated, thus allowing
client to reconnect via TCP for at least some degree of service. It is worth noting, that some responses can't be truncated (f.e. SERVFAIL).
-Default value: @kbd{2}
+Default value: @kbd{1}
@node system Example
@subsection system Example
diff --git a/doc/running.texi b/doc/running.texi
index cfa8810..2e26f09 100644
--- a/doc/running.texi
+++ b/doc/running.texi
@@ -48,8 +48,6 @@ Parameters:
-v, --verbose Verbose mode - additional runtime
information.
-V, --version Print knot server version.
- -w, --wait Wait for the server to finish stop
- operations.
-i, --interactive Interactive mode (do not daemonize).
-h, --help Print help and usage.
diff --git a/doc/stamp-vti b/doc/stamp-vti
index b309676..7ad20ef 100644
--- a/doc/stamp-vti
+++ b/doc/stamp-vti
@@ -1,4 +1,4 @@
-@set UPDATED 9 July 2013
+@set UPDATED 29 July 2013
@set UPDATED-MONTH July 2013
-@set EDITION 1.3.0-rc4
-@set VERSION 1.3.0-rc4
+@set EDITION 1.3.0-rc5
+@set VERSION 1.3.0-rc5
diff --git a/doc/texinfo.tex b/doc/texinfo.tex
index 85b68e7..b5f3141 100644
--- a/doc/texinfo.tex
+++ b/doc/texinfo.tex
@@ -3,7 +3,7 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2012-03-11.15}
+\def\texinfoversion{2012-11-08.11}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -28,9 +28,9 @@
%
% Please try the latest version of texinfo.tex before submitting bug
% reports; you can get the latest version from:
-% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
-% ftp://tug.org/tex/texinfo.tex
-% (and all CTAN mirrors, see http://www.ctan.org).
+% http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or
+% http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or
+% http://www.gnu.org/software/texinfo/ (the Texinfo home page)
% The texinfo.tex in any given distribution could well be out
% of date, so if that's what you're using, please check.
%
@@ -594,7 +594,7 @@
\def\:{\spacefactor=1000 }
% @* forces a line break.
-\def\*{\hfil\break\hbox{}\ignorespaces}
+\def\*{\unskip\hfil\break\hbox{}\ignorespaces}
% @/ allows a line break.
\let\/=\allowbreak
@@ -1117,7 +1117,7 @@ where each line of input produces a line of output.}
% #1 is a control sequence in which to do the replacements,
% which we \xdef.
\def\txiescapepdf#1{%
- \ifx\pdfescapestring\relax
+ \ifx\pdfescapestring\thisisundefined
% No primitive available; should we give a warning or log?
% Many times it won't matter.
\else
@@ -1367,9 +1367,8 @@ output) for that.)}
\def\skipspaces#1{\def\PP{#1}\def\D{|}%
\ifx\PP\D\let\nextsp\relax
\else\let\nextsp\skipspaces
- \ifx\p\space\else\addtokens{\filename}{\PP}%
- \advance\filenamelength by 1
- \fi
+ \addtokens{\filename}{\PP}%
+ \advance\filenamelength by 1
\fi
\nextsp}
\def\getfilename#1{%
@@ -1475,9 +1474,6 @@ output) for that.)}
\def\ttsl{\setfontstyle{ttsl}}
-% Default leading.
-\newdimen\textleading \textleading = 13.2pt
-
% Set the baselineskip to #1, and the lineskip and strut size
% correspondingly. There is no deep meaning behind these magic numbers
% used as factors; they just match (closely enough) what Knuth defined.
@@ -1489,6 +1485,7 @@ output) for that.)}
% can get a sort of poor man's double spacing by redefining this.
\def\baselinefactor{1}
%
+\newdimen\textleading
\def\setleading#1{%
\dimen0 = #1\relax
\normalbaselineskip = \baselinefactor\dimen0
@@ -1761,18 +1758,24 @@ end
\fi\fi
-% Set the font macro #1 to the font named #2, adding on the
-% specified font prefix (normally `cm').
+% Set the font macro #1 to the font named \fontprefix#2.
% #3 is the font's design size, #4 is a scale factor, #5 is the CMap
-% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass
-% empty to omit).
+% encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit).
+% Example:
+% #1 = \textrm
+% #2 = \rmshape
+% #3 = 10
+% #4 = \mainmagstep
+% #5 = OT1
+%
\def\setfont#1#2#3#4#5{%
\font#1=\fontprefix#2#3 scaled #4
\csname cmap#5\endcsname#1%
}
% This is what gets called when #5 of \setfont is empty.
\let\cmap\gobble
-% emacs-page end of cmaps
+%
+% (end of cmaps)
% Use cm as the default font prefix.
% To specify the font prefix, you must define \fontprefix
@@ -1782,7 +1785,7 @@ end
\fi
% Support font families that don't use the same naming scheme as CM.
\def\rmshape{r}
-\def\rmbshape{bx} %where the normal face is bold
+\def\rmbshape{bx} % where the normal face is bold
\def\bfshape{b}
\def\bxshape{bx}
\def\ttshape{tt}
@@ -1797,8 +1800,7 @@ end
\def\scshape{csc}
\def\scbshape{csc}
-% Definitions for a main text size of 11pt. This is the default in
-% Texinfo.
+% Definitions for a main text size of 11pt. (The default in Texinfo.)
%
\def\definetextfontsizexi{%
% Text fonts (11.2pt, magstep1).
@@ -1923,7 +1925,7 @@ end
\textleading = 13.2pt % line spacing for 11pt CM
\textfonts % reset the current fonts
\rm
-} % end of 11pt text font size definitions
+} % end of 11pt text font size definitions, \definetextfontsizexi
% Definitions to make the main text be 10pt Computer Modern, with
@@ -2055,7 +2057,7 @@ end
\textleading = 12pt % line spacing for 10pt CM
\textfonts % reset the current fonts
\rm
-} % end of 10pt text font size definitions
+} % end of 10pt text font size definitions, \definetextfontsizex
% We provide the user-level command
@@ -2270,8 +2272,6 @@ end
\gdef\markupsetcodequoteleft{\let`\codequoteleft}
\gdef\markupsetcodequoteright{\let'\codequoteright}
-
-\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft}
}
\let\markupsetuplqcode \markupsetcodequoteleft
@@ -2280,6 +2280,9 @@ end
\let\markupsetuplqexample \markupsetcodequoteleft
\let\markupsetuprqexample \markupsetcodequoteright
%
+\let\markupsetuplqkbd \markupsetcodequoteleft
+\let\markupsetuprqkbd \markupsetcodequoteright
+%
\let\markupsetuplqsamp \markupsetcodequoteleft
\let\markupsetuprqsamp \markupsetcodequoteright
%
@@ -2289,8 +2292,6 @@ end
\let\markupsetuplqverbatim \markupsetcodequoteleft
\let\markupsetuprqverbatim \markupsetcodequoteright
-\let\markupsetuplqkbd \markupsetnoligaturesquoteleft
-
% Allow an option to not use regular directed right quote/apostrophe
% (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
% The undirected quote is ugly, so don't make it the default, but it
@@ -2380,8 +2381,7 @@ end
\aftersmartic
}
-% like \smartslanted except unconditionally uses \ttsl, and no ic.
-% @var is set to this for defun arguments.
+% Unconditional use \ttsl, and no ic. @var is set to this for defuns.
\def\ttslanted#1{{\ttsl #1}}
% @cite is like \smartslanted except unconditionally use \sl. We never want
@@ -2446,34 +2446,12 @@ end
% @samp.
\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
-% definition of @key that produces a lozenge. Doesn't adjust to text size.
-%\setfont\keyrm\rmshape{8}{1000}{OT1}
-%\font\keysy=cmsy9
-%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
-% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
-% \vbox{\hrule\kern-0.4pt
-% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
-% \kern-0.4pt\hrule}%
-% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+% @indicateurl is \samp, that is, with quotes.
+\let\indicateurl=\samp
-% definition of @key with no lozenge. If the current font is already
-% monospace, don't change it; that way, we respect @kbdinputstyle. But
-% if it isn't monospace, then use \tt.
-%
-\def\key#1{{\setupmarkupstyle{key}%
- \nohyphenation
- \ifmonospace\else\tt\fi
- #1}\null}
-
-% ctrl is no longer a Texinfo command.
-\def\ctrl #1{{\tt \rawbackslash \hat}#1}
-
-% @file, @option are the same as @samp.
-\let\file=\samp
-\let\option=\samp
-
-% @code is a modification of @t,
-% which makes spaces the same size as normal in the surrounding text.
+% @code (and similar) prints in typewriter, but with spaces the same
+% size as normal in the surrounding text, without hyphenation, etc.
+% This is a subroutine for that.
\def\tclose#1{%
{%
% Change normal interword space to be same as for the current font.
@@ -2498,7 +2476,7 @@ end
% We *must* turn on hyphenation at `-' and `_' in @code.
% Otherwise, it is too hard to avoid overfull hboxes
% in the Emacs manual, the Library manual, etc.
-
+%
% Unfortunately, TeX uses one parameter (\hyphenchar) to control
% both hyphenation at - and hyphenation within words.
% We must therefore turn them both off (\tclose does that)
@@ -2562,6 +2540,13 @@ end
\fi\fi
}
+% For @command, @env, @file, @option quotes seem unnecessary,
+% so use \code rather than \samp.
+\let\command=\code
+\let\env=\code
+\let\file=\code
+\let\option=\code
+
% @uref (abbreviation for `urlref') takes an optional (comma-separated)
% second argument specifying the text to display and an optional third
% arg as text to display instead of (rather than in addition to) the url
@@ -2708,10 +2693,6 @@ end
\let\email=\uref
\fi
-% @kbd is like @code, except that if the argument is just one @key command,
-% then @kbd has no effect.
-\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}}
-
% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
% `example' (@kbd uses ttsl only inside of @example and friends),
% or `code' (@kbd uses normal tty font always).
@@ -2735,16 +2716,36 @@ end
% Default is `distinct'.
\kbdinputstyle distinct
+% @kbd is like @code, except that if the argument is just one @key command,
+% then @kbd has no effect.
+\def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}}
+
\def\xkey{\key}
-\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
-\ifx\one\xkey\ifx\threex\three \key{#2}%
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
-\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi}
+\def\kbdsub#1#2#3\par{%
+ \def\one{#1}\def\three{#3}\def\threex{??}%
+ \ifx\one\xkey\ifx\threex\three \key{#2}%
+ \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+ \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
+}
-% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
-\let\indicateurl=\code
-\let\env=\code
-\let\command=\code
+% definition of @key that produces a lozenge. Doesn't adjust to text size.
+%\setfont\keyrm\rmshape{8}{1000}{OT1}
+%\font\keysy=cmsy9
+%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+% \vbox{\hrule\kern-0.4pt
+% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+% \kern-0.4pt\hrule}%
+% \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+
+% definition of @key with no lozenge. If the current font is already
+% monospace, don't change it; that way, we respect @kbdinputstyle. But
+% if it isn't monospace, then use \tt.
+%
+\def\key#1{{\setupmarkupstyle{key}%
+ \nohyphenation
+ \ifmonospace\else\tt\fi
+ #1}\null}
% @clicksequence{File @click{} Open ...}
\def\clicksequence#1{\begingroup #1\endgroup}
@@ -2852,6 +2853,9 @@ end
}
}
+% ctrl is no longer a Texinfo command, but leave this definition for fun.
+\def\ctrl #1{{\tt \rawbackslash \hat}#1}
+
% @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
% Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
% except specified as a normal braced arg, so no newlines to worry about.
@@ -3142,12 +3146,17 @@ end
% hopefully nobody will notice/care.
\edef\ecsize{\csname\curfontsize ecsize\endcsname}%
\edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
- \ifx\curfontstyle\bfstylename
- % bold:
- \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
+ \ifmonospace
+ % typewriter:
+ \font\thisecfont = ectt\ecsize \space at \nominalsize
\else
- % regular:
- \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+ \ifx\curfontstyle\bfstylename
+ % bold:
+ \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
+ \else
+ % regular:
+ \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
+ \fi
\fi
\thisecfont
}
@@ -3260,6 +3269,20 @@ end
\finishedtitlepagetrue
}
+% Settings used for typesetting titles: no hyphenation, no indentation,
+% don't worry much about spacing, ragged right. This should be used
+% inside a \vbox, and fonts need to be set appropriately first. Because
+% it is always used for titles, nothing else, we call \rmisbold. \par
+% should be specified before the end of the \vbox, since a vbox is a group.
+%
+\def\raggedtitlesettings{%
+ \rmisbold
+ \hyphenpenalty=10000
+ \parindent=0pt
+ \tolerance=5000
+ \ptexraggedright
+}
+
% Macros to be used within @titlepage:
\let\subtitlerm=\tenrm
@@ -3267,7 +3290,7 @@ end
\parseargdef\title{%
\checkenv\titlepage
- \leftline{\titlefonts\rmisbold #1}
+ \vbox{\titlefonts \raggedtitlesettings #1\par}%
% print a rule at the page bottom also.
\finishedtitlepagefalse
\vskip4pt \hrule height 4pt width \hsize \vskip4pt
@@ -4204,7 +4227,7 @@ end
}
\def\ifsetfail{\doignore{ifset}}
-% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
+% @ifclear VAR ... @end executes the `...' iff VAR has never been
% defined with @set, or has been undefined with @clear.
%
% The `\else' inside the `\doifset' parameter is a trick to reuse the
@@ -4215,6 +4238,35 @@ end
\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
\def\ifclearfail{\doignore{ifclear}}
+% @ifcommandisdefined CMD ... @end executes the `...' if CMD (written
+% without the @) is in fact defined. We can only feasibly check at the
+% TeX level, so something like `mathcode' is going to considered
+% defined even though it is not a Texinfo command.
+%
+\makecond{ifcommanddefined}
+\def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
+%
+\def\doifcmddefined#1#2{{%
+ \makevalueexpandable
+ \let\next=\empty
+ \expandafter\ifx\csname #2\endcsname\relax
+ #1% If not defined, \let\next as above.
+ \fi
+ \expandafter
+ }\next
+}
+\def\ifcmddefinedfail{\doignore{ifcommanddefined}}
+
+% @ifcommandnotdefined CMD ... handled similar to @ifclear above.
+\makecond{ifcommandnotdefined}
+\def\ifcommandnotdefined{%
+ \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}}
+\def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}}
+
+% Set the `txicommandconditionals' variable, so documents have a way to
+% test if the @ifcommand...defined conditionals are available.
+\set txicommandconditionals
+
% @dircategory CATEGORY -- specify a category of the dir file
% which this file should belong to. Ignore this in TeX.
\let\dircategory=\comment
@@ -4451,6 +4503,7 @@ end
\definedummyword\guillemetright
\definedummyword\guilsinglleft
\definedummyword\guilsinglright
+ \definedummyword\lbracechar
\definedummyword\leq
\definedummyword\minus
\definedummyword\ogonek
@@ -4463,6 +4516,7 @@ end
\definedummyword\quoteleft
\definedummyword\quoteright
\definedummyword\quotesinglbase
+ \definedummyword\rbracechar
\definedummyword\result
\definedummyword\textdegree
%
@@ -4514,6 +4568,7 @@ end
\definedummyword\t
%
% Commands that take arguments.
+ \definedummyword\abbr
\definedummyword\acronym
\definedummyword\anchor
\definedummyword\cite
@@ -4525,7 +4580,9 @@ end
\definedummyword\emph
\definedummyword\env
\definedummyword\file
+ \definedummyword\image
\definedummyword\indicateurl
+ \definedummyword\inforef
\definedummyword\kbd
\definedummyword\key
\definedummyword\math
@@ -4572,7 +4629,10 @@ end
% content at all. So for index sorting, we map @{ and @} to strings
% starting with |, since that ASCII character is between ASCII { and }.
\def\{{|a}%
+ \def\lbracechar{|a}%
+ %
\def\}{|b}%
+ \def\rbracechar{|b}%
%
% Non-English letters.
\def\AA{AA}%
@@ -5533,14 +5593,6 @@ end
% Define @majorheading, @heading and @subheading
-% NOTE on use of \vbox for chapter headings, section headings, and such:
-% 1) We use \vbox rather than the earlier \line to permit
-% overlong headings to fold.
-% 2) \hyphenpenalty is set to 10000 because hyphenation in a
-% heading is obnoxious; this forbids it.
-% 3) Likewise, headings look best if no \parindent is used, and
-% if justification is not attempted. Hence \raggedright.
-
\def\majorheading{%
{\advance\chapheadingskip by 10pt \chapbreak }%
\parsearg\chapheadingzzz
@@ -5548,10 +5600,8 @@ end
\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
\def\chapheadingzzz#1{%
- {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\ptexraggedright
- \rmisbold #1\hfill}}%
- \bigskip \par\penalty 200\relax
+ \vbox{\chapfonts \raggedtitlesettings #1\par}%
+ \nobreak\bigskip \nobreak
\suppressfirstparagraphindent
}
@@ -5710,8 +5760,7 @@ end
%
% Typeset the actual heading.
\nobreak % Avoid page breaks at the interline glue.
- \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
- \hangindent=\wd0 \centerparametersmaybe
+ \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe
\unhbox0 #1\par}%
}%
\nobreak\bigskip % no page break after a chapter title
@@ -5733,18 +5782,18 @@ end
\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
%
\def\unnchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt\ptexraggedright
- \rmisbold #1\hfill}}\bigskip \par\nobreak
+ \chapoddpage
+ \vbox{\chapfonts \raggedtitlesettings #1\par}%
+ \nobreak\bigskip\nobreak
}
\def\chfopen #1#2{\chapoddpage {\chapfonts
\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
\par\penalty 5000 %
}
\def\centerchfopen #1{%
-\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
- \parindent=0pt
- \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak
+ \chapoddpage
+ \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
+ \nobreak\bigskip \nobreak
}
\def\CHAPFopen{%
\global\let\chapmacro=\chfopen
@@ -6510,16 +6559,9 @@ end
\makedispenvdef{quotation}{\quotationstart}
%
\def\quotationstart{%
- {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
- \parindent=0pt
- %
- % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+ \indentedblockstart % same as \indentedblock, but increase right margin too.
\ifx\nonarrowing\relax
- \advance\leftskip by \lispnarrowing
\advance\rightskip by \lispnarrowing
- \exdentamount = \lispnarrowing
- \else
- \let\nonarrowing = \relax
\fi
\parsearg\quotationlabel
}
@@ -6545,6 +6587,32 @@ end
\fi
}
+% @indentedblock is like @quotation, but indents only on the left and
+% has no optional argument.
+%
+\makedispenvdef{indentedblock}{\indentedblockstart}
+%
+\def\indentedblockstart{%
+ {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
+ \parindent=0pt
+ %
+ % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+ \ifx\nonarrowing\relax
+ \advance\leftskip by \lispnarrowing
+ \exdentamount = \lispnarrowing
+ \else
+ \let\nonarrowing = \relax
+ \fi
+}
+
+% Keep a nonzero parskip for the environment, since we're doing normal filling.
+%
+\def\Eindentedblock{%
+ \par
+ {\parskip=0pt \afterenvbreak}%
+}
+\def\Esmallindentedblock{\Eindentedblock}
+
% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
% If we want to allow any <char> as delimiter,
@@ -7023,7 +7091,10 @@ end
\df \sl \hyphenchar\font=0
%
% On the other hand, if an argument has two dashes (for instance), we
- % want a way to get ttsl. Let's try @var for that.
+ % want a way to get ttsl. We used to recommend @var for that, so
+ % leave the code in, but it's strange for @var to lead to typewriter.
+ % Nowadays we recommend @code, since the difference between a ttsl hyphen
+ % and a tt hyphen is pretty tiny. @code also disables ?` !`.
\def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
#1%
\sl\hyphenchar\font=45
@@ -7807,7 +7878,7 @@ end
\fi\fi
}
-
+%
% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
% the node name, #2 the name of the Info cross-reference, #3 the printed
% node name, #4 the name of the Info file, #5 the name of the printed
@@ -7817,16 +7888,21 @@ end
\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
\def\ref#1{\xrefX[#1,,,,,,,]}
%
-\newbox\topbox
+\newbox\toprefbox
\newbox\printedrefnamebox
+\newbox\infofilenamebox
\newbox\printedmanualbox
%
\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
\unsepspaces
%
+ % Get args without leading/trailing spaces.
\def\printedrefname{\ignorespaces #3}%
\setbox\printedrefnamebox = \hbox{\printedrefname\unskip}%
%
+ \def\infofilename{\ignorespaces #4}%
+ \setbox\infofilenamebox = \hbox{\infofilename\unskip}%
+ %
\def\printedmanual{\ignorespaces #5}%
\setbox\printedmanualbox = \hbox{\printedmanual\unskip}%
%
@@ -7861,11 +7937,18 @@ end
\turnoffactive
\makevalueexpandable
% This expands tokens, so do it after making catcode changes, so _
- % etc. don't get their TeX definitions.
+ % etc. don't get their TeX definitions. This ignores all spaces in
+ % #4, including (wrongly) those in the middle of the filename.
\getfilename{#4}%
%
+ % This (wrongly) does not take account of leading or trailing
+ % spaces in #1, which should be ignored.
\edef\pdfxrefdest{#1}%
- \txiescapepdf\pdfxrefdest
+ \ifx\pdfxrefdest\empty
+ \def\pdfxrefdest{Top}% no empty targets
+ \else
+ \txiescapepdf\pdfxrefdest % escape PDF special chars
+ \fi
%
\leavevmode
\startlink attr{/Border [0 0 0]}%
@@ -7898,7 +7981,7 @@ end
\printedrefname
\fi
%
- % if the user also gave the printed manual name (fifth arg), append
+ % If the user also gave the printed manual name (fifth arg), append
% "in MANUALNAME".
\ifdim \wd\printedmanualbox > 0pt
\space \putwordin{} \cite{\printedmanual}%
@@ -7913,32 +7996,20 @@ end
% this is a loss. Therefore, we give the text of the node name
% again, so it is as if TeX is seeing it for the first time.
%
- % Cross-manual reference. Only include the "Section ``foo'' in" if
- % the foo is neither missing or Top. Thus, @xref{,,,foo,The Foo Manual}
- % outputs simply "see The Foo Manual".
\ifdim \wd\printedmanualbox > 0pt
- % What is the 7sp about? The idea is that we also want to omit
- % the Section part if we would be printing "Top", since they are
- % clearly trying to refer to the whole manual. But, this being
- % TeX, we can't easily compare strings while ignoring the possible
- % spaces before and after in the input. By adding the arbitrary
- % 7sp, we make it much less likely that a real node name would
- % happen to have the same width as "Top" (e.g., in a monospaced font).
- % I hope it will never happen in practice.
+ % Cross-manual reference with a printed manual name.
%
- % For the same basic reason, we retypeset the "Top" at every
- % reference, since the current font is indeterminate.
+ \crossmanualxref{\cite{\printedmanual\unskip}}%
+ %
+ \else\ifdim \wd\infofilenamebox > 0pt
+ % Cross-manual reference with only an info filename (arg 4), no
+ % printed manual name (arg 5). This is essentially the same as
+ % the case above; we output the filename, since we have nothing else.
%
- \setbox\topbox = \hbox{Top\kern7sp}%
- \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
- \ifdim \wd2 > 7sp
- \ifdim \wd2 = \wd\topbox \else
- \putwordSection{} ``\printedrefname'' \putwordin{}\space
- \fi
- \fi
- \cite{\printedmanual}%
+ \crossmanualxref{\code{\infofilename\unskip}}%
+ %
\else
- % Reference in this manual.
+ % Reference within this manual.
%
% _ (for example) has to be the character _ for the purposes of the
% control sequence corresponding to the node, but it has to expand
@@ -7959,11 +8030,37 @@ end
%
% output the `page 3'.
\turnoffactive \putwordpage\tie\refx{#1-pg}{}%
- \fi
+ \fi\fi
\fi
\endlink
\endgroup}
+% Output a cross-manual xref to #1. Used just above (twice).
+%
+% Only include the text "Section ``foo'' in" if the foo is neither
+% missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply
+% "see The Foo Manual", the idea being to refer to the whole manual.
+%
+% But, this being TeX, we can't easily compare our node name against the
+% string "Top" while ignoring the possible spaces before and after in
+% the input. By adding the arbitrary 7sp below, we make it much less
+% likely that a real node name would have the same width as "Top" (e.g.,
+% in a monospaced font). Hopefully it will never happen in practice.
+%
+% For the same basic reason, we retypeset the "Top" at every
+% reference, since the current font is indeterminate.
+%
+\def\crossmanualxref#1{%
+ \setbox\toprefbox = \hbox{Top\kern7sp}%
+ \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
+ \ifdim \wd2 > 7sp % nonempty?
+ \ifdim \wd2 = \wd\toprefbox \else % same as Top?
+ \putwordSection{} ``\printedrefname'' \putwordin{}\space
+ \fi
+ \fi
+ #1%
+}
+
% This macro is called from \xrefX for the `[nodename]' part of xref
% output. It's a separate macro only so it can be changed more easily,
% since square brackets don't work well in some documents. Particularly
diff --git a/doc/version.texi b/doc/version.texi
index b309676..7ad20ef 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 9 July 2013
+@set UPDATED 29 July 2013
@set UPDATED-MONTH July 2013
-@set EDITION 1.3.0-rc4
-@set VERSION 1.3.0-rc4
+@set EDITION 1.3.0-rc5
+@set VERSION 1.3.0-rc5