Manual pages for SILC Client, SILC Server and SILC Server config
authorPekka Riikonen <priikone@silcnet.org>
Sun, 3 Nov 2002 17:19:35 +0000 (17:19 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Sun, 3 Nov 2002 17:19:35 +0000 (17:19 +0000)
file by Mika 'Bostik' Boström <bostik@lut.fi>.

CHANGES
Makefile.am.pre
doc/Makefile.am.pre
doc/silc.yo [new file with mode: 0644]
doc/silcd.conf.yo [new file with mode: 0644]
doc/silcd.yo [new file with mode: 0644]
scripts/manpages.pl [new file with mode: 0755]

diff --git a/CHANGES b/CHANGES
index e7003d86819a8351012c2b412c9ccd4f08734e22..63450698d3666c715e3a340490f7f80463d8815f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -12,6 +12,15 @@ Sun Nov  3 17:59:15 EET 2002  Pekka Riikonen <priikone@silcnet.org>
          was missing altogether.  Affected file silcd/command_reply.c.
          Bug #44.
 
+Sun Nov  3 00:42:05 EET 2002  Mika Boström <bostik@lut.fi>
+
+       * Added man-pages for silc(1), silcd(8) and silcd.conf(5).
+         Included yodl sources for each of these. Also modified
+         Makefile.am prototype to install these files to proper
+         locations. Updated CREDITS. Affected file Makefile.am.pre,
+         new files doc/*.yo, doc/silc.1, doc/silcd.conf.5,
+         doc/silcd.8.
+
 Sat Nov  2 21:26:56 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Added support for encrypted private key files.  Now
index a46cf4746880f684078be5e41a52919e2378b917..8d8974aa60209ebbac4eff4c9b75319b4447aff0 100644 (file)
@@ -44,6 +44,7 @@ modulesdir = $(DESTDIR)$(silc_modulesdir)
 helpdir = $(DESTDIR)$(silc_helpdir)
 docdir = $(DESTDIR)$(silc_docdir)
 logsdir = $(DESTDIR)$(silc_logsdir)
+mandir = $(DESTDIR)/man
 
 install-dirs:
        -mkdir -p $(etcdir)
@@ -51,6 +52,10 @@ install-dirs:
        -mkdir -p $(helpdir)
        -mkdir -p $(docdir)
        -mkdir -p $(logsdir)
+       -mkdir -p $(mandir)/man1
+       -mkdir -p $(mandir)/man5
+       -mkdir -p $(mandir)/man8
+
 
 generate-server-key:
        -@if test '!' -f $(etcdir)/silcd.pub ; then \
@@ -65,6 +70,9 @@ doc-install:
        $(INSTALL_DATA) $(srcdir)/doc/FAQ $(docdir)/
        $(INSTALL_DATA) $(srcdir)/doc/example_* $(docdir)/
        $(INSTALL_DATA) $(srcdir)/doc/*.txt $(docdir)/
+       $(INSTALL_DATA) $(srcdir)/doc/silc.1 $(mandir)/man1
+       $(INSTALL_DATA) $(srcdir)/doc/silcd.8 $(mandir)/man8
+       $(INSTALL_DATA) $(srcdir)/doc/silcd.conf.5 $(mandir)/man5
        $(INSTALL_DATA) $(srcdir)/COPYING $(docdir)/
        $(INSTALL_DATA) $(srcdir)/CHANGES $(docdir)/
        $(INSTALL_DATA) $(srcdir)/CREDITS $(docdir)/
@@ -72,6 +80,7 @@ doc-install:
        $(INSTALL_DATA) $(srcdir)/INSTALL $(docdir)/
        $(INSTALL_DATA) $(srcdir)/TODO $(docdir)/
 
+
 toolkit-install:
        -mkdir -p $(docdir)/toolkit/
        -$(INSTALL_DATA) $(srcdir)/doc/toolkit/* $(docdir)/toolkit
index 18fd585af8f35b776178c2ab3700b2cfff20013c..dde03c1916bbcb0ab7023782a6afdc21558c26d0 100644 (file)
@@ -24,6 +24,7 @@ DIST_SUBDIRS = SILC_DISTRIBUTION_SUBDIRS
 makerfc = ../scripts/makerfc
 
 all:
+       $(SILC_TOP_SRCDIR)/scripts/manpages.pl
        touch draft-riikonen-silc-spec-05.txt
        touch draft-riikonen-silc-pp-05.txt
        touch draft-riikonen-silc-ke-auth-05.txt
diff --git a/doc/silc.yo b/doc/silc.yo
new file mode 100644 (file)
index 0000000..08a3170
--- /dev/null
@@ -0,0 +1,185 @@
+manpage(SILC) (1) (October 31 2002) (silc-client-0.9.7) (silc-client)
+
+
+manpagename(silc) (client for SILC, a secure and flexible conferencing network)
+
+
+manpagesynopsis()
+bf(silc) bf([) -S em(file) | -d | -C | -c em(host) | -w em(pass) | 
+-p em(port) | -! | -n em(nick) | -h em(host) | -v | -? bf(])
+
+
+manpagedescription()
+SILC (Secure Internet Live Conferencing) is a secure conferencing network.
+bf(Silc) is the SILC client which is used to connect to SILC server and
+the SILC network.  The silc client resembles IRC clients to make the
+using easier for new users.
+
+bf(Silc) supports sending of practically any kind of messages in addition
+of normal text messages in the SILC network.  The session to SILC server
+is secured with session key, channel messages are protected with channel
+key and private messages with session keys.  It is also possible to use
+private channel keys and private message keys in addition of channel
+generated keys.
+
+bf(Silc) supports em(passphrase) and public key authentication based on
+em(digital signatures), when connecting to SILC server.  bf(Silc) also supports
+key exchange (key agreement) between other bf(Silc) users in the SILC
+network to negotiate secret key material.  This key material then can be
+used to secure for example private messages.  It is also possible to exchange
+public keys and certificates in the SILC network between clients and servers.
+
+The bf(silc) also supports em(detaching) from the SILC network by closing
+the connection to the server but without quitting from the network.  Next
+time the bf(silc) connects to the server it em(resumes) the session in the
+SILC network.  During the detaching the user remains in the network and other
+users may query the user information and see that user is in network but
+currently detached.  Messages sent to user while being detached are
+dropped by the server.  When resuming is over the user has automatically
+same nickname than before detaching and remains on all channels, and it
+seems like user never left the network.
+
+The bf(silc) also supports creation of em(friends) list, which is kind of
+buddy list familiar from IM (Instant Messaging) clients.  By using the
+bf(WHOIS) SILC command with em(-details) option it possible to fetch the
+user's information such as their public keys and certificates, business
+card, pictures, and other information and save them to the friends list.
+The friends list is located at bf(~/.silc/friends/) directory.
+
+The SILC public key and private key pair is used to authenticate the user
+to the SILC server when connecting a server.  This key pair is created
+automatically when the bf(silc) is run for the first time.  It also can
+be created with bf(-C) option.
+
+When connecting for the first time to SILC server, user will be asked to
+accept the server's public key.  When key is accepted the bf(silc) saves
+the public key for future into bf(~/.silc/serverkeys/) directory.  The
+next time user connects to same server the public key is verified against
+the saved public key.  The purposeof this public key saving is to avoid
+man-in-the-middle attacks which could be possible if the key would have
+to be verified everytime user connects to the server.
+
+manpageoptions()
+bf(-c) em(host)      Connect to given host
+
+bf(-p) em(port)      Connect to em(port)
+
+bf(-C)           Create new public key pair
+
+bf(-P)           Change the passphrase of the private key file
+
+bf(-S) em(keyfile)   Display the contents of given SILC public key from file
+
+bf(-n) em(nick)      Specify what nick to use
+
+bf(-h) em(host)      Give em(host) as your hostname
+
+bf(-w) em(pass)      Use em(pass) as password for connection
+
+bf(-d) em(string)    Enable debugging
+
+bf(-v)           Display client version
+
+bf(-!)           Do not autoconnect
+
+bf(-?)           Display client help message
+
+
+manpagesection(LONG OPTIONS)
+
+bf(--connect)=em(SERVER)     Same as bf(-c).
+
+bf(--port)=em(PORT)          Same as bf(-p).
+
+bf(--home)=em(PATH)          Client home dir (em(~/.silc)).
+
+bf(--config)=em(PATH)        Configuration file location (em(~/.silc/silc.conf)).
+
+bf(--list-ciphers)       List supported ciphers.
+
+bf(--list-hash-funcs)    List supported hash functions.
+
+bf(--list-hmacs)         List supported HMACs.
+
+bf(--list-pkcs)          List supported PKCSs.
+
+bf(--create-key-pair)    Same as bf(-C).
+
+bf(--passphrase-change)  Same as bf(-P).
+
+bf(--nick)=em(NICK)          Same as bf(-n).
+
+bf(--hostname)=em(HOST)      Same as bf(-h).
+
+bf(--password)=em(PASS)      Same as bf(-w).
+
+bf(--debug)=em(STRING)       Same as bf(-d), limit to messages *em(STRING)*.
+
+bf(--dummy)              Use dummy terminal mode.
+
+bf(--version)            Same as bf(-v).
+
+bf(--noconnect)          Same as bf(-!).
+
+bf(--help)               Same as bf(-?).
+
+bf(--usage)              Display very brief usage summary.
+
+
+manpagesection(KEY GENERATION)
+When generating key pair(s) for silc (bf(-C)), the following extra
+switches apply:
+
+bf(--pkcs)=em(PKCS)       Set the public key algorithm of key pair.  For example bf(rsa).
+
+bf(--bits)=em(VALUE)       Set the length of public key pair, in bits.
+
+
+
+manpagefiles()
+bf(~/.silc/silc.conf)
+quote(Client's configuration file)
+
+bf(~/.silc/public_key.pub)
+quote(The SILC public key of the user)
+
+bf(~/.silc/private_key.pub)
+quote(The SILC private key of the user)
+
+bf(~/.silc/clientkeys/)
+quote(The directory holding the public keys of other users the user have
+accepted and trusted in the SILC network.  The public keys can be received
+with bf(GETKEY) SILC command or during key agreement between two users.)
+
+bf(~/.silc/clientkeys/)
+quote(The directory holding the public keys of servers the user have accepted
+and trusted when connecting to a server.)
+
+bf(~/.silc/friends/)
+quote(The directory holding the information of em(friends) that user has.
+User can create a friend list with bf(WHOIS -details) SILC command.  This
+directory holds the friends' public keys, business cards, pictures, and
+other information.)
+
+
+manpageseealso()
+bf(silcd(8)) bf(silc(1))
+
+
+manpagesection(NETWORK RESOURCES)
+Homepage: bf(http://silcnet.org)
+
+SILC Client is based on Irssi IRC client: bf(http://irssi.org)
+
+User's guide: bf(http://www.silcnet.org/docs/)
+
+
+manpageauthor()
+SILC is designed and written by Pekka Riikonen <priikone@iki.fi> and rest
+of the SILC Project.
+
+This manpage was written by Mika 'Bostik' Boström <bostik@lut.fi>
+
+See bf(CREDITS) for full list of contributors.
+
+
diff --git a/doc/silcd.conf.yo b/doc/silcd.conf.yo
new file mode 100644 (file)
index 0000000..f37a2bd
--- /dev/null
@@ -0,0 +1,462 @@
+manpage(SILCD_CONF) (5) (November 2 2002) (silc-server-0.9.7.1) (silc-server)
+
+
+manpagename(silcd.conf) (format of configuration file for silcd)
+
+manpagesection(CONFIGURATION FILE)
+bf(Silcd) reads its configuration from /etc/silc/silcd.conf (or the file
+specified with bf(-f)). The file contains sections, subsections and key-value
+pairs. Each section or subsection is bound with a starting em({) and ending
+em(}). Keys and values are of the format 'em(KEY)=em(VALUE);'. All statements
+as well as sections must be terminated with a ';'.
+
+Mandatory section in configuration file is em(ServerInfo).  Other sections
+are optional but recommended.  If em(General) section is defined it must
+be defined before the em(ConnectionParams) section.  On the other hand,
+the em(ConnectionParams) section must be defined before em(Client),
+em(ServerConnection) and/or em(RouterConnection) sections.  Other sections
+are be in free order in the configuration file.
+
+nsect(SECTION: General)
+
+em(General) section contains global settings for the silcd.
+
+bf(module_path)
+quote(Defines where SIM modules are located. If definition is omitted,
+built-in modules will be used. Also, if a module can not be located, a built-in
+module will be used in its place. The argument is a path to the directory the
+modules are in, for example bf("/usr/local/silc/modules").)
+
+bf(prefer_passphrase_auth)
+quote(If both public key and passphrase authentication are set for a 
+connection, public key authentication is by default preferred. Setting this 
+value to em(true) causes silcd to prefer passphrase authentication in these
+cases.)
+
+bf(require_reverse_lookup)
+quote(Set this value to em(true) if all connecting hosts must have a fully
+qualified domain name (FQDN). If set to true, a host without FQDN is not
+allowed to connect to server.)
+
+bf(connections_max)
+quote(Maximum number of incoming connections to this server. Any further
+connections are refused.)
+
+bf(connections_max_per_host)
+quote(Maximum number of incoming connections from any single host. This
+setting can be overridden on a connection-specific basis with 
+em(ConnectionParams).)
+
+bf(version_protocol)
+quote(Defines the minimum required version of protocol to allow connecting
+to server. A client or server using this version of protocol or newer is
+allowed to connect, one using anything older will be rejected. Leaving unset
+allows all versions to connect. This can be overridden with
+em(ConnectionParams).)
+
+bf(version_software)
+quote(Defines the minimum required version of software to allow connecting
+to server. A client or server that is of this version or newer is allowed
+to connect, one using anything older will be rejected. Leaving unset allows
+all versions to connect.  This can be overridden with em(ConnectionParams).)
+
+bf(version_software_vendor)
+quote(Defines the allowed software vendor string that is required to connect.
+Usually this is either a build number or special client tag. Using this
+requirement is not encouraged unless the server is in very limited use.
+Leaving unset allows all versions regardless of their vendor to connect.
+Can be overridden with em(ConnectionParams).)
+
+bf(key_exchange_rekey)
+quote(Defines the interval, in seconds, how often the session key will be
+regenerated. This setting only applies to the connection initiator, as rekey
+is always performed by the initiating party. Setting has effect only when
+the server acts as an initiator, and can be overridden with 
+em(ConnectionParams).)
+
+bf(key_exchange_pfs)
+quote(Boolean value to determine, whether key-exchange is performed with
+Perfect Forward Secrecy (PFS) or without. If set to em(true), the rekey
+process will be somewhat slower, but more secure since the key is 
+entirely regenerated. Can be overridden with em(ConnectionParams).)
+
+bf(key_exchange_timeout)
+quote(Key exchange timeout in seconds. If the key exchange is not completed
+within this time, the remote connection will be closed.)
+
+bf(conn_auth_timeout)
+quote(Connection authentication timeout in seconds. If the connection
+authentication is not completed within this time, the remote connection
+will be closed.)
+
+bf(channel_rekey_secs)
+quote(Seconds, how often channel key will be regenerated. Note that channel
+key is regenerated each time someone joins or leaves the channel. This is
+the maximum time any channel can have the same key.)
+
+bf(detach_disabled)
+quote(Boolean value controlling, whether clients are denied to use DETACH
+command. Default value is false (DETACH is allowed).)
+
+bf(detach_timeout)
+quote(Time in seconds how long detached sessions will be available. By
+default, detached sessions do not expire and as such, are persistent as long
+as the server is running. If DETACH command is allowed, this value should
+be set as well.)
+
+bf(qos)
+quote(Boolean value controlling, whether Quality of Service settings are
+enabled. Default setting is false. NOTE: If you enable QoS in general section,
+it applies to every connection the server has, including server connections.
+This setting can be overridden with em(ConnectionParams) and in case of
+server connections, it SHOULD BE overridden (server connections should not
+use QoS).)
+
+bf(qos_rate_limit)
+quote(Limits read operations per second to given amount. Do note that one read
+operation may read several SILC packets, so this setting does not
+automatically correspond to amount of messages transmitted or accepted.)
+
+bf(qos_bytes_limit)
+quote(Limits incoming SILC data to the specified bytes per second.)
+
+bf(qos_limit_sec)
+quote(This value defines the timeout, in seconds, the delay for received data
+in case it was left in a QoS queue.)
+
+bf(qos_limit_usec)
+quote(This value defines, in microseconds, the delay received data for received
+data in case it was left in a QoS queue.)
+
+nsect(SECTION: ServerInfo)
+
+em(ServerInfo) contains values for bound interfaces and administrative info.
+
+bf(hostname)
+quote(Server's name (FQDN).)
+
+bf(ServerType)
+quote(This is a descriptive text field, usually telling what the server and
+its purpose are.)
+
+bf(Location)
+quote(Descriptive field of server's geographic location.)
+
+bf(Admin)
+quote(Administrator's full name.)
+
+bf(AdminEmail)
+quote(Administrator's email address.)
+
+bf(User)
+quote(The name of the user account silcd will be running on. This must be an
+existing user. Silcd needs to executed as root; after binding the port it
+will drop root privileges and use the account given here.)
+
+bf(Group)
+quote(The name of the group silcd will be running on. This must be an existing
+group. Silcd needs to be executed as root; after binding the port it will drop
+root privileges and use the group given here.)
+
+bf(PublicKey)
+quote(Full path to server's public key file.)
+
+bf(PrivateKey)
+quote(Full path to server's private key file.)
+
+bf(MotdFile)
+quote(Full path to MOTD (Message Of The Day) file, a text file that will be
+displayed to each client connection.)
+
+bf(PidFile)
+quote(Full path to file where silcd will write its PID.)
+
+nsubsect(SUBSECTION: Primary)
+
+This is the primary listener info. Each server can have no more than one em(Primary)
+section.
+
+bf(ip)
+quote(Specifies the address silcd is listening on.)
+
+bf(port)
+quote(Specifies the port silcd is listening on.)
+
+nsubsect(SUBSECTION: Secondary)
+
+This is a secondary listener info. A server may have any amount of
+em(Secondary) listener settings. These are needed only if silcd needs
+to listen on several interfaces. em(Secondary) subsections have the same
+information that em(Primary) does.
+
+nsect(SECTION: Logging)
+
+This section is used to set up various log files; their paths, maximum
+sizes and individual logging options.
+
+There are four defined logging channels. The log channels have an
+importance value, and more important channels are always redirected to the
+less important ones. Setting a valid logging file for em(Info) will ensure
+logging for all channels, whereas a setting for em(Errors) would only ensure
+logging for em(Errors) and em(Fatals).
+
+bf(Timestamp)
+quote(A boolean value that dictates whether log lines will have timestamps
+prefixed. In general, this is a good idea. You might want to disable this
+if you are running silcd under some special logging daemon, such as
+daemontools.)
+
+bf(QuickLogs)
+quote(A boolean value that determines how often log files are updated. Setting
+this to em(true) makes silcd log in real-time. Setting this to em(false) makes
+silcd write to logs every em(FlushDelay) seconds. Real-time logging causes a
+bit more CPU and HDD usage but reduces memory consumption.)
+
+bf(FlushDelay)
+quote(Time in seconds, how often logs are flushed to logfiles. This setting
+has effect only if em(QuickLogs) is disabled.)
+
+nsubsect(SUBSECTION: Info)
+nsubsect(SUBSECTION: Warnings)
+nsubsect(SUBSECTION: Errors)
+nsubsect(SUBSECTION: Fatals)
+Each of these subsections has the same attributes, em(File) and em(Size).
+Different levels of problems are logged to their respective channels
+(em(Info), em(Warnings), em(Errors), em(Fatals)), depending on their need 
+of attention.
+
+bf(File)
+quote(Full path to log file.)
+
+bf(Size)
+quote(Limit the size the log file is allowed to grow to. Any further messages
+to this file cause the oldest lines to be removed in order to keep the file
+size within given limit.)
+
+nsect(SECTION: ConnectionParams)
+
+This section defines connection parameters. Each connection may have its own
+set of em(ConnectionParams) but having one is in no way mandatory. If no 
+separate parameters have been assigned, the defaults and the ones  from 
+em(General) section will be used. A silcd configuration may have any number of
+em(ConnectionParams) sections.
+
+bf(name)
+quote(This is a unique name that separates bf(this) particular 
+em(ConnectionParams) section from all the others. It is also the name with 
+which settings are referred to a given set of parameters. This field is 
+mandatory.)
+
+bf(connections_max)
+quote(Limits how many concurrent connections are allowed. Any further 
+connections are simply refused. Note that this setting can not override the
+figure given in em(General) section.)
+
+bf(connections_max_per_host)
+quote(Maximum number of connections allowed from any single host. If this
+parameter is set for a block controlling server connections, it is highly
+suggested to use a value of one (1).)
+
+bf(version_protocol)
+quote(Exactly the same as in em(General) section.)
+
+bf(version_software)
+quote(Exactly the same as in em(General) section.)
+
+bf(version_software_vendor)
+quote(Exactly the same as in em(General) section.)
+
+bf(keepalive_secs)
+quote(How often (seconds) to send HEARTBEAT packets to connected clients.)
+
+bf(reconnect_count)
+quote(When connection is lost, how many times a reconnection is tried.)
+
+bf(reconnect_interval)
+quote(How often, in seconds, a reconnection is attempted.)
+
+bf(reconnect_interval_max)
+quote(Reconnection time is lengthened each time an unsuccessful attempt
+occurs. This value defines the maximum interval to which the delay may
+be prolonged.)
+
+bf(reconnect_keep_trying)
+quote(Boolean value controlling whether server eventually gives up trying
+to reconnect. If set to em(false), server will give up once em(reconnect_count)
+is reached or even at maximum interval, no connection is established.)
+
+bf(key_exchange_rekey)
+quote(Exactly the same as in em(General) section.)
+
+bf(key_exchange_pfs)
+quote(Exactly the same as in em(General) section.)
+
+bf(anonymous)
+quote(This boolean setting has meaning only to client connections. If set to
+em(true), client connections using this em(ConnectionParams) block will have 
+their username and host scrambled. The client will also have an anonymous mode
+set to it.)
+
+bf(qos)
+quote(Exactly the same as in em(General) section  NOTE: For server
+connection this should be set to em(false) value.)
+
+bf(qos_rate_limit)
+quote(Exactly the same as in em(General) section.)
+
+bf(qos_bytes_limit)
+quote(Exactly the same as in em(General) section.)
+
+bf(qos_limit_sec)
+quote(Exactly the same as in em(General) section.)
+
+bf(qos_limit_usec)
+quote(Exactly the same as in em(General) section.)
+
+nsect(SECTION: Client)
+
+This section defines how incoming client connections are handled. There can
+be several em(Client) sections, each with their own requirements. A silcd admin
+could for example require that connections from certain IP-address space must
+supply a connection password.
+
+bf(Host)
+quote(An address or wildcarded set of addresses, either in numeric IP-address
+fashion or as hostnames. For example em("10.1.*") or 
+em("*.mydomain.domain.org").)
+
+bf(Passphrase)
+quote(The required passphrase to allow client connection.)
+
+bf(PublicKey)
+quote(The path to a file containing the client's public key. There can be any
+number of em(PublicKey) statements in one em(Client) section. Matching any of
+them will do.)
+
+bf(Params)
+quote(Name of client connection parameters.)
+
+nsect(SECTION: ServerConnection)
+
+This section defines a configured server connection. A regular SILC
+server does not need one at all. If this block exists, it means that the
+server is a SILC router. There must be one em(ServerConnection) for each
+SILC server that connects to this router.
+
+bf(Host)
+quote(Either an FQDN or strict IP-address of the connecting server.)
+
+bf(Passphrase)
+quote(If server connection requires passphrase authentication, set it here.)
+
+bf(PublicKey)
+quote(This is a path to connecting server's public key. If server connection
+requires public key authentication, set this value. If both em(Passphrase)
+and em(PublicKey) are set, then either of them will be accepted.)
+
+bf(Params)
+quote(Connection parameters.)
+
+bf(Backup)
+quote(A boolean value controlling whether this server acts as a backup. Set
+to em(false) for normal servers. If set to em(true), this server is a backup
+router.)
+
+nsect(SECTION: RouterConnection)
+This section covers router connections. Stand-alone servers won't have this
+section, and regular servers should only have one.
+
+Router servers need one em(RouterConnection) for each other router they have
+been configured to connect to. First configured section is the primary route.
+
+bf(Port)
+quote(If em(Initiator) is set tro em(true), this setting defines the remote
+port in which to connect. if em(Initiator) is set to false, then this defines
+the local (listening) port.)
+
+bf(Passphrase)
+quote(If connecting server requires a passphrase authentication, it is set
+here.)
+
+bf(PublicKey)
+quote(If connecting to server requires public key authentication, the path
+to server's public key file is set here.)
+
+bf(Params)
+quote(Connection parameters.)
+
+bf(Initiator)
+quote(A boolean setting that defines whether this server is the connecting
+party.)
+
+bf(BackupHost)
+quote(If the configured connection is a backup connection, set this to the
+address of the main router that will be replaced. For normal router connection
+leave this option out.)
+
+bf(BackupPort)
+quote(If the configured connection is a backup connection, set this to the
+remote port which to connect to. For normal router connection, leave this
+option out.)
+
+bf(BackupLocal)
+quote(A boolean value. If this setting is em(true), then the backup router
+is in the same cell. If the backup router is in another cell, set this
+to em(false). Needless to say, for normal router connection, leave this
+option out.)
+
+nsect(SECTION: Admin)
+
+This section defines configured administration connections.
+
+bf(Host)
+quote(Either FQDN or a strict IP-address to the origin of connection. 
+This field is optional.)
+
+bf(User)
+quote(Username that the connecting client announces. This field is optional.)
+
+bf(Nick)
+quote(Nickname that the connecting client announces. This field is optional.)
+
+bf(Passphrase)
+quote(Passphrase required to obtain server operator privileges.)
+
+bf(PublicKey)
+quote(Path to administrator's public key file. If both em(Passphrase) and
+em(PublicKey) are defined, either one can be used.)
+
+nsect(SECTION: Deny)
+This section defines denied incoming connections. They apply equally to both 
+client and server connections, so make sure you know what you add here. Each
+em(Deny) section covers one instance of denied connection(s). There may be any
+number of em(Deny) sections.
+
+bf(Host)
+quote(Address or wildcarded addresses of denied connections. bf(NOTE!) This
+field is not mandatory, but highly recommended. If you don't specify em(Host)
+at all, or give it a value of "*", you have a silcd that denies every single
+incoming connection.)
+
+bf(Reason)
+quote(A string giving the reason for why the connecting party is not allowed
+to connect. Unlike em(Host), this field IS mandatory.)
+
+
+manpagefiles()
+bf(silcd.conf)
+
+
+manpageseealso()
+bf(silcd(8))
+
+
+manpageauthor()
+SILC is designed and written by Pekka Riikonen <priikone@iki.fi> and rest
+of the SILC Project.
+
+Configuration file format and parser is by Johnny Mnemonic.
+
+This manpage was written by Mika 'Bostik' Boström <bostik@lut.fi>
+
+See bf(CREDITS) for full list of contributors.
diff --git a/doc/silcd.yo b/doc/silcd.yo
new file mode 100644 (file)
index 0000000..1424eb4
--- /dev/null
@@ -0,0 +1,92 @@
+manpage(SILCD) (8) (October 31 2002) (silc-server-0.9.7.1) (silc-server)
+
+
+manpagename(silcd) (SILC server)
+
+
+manpagesynopsis()
+bf(silcd) bf([) -f em(file) | -d | -D | -x | -h | -F | -C | -V bf(])
+
+
+manpagedescription()
+Silcd is a server for SILC, Secure Internet Live Conferencing network.
+
+
+manpageoptions()
+bf(-f) em(FILE)    Read configuration from em(FILE).
+
+bf(-d)         Enable debugging (Implies -F).
+
+bf(-D) em(LEVEL)   Enable debug messages of level em(LEVEL) and lower (Implies -F).
+
+bf(-x)         Enable hexdumps (Implies -d).
+
+bf(-F)         Don't fork.  Run silcd on foreground.
+
+bf(-h)         Display help message.
+
+bf(-V)         Display version.
+
+bf(-C)         Create new public key pair. See bf(KEY GENERATION) for options.
+
+manpagesection(LONG OPTIONS)
+bf(--config-file)=em(FILE)    Same as bf(-f).
+
+bf(--debug)=em(STRING)        Same as bf(-d), limit to messages *em(STRING)*.
+
+bf(--debug-level)=em(LEVEL)   Same as bf(-D).
+
+bf(--hexdump)             Same as bf(-x).
+
+bf(--foreground)          Same as bf(-F).
+
+bf(--version)             Same as bf(-V).
+
+bf(--create-key-pair)     Same as bf(-C).
+
+
+manpagesection(KEY GENERATION)
+When generating new key pair for silcd (bf(-C)), the following extra switches
+apply:
+
+bf(--pkcs)=em(PKCS)       Set the public key algorithm of public key pair.  For example bf(rsa).
+
+bf(--bits)=em(VALUE)      Set the length of public key pair, in bits.
+
+bf(--identifier)=em(ID)   Set em(ID) as public key identifier.
+
+The identifier has the format of:
+
+UN=<username>, HN=<hostname or IP>, RN=<real name>, E=<email>,
+O=<organization>, C=<country>
+
+Both UN and HN are mandatory, all the rest are optional but recommended.
+If no bf(--identifier) is used, an identifier will be created automatically.
+
+Example:
+
+bf(silcd -C --identifier)="UN=foobar, HN=foo.bar.com, RN=Foo T. Bar,
+E=foo@bar.com, C=FI"
+
+
+manpagefiles()
+There are two configuration files for silcd: 
+em(/etc/silc/silcd.conf) for server configuration and
+em(/etc/silc/silcalgs.conf) for SIM (SILC Modules) configuration. Do note that silcalgs.conf is only needed if cryptographic algorithms are built as separate modules.
+
+
+manpageseealso()
+bf(silc(1)), bf(silcd.conf(5))
+
+
+manpagesection(NETWORK RESOURCES)
+Homepage: bf(http://silcnet.org)
+
+manpageauthor()
+SILC is designed and written by Pekka Riikonen <priikone@iki.fi> and rest
+of the SILC Project.
+
+This manpage was written by Mika 'Bostik' Boström <bostik@lut.fi>
+
+See bf(CREDITS) for full list of contributors.
+
diff --git a/scripts/manpages.pl b/scripts/manpages.pl
new file mode 100755 (executable)
index 0000000..d53eafb
--- /dev/null
@@ -0,0 +1,21 @@
+#!/usr/bin/env perl
+
+# Generates the silc manpages from yodl sources.
+
+use strict;
+
+my ($yodl2man, $i, $command);
+my (@yodl, @men);
+
+$yodl2man = qx/which yodl2man/;
+chomp($yodl2man);
+
+@yodl = ('silc.yo', 'silcd.yo', 'silcd.conf.yo', 'silc.conf.yo');
+@men  = ('silc.1', 'silcd.8', 'silcd.conf.5', 'silc.conf.5');
+
+for ($i=0; $i<scalar(@yodl); $i++) {
+  if (-e $yodl[$i]) {
+    $command = "$yodl2man -o $men[$i] $yodl[$i]"; 
+    system("$command");
+  }
+}