#include "winbindd.h"
#include "tdb_validate.h"
#include "../libcli/auth/libcli_auth.h"
+#include "../librpc/gen_ndr/ndr_wbint.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_WINBIND
return true;
}
+static bool wcache_opnum_cacheable(uint32_t opnum)
+{
+ switch (opnum) {
+ case NDR_WBINT_PING:
+ case NDR_WBINT_QUERYSEQUENCENUMBER:
+ return false;
+ }
+ return true;
+}
+
bool wcache_fetch_ndr(TALLOC_CTX *mem_ctx, struct winbindd_domain *domain,
uint32_t opnum, const DATA_BLOB *req, DATA_BLOB *resp)
{
TDB_DATA key, data;
bool ret = false;
+ if (!wcache_opnum_cacheable(opnum)) {
+ return false;
+ }
+
if (wcache->tdb == NULL) {
return false;
}
TDB_DATA key, data;
uint32_t dom_seqnum, last_check;
+ if (!wcache_opnum_cacheable(opnum)) {
+ return;
+ }
+
if (wcache->tdb == NULL) {
return;
}