Changeset 232 for branches/samba-3.2.x/source/libsmb/namequery.c
- Timestamp:
- May 27, 2009, 9:09:42 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.2.x/source/libsmb/namequery.c
r228 r232 35 35 #define SAFKEY_FMT "SAF/DOMAIN/%s" 36 36 #define SAF_TTL 900 37 #define SAFJOINKEY_FMT "SAFJOIN/DOMAIN/%s" 38 #define SAFJOIN_TTL 3600 37 39 38 40 static char *saf_key(const char *domain) … … 41 43 42 44 asprintf_strupper_m(&keystr, SAFKEY_FMT, domain); 45 46 return keystr; 47 } 48 49 static char *saf_join_key(const char *domain) 50 { 51 char *keystr; 52 53 asprintf_strupper_m(&keystr, SAFJOINKEY_FMT, domain); 43 54 44 55 return keystr; … … 70 81 71 82 key = saf_key( domain ); 72 expire = time( NULL ) + SAF_TTL;83 expire = time( NULL ) + lp_parm_int(-1, "saf","ttl", SAF_TTL); 73 84 74 85 DEBUG(10,("saf_store: domain = [%s], server = [%s], expire = [%u]\n", 86 domain, servername, (unsigned int)expire )); 87 88 ret = gencache_set( key, servername, expire ); 89 90 SAFE_FREE( key ); 91 92 return ret; 93 } 94 95 bool saf_join_store( const char *domain, const char *servername ) 96 { 97 char *key; 98 time_t expire; 99 bool ret = False; 100 101 if ( !domain || !servername ) { 102 DEBUG(2,("saf_join_store: Refusing to store empty domain or servername!\n")); 103 return False; 104 } 105 106 if ( (strlen(domain) == 0) || (strlen(servername) == 0) ) { 107 DEBUG(0,("saf_join_store: refusing to store 0 length domain or servername!\n")); 108 return False; 109 } 110 111 if ( !gencache_init() ) 112 return False; 113 114 key = saf_join_key( domain ); 115 expire = time( NULL ) + lp_parm_int(-1, "saf","join ttl", SAFJOIN_TTL); 116 117 DEBUG(10,("saf_join_store: domain = [%s], server = [%s], expire = [%u]\n", 75 118 domain, servername, (unsigned int)expire )); 76 119 … … 95 138 return False; 96 139 140 key = saf_join_key(domain); 141 ret = gencache_del(key); 142 SAFE_FREE(key); 143 144 if (ret) { 145 DEBUG(10,("saf_delete[join]: domain = [%s]\n", domain )); 146 } 147 97 148 key = saf_key(domain); 98 149 ret = gencache_del(key); 150 SAFE_FREE(key); 99 151 100 152 if (ret) { 101 153 DEBUG(10,("saf_delete: domain = [%s]\n", domain )); 102 154 } 103 104 SAFE_FREE( key );105 155 106 156 return ret; … … 124 174 if ( !gencache_init() ) 125 175 return False; 176 177 key = saf_join_key( domain ); 178 179 ret = gencache_get( key, &server, &timeout ); 180 181 SAFE_FREE( key ); 182 183 if ( ret ) { 184 DEBUG(5,("saf_fetch[join]: Returning \"%s\" for \"%s\" domain\n", 185 server, domain )); 186 return server; 187 } 126 188 127 189 key = saf_key( domain ); … … 2099 2161 status = get_dc_list(domain, sitename, ip_list, 2100 2162 count, lookup_type, &ordered); 2163 if (NT_STATUS_EQUAL(status, NT_STATUS_NO_LOGON_SERVERS) 2164 && sitename) { 2165 DEBUG(3,("get_sorted_dc_list: no server for name %s available" 2166 " in site %s, fallback to all servers\n", 2167 domain, sitename)); 2168 status = get_dc_list(domain, NULL, ip_list, 2169 count, lookup_type, &ordered); 2170 } 2171 2101 2172 if (!NT_STATUS_IS_OK(status)) { 2102 2173 SAFE_FREE(*ip_list);
Note:
See TracChangeset
for help on using the changeset viewer.