1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
2 |
<html> |
3 |
<head> |
4 |
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"> |
5 |
<title>IRC Services - Important information about upgrading</title> |
6 |
</head> |
7 |
|
8 |
<body> |
9 |
<a name=top></a> |
10 |
<h1 align=center>IRC Services Manual</h1> |
11 |
|
12 |
<h2 align=center>Important information for users upgrading from previous |
13 |
versions of Services</h2> |
14 |
|
15 |
<p><a href="#4.5">Upgrading from version 4.5 and earlier to 5.0</a> |
16 |
<br><a href="#5.0">Upgrading from version 5.0 to 5.1</a> |
17 |
|
18 |
<p>Note that information for later versions is applicable to earlier |
19 |
versions as well, so please read through to the end of the document. |
20 |
|
21 |
<p align=right><font size=-1><a href=index.html>Table of Contents</a></font> |
22 |
|
23 |
<p><hr> |
24 |
|
25 |
<a name=4.5></a> |
26 |
<h2 align=center>Upgrading from version 4.5 and earlier</h2> |
27 |
|
28 |
<a name=4.5-1></a> |
29 |
<h3 align=center>1. Executable and configuration files</h3> |
30 |
|
31 |
<p>In previous versions of Services, the main executable file (program |
32 |
file) was called "<tt>services</tt>"; in version 5.0 it has been renamed to |
33 |
"<tt>ircservices</tt>" to match the package name. Once you are satisfied |
34 |
that you don't need the old <tt>services</tt> executable file, you should |
35 |
delete it (<tt>make install</tt> will leave it alone). |
36 |
|
37 |
<p>Also, previous versions of Services (since 4.1.0) used a file called |
38 |
"<tt>services.conf</tt>" to control various aspects of the behavior of |
39 |
Services. Services 5.0 also uses such a file, but it has been renamed to |
40 |
"<tt>ircservices.conf</tt>" and its format has changed from previous |
41 |
versions. In particular, many of the options from previous versions are |
42 |
now module options, and must be placed in a separate file called |
43 |
"<tt>modules.conf</tt>". Please see the manual, and the |
44 |
<tt>example-ircservices.conf</tt> and <tt>example-modules.conf</tt> files |
45 |
in the data directory, for details. |
46 |
|
47 |
<p align=center><hr width="50%"> |
48 |
|
49 |
<a name=4.5-2></a> |
50 |
<h3 align=center>2. Running the <tt>configure</tt> script</h3> |
51 |
|
52 |
<p>The <tt>configure</tt> script has been redesigned to require as little |
53 |
input as possible; many of the options that previously required user input |
54 |
during the configuration process have been moved to the |
55 |
<tt>ircservices.conf</tt> file, and the script can now be completely |
56 |
automated if you provide the <tt>-prefix</tt> option or both of the |
57 |
<tt>-bindest</tt> and <tt>-datdest</tt> options to specify the pathnames |
58 |
for installation. Run <tt>configure</tt> with the <tt>-help</tt> option |
59 |
for details on available command-line options. |
60 |
|
61 |
<p>The <tt>configure</tt> script also now accepts all options in the GNU |
62 |
long-option (two leading hyphens) style, so if you are used to the GNU |
63 |
autoconf-style <tt>configure</tt>, you can now type <tt>./configure |
64 |
--prefix=/usr</tt> (for example) to get the same effect with Services. |
65 |
|
66 |
<p align=center><hr width="50%"> |
67 |
|
68 |
<a name=4.5-3></a> |
69 |
<h3 align=center>3. <tt>listnicks</tt> and <tt>listchans</tt></h3> |
70 |
|
71 |
<p>Earlier versions of Services provided two additional programs, |
72 |
"<tt>listnicks</tt>" and "<tt>listchans</tt>", to show nickname and |
73 |
channel data from the command line. These programs have been removed in |
74 |
version 5.0 in favor of the new HTTP interface; the <tt>httpd/dbaccess</tt> |
75 |
module provides the same functionality and much, much more. (It is still |
76 |
possible to retrieve data from the command line as well, using the |
77 |
<tt>-export</tt> option; see <a href="5.html#1">section 5-1</a> for |
78 |
details.) |
79 |
|
80 |
<p align=center><hr width="50%"> |
81 |
|
82 |
<a name=4.5-4></a> |
83 |
<h3 align=center>4. Encrypted passwords</h3> |
84 |
|
85 |
<p>Unlike previous versions of Services, encryption is no longer an |
86 |
"on/off" setting; instead, encryption is enabled by specifying an |
87 |
encryption module in <tt>ircservices.conf</tt>. See the manual |
88 |
(<a href="3.html#7">section 3-7</a>) for details. |
89 |
|
90 |
<p>If you are upgrading from version 4.4.x or earlier, and you use |
91 |
MD5-encrypted passwords, <b>your passwords will no longer work</b> due to a |
92 |
bug in those versions of Services. Support is available in version 4.5 for |
93 |
reading the broken passwords and allowing them to be reset; if you want to |
94 |
give users a chance to change their passwords, you should first upgrade to |
95 |
the most recent 4.5.x release, then when most or all of the users have |
96 |
reset their passwords, upgrade to version 5.0. For details, see the What's |
97 |
New notes for version 4.5. |
98 |
|
99 |
<p align=center><hr width="50%"> |
100 |
|
101 |
<a name=4.5-5></a> |
102 |
<h3 align=center>5. Using the <tt>mail-auth</tt> module with existing |
103 |
databases</h3> |
104 |
|
105 |
<p>The <tt>mail-auth</tt> module is a new feature in version 5.0 which |
106 |
allows E-mail addresses to be checked for validity. When enabled, all new |
107 |
nickname registrations and E-mail address changes will require the user to |
108 |
verify that the address provided is valid, by entering an authentication |
109 |
code mailed by Services to the address. However, if you are upgrading from |
110 |
an earlier version of Services, some users may already have entered invalid |
111 |
E-mail addresses for their nicknames. |
112 |
|
113 |
<p>To correct this situation, the command-line option |
114 |
"<tt>-clear-nick-email</tt>" can be given (note that this option is only |
115 |
valid if NickServ is enabled). When this option is used, Services will |
116 |
clear the E-mail address associated with all registered nicknames; all |
117 |
users will then be required to enter their E-mail address again and verify |
118 |
it with an authentication code before being allowed to identify for their |
119 |
nicknames. |
120 |
|
121 |
<p>If you intend to use the <tt>mail-auth</tt> module, it is recommended |
122 |
that you use this option once when starting up Services 5.0 for the first |
123 |
time. This option only needs to be specified once to take effect. |
124 |
|
125 |
<p align=center><hr width="50%"> |
126 |
|
127 |
<a name=4.5-6></a> |
128 |
<h3 align=center>6. Nickname linking system changes</h3> |
129 |
|
130 |
<p>The nickname linking system used in Services 5.0 is different from that |
131 |
used in previous versions. Rather than a multiple-level "tree" of linked |
132 |
nicknames, nicknames are now organized into groups, and the <tt>LINK</tt> |
133 |
and <tt>UNLINK</tt> commands add nicknames to or remove nicknames from this |
134 |
group. Functionally, there is little difference between this system and |
135 |
using only one level of links in the previous system. However, the |
136 |
<tt>LINK</tt> and <tt>UNLINK</tt> commands work in the opposite direction |
137 |
from version 4.x, taking a nickname parameter and adding or removing that |
138 |
nickname (for example, "<tt>LINK OtherNick</tt>"), and nicknames to be |
139 |
linked must be <i>unregistered</i> nicknames, which is also a change from |
140 |
version 4.x; make sure your users are aware of these changes. |
141 |
|
142 |
<p>Related to these changes, it is also important to note that the |
143 |
behavior of the NickServ <tt>UNLINK</tt> and <tt>DROP</tt> commands has |
144 |
changed with respect to de-registration of nicknames; in particular, <b>the |
145 |
<tt>DROP</tt> command will now drop <i>all</i> linked nicknames!</b> The |
146 |
syntax for the <tt>DROP</tt> command has changed as well, requiring a |
147 |
password to confirm the action, and the help message includes a warning, |
148 |
but be aware that users may simply append their password to the command |
149 |
without checking the help message, resulting in the unintended |
150 |
de-registration of all of the user's nicks. The <tt>UNLINK</tt> command |
151 |
should be used to cancel single nicknames out of a group of links (a |
152 |
nickname which is unlinked is deregistered as well, similar to |
153 |
<tt>UNLINK</tt> followed by <tt>DROP</tt> in version 4.x). |
154 |
|
155 |
<p align=center><hr width="50%"> |
156 |
|
157 |
<a name=4.5-7></a> |
158 |
<h3 align=center>7. Memo expiration</h3> |
159 |
|
160 |
<p>Version 5.0 of Services provides the ability to automatically delete |
161 |
(expire) memos after a certain period of time. Since this feature was not |
162 |
present in previous versions and users may have important information saved |
163 |
in memos, Services will not expire any memos which were sent before |
164 |
upgrading to version 5.0; thus, it is safe to enable memo expiration without |
165 |
having to warn users about loss of saved memos or taking other preventative |
166 |
measures. (However, it would be prudent to inform users that any future |
167 |
memos will expire after a certain period of time, if you choose to enable |
168 |
memo expiration.) |
169 |
|
170 |
<p align=center><hr width="50%"> |
171 |
|
172 |
<a name=4.5-8></a> |
173 |
<h3 align=center>8. Channel access levels</h3> |
174 |
|
175 |
<p>Channel access levels have been rescaled in this version of Services to |
176 |
make better use of the available range of values; instead of a range of |
177 |
-9999 through 9999 where only values -2 through 10 are used, the range has |
178 |
been reduced to -999 through 999, and default levels now range from -100 to |
179 |
100 (all defaults have been increased by a factor of 10, with the exception |
180 |
of <tt>AUTODEOP</tt> and <tt>NOJOIN</tt>, which are no longer changeable in |
181 |
version 5.0 but are fixed internally at -1 and -100 respectively). Level |
182 |
values from version 4.x databases will be properly converted to use the new |
183 |
range, so that all users will still have the same privileges as they did in |
184 |
previous versions. However, be aware that in some cases involving two |
185 |
users with levels outside the range -50 through 50 in version 4.x, if the |
186 |
levels are different but close (<i>e.g.</i> 1001 and 1002), then the users |
187 |
will have the same access level in version 5.0. The exact conversion |
188 |
function is stepwise linear, as follows (negative levels are converted to |
189 |
the negative of the conversion of the absolute value of the level): |
190 |
|
191 |
<div align=center><table border=0> |
192 |
<tr><th colspan=3> Old level (<i>o</i>) |
193 |
<th colspan=3> New level (<i>n</i>) |
194 |
<th>Conversion function |
195 |
<tr><td align=right>0<td>. . .<td>25 |
196 |
<td align=right>0<td>. . .<td>250 |
197 |
<td><i>n</i> = 10<i>o</i> |
198 |
<tr><td align=right>25<td>. . .<td>50 |
199 |
<td align=right>250<td>. . .<td>300 |
200 |
<td><i>n</i> = 2<i>o</i> + 200 |
201 |
<tr><td align=right>50<td>. . .<td>100 |
202 |
<td align=right>300<td>. . .<td>320 |
203 |
<td><i>n</i> = 2<i>o</i>/5 + 280 |
204 |
<tr><td align=right>100<td>. . .<td>1000 |
205 |
<td align=right>320<td>. . .<td>500 |
206 |
<td><i>n</i> = <i>o</i>/5 + 300 |
207 |
<tr><td align=right>1000<td>. . .<td>2000 |
208 |
<td align=right>500<td>. . .<td>600 |
209 |
<td><i>n</i> = <i>o</i>/10 + 400 |
210 |
<tr><td align=right> 2000<td>. . .<td>9999 |
211 |
<td align=right> 600<td>. . .<td>999 |
212 |
<td><i>n</i> = <i>o</i>/20 + 500 |
213 |
</table></div> |
214 |
|
215 |
<p align=right><font size="-1"><a href="#top">Back to top</a></font> |
216 |
|
217 |
<p><hr> |
218 |
|
219 |
<a name=5.0></a> |
220 |
<h2 align=center>Upgrading from version 5.0</h2> |
221 |
|
222 |
<a name=5.0-1></a> |
223 |
<h3 align=center>1. Switching to the new database format</h3> |
224 |
|
225 |
<p>A new, more robust database file format has been developed for version |
226 |
5.1 which is incompatible with the format used in earlier versions. To |
227 |
switch your databases to this format, ensure that the |
228 |
<tt>misc/xml-export</tt> and <tt>misc/xml-import</tt> modules are loaded by |
229 |
your <tt>ircservices.conf</tt>, and: |
230 |
<ol> |
231 |
<li>Shut down Services. |
232 |
<li>Export your databases to an XML file using the command: |
233 |
<tt>ircservices -export=<i>database.xml</i></tt> (any filename can |
234 |
be used). |
235 |
<li>Edit your <tt>ircservices.conf</tt> file and change the line reading |
236 |
<br><tt> LoadModule database/version4</tt> |
237 |
<br>to |
238 |
<br><tt> LoadModule database/<b>standard</b></tt> |
239 |
<br>Also enable the <tt>misc/xml-import</tt> module if it is commented |
240 |
out. |
241 |
<li>Import the XML data from step 2 into the new database format using the |
242 |
command: <tt>ircservices -import=<i>database.xml</i></tt> |
243 |
<li>Start up Services. |
244 |
</ol> |
245 |
|
246 |
<p>Note that switching to the new database format is not required; you can |
247 |
continue to use your 5.0 databases by leaving the <tt>LoadModule |
248 |
database/version4</tt> configuration line alone. However, the new database |
249 |
format allows you to recover more data even if the database files get |
250 |
corrupted, so its use is recommended. (It is also possible to switch back |
251 |
to the old format from the new one in a similar manner, though all |
252 |
5.1-specific data will be lost if the databases are used in an older |
253 |
version of Services.) |
254 |
|
255 |
|
256 |
<p align=center><hr width="50%"> |
257 |
|
258 |
<a name=5.0-2></a> |
259 |
<h3 align=center>2. Channel memos</h3> |
260 |
|
261 |
<p>Version 5.1 includes a redesigned channel memo system which distributes |
262 |
channel memos to users of the channel (based on the channel access list) |
263 |
rather than storing the memos with the channel. As a result of this |
264 |
change, all stored channel memos will be deleted when starting up version |
265 |
5.1. Users should be instructed to save any needed information before the |
266 |
upgrade. |
267 |
|
268 |
<p align=center><hr width="50%"> |
269 |
|
270 |
<a name=5.0-3></a> |
271 |
<h3 align=center>3. Encryption handling</h3> |
272 |
|
273 |
<p>Version 5.1 allows passwords encrypted with different ciphers (or not |
274 |
encrypted at all) to coexist in the same database, by keeping track of |
275 |
what cipher was used to encrypt the password; this allows for enabling or |
276 |
disabling encryption, or changing the encryption type used, without |
277 |
concerns of old passwords becoming unusable. |
278 |
|
279 |
<p>However, since this ability was not present in version 5.0 and earlier, |
280 |
Services has no way to know what encryption type was used in databases from |
281 |
those versions, and simply defaults to the cipher given in the |
282 |
<a href="a.html#EncryptionType"><tt>EncryptionType</tt></a> directive in |
283 |
<tt>ircservices.conf</tt> for all passwords. Therefore, if you continue to |
284 |
use the <tt>database/version4</tt> database module in version 5.1, you must |
285 |
ensure that <tt>EncryptionType</tt> is set correctly when you first load |
286 |
the data; once you have saved the databases using version 5.1, such as with |
287 |
the OperServ <tt>UPDATE</tt> or <tt>SHUTDOWN</tt> commands, you can change |
288 |
<tt>EncryptionType</tt> freely. |
289 |
|
290 |
<p>This also applies, of course, to converting databases from 5.0 to the |
291 |
new <tt>database/standard</tt> module format; be certain that you do not |
292 |
change <tt>EncryptionType</tt> until after you have exported the databases |
293 |
to an XML file. |
294 |
|
295 |
<p align=center><hr width="50%"> |
296 |
|
297 |
<a name=5.0-4></a> |
298 |
<h3 align=center>4. NickServ/ChanServ <tt>SENDPASS</tt></h3> |
299 |
|
300 |
<p>The NickServ and ChanServ <tt>SENDPASS</tt> commands have been removed |
301 |
in favor of the new NickServ <tt>REAUTH</tt> command, and the corresponding |
302 |
modules (<tt>nickserv/sendpass</tt> and <tt>chanserv/sendpass</tt>) have |
303 |
been deleted. Make certain to remove these modules from your |
304 |
<tt>ircservices.conf</tt> file before starting Services 5.1. |
305 |
|
306 |
<p align=center><hr width="50%"> |
307 |
|
308 |
<a name=5.0-5></a> |
309 |
<h3 align=center>5. NickServ <tt>SET</tt> and <tt>UNSET</tt></h3> |
310 |
|
311 |
<p>Services administrators should be aware that the NickServ <tt>SET</tt> |
312 |
and <tt>UNSET</tt> commands now require a "<tt>!</tt>" before the nickname; |
313 |
for example, instead of |
314 |
<br><tt> /msg NickServ SET nick NOEXPIRE ON</tt> |
315 |
<br>type |
316 |
<br><tt> /msg NickServ SET <b>!nick</b> NOEXPIRE ON</tt> |
317 |
<br>This is to avoid ambiguity where the nickname is the same as an option |
318 |
name. |
319 |
|
320 |
<p align=right><font size="-1"><a href="#top">Back to top</a></font> |
321 |
|
322 |
<p><hr> |
323 |
|
324 |
<p align=right><font size=-1><a href=index.html>Table of Contents</a> | |
325 |
<a href="#top">Top</a></font> |
326 |
|
327 |
</body> |
328 |
</html> |