On Sat, 2008-07-05 at 05:22 -0500, Volker Lendecke wrote:
> The branch, v3-3-test has been updated
> via 01c8c7bbf6163d5c7733db0d8ecbccfe7e4fec7d (commit)
> via 81f334bd6da601a040f754c46705cfa2fd4f8c45 (commit)
> via 0bf0434f22b0ea46fda3ccc4dd612adbc88dd4f2 (commit)
> from 72b96b75a4a1b523540a24fb758b1965ad66009b (commit)
>
> http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test
>
>
> - Log
> -----------------------------------------------------------------
> commit 01c8c7bbf6163d5c7733db0d8ecbccfe7e4fec7d
> Author: Volker Lendecke <[EMAIL PROTECTED]>
> Date: Thu Jul 3 23:34:28 2008 +0200
>
> Tiny logic simplification -- remove an else branch
>
> commit 81f334bd6da601a040f754c46705cfa2fd4f8c45
> Author: Volker Lendecke <[EMAIL PROTECTED]>
> Date: Thu Jul 3 23:29:49 2008 +0200
>
> Make use of ADD_TO_ARRAY
>
> commit 0bf0434f22b0ea46fda3ccc4dd612adbc88dd4f2
> Author: Volker Lendecke <[EMAIL PROTECTED]>
> Date: Thu Jul 3 23:12:22 2008 +0200
>
> Convert idmap_cache to gencache
>
Volker,
have you tested this code?
You never set anywhere ID_EXPIRED, a quick read tells me you should do
it somewhere in the following if condition you added:
if (!found || (expired && IS_DOMAIN_ONLINE(our_domain))) { }
Also in idmap_cache_map_id() you never do anything with *expired
You should do the same you do in idmap_cache_map_sid()
As is, the code will sometimes not re-validate, and will return
ID_MAPPED even if the entry is instead expired. This will cause the code
later on to set the mapping again with a new timeout (ie the mapping,
once set will never be re-validated).
Simo.
--
Simo Sorce
Samba Team GPL Compliance Officer <[EMAIL PROTECTED]>
Senior Software Engineer at Red Hat Inc. <[EMAIL PROTECTED]>