root/trunk/UPGRADE

Revision 616, 11.7 kB (checked in by smoku, 3 weeks ago)

Added SSL verify-mode note

Line 
1This file contains upgrade instructions between different versions of jabberd2.
2
3* 2.2.0 to 2.2.1 upgrade:
4
5What changed:
6- new ./configure option --without-subst
7
8You may disable the "license unsure" subst/ function replacements library
9with --without-subst. This allows Debian to include jabberd.
10
11
12* 2.1.24 to 2.2.0 upgrade:
13
14What changed:
15- UDNS library required
16- GnuSASL 0.2.26 or higher version required
17- resolver component removed
18- fixed SSL handling
19
20Install UDNS http://www.corpit.ru/mjt/udns.html and upgrade GSASL to
21at least 0.2.26 version.
22Resolver is now built in S2S component, so you need to add <lookup/> section
23to your s2s.xml config. Then remove resolver component from your configuration.
24Please check your verivy-mode setting in c2s.xml, and make sure it is what you
25wanted. See SSL_CTX_set_verify(3) manual page.
26
27
28* 2.1.23 to 2.1.24 upgrade:
29
30What changed:
31- server component presences
32
33Look at etc/sm.xml.dist to see how 'pkt-sm' chain should look now.
34
35
36* 2.1.22 to 2.1.23 upgrade:
37
38What changed:
39- XEP-0232: Software Information implemented
40- BerkeleyDB dump and 2-MySQL migrations scripts in tools
41- Updated sources to build on win32 again
42
43See sm.xml.dist config for disco-extend chain snippet for software information
44to add to your sm.xml.
45See tools/db-update.sqlite for win32 database upgrade script for win32.
46
47* 2.1.21 to 2.1.22 upgrade:
48
49What changed:
50- MySQL 5.0+ dependency
51- moved --enable-sasl configure option to --with-sasl
52
53
54* 2.1.20 to 2.1.21 upgrade:
55
56What changed:
57- LDAP backend <query/> option
58
59See c2s.xml.dist for example, how to use news <query/> option, that
60allows you to customize the query sent to LDAP server.
61
62
63* 2.1.19 to 2.1.20 upgrade:
64
65What changed:
66- added missing XEP-0054 fields
67- server vcard support
68- new authreg ldapfull, storage ldapvcard and sm roster-publish modules
69- implemented maximum stanza size limit
70- disabled CyrusSASL backend compilation
71
72You need to add missing columns to "vcard" table:
73ALTER TABLE vcard ADD "jabberid" text, ADD "mailer" text, ADD "uid" text;
74See c2s.xml and sm.xml for options of new modules and stanzasize.
75
76
77* 2.1.18 to 2.1.19 upgrade:
78
79What changed:
80- mod_status stores full last presence stanza
81- so called "offline status" support
82  (sending last unavailable presence stanza for unavailable users)
83
84You need to add "xml" column to "status" table:
85ALTER TABLE "status" ADD COLUMN "xml" TEXT;
86
87
88* 2.1.17 to 2.1.18 upgrade:
89
90What changed:
91- implemented /webstatus service
92
93If you want to allow users of other servers to store their presence information
94in your "status" database table, add status.resource section and status module
95in 'pkt-sm' chain in sm.xml. See sm.xml.dist for reference.
96
97
98* 2.1.16 to 2.1.17 upgrade:
99
100What changed:
101- s2s maximum fds option implemented
102
103If you want to configure maximum file descriptors for s2s, look in s2s.xml.dist
104for io/max_fds option, that mirrors the same option from c2s.xml.
105
106
107* 2.1.15 to 2.1.16 upgrade:
108
109What changed:
110- Offline storage does not store headline messages by default
111- XEP-0157: Contact Addresses for XMPP Services
112- --enable-superseded ./configure option
113- Messages are delivered to all resources with highest priority number
114  in accordance to RFC3921bis changes
115- XEP-0138: Stream Compression
116- XEP-0198: Stanza Acknowledgements
117- Dynamic virtual hosts support
118- Packet througput counters implemented
119- XEP-0202: Entity Time, XEP-0203: Delayed Delivery
120
121If you want to store headline messages in offlinestorage, enable
122<storeheadlines/> in sm.xml. See etc/sm.xml.dist for reference.
123If you want to set XEP-0157: Contact Addresses please see
124etc/sm.xml.dist discovery.serverinfo section for example configuration
125to include in sm.xml. You need to add new chain 'disco-extend' section
126and discovery/sserverinfo section to configuration.
127If you wish, you may use --disable-superseded option during ./configure
128to disable all features, that was superseded by newer ones.
129If you want to enable stream compression, please uncomment proper section
130in c2s.xml.
131If you want to enable XEP-0198, please give --enable-experimental parameter
132to ./configure script.
133If you configure an <id/> in c2s.xml with no hostname, it will be used as
134a fallback default configuration for running SM with no configured <id/>.
135See <stats/> sections in c2s.xml and s2s.xml for reference how to configure
136packet counters.
137
138
139* 2.1.14 to 2.1.15 upgrade:
140
141Only bug and compilation fixes. No configuration changes needed.
142
143
144* 2.1.13 to 2.1.14 upgrade:
145
146What changed:
147- Oracle authreg backend
148
149You may use Oracle backend to store your user data too. See c2s.xml.dist.
150
151
152* 2.1.12 to 2.1.13 upgrade:
153
154Only bug and compilation fixes. No configuration changes needed.
155
156
157* 2.1.11 to 2.1.12 upgrade:
158
159What changed:
160- PQconnectdb PostgreSQL connection method
161- using pg_config to find PostgreSQL
162
163For the PQconnectdb see <conninfo/> in etc/c2s.xml.dist and etc/sm.xml.dist.
164You may add --enable-pgsql=/path/to/pg_config to ./configure to get PostgreSQL
165paths using pg_config.
166
167
168* 2.1.10 to 2.1.11 upgrade:
169
170Only bug and compliance fixes. No configuration changes needed.
171
172
173* 2.1.9 to 2.1.10 upgrade:
174
175What changed:
176- configure SASL backend fallback removed
177- user roster items limit support
178
179If you want to use other than GnuSASL backend for SASL, you need to enforce it
180by --with-sasl=BACKEND option to ./configure. There is no fallback anymore,
181because other backends are not supported and mostly do not work.
182If you want to limit user roster items, please see etc/sm.xml.dist for reference.
183
184
185* 2.1.8 to 2.1.9 upgrade:
186
187What changed:
188- logging formats
189- oob redirection during registration
190
191If you use log analysers please note that c2s and s2s connect messages have
192now a "TLS negotiated" indicator at the end. For s2s it was "SSL negotiated".
193c2s disconnection message now has user JID included.
194If you want to use oob redirection during registration, please see
195etc/c2s.xml.dist for reference.
196
197
198* 2.1.7 to 2.1.8 upgrade:
199
200What changed:
201- SASL backend selection method
202
203During ./configure use --with-sasl=BACKEND instead of --enable-gsasl
204and --enable-cyrus.
205
206
207* 2.1.6 to 2.1.7 upgrade:
208
209What changed:
210- MySQL connection defaults to UTF-8 now
211- Removed support for ZeroK authentication
212
213Please make sure that the encoding of the data in your MySQL DB is UTF-8
214or is convertable by MySQL to UTF-8.
215You may remove the 'token', 'sequence' and 'hash' columns in authreg table.
216
217
218* 2.1.5 to 2.1.6 upgrade:
219
220What changed:
221- implemented XEP-0199: XMPP ping
222- sysconfdir isn't changed to .../etc/jabberd anymore
223- SASL backend is now GnuSASL by default with Cyrus as an alternative
224- configure.in was renamed to configure.ac
225- strndup() and timegm() implementations in subst/
226- PATH_MAX definition added when necessary
227
228Add <module>iq-ping</module> to in-sess and pkt-sm chains in sm.xml.
229You need to explicitly set --sysconfdir with jabberd subdir if you want to.
230You need to --disable-gsasl and --enable-cyrus if you need to use Cyrus SASL.
231Remove all source dependant patches for missing functions if you have ones.
232
233
234* 2.1.4 to 2.1.5 upgrade:
235
236What changed:
237- auth/reg/storage modules are now loaded dynamically at runtime
238- MySQL storage backend is not enabled by default
239
240Dynamic modules should run out of box once installed (make install).
241If you need to configure other than the compiled-in path for it, please refer
242to the c2s.xml.dist and sm.xml.dist for a proper <path/> option.
243You will need to explicitly --enable-mysql during ./configure if you want to
244use MySQL backends.
245
246
247* 2.1.3 to 2.1.4 upgrade:
248
249What changed:
250- full SQLite support
251- PostgreSQL NULL parameters handling
252- more than one LDAP server support
253- new LDAP append-realm setting
254- correct CA chain handling
255
256Please refer to sm.xml.dist and c2s.xml.dist for new config sections and add
257them to your config files.
258Please read these example files to see how to setup your CA chain correctly.
259You may also remove cachain option from c2s.xml.
260You may remove hostname form PostgreSQL setup to access it via unix socket.
261
262
263* 2.1 to 2.1.3 upgrade:
264
265What changed:
266- c2s.xml added <ssl-mechanisms/> section
267- c2s PAM authenticator now handles realm setting
268- libjabberd moved from /usr/lib to /usr/lib/jabberd
269- removed bootstrap script - use: autoreconf --install if you build from sources
270
271If you want to use new SSL aware auth mechanizms please merge <ssl-mechanisms/>
272section of c2s.xml.dist into your c2s.xml config file.
273Remove any realm setting for PAM authenticated domains or setup your PAM system
274to handle additional realms.
275If you use modules.path in sm.xml, add .../jabberd/ at the end.
276
277
278* 2.0 to 2.1 upgrade:
279
280What changed:
281- c2s.xml local/id syntax:
282- DB schema
283- amp and status modules
284- CyrusSASL usage
285
286
287Upgrade:
288
289Basically all <local/> subitems and registration options from section
290<register/> are configurable per-realm now. So you need to move pemfile,
291verify-mode, require-starttls to <id/> attributes.
292You may also use subitems of <local/> as before, and these will be used
293for legacy port 5223 SSL wrapper.
294
295Options require-starttls, register-enable and password-change ale boolean.
296These are enabled if set to anything. 'true' seems reasonable for clarity.
297WARNING: Setting 'false' doesn't disable it!!!
298
299When you disabled new registrations for a realm not setting register-enable,
300you may wish to set password-change to enable users to change password.
301
302For new options like httpforward, see example c2s.xml for reference.
303
304
305DB changes:
306You need to add the following fields to the "vcard" table:
307
308ALTER TABLE vcard ADD COLUMN "tz" text;
309ALTER TABLE vcard ADD COLUMN "n-middle" text;
310ALTER TABLE vcard ADD COLUMN "n-prefix" text;
311ALTER TABLE vcard ADD COLUMN "n-suffix" text;
312ALTER TABLE vcard ADD COLUMN "n-prefx" text;
313ALTER TABLE vcard ADD COLUMN "n-suffix" text;
314ALTER TABLE vcard ADD COLUMN "adr-street" text;
315ALTER TABLE vcard ADD COLUMN "adr-extadd" text;
316ALTER TABLE vcard ADD COLUMN "adr-pobox" text;
317ALTER TABLE vcard ADD COLUMN "adr-locality" text;
318ALTER TABLE vcard ADD COLUMN "adr-region" text;
319ALTER TABLE vcard ADD COLUMN "adr-pcode" text;
320ALTER TABLE vcard ADD COLUMN "adr-country" text;
321ALTER TABLE vcard ADD COLUMN "geo-lat" text;
322ALTER TABLE vcard ADD COLUMN "geo-lon" text;
323ALTER TABLE vcard ADD COLUMN "org-orgname" text;
324ALTER TABLE vcard ADD COLUMN "agent-extval" text;
325ALTER TABLE vcard ADD COLUMN "sort-string" text;
326ALTER TABLE vcard ADD COLUMN "desc" text;
327ALTER TABLE vcard ADD COLUMN "note" text;
328ALTER TABLE vcard ADD COLUMN "photo-type" text;
329ALTER TABLE vcard ADD COLUMN "photo-binval" text;
330ALTER TABLE vcard ADD COLUMN "photo-extval" text;
331ALTER TABLE vcard ADD COLUMN "logo-type" text;
332ALTER TABLE vcard ADD COLUMN "logo-binval" text;
333ALTER TABLE vcard ADD COLUMN "logo-extval" text;
334ALTER TABLE vcard ADD COLUMN "sound-phonetic" text;
335ALTER TABLE vcard ADD COLUMN "sound-binval" text;
336ALTER TABLE vcard ADD COLUMN "sound-extval" text;
337ALTER TABLE vcard ADD COLUMN "key-type" text;
338ALTER TABLE vcard ADD COLUMN "key-cred" text;
339ALTER TABLE vcard ADD COLUMN "rev" text;
340
341and create table "status":
342
343CREATE TABLE "status" (
344    "collection-owner" text PRIMARY KEY,
345    "object-sequence" bigint,
346    "status" text NOT NULL,
347    "show" text,
348    "last-login" int DEFAULT '0',
349    "last-logout" int DEFAULT '0' );
350
351NOTE: PostgreSQL schema was greatly improved as a whole.
352It might be a good idea to dump your data (as INSERTS), recreate DB from
353new schema and import data back again.
354
355
356New modules: amp and status
357
358In order for amp and status session manager modules to work, you need to
359add them to appropriate chains in sm.xml and set their configuration options.
360Chains needed to be updated: sess-start, sess-end, in-sess, pkt-sm, pkt-user
361and user-delete. For details see sm.xml.dist.
362
363
364CyrusSASL
365
366You need working CyrusSASL installation. Please take care to include all
367required auth modules. Especially cyrus-sasl-md5 and cyrus-sasl-plain.
368
369
370
371
372Please report all errors of this howto to:
373http://bugs.xiaoka.com/proj3
374
375Tomasz Sterna <tomek@xiaoka.com>
Note: See TracBrowser for help on using the browser.