Known Issues

This page lists the known issues with OBM.

# Upgrading OBM on CentOS/RhEL

When upgrading OBM on a Red Hat platform, the database migration scripts must be run manually.
There's no automatic execution of these as part of the upgrade of packets. The migration scripts are located in

    /usr/share/obm/scripts/{VERSION}/updates/

The _{VERSION}_ tag must be replaced by the first two digits of your target OBM version. For instance, when upgrading from OBM 2.5.6 to 2.5.7, the _{VERSION}_ tag is **2.5**.

### Which scripts should I run?

The scripts are named after the OBM version that needs them, including pre-release versions (alpha, beta, etc.).
The file name contains the database system name, so take care of executing the right file depending on whether you're using _MySQL_ or _PostgreSQL_.
You must run all the scripts between the version you're leaving and the version you're installing, in the order of OBM releases. Here's a concrete example:

Let's say you're upgrading OBM from 2.5.0 to 2.5.7. You'll have to run the following scripts in order:

    /usr/share/obm/scripts/2.5/updates/update-2.5.1~1
    /usr/share/obm/scripts/2.5/updates/update-2.5.7~1
    /usr/share/obm/scripts/2.5/updates/update-2.5.7~2

### How to run the scripts?

There are two types of upgrade scripts: _PHP_ and _SQL_. You can guess which type a script is by looking at the file extension.
The table below summarizes the commands you need to execute to apply the upgrade scripts:

| Extension | Type | Command |
| ---- | ---- | ---- |
| .php | PHP | **php {FILENAME}** |
| .sql | SQL | **psql -Uobm obm

The _{FILENAME}_ tag must of course be replaced by the file name (or the complete path if the command is run from an arbitrary location).

# DB migration scripts warnings

The migration script **/usr/share/obm/scripts/2.4/updates/update-2.4.2.0~0.beta3.pgsql.sql** can cause PostgreSQL warnings when run.
The warnings look like

    WARNING: Non-standard use of \\\\ in string litteral

These kind of warnings are harmless and can be ignored. The DB is successfully upgraded even if PostgreSQL warns about this.

# Timezone handling in OBM

OBM has the following requirement regarding timezones (_the client_ means the client _machine_ accessing OBM through obm-ui or Thunderbird):

* The system timezone of the client,
* The timezone configured in obm-ui (if obm-ui is used) and
* The timezone defined in Lightning (if Lightning is used)

must all match. For instance, if an OBM user is working in Paris, the three timezones above should beset to 'Europe/Paris'.
Obviously, this user can change all timezones at once, to use OBM as if he/she was in another country, but the requirement is that all three settings match.

# XSS protection

As a simple, yet effective protection against XSS attacks, _obm-ui_ strips all content enclosed between in all fields of the calendar module.
This means that if you enter a title, description, etc. that contains these characters, all content after them will be stripped. Some examples:

* _Test <Event>_ will be recorded as _Test_
* _Sample <data> record_ will be recorded as _Sample record_

# IMAP Archive administration

The IMAP archive administration pages (https://host//imap_archive/imap_archive_index.php) might not work properly under IE9. For instance, you may have some troubles adding an email address to the list of addresses that are notified of completed archive runs.
There's no problem in other browsers or IE10+.sneakers