[OpenSER-Devel] usrloc permanent records and strptime
Henning Westerholt
henning.westerholt at 1und1.de
Thu Jun 5 16:35:08 CEST 2008
On Thursday 05 June 2008, Bogdan-Andrei Iancu wrote:
> It was not a hack. This change was introduced while adding the db_only
> mode in usrloc. The problem was that db_only mode operates only against
> DB (via queries) and it was very complicated to run queries to check
> expires value and some certain flag value, mainly because:
>
> 1. this is a limitation of SQL, especially it is not portable across
> all SQL implementations (see the recent discussion about oracle not
> supporting the binary or operator);
> 2. also, raw queries are required (binary ops are not supported by DB
> API) - using them will make impossible the usage of all DB backends
> (like db_text) as it is something backend specific.
>
> The idea was to replace the FL_PERMANENT flag with the 0 value for
> expires - both mean the contact will never expire.
Hi Bogdan,
expires is a time_t value. Zero is here defined as 1970-01-01 00:00:00 UTC.
But this is not portable for different timezones (at least on mysql), as
mysql don't support timezones in datetime columns.
For example on my system i need to specify 1970-01-01 01:00:00 to get the
usrloc logic working. But daylight changes, or using different timezones will
break this again. So i think i'll use just the usrloc expires default
2020-05-28 21:32:15 in my database.
Perhaps it makes sense to remove this usrloc permanent contact handling
altogether, if its not working stable.
Cheers,
Henning
More information about the Devel
mailing list