On Tue, Nov 25, 2008 at 5:40 AM, Michal Hlavinka <
mhlavink@...> wrote:
> Hi,
>
> we're trying to fix squirrelmail's problem with UIDs bigger than 2^31.
>
> (sf#1855717 , rhbz#450780, ...)
>
> in short:
> IMAP server uses UIDs to identify emails which are 32 bit values. Some
> servers use lower values, but for example dovecot can gets to really
> high values.
>
> Squirrelmail handles these UIDs like integers, but PHP (on 32-bit
> system) has only 32 bit signed integer, so only first 31 bits are
> usable. If UID is bigger, squirrelmail can't communicate about this
> email with imap server.
>
>
> solution:
> In sf tracker (no change for 10 months) is recommended to "cast" input
> values to strings and change them to zero if input value is not numeric.
> I was finishing patch for this
I hope against 1.5.2. I'm not sure we want to change this much code
for 1.4.x. Please send the patch when you are done.
> but I've found squirrelmail uses also
> ++, -- and comparison operators for UIDs (in
> plugins/delete_move_next/setup.php: 152: delete_move_next_read(...)
> function). So strings can't be used for this.
I think you are using an outdated version of SM.
> There is maybe another solution. Use not integers but floats.
>
http://www.php.net/float says : "The size of a float is
> platform-dependent, although a maximum of ~1.8e308 with a precision of
> roughly 14 decimal digits is a common value (the 64 bit IEEE format)." I
> can confirm that php keeps number without exponent exactly up to 14
> digits (tested on i386, x86_64 and ppc64). For 32 bit values 10 digits
> are needed. Also we have one squirrelmail instance running with floats
> instead of ints and it's running fine (of course, I can't say all
> possible function combination was tested).
>
> What do you think about this? Or, do you think, there is another solution?
I'd vote for the string implementation (in 1.5.2).
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/-----
squirrelmail-devel mailing list
Posting guidelines:
http://squirrelmail.org/postingguidelinesList address:
squirrelmail-devel@...
List archives:
http://news.gmane.org/gmane.mail.squirrelmail.develList info (subscribe/unsubscribe/change options):
https://lists.sourceforge.net/lists/listinfo/squirrelmail-devel