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