#2347 'None' mailbox handling

Folders (317)
Tomas Kuliavas

In SquirrelMail 'None' is special keyword and can't be used as mailbox name.

sqimap_mailbox_select() function does not select mailbox.

displayPageHeader() function does not display 'Current folder: None' in top menu bar.

In 1.4.9cvs right_main.php does not display messages in None mailbox.

In 1.5.2cvs right_main.php creates PHP notices, because sqm_api_mailbox_select() expects array with IMAP SELECT command data and sqimap_mailbox_select() returns NULL.

You already have FIXME tag in 1.5.2cvs functions/imap_mailbox.php.

PHP notices can be reproduced only on servers that have empty string as personal namespace prefix. dovecot 0.99, hmailserver, mercury32 and other simple IMAP servers without namespace support are affected. cyrus and courier are not affected. uw is affected only when uw preset is not used.

If displayPageHeader() is fixed, it will break backwards compatibility and all plugins that depend on $mailbox='None' must be updated. If empty string is used instead of 'None', updated plugins are backwards compatible with older SquirrelMail versions.


  • Logged In: YES
    Originator: NO

    1.5.2svn has eliminated the special casing for None. I don't think we'll be changing it for stable since there seems to be not a really large demand for it, and as said, may break existing plugins.

  • Tomas Kuliavas
    Tomas Kuliavas

    Logged In: YES
    Originator: YES

    fixing sqimap_mailbox_select() does not break plugins.

    • assigned_to: nobody --> kink
  • Logged In: YES
    Originator: NO

    I'll see if I can fix it in a way that is suitable for the status that stable has.

  • Logged In: YES
    Originator: NO

    I think this is adequately handled now. Devel is completely free of the None-mailbox-special-casing. For stable it should be possible to at least use them although some quirks may remain. If you have some concrete suggestions for where we could improve the situation in stable even more without risking plugin breakage I'd gladly hear it.

    • status: open --> closed