Initial checkin.
[doldaconnect.git] / doc / doldacond.8
CommitLineData
9b522300 1.\"
2.\" Copyright (C) 2007 Fredrik Tolf (fredrik@dolda2000.com)
3.\"
4.\" This is free documentation; you can redistribute it and/or
5.\" modify it under the terms of the GNU General Public License as
6.\" published by the Free Software Foundation; either version 2 of
7.\" the License, or (at your option) any later version.
8.\"
9.\" The GNU General Public License's references to "object code"
10.\" and "executables" are to be interpreted as the output of any
11.\" document formatting or typesetting system, including
12.\" intermediate and printed output.
13.\"
14.\" This manual is distributed in the hope that it will be useful,
15.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
16.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17.\" GNU General Public License for more details.
18.\"
19.\" You should have received a copy of the GNU General Public
20.\" License along with this manual; if not, write to the Free
21.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
22.\" USA.
23.\"
24.TH DOLDACOND 8 "2007-04-11" "" "Dolda Connect manual"
25.SH NAME
26doldacond \- Dolda Connect daemon
27.SH SYNOPSIS
28.B doldacond
29[ \fB-hns\fP ] [ \fB-C\fP \fIconfigfile\fP ]
30[ \fB-p\fP \fIpidfile\fP ] [ \fB-f\fP -fIfacility\fP ]
31.SH DESCRIPTION
32The \fBdoldacond\fP program is the primary part of the collection of
33software that makes up Dolda Connect. It runs in the background and
34carries out all the actual work of filesharing. Other programs connect
35to \fBdoldacond\fP over a socket in order to command it and/or display
36its status to a user.
37.P
38The configuration of \fBdoldacond\fP is controlled via the
39\fBdoldacond.conf\fP(5) file, which is described in detail in its own
40manual page.
41.SH OPTIONS
42.TP
43.B -h
44Displays a brief usage message on stdout and exits.
45.TP
46.B -s
47Normally, \fBdoldacond\fP will print log messages to stderr before it
48has daemonized, and switch to syslog output after daemonization. With
49the -s option, however, it will log to syslog directly, and never to
50stderr. It is probably only useful when starting \fBdoldacond\fP from
51an init script.
52.TP
53.B -n
54Causes \fBdoldacond\fP to not daemonize. As a side-effect of avoiding
55daemonization, log messages will be printed to stderr rather than to
56syslog even after the point where the daemon would normally have
57daemonized (unless the -s option is also specified).
58.TP
59.BI -C " configfile"
60Use \fIconfigfile\fP instead of the normal search list for
61configuration files. See \fBdoldacond.conf\fP(5) for the normal
62behavior.
63.TP
64.BI -p " pidfile"
65Write the daemon's PID to \fIpidfile\fP after daemonization. Works
66even if the -n option has been specified.
67.TP
68.BI -f " facility"
69Use \fIfacility\fP when logging to syslog. The facility can be any of
70\fBauth\fP, \fBauthpriv\fP, \fBcron\fP, \fBdaemon\fP, \fBftp\fP,
71\fBkern\fP, \fBlpr\fP, \fBmail\fP, \fBnews\fP, \fBsyslog\fP,
72\fBuser\fP, \fBuucp\fP or \fBlocal0\fP...\fB7\fP, although only a
73subset probably make sense for \fBdoldacond\fP. The default is
74\fBdaemon\fP. Also see the BUGS section.
75.SH FILES
76The configuration file will normally be called
77/usr/local/etc/doldacond.conf, /etc/doldacond.conf or
78~/.doldacond.conf, but a multitude of others are possible. See the
79\fBdoldacond.conf\fP(5) manual page for details.
80.SH SIGNALS
81.TP
82.B SIGHUP
83Causes the daemon to reread its configuration file and update its
84operation accordingly, and to rescan all shared directories. SIGHUP
85can safely be sent at any time \- no connected clients or hubs will be
86affected.
87.TP
88.B SIGINT, SIGTERM
89Shut down the daemon cleanly, unlinking temporary files and sockets.
90.TP
91.B SIGUSR1, SIGUSR2
92Used for debugging. USR1 will cause the daemon to fork and dump a core
93file, and USR2 will dump some memory usage information to /tmp.
94.SH SECURITY
95Dolda Connect, including \fBdoldacond\fP and its assorted clients, are
96capable of a number of different authentication methods. The default
97configuration will cause the daemon to only listen for client
98connections on a Unix socket, over which authentication will be made
99using Unix credentials passing. When running clients over a network,
100authentication can be done using either PAM, Kerberos 5 (requires the
101MIT libraries) or client trust (no authentication). Unix credentials
102passing and Kerberos authentication should be perfectly secure. PAM
103authentication should be secure in itself, but the client protocol is
104not encrypted, and therefore causes passwords to be sent over the
105network in the clear. Authentication-less operation is, obviously, not
106secure at all and is disabled by default. It may be useful on a
107trusted network, however.
108.SH BUGS
109\fBdoldacond\fP has proved to be surprisingly stable. I have had it
110running for far longer than a month without any sign of instability or
111memory leaks, which is probably a lot longer than a program of this
112kind really needs to be able to stay running.
113.P
114That said, it is not without bugs. Here follows a list of the more
115prominent ones.
116.P
117Most importantly, \fBdoldacond\fP will fail miserably at sharing files
118from filesystems that do not have persistent i-numbers, since hashes
119are indexed by the i-number of the file. This is done so because
120indexing by i-numbers rather than file names allows the daemon to not
121rehash files that have merely been renamed. However, among the
122filesystems that do not have persistent i-numbers is the Linux
123implementation of FAT, which means that it is impossible to share
124files that are shared with Microsoft Windows. All the known standard
125Unix filesystems, including at least ufs, ext2/3, reiserfs, xfs or any
126of them shared over nfs are known to be safe.
127.P
128From time to time, the hash controller can get stuck, and stop
129processing more files. The obvious work-around is to restart
130\fBdoldacond\fP, at which point it will continue where it left off. If
131you feel adventurous and/or really need to not restart it, you can
132attach \fBgdb\fP(1) (or your debugger of choice) to the running
133\fBdoldacond\fP process and set the hashjob variable to -1, which will
134force \fBdoldacond\fP to resume hashing. Don't do that while a hash
135job is actually running, though.
136.P
137Not really a bug in \fBdoldacond\fP itself, many PAM modules will
138reinitialize the syslog library and cause log messages from the daemon
139itself to arrive to a different facility than originally intended.
140.SH AUTHOR
141Fredrik Tolf <fredrik@dolda2000.com>
142.SH SEE ALSO
143\fBdoldacond.conf\fP(5)