vector<UeberBackend *>UeberBackend::instances;
pthread_mutex_t UeberBackend::instances_lock=PTHREAD_MUTEX_INITIALIZER;
-sem_t UeberBackend::d_dynserialize;
-
// initially we are blocked
bool UeberBackend::d_go=false;
pthread_mutex_t UeberBackend::d_mut = PTHREAD_MUTEX_INITIALIZER;
return true;
}
-bool UeberBackend::list(const DNSName &target, int domain_id, bool include_disabled)
-{
- L<<Logger::Error<<"UeberBackend::list called, should NEVER EVER HAPPEN"<<endl;
- exit(1);
- return false;
-}
-
bool UeberBackend::searchRecords(const string& pattern, int maxResults, vector<DNSResourceRecord>& result)
{
bool rc = false;
public:
UeberBackend(const string &pname="default");
~UeberBackend();
- typedef DNSBackend *BackendMaker(); //!< typedef for functions returning pointers to new backends
bool superMasterBackend(const string &ip, const DNSName &domain, const vector<DNSResourceRecord>&nsset, string *nameserver, string *account, DNSBackend **db);
bool getAuth(DNSPacket *p, SOAData *sd, const DNSName &target);
bool getSOA(const DNSName &domain, SOAData &sd, DNSPacket *p=0);
bool getSOAUncached(const DNSName &domain, SOAData &sd, DNSPacket *p=0); // same, but ignores cache
- bool list(const DNSName &target, int domain_id, bool include_disabled=false);
bool get(DNSResourceRecord &r);
bool get(DNSZoneRecord &r);
void getAllDomains(vector<DomainInfo> *domains, bool include_disabled=false);
- static DNSBackend *maker(const map<string,string> &);
void getUnfreshSlaveInfos(vector<DomainInfo>* domains);
void getUpdatedMasters(vector<DomainInfo>* domains);
bool getDomainInfo(const DNSName &domain, DomainInfo &di);
static pthread_mutex_t d_mut;
static pthread_cond_t d_cond;
- static sem_t d_dynserialize;
struct Question
{