[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