Changeset 165 for branches/samba-3.0/source/libsmb/namequery.c
- Timestamp:
- Mar 11, 2009, 9:14:55 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/samba-3.0/source/libsmb/namequery.c
r140 r165 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( &keystr, SAFKEY_FMT, strupper_static(domain) ); 45 46 return keystr; 47 } 48 49 static char *saf_join_key(const char *domain) 50 { 51 char *keystr; 52 53 asprintf( &keystr, SAFJOINKEY_FMT, strupper_static(domain) ); 43 54 44 55 return keystr; … … 68 79 69 80 key = saf_key( domain ); 70 expire = time( NULL ) + SAF_TTL;81 expire = time( NULL ) + lp_parm_int(-1, "saf","ttl", SAF_TTL); 71 82 72 83 … … 81 92 } 82 93 94 BOOL saf_join_store( const char *domain, const char *servername ) 95 { 96 char *key; 97 time_t expire; 98 BOOL ret = False; 99 100 if ( !domain || !servername ) { 101 DEBUG(2,("saf_join_store: Refusing to store empty domain or servername!\n")); 102 return False; 103 } 104 105 if ( (strlen(domain) == 0) || (strlen(servername) == 0) ) { 106 DEBUG(0,("saf_join_store: refusing to store 0 length domain or servername!\n")); 107 return False; 108 } 109 110 if ( !gencache_init() ) 111 return False; 112 113 key = saf_join_key( domain ); 114 expire = time( NULL ) + lp_parm_int(-1, "saf","join ttl", SAFJOIN_TTL); 115 116 DEBUG(10,("saf_join_store: domain = [%s], server = [%s], expire = [%u]\n", 117 domain, servername, (unsigned int)expire )); 118 119 ret = gencache_set( key, servername, expire ); 120 121 SAFE_FREE( key ); 122 123 return ret; 124 } 125 83 126 BOOL saf_delete( const char *domain ) 84 127 { … … 94 137 return False; 95 138 139 key = saf_join_key(domain); 140 ret = gencache_del(key); 141 SAFE_FREE(key); 142 143 if (ret) { 144 DEBUG(10,("saf_delete[join]: domain = [%s]\n", domain )); 145 } 146 96 147 key = saf_key(domain); 97 148 ret = gencache_del(key); 98 149 SAFE_FREE(key); 150 99 151 if (ret) { 100 152 DEBUG(10,("saf_delete: domain = [%s]\n", domain )); 101 153 } 102 103 SAFE_FREE( key );104 154 105 155 return ret; … … 123 173 if ( !gencache_init() ) 124 174 return False; 125 175 176 key = saf_join_key( domain ); 177 178 ret = gencache_get( key, &server, &timeout ); 179 180 SAFE_FREE( key ); 181 182 if ( ret ) { 183 DEBUG(5,("saf_fetch[join]: Returning \"%s\" for \"%s\" domain\n", 184 server, domain )); 185 return server; 186 } 187 126 188 key = saf_key( domain ); 127 189 … … 1649 1711 1650 1712 status = get_dc_list(domain, sitename, ip_list, count, lookup_type, &ordered); 1713 if (NT_STATUS_EQUAL(status, NT_STATUS_NO_LOGON_SERVERS) && sitename) { 1714 DEBUG(3,("get_sorted_dc_list: no server for name %s available" 1715 " in site %s, fallback to all servers\n", 1716 domain, sitename)); 1717 status = get_dc_list(domain, NULL, ip_list, count, 1718 lookup_type, &ordered); 1719 } 1720 1651 1721 if (!NT_STATUS_IS_OK(status)) { 1652 1722 return status;
Note:
See TracChangeset
for help on using the changeset viewer.