Changeset 740 for vendor/current/source4/nbt_server
- Timestamp:
- Nov 14, 2012, 12:59:34 PM (13 years ago)
- Location:
- vendor/current/source4/nbt_server
- Files:
-
- 1 added
- 1 deleted
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
vendor/current/source4/nbt_server/dgram/browse.c
r414 r740 65 65 if (!NT_STATUS_IS_OK(status)) goto failed; 66 66 67 DEBUG( 2,("Browse %s (Op %d) on '%s' '%s' from %s:%d\n",67 DEBUG(4,("Browse %s (Op %d) on '%s' '%s' from %s:%d\n", 68 68 nbt_browse_opcode_string(browse->opcode), browse->opcode, 69 69 nbt_name_string(browse, name), dgmslot->mailslot_name, -
vendor/current/source4/nbt_server/dgram/netlogon.c
r414 r740 24 24 #include "nbt_server/nbt_server.h" 25 25 #include "lib/socket/socket.h" 26 #include "lib/ldb/include/ldb.h"26 #include <ldb.h> 27 27 #include "dsdb/samdb/samdb.h" 28 28 #include "auth/auth.h" 29 #include "../lib/util/util_ldb.h"30 29 #include "param/param.h" 31 30 #include "smbd/service_task.h" … … 56 55 samctx = iface->nbtsrv->sam_ctx; 57 56 58 if (lp _server_role(iface->nbtsrv->task->lp_ctx) != ROLE_DOMAIN_CONTROLLER57 if (lpcfg_server_role(iface->nbtsrv->task->lp_ctx) != ROLE_DOMAIN_CONTROLLER 59 58 || !samdb_is_pdc(samctx)) { 60 59 DEBUG(2, ("Not a PDC, so not processing LOGON_PRIMARY_QUERY\n")); … … 62 61 } 63 62 64 if (strcasecmp_m(name->name, lp _workgroup(iface->nbtsrv->task->lp_ctx)) != 0) {63 if (strcasecmp_m(name->name, lpcfg_workgroup(iface->nbtsrv->task->lp_ctx)) != 0) { 65 64 DEBUG(5,("GetDC requested for a domian %s that we don't host\n", name->name)); 66 65 return; … … 73 72 74 73 pdc->command = NETLOGON_RESPONSE_FROM_PDC; 75 pdc->pdc_name = lp _netbios_name(iface->nbtsrv->task->lp_ctx);74 pdc->pdc_name = lpcfg_netbios_name(iface->nbtsrv->task->lp_ctx); 76 75 pdc->unicode_pdc_name = pdc->pdc_name; 77 pdc->domain_name = lp _workgroup(iface->nbtsrv->task->lp_ctx);76 pdc->domain_name = lpcfg_workgroup(iface->nbtsrv->task->lp_ctx); 78 77 pdc->nt_version = 1; 79 78 pdc->lmnt_token = 0xFFFF; … … 82 81 dgram_mailslot_netlogon_reply(reply_iface->dgmsock, 83 82 packet, 84 lp _netbios_name(iface->nbtsrv->task->lp_ctx),83 lpcfg_netbios_name(iface->nbtsrv->task->lp_ctx), 85 84 netlogon->req.pdc.mailslot_name, 86 85 &netlogon_response); … … 125 124 status = fill_netlogon_samlogon_response(samctx, packet, NULL, name->name, sid, NULL, 126 125 netlogon->req.logon.user_name, netlogon->req.logon.acct_control, src->addr, 127 netlogon->req.logon.nt_version, iface->nbtsrv->task->lp_ctx, &netlogon_response.data.samlogon );126 netlogon->req.logon.nt_version, iface->nbtsrv->task->lp_ctx, &netlogon_response.data.samlogon, false); 128 127 if (!NT_STATUS_IS_OK(status)) { 129 128 DEBUG(2,("NBT netlogon query failed domain=%s sid=%s version=%d - %s\n", … … 138 137 dgram_mailslot_netlogon_reply(reply_iface->dgmsock, 139 138 packet, 140 lp _netbios_name(iface->nbtsrv->task->lp_ctx),139 lpcfg_netbios_name(iface->nbtsrv->task->lp_ctx), 141 140 netlogon->req.logon.mailslot_name, 142 141 &netlogon_response); -
vendor/current/source4/nbt_server/dgram/ntlogon.c
r414 r740 52 52 53 53 logon->server = talloc_asprintf(packet, "\\\\%s", 54 lp _netbios_name(iface->nbtsrv->task->lp_ctx));54 lpcfg_netbios_name(iface->nbtsrv->task->lp_ctx)); 55 55 logon->user_name = ntlogon->req.logon.user_name; 56 logon->domain = lp _workgroup(iface->nbtsrv->task->lp_ctx);56 logon->domain = lpcfg_workgroup(iface->nbtsrv->task->lp_ctx); 57 57 logon->nt_version = 1; 58 58 logon->lmnt_token = 0xFFFF; … … 63 63 dgram_mailslot_ntlogon_reply(reply_iface->dgmsock, 64 64 packet, 65 lp _netbios_name(iface->nbtsrv->task->lp_ctx),65 lpcfg_netbios_name(iface->nbtsrv->task->lp_ctx), 66 66 ntlogon->req.logon.mailslot_name, 67 67 &reply); -
vendor/current/source4/nbt_server/dgram/request.c
r414 r740 76 76 if (strcmp("0.0.0.0", iface->netmask) != 0) { 77 77 /* listen for broadcasts on port 138 */ 78 bcast_dgmsock = nbt_dgram_socket_init(iface, 79 nbtsrv->task->event_ctx, 80 lp_iconv_convenience(nbtsrv->task->lp_ctx)); 78 bcast_dgmsock = nbt_dgram_socket_init(iface, nbtsrv->task->event_ctx); 81 79 if (!bcast_dgmsock) { 82 80 talloc_free(tmp_ctx); … … 86 84 bcast_addr = socket_address_from_strings(tmp_ctx, bcast_dgmsock->sock->backend_name, 87 85 iface->bcast_address, 88 lp _dgram_port(iface->nbtsrv->task->lp_ctx));86 lpcfg_dgram_port(iface->nbtsrv->task->lp_ctx)); 89 87 if (!bcast_addr) { 90 88 talloc_free(tmp_ctx); … … 96 94 talloc_free(tmp_ctx); 97 95 DEBUG(0,("Failed to bind to %s:%d - %s\n", 98 iface->bcast_address, lp _dgram_port(iface->nbtsrv->task->lp_ctx),96 iface->bcast_address, lpcfg_dgram_port(iface->nbtsrv->task->lp_ctx), 99 97 nt_errstr(status))); 100 98 return status; … … 105 103 106 104 /* listen for unicasts on port 138 */ 107 iface->dgmsock = nbt_dgram_socket_init(iface, nbtsrv->task->event_ctx, 108 lp_iconv_convenience(nbtsrv->task->lp_ctx)); 105 iface->dgmsock = nbt_dgram_socket_init(iface, nbtsrv->task->event_ctx); 109 106 if (!iface->dgmsock) { 110 107 talloc_free(tmp_ctx); … … 113 110 114 111 bind_addr = socket_address_from_strings(tmp_ctx, iface->dgmsock->sock->backend_name, 115 bind_address, lp _dgram_port(iface->nbtsrv->task->lp_ctx));112 bind_address, lpcfg_dgram_port(iface->nbtsrv->task->lp_ctx)); 116 113 if (!bind_addr) { 117 114 talloc_free(tmp_ctx); … … 123 120 talloc_free(tmp_ctx); 124 121 DEBUG(0,("Failed to bind to %s:%d - %s\n", 125 bind_address, lp _dgram_port(iface->nbtsrv->task->lp_ctx), nt_errstr(status)));122 bind_address, lpcfg_dgram_port(iface->nbtsrv->task->lp_ctx), nt_errstr(status))); 126 123 return status; 127 124 } -
vendor/current/source4/nbt_server/interfaces.c
r414 r740 30 30 #include "lib/socket/netif.h" 31 31 #include "param/param.h" 32 #include "lib/util/util_net.h" 32 33 33 34 … … 186 187 187 188 /* listen for broadcasts on port 137 */ 188 bcast_nbtsock = nbt_name_socket_init(iface, nbtsrv->task->event_ctx , lp_iconv_convenience(nbtsrv->task->lp_ctx));189 bcast_nbtsock = nbt_name_socket_init(iface, nbtsrv->task->event_ctx); 189 190 if (!bcast_nbtsock) { 190 191 talloc_free(iface); … … 193 194 194 195 bcast_address = socket_address_from_strings(bcast_nbtsock, bcast_nbtsock->sock->backend_name, 195 bcast, lp _nbt_port(lp_ctx));196 bcast, lpcfg_nbt_port(lp_ctx)); 196 197 if (!bcast_address) { 197 198 talloc_free(iface); … … 202 203 if (!NT_STATUS_IS_OK(status)) { 203 204 DEBUG(0,("Failed to bind to %s:%d - %s\n", 204 bcast, lp _nbt_port(lp_ctx), nt_errstr(status)));205 bcast, lpcfg_nbt_port(lp_ctx), nt_errstr(status))); 205 206 talloc_free(iface); 206 207 return status; … … 212 213 213 214 /* listen for unicasts on port 137 */ 214 iface->nbtsock = nbt_name_socket_init(iface, nbtsrv->task->event_ctx, 215 lp_iconv_convenience(nbtsrv->task->lp_ctx)); 215 iface->nbtsock = nbt_name_socket_init(iface, nbtsrv->task->event_ctx); 216 216 if (!iface->nbtsock) { 217 217 talloc_free(iface); … … 221 221 unicast_address = socket_address_from_strings(iface->nbtsock, 222 222 iface->nbtsock->sock->backend_name, 223 bind_address, lp _nbt_port(lp_ctx));223 bind_address, lpcfg_nbt_port(lp_ctx)); 224 224 225 225 status = socket_listen(iface->nbtsock->sock, unicast_address, 0, 0); 226 226 if (!NT_STATUS_IS_OK(status)) { 227 227 DEBUG(0,("Failed to bind to %s:%d - %s\n", 228 bind_address, lp _nbt_port(lp_ctx), nt_errstr(status)));228 bind_address, lpcfg_nbt_port(lp_ctx), nt_errstr(status))); 229 229 talloc_free(iface); 230 230 return status; … … 284 284 /* if we are allowing incoming packets from any address, then 285 285 we also need to bind to the wildcard address */ 286 if (!lp _bind_interfaces_only(lp_ctx)) {286 if (!lpcfg_bind_interfaces_only(lp_ctx)) { 287 287 const char *primary_address; 288 288 … … 294 294 } else { 295 295 primary_address = inet_ntoa(interpret_addr2( 296 lp _netbios_name(lp_ctx)));296 lpcfg_netbios_name(lp_ctx))); 297 297 } 298 298 primary_address = talloc_strdup(tmp_ctx, primary_address); … … 319 319 netmask = talloc_strdup(tmp_ctx, iface_n_netmask(ifaces, i)); 320 320 321 status = nbtd_add_socket(nbtsrv, lp_ctx, 321 status = nbtd_add_socket(nbtsrv, lp_ctx, 322 322 address, address, bcast, netmask); 323 323 NT_STATUS_NOT_OK_RETURN(status); 324 324 } 325 325 326 if (lp _wins_server_list(lp_ctx)) {326 if (lpcfg_wins_server_list(lp_ctx)) { 327 327 status = nbtd_add_wins_socket(nbtsrv); 328 328 NT_STATUS_NOT_OK_RETURN(status); -
vendor/current/source4/nbt_server/irpc.c
r414 r740 86 86 } 87 87 88 p = netlogon.data.samlogon.data.nt4. server;88 p = netlogon.data.samlogon.data.nt4.pdc_name; 89 89 90 90 DEBUG(10, ("NTLOGON_SAM_LOGON_REPLY: server: %s, user: %s, " 91 91 "domain: %s\n", p, 92 92 netlogon.data.samlogon.data.nt4.user_name, 93 netlogon.data.samlogon.data.nt4.domain ));93 netlogon.data.samlogon.data.nt4.domain_name)); 94 94 95 95 if (*p == '\\') p += 1; -
vendor/current/source4/nbt_server/nbt_server.c
r414 r740 40 40 struct interface *ifaces; 41 41 42 load_interfaces(task, lp _interfaces(task->lp_ctx), &ifaces);42 load_interfaces(task, lpcfg_interfaces(task->lp_ctx), &ifaces); 43 43 44 44 if (iface_count(ifaces) == 0) { … … 67 67 } 68 68 69 nbtsrv->sam_ctx = samdb_connect(nbtsrv, task->event_ctx, task->lp_ctx, system_session( nbtsrv, task->lp_ctx));69 nbtsrv->sam_ctx = samdb_connect(nbtsrv, task->event_ctx, task->lp_ctx, system_session(task->lp_ctx), 0); 70 70 if (nbtsrv->sam_ctx == NULL) { 71 71 task_server_terminate(task, "nbtd failed to open samdb", true); -
vendor/current/source4/nbt_server/nodestatus.c
r414 r740 55 55 packet->name_trn_id = request_packet->name_trn_id; 56 56 packet->ancount = 1; 57 packet->operation = NBT_OPCODE_QUERY | NBT_FLAG_REPLY | NBT_FLAG_AUTHORIT IVE;57 packet->operation = NBT_OPCODE_QUERY | NBT_FLAG_REPLY | NBT_FLAG_AUTHORITATIVE; 58 58 59 59 packet->answers = talloc_array(packet, struct nbt_res_rec, 1); -
vendor/current/source4/nbt_server/packet.c
r414 r740 80 80 81 81 /* if its not from the nbt port, then it wasn't a broadcast from us */ 82 if (src->port != lp _nbt_port(iface->nbtsrv->task->lp_ctx)) {82 if (src->port != lpcfg_nbt_port(iface->nbtsrv->task->lp_ctx)) { 83 83 return false; 84 84 } … … 122 122 packet->name_trn_id = request_packet->name_trn_id; 123 123 packet->ancount = 1; 124 packet->operation = 125 NBT_FLAG_REPLY | 126 NBT_OPCODE_QUERY | 127 NBT_FLAG_AUTHORIT IVE |124 packet->operation = 125 NBT_FLAG_REPLY | 126 NBT_OPCODE_QUERY | 127 NBT_FLAG_AUTHORITATIVE | 128 128 NBT_FLAG_RECURSION_DESIRED | 129 129 NBT_FLAG_RECURSION_AVAIL; … … 178 178 packet->name_trn_id = request_packet->name_trn_id; 179 179 packet->ancount = 1; 180 packet->operation = 181 NBT_FLAG_REPLY | 182 NBT_OPCODE_QUERY | 183 NBT_FLAG_AUTHORIT IVE |180 packet->operation = 181 NBT_FLAG_REPLY | 182 NBT_OPCODE_QUERY | 183 NBT_FLAG_AUTHORITATIVE | 184 184 NBT_RCODE_NAM; 185 185 … … 222 222 packet->name_trn_id = request_packet->name_trn_id; 223 223 packet->ancount = 1; 224 packet->operation = 225 NBT_FLAG_REPLY | 224 packet->operation = 225 NBT_FLAG_REPLY | 226 226 NBT_OPCODE_REGISTER | 227 NBT_FLAG_AUTHORIT IVE |227 NBT_FLAG_AUTHORITATIVE | 228 228 NBT_FLAG_RECURSION_DESIRED | 229 229 NBT_FLAG_RECURSION_AVAIL | … … 270 270 packet->name_trn_id = request_packet->name_trn_id; 271 271 packet->ancount = 1; 272 packet->operation = 273 NBT_FLAG_REPLY | 272 packet->operation = 273 NBT_FLAG_REPLY | 274 274 NBT_OPCODE_RELEASE | 275 NBT_FLAG_AUTHORIT IVE |275 NBT_FLAG_AUTHORITATIVE | 276 276 rcode; 277 277 … … 316 316 packet->name_trn_id = request_packet->name_trn_id; 317 317 packet->ancount = 1; 318 packet->operation = 319 NBT_FLAG_REPLY | 318 packet->operation = 319 NBT_FLAG_REPLY | 320 320 NBT_OPCODE_WACK | 321 NBT_FLAG_AUTHORIT IVE;321 NBT_FLAG_AUTHORITATIVE; 322 322 323 323 packet->answers = talloc_array(packet, struct nbt_res_rec, 1); -
vendor/current/source4/nbt_server/query.c
r414 r740 83 83 (packet->operation & NBT_FLAG_RECURSION_DESIRED) && 84 84 (iname->nb_flags & NBT_NM_GROUP) && 85 lp _wins_support(iface->nbtsrv->task->lp_ctx)) {85 lpcfg_wins_support(iface->nbtsrv->task->lp_ctx)) { 86 86 nbtd_winsserver_request(nbtsock, packet, src); 87 87 return; -
vendor/current/source4/nbt_server/register.c
r414 r740 94 94 io.in.name = iname->name; 95 95 io.in.dest_addr = iface->bcast_address; 96 io.in.dest_port = lp _nbt_port(iface->nbtsrv->task->lp_ctx);96 io.in.dest_port = lpcfg_nbt_port(iface->nbtsrv->task->lp_ctx); 97 97 io.in.address = iface->ip_address; 98 98 io.in.nb_flags = iname->nb_flags; … … 119 119 { 120 120 uint32_t refresh_time; 121 uint32_t max_refresh_time = lp _parm_int(iname->iface->nbtsrv->task->lp_ctx, NULL, "nbtd", "max_refresh_time", 7200);121 uint32_t max_refresh_time = lpcfg_parm_int(iname->iface->nbtsrv->task->lp_ctx, NULL, "nbtd", "max_refresh_time", 7200); 122 122 123 123 refresh_time = MIN(max_refresh_time, iname->ttl/2); … … 129 129 } 130 130 131 struct nbtd_register_name_state { 132 struct nbtd_iface_name *iname; 133 struct nbt_name_register_bcast io; 134 }; 131 135 132 136 /* 133 137 a name registration has completed 134 138 */ 135 static void nbtd_register_handler(struct composite_context *creq) 136 { 137 struct nbtd_iface_name *iname = talloc_get_type(creq->async.private_data, 138 struct nbtd_iface_name); 139 static void nbtd_register_name_handler(struct tevent_req *subreq) 140 { 141 struct nbtd_register_name_state *state = 142 tevent_req_callback_data(subreq, 143 struct nbtd_register_name_state); 144 struct nbtd_iface_name *iname = state->iname; 139 145 NTSTATUS status; 140 TALLOC_CTX *tmp_ctx = talloc_new(iname); 141 142 status = nbt_name_register_bcast_recv(creq);146 147 status = nbt_name_register_bcast_recv(subreq); 148 TALLOC_FREE(subreq); 143 149 if (NT_STATUS_IS_OK(status)) { 144 150 /* good - nobody complained about our registration */ 145 151 iname->nb_flags |= NBT_NM_ACTIVE; 146 152 DEBUG(3,("Registered %s with %s on interface %s\n", 147 nbt_name_string( tmp_ctx, &iname->name),153 nbt_name_string(state, &iname->name), 148 154 iname->iface->ip_address, iname->iface->bcast_address)); 149 155 iname->registration_time = timeval_current(); 150 talloc_free( tmp_ctx);156 talloc_free(state); 151 157 nbtd_start_refresh_timer(iname); 152 158 return; … … 157 163 158 164 DEBUG(1,("Error registering %s with %s on interface %s - %s\n", 159 nbt_name_string( tmp_ctx, &iname->name),165 nbt_name_string(state, &iname->name), 160 166 iname->iface->ip_address, iname->iface->bcast_address, 161 167 nt_errstr(status))); 162 talloc_free( tmp_ctx);168 talloc_free(state); 163 169 } 164 170 … … 172 178 { 173 179 struct nbtd_iface_name *iname; 174 const char *scope = lp _netbios_scope(iface->nbtsrv->task->lp_ctx);175 struct nbt _name_register_bcast io;176 struct composite_context *creq;180 const char *scope = lpcfg_netbios_scope(iface->nbtsrv->task->lp_ctx); 181 struct nbtd_register_name_state *state; 182 struct tevent_req *subreq; 177 183 struct nbtd_server *nbtsrv = iface->nbtsrv; 178 184 … … 189 195 } 190 196 iname->nb_flags = nb_flags; 191 iname->ttl = lp _parm_int(iface->nbtsrv->task->lp_ctx, NULL, "nbtd", "bcast_ttl", 300000);197 iname->ttl = lpcfg_parm_int(iface->nbtsrv->task->lp_ctx, NULL, "nbtd", "bcast_ttl", 300000); 192 198 iname->registration_time = timeval_zero(); 193 199 iname->wins_server = NULL; … … 209 215 } 210 216 217 state = talloc_zero(iname, struct nbtd_register_name_state); 218 if (state == NULL) { 219 return; 220 } 221 222 state->iname = iname; 223 211 224 /* setup a broadcast name registration request */ 212 io.in.name= iname->name;213 io.in.dest_addr= iface->bcast_address;214 io.in.dest_port = lp_nbt_port(iface->nbtsrv->task->lp_ctx);215 io.in.address= iface->ip_address;216 io.in.nb_flags= nb_flags;217 io.in.ttl= iname->ttl;225 state->io.in.name = iname->name; 226 state->io.in.dest_addr = iface->bcast_address; 227 state->io.in.dest_port = lpcfg_nbt_port(iface->nbtsrv->task->lp_ctx); 228 state->io.in.address = iface->ip_address; 229 state->io.in.nb_flags = nb_flags; 230 state->io.in.ttl = iname->ttl; 218 231 219 232 nbtsrv->stats.total_sent++; 220 creq = nbt_name_register_bcast_send(iface->nbtsock, &io); 221 if (creq == NULL) return; 222 223 creq->async.fn = nbtd_register_handler; 224 creq->async.private_data = iname; 233 234 subreq = nbt_name_register_bcast_send(state, nbtsrv->task->event_ctx, 235 iface->nbtsock, &state->io); 236 if (subreq == NULL) { 237 return; 238 } 239 240 tevent_req_set_callback(subreq, nbtd_register_name_handler, state); 225 241 } 226 242 … … 263 279 /* note that we don't initially mark the names "ACTIVE". They are 264 280 marked active once registration is successful */ 265 nbtd_register_name(nbtsrv, lp _netbios_name(nbtsrv->task->lp_ctx), NBT_NAME_CLIENT, nb_flags);266 nbtd_register_name(nbtsrv, lp _netbios_name(nbtsrv->task->lp_ctx), NBT_NAME_USER, nb_flags);267 nbtd_register_name(nbtsrv, lp _netbios_name(nbtsrv->task->lp_ctx), NBT_NAME_SERVER, nb_flags);268 269 aliases = lp _netbios_aliases(nbtsrv->task->lp_ctx);281 nbtd_register_name(nbtsrv, lpcfg_netbios_name(nbtsrv->task->lp_ctx), NBT_NAME_CLIENT, nb_flags); 282 nbtd_register_name(nbtsrv, lpcfg_netbios_name(nbtsrv->task->lp_ctx), NBT_NAME_USER, nb_flags); 283 nbtd_register_name(nbtsrv, lpcfg_netbios_name(nbtsrv->task->lp_ctx), NBT_NAME_SERVER, nb_flags); 284 285 aliases = lpcfg_netbios_aliases(nbtsrv->task->lp_ctx); 270 286 while (aliases && aliases[0]) { 271 287 nbtd_register_name(nbtsrv, aliases[0], NBT_NAME_CLIENT, nb_flags); … … 274 290 } 275 291 276 if (lp _server_role(nbtsrv->task->lp_ctx) == ROLE_DOMAIN_CONTROLLER) {292 if (lpcfg_server_role(nbtsrv->task->lp_ctx) == ROLE_DOMAIN_CONTROLLER) { 277 293 bool is_pdc = samdb_is_pdc(nbtsrv->sam_ctx); 278 294 if (is_pdc) { 279 nbtd_register_name(nbtsrv, lp _workgroup(nbtsrv->task->lp_ctx),295 nbtd_register_name(nbtsrv, lpcfg_workgroup(nbtsrv->task->lp_ctx), 280 296 NBT_NAME_PDC, nb_flags); 281 297 } 282 nbtd_register_name(nbtsrv, lp _workgroup(nbtsrv->task->lp_ctx),298 nbtd_register_name(nbtsrv, lpcfg_workgroup(nbtsrv->task->lp_ctx), 283 299 NBT_NAME_LOGON, nb_flags | NBT_NM_GROUP); 284 300 } 285 301 286 302 nb_flags |= NBT_NM_GROUP; 287 nbtd_register_name(nbtsrv, lp _workgroup(nbtsrv->task->lp_ctx), NBT_NAME_CLIENT, nb_flags);303 nbtd_register_name(nbtsrv, lpcfg_workgroup(nbtsrv->task->lp_ctx), NBT_NAME_CLIENT, nb_flags); 288 304 289 305 nb_flags |= NBT_NM_PERMANENT; -
vendor/current/source4/nbt_server/wins/wins_hook.c
r414 r740 62 62 rec->name->name, 63 63 rec->name->type, 64 rec->expire_time);64 (long int) rec->expire_time); 65 65 if (!cmd) goto failed; 66 66 -
vendor/current/source4/nbt_server/wins/wins_ldb.c
r414 r740 32 32 #include "nbt_server/nbt_server.h" 33 33 #include "nbt_server/wins/winsdb.h" 34 #include "lib/ldb/include/ldb_module.h"34 #include <ldb_module.h> 35 35 #include "system/network.h" 36 36 #include "lib/socket/netif.h" … … 90 90 ldb_module_set_private(module, NULL); 91 91 92 owner = lp _parm_string(lp_ctx, NULL, "winsdb", "local_owner");92 owner = lpcfg_parm_string(lp_ctx, NULL, "winsdb", "local_owner"); 93 93 if (!owner) { 94 94 struct interface *ifaces; 95 load_interfaces(module, lp _interfaces(lp_ctx), &ifaces);95 load_interfaces(module, lpcfg_interfaces(lp_ctx), &ifaces); 96 96 owner = iface_n_ip(ifaces, 0); 97 97 if (!owner) { … … 114 114 } 115 115 116 _PUBLIC_const struct ldb_module_ops ldb_wins_ldb_module_ops = {116 static const struct ldb_module_ops ldb_wins_ldb_module_ops = { 117 117 .name = "wins_ldb", 118 118 .add = wins_ldb_verify, … … 120 120 .init_context = wins_ldb_init 121 121 }; 122 123 int ldb_wins_ldb_module_init(const char *version) 124 { 125 LDB_MODULE_CHECK_VERSION(version); 126 return ldb_register_module(&ldb_wins_ldb_module_ops); 127 } -
vendor/current/source4/nbt_server/wins/winsclient.c
r414 r740 29 29 #include "param/param.h" 30 30 31 static void nbtd_wins_refresh_handler(struct composite_context *c);32 33 31 /* we send WINS client requests using our primary network interface 34 32 */ … … 59 57 { 60 58 uint32_t refresh_time; 61 uint32_t max_refresh_time = lp _parm_int(iname->iface->nbtsrv->task->lp_ctx, NULL, "nbtd", "max_refresh_time", 7200);59 uint32_t max_refresh_time = lpcfg_parm_int(iname->iface->nbtsrv->task->lp_ctx, NULL, "nbtd", "max_refresh_time", 7200); 62 60 63 61 refresh_time = MIN(max_refresh_time, iname->ttl/2); … … 69 67 } 70 68 69 struct nbtd_wins_refresh_state { 70 struct nbtd_iface_name *iname; 71 struct nbt_name_refresh_wins io; 72 }; 73 71 74 /* 72 75 called when a wins name refresh has completed 73 76 */ 74 static void nbtd_wins_refresh_handler(struct composite_context *c)77 static void nbtd_wins_refresh_handler(struct tevent_req *subreq) 75 78 { 76 79 NTSTATUS status; 77 struct nbt_name_refresh_wins io; 78 struct nbtd_iface_name *iname = talloc_get_type(c->async.private_data, 79 struct nbtd_iface_name); 80 TALLOC_CTX *tmp_ctx = talloc_new(iname); 81 82 status = nbt_name_refresh_wins_recv(c, tmp_ctx, &io); 80 struct nbtd_wins_refresh_state *state = 81 tevent_req_callback_data(subreq, 82 struct nbtd_wins_refresh_state); 83 struct nbtd_iface_name *iname = state->iname; 84 85 status = nbt_name_refresh_wins_recv(subreq, state, &state->io); 86 TALLOC_FREE(subreq); 83 87 if (NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT)) { 84 88 /* our WINS server is dead - start registration over 85 89 from scratch */ 86 90 DEBUG(2,("Failed to refresh %s with WINS server %s\n", 87 nbt_name_string( tmp_ctx, &iname->name), iname->wins_server));88 talloc_free( tmp_ctx);91 nbt_name_string(state, &iname->name), iname->wins_server)); 92 talloc_free(state); 89 93 nbtd_winsclient_register(iname); 90 94 return; … … 93 97 if (!NT_STATUS_IS_OK(status)) { 94 98 DEBUG(1,("Name refresh failure with WINS for %s - %s\n", 95 nbt_name_string( tmp_ctx, &iname->name), nt_errstr(status)));96 talloc_free( tmp_ctx);97 return; 98 } 99 100 if ( io.out.rcode != 0) {99 nbt_name_string(state, &iname->name), nt_errstr(status))); 100 talloc_free(state); 101 return; 102 } 103 104 if (state->io.out.rcode != 0) { 101 105 DEBUG(1,("WINS server %s rejected name refresh of %s - %s\n", 102 io.out.wins_server, nbt_name_string(tmp_ctx, &iname->name), 103 nt_errstr(nbt_rcode_to_ntstatus(io.out.rcode)))); 106 state->io.out.wins_server, 107 nbt_name_string(state, &iname->name), 108 nt_errstr(nbt_rcode_to_ntstatus(state->io.out.rcode)))); 104 109 iname->nb_flags |= NBT_NM_CONFLICT; 105 talloc_free( tmp_ctx);110 talloc_free(state); 106 111 return; 107 112 } 108 113 109 114 DEBUG(4,("Refreshed name %s with WINS server %s\n", 110 nbt_name_string( tmp_ctx, &iname->name), iname->wins_server));115 nbt_name_string(state, &iname->name), iname->wins_server)); 111 116 /* success - start a periodic name refresh */ 112 117 iname->nb_flags |= NBT_NM_ACTIVE; … … 116 121 * so steal it into the tmp context 117 122 */ 118 talloc_steal(tmp_ctx, iname->wins_server); 119 } 120 iname->wins_server = talloc_steal(iname, io.out.wins_server); 121 123 talloc_steal(state, iname->wins_server); 124 } 125 iname->wins_server = talloc_move(iname, &state->io.out.wins_server); 122 126 iname->registration_time = timeval_current(); 127 128 talloc_free(state); 129 123 130 nbtd_wins_start_refresh_timer(iname); 124 125 talloc_free(tmp_ctx);126 131 } 127 132 … … 135 140 struct nbtd_iface_name *iname = talloc_get_type(private_data, struct nbtd_iface_name); 136 141 struct nbtd_interface *iface = iname->iface; 137 struct nbt_name_refresh_wins io; 138 struct composite_context *c; 139 TALLOC_CTX *tmp_ctx = talloc_new(iname); 142 struct nbt_name_socket *nbtsock = wins_socket(iface); 143 struct tevent_req *subreq; 144 struct nbtd_wins_refresh_state *state; 145 146 state = talloc_zero(iname, struct nbtd_wins_refresh_state); 147 if (state == NULL) { 148 return; 149 } 150 151 state->iname = iname; 140 152 141 153 /* setup a wins name refresh request */ 142 io.in.name = iname->name;143 io.in.wins_servers = (const char **)str_list_make_single(tmp_ctx, iname->wins_server);144 io.in.wins_port = lp_nbt_port(iface->nbtsrv->task->lp_ctx);145 io.in.addresses = nbtd_address_list(iface, tmp_ctx);146 io.in.nb_flags = iname->nb_flags;147 io.in.ttl = iname->ttl;148 149 if (! io.in.addresses) {150 talloc_free( tmp_ctx);151 return; 152 } 153 154 c = nbt_name_refresh_wins_send(wins_socket(iface), &io);155 if ( c== NULL) {156 talloc_free( tmp_ctx);157 return; 158 } 159 talloc_steal(c, io.in.addresses); 160 161 c->async.fn = nbtd_wins_refresh_handler; 162 c->async.private_data = iname; 163 164 talloc_free(tmp_ctx);165 } 166 154 state->io.in.name = iname->name; 155 state->io.in.wins_servers = (const char **)str_list_make_single(state, iname->wins_server); 156 state->io.in.wins_port = lpcfg_nbt_port(iface->nbtsrv->task->lp_ctx); 157 state->io.in.addresses = nbtd_address_list(iface, state); 158 state->io.in.nb_flags = iname->nb_flags; 159 state->io.in.ttl = iname->ttl; 160 161 if (!state->io.in.addresses) { 162 talloc_free(state); 163 return; 164 } 165 166 subreq = nbt_name_refresh_wins_send(state, ev, nbtsock, &state->io); 167 if (subreq == NULL) { 168 talloc_free(state); 169 return; 170 } 171 172 tevent_req_set_callback(subreq, nbtd_wins_refresh_handler, state); 173 } 174 175 struct nbtd_wins_register_state { 176 struct nbtd_iface_name *iname; 177 struct nbt_name_register_wins io; 178 }; 167 179 168 180 /* 169 181 called when a wins name register has completed 170 182 */ 171 static void nbtd_wins_register_handler(struct composite_context *c)183 static void nbtd_wins_register_handler(struct tevent_req *subreq) 172 184 { 173 185 NTSTATUS status; 174 struct nbt_name_register_wins io; 175 struct nbtd_iface_name *iname = talloc_get_type(c->async.private_data, 176 struct nbtd_iface_name); 177 TALLOC_CTX *tmp_ctx = talloc_new(iname); 178 179 status = nbt_name_register_wins_recv(c, tmp_ctx, &io); 186 struct nbtd_wins_register_state *state = 187 tevent_req_callback_data(subreq, 188 struct nbtd_wins_register_state); 189 struct nbtd_iface_name *iname = state->iname; 190 191 status = nbt_name_register_wins_recv(subreq, state, &state->io); 192 TALLOC_FREE(subreq); 180 193 if (NT_STATUS_EQUAL(status, NT_STATUS_IO_TIMEOUT)) { 181 194 /* none of the WINS servers responded - try again 182 195 periodically */ 183 int wins_retry_time = lp _parm_int(iname->iface->nbtsrv->task->lp_ctx, NULL, "nbtd", "wins_retry", 300);196 int wins_retry_time = lpcfg_parm_int(iname->iface->nbtsrv->task->lp_ctx, NULL, "nbtd", "wins_retry", 300); 184 197 event_add_timed(iname->iface->nbtsrv->task->event_ctx, 185 198 iname, … … 187 200 nbtd_wins_register_retry, 188 201 iname); 189 talloc_free( tmp_ctx);202 talloc_free(state); 190 203 return; 191 204 } … … 193 206 if (!NT_STATUS_IS_OK(status)) { 194 207 DEBUG(1,("Name register failure with WINS for %s - %s\n", 195 nbt_name_string( tmp_ctx, &iname->name), nt_errstr(status)));196 talloc_free( tmp_ctx);208 nbt_name_string(state, &iname->name), nt_errstr(status))); 209 talloc_free(state); 197 210 return; 198 211 } 199 212 200 if ( io.out.rcode != 0) {213 if (state->io.out.rcode != 0) { 201 214 DEBUG(1,("WINS server %s rejected name register of %s - %s\n", 202 io.out.wins_server, nbt_name_string(tmp_ctx, &iname->name), 203 nt_errstr(nbt_rcode_to_ntstatus(io.out.rcode)))); 215 state->io.out.wins_server, 216 nbt_name_string(state, &iname->name), 217 nt_errstr(nbt_rcode_to_ntstatus(state->io.out.rcode)))); 204 218 iname->nb_flags |= NBT_NM_CONFLICT; 205 talloc_free( tmp_ctx);219 talloc_free(state); 206 220 return; 207 221 } … … 214 228 * so steal it into the tmp context 215 229 */ 216 talloc_steal( tmp_ctx, iname->wins_server);217 } 218 iname->wins_server = talloc_ steal(iname,io.out.wins_server);230 talloc_steal(state, iname->wins_server); 231 } 232 iname->wins_server = talloc_move(iname, &state->io.out.wins_server); 219 233 220 234 iname->registration_time = timeval_current(); 235 236 DEBUG(3,("Registered %s with WINS server %s\n", 237 nbt_name_string(state, &iname->name), iname->wins_server)); 238 239 talloc_free(state); 240 221 241 nbtd_wins_start_refresh_timer(iname); 222 223 DEBUG(3,("Registered %s with WINS server %s\n",224 nbt_name_string(tmp_ctx, &iname->name), iname->wins_server));225 226 talloc_free(tmp_ctx);227 242 } 228 243 … … 233 248 { 234 249 struct nbtd_interface *iface = iname->iface; 235 struct nbt_name_register_wins io; 236 struct composite_context *c; 250 struct nbt_name_socket *nbtsock = wins_socket(iface); 251 struct nbtd_wins_register_state *state; 252 struct tevent_req *subreq; 253 254 state = talloc_zero(iname, struct nbtd_wins_register_state); 255 if (state == NULL) { 256 return; 257 } 258 259 state->iname = iname; 237 260 238 261 /* setup a wins name register request */ 239 io.in.name= iname->name;240 io.in.wins_port = lp_nbt_port(iname->iface->nbtsrv->task->lp_ctx);241 io.in.wins_servers = lp_wins_server_list(iname->iface->nbtsrv->task->lp_ctx);242 io.in.addresses = nbtd_address_list(iface, iname);243 io.in.nb_flags= iname->nb_flags;244 io.in.ttl= iname->ttl;245 246 if ( !io.in.addresses) {247 return;248 }249 250 c = nbt_name_register_wins_send(wins_socket(iface), &io); 251 if (c == NULL) {252 talloc_free(io.in.addresses);253 return;254 }255 talloc_steal(c, io.in.addresses);256 257 c->async.fn = nbtd_wins_register_handler; 258 c->async.private_data = iname;259 } 262 state->io.in.name = iname->name; 263 state->io.in.wins_port = lpcfg_nbt_port(iface->nbtsrv->task->lp_ctx); 264 state->io.in.wins_servers = lpcfg_wins_server_list(iface->nbtsrv->task->lp_ctx); 265 state->io.in.addresses = nbtd_address_list(iface, state); 266 state->io.in.nb_flags = iname->nb_flags; 267 state->io.in.ttl = iname->ttl; 268 269 if (state->io.in.addresses == NULL) { 270 talloc_free(state); 271 return; 272 } 273 274 subreq = nbt_name_register_wins_send(state, iface->nbtsrv->task->event_ctx, 275 nbtsock, &state->io); 276 if (subreq == NULL) { 277 talloc_free(state); 278 return; 279 } 280 281 tevent_req_set_callback(subreq, nbtd_wins_register_handler, state); 282 } -
vendor/current/source4/nbt_server/wins/winsdb.c
r414 r740 24 24 #include "nbt_server/nbt_server.h" 25 25 #include "nbt_server/wins/winsdb.h" 26 #include "lib/ldb/include/ldb.h"27 #include "lib/ldb/include/ldb_errors.h"26 #include <ldb.h> 27 #include <ldb_errors.h> 28 28 #include "librpc/gen_ndr/ndr_nbt.h" 29 29 #include "system/time.h" … … 101 101 102 102 ret = ldb_msg_add_empty(msg, "objectClass", LDB_FLAG_MOD_REPLACE, NULL); 103 if (ret != 0) goto failed;103 if (ret != LDB_SUCCESS) goto failed; 104 104 ret = ldb_msg_add_string(msg, "objectClass", "winsMaxVersion"); 105 if (ret != 0) goto failed;105 if (ret != LDB_SUCCESS) goto failed; 106 106 ret = ldb_msg_add_empty(msg, "maxVersion", LDB_FLAG_MOD_REPLACE, NULL); 107 if (ret != 0) goto failed;107 if (ret != LDB_SUCCESS) goto failed; 108 108 ret = ldb_msg_add_fmt(msg, "maxVersion", "%llu", (long long)newMaxVersion); 109 if (ret != 0) goto failed;109 if (ret != LDB_SUCCESS) goto failed; 110 110 111 111 ret = ldb_modify(wins_db, msg); 112 if (ret != 0) ret = ldb_add(wins_db, msg);113 if (ret != 0) goto failed;112 if (ret != LDB_SUCCESS) ret = ldb_add(wins_db, msg); 113 if (ret != LDB_SUCCESS) goto failed; 114 114 115 115 trans = ldb_transaction_commit(wins_db); … … 260 260 } 261 261 262 *p = '\0'; p++;262 *p = '\0'; p++; 263 263 addr->address = talloc_strdup(addr, address); 264 264 if (!addr->address) { … … 320 320 const char *attr_name, struct winsdb_addr *addr) 321 321 { 322 struct ldb_val val;323 322 const char *str; 324 323 325 324 if (rec->is_static) { 326 325 str = talloc_strdup(msg, addr->address); 327 if (!str) return -1;326 if (!str) return LDB_ERR_OPERATIONS_ERROR; 328 327 } else { 329 328 char *expire_time; 330 329 expire_time = ldb_timestring(msg, addr->expire_time); 331 if (!expire_time) return -1;330 if (!expire_time) return LDB_ERR_OPERATIONS_ERROR; 332 331 str = talloc_asprintf(msg, "%s;winsOwner:%s;expireTime:%s;", 333 332 addr->address, addr->wins_owner, 334 333 expire_time); 335 334 talloc_free(expire_time); 336 if (!str) return -1; 337 } 338 339 val.data = discard_const_p(uint8_t, str); 340 val.length = strlen(str); 341 342 return ldb_msg_add_value(msg, attr_name, &val, NULL); 335 if (!str) return LDB_ERR_OPERATIONS_ERROR; 336 } 337 338 return ldb_msg_add_string(msg, attr_name, str); 343 339 } 344 340 … … 508 504 addresses[len+1] = NULL; 509 505 510 ldb_qsort(addresses, len+1 , sizeof(addresses[0]), h, (ldb_qsort_cmp_fn_t)winsdb_addr_sort_list);506 LDB_TYPESAFE_QSORT(addresses, len+1, h, winsdb_addr_sort_list); 511 507 512 508 return addresses; … … 751 747 TALLOC_CTX *mem_ctx) 752 748 { 753 int i, ret =0;749 int i, ret; 754 750 size_t addr_count; 755 751 const char *expire_time; … … 773 769 msg->dn = winsdb_dn(msg, ldb, rec->name); 774 770 if (msg->dn == NULL) goto failed; 775 ret |= ldb_msg_add_fmt(msg, "type", "0x%02X", rec->name->type);771 ret = ldb_msg_add_fmt(msg, "type", "0x%02X", rec->name->type); 776 772 if (rec->name->name && *rec->name->name) { 777 773 ret |= ldb_msg_add_string(msg, "name", rec->name->name); … … 795 791 ret |= ldb_msg_add_winsdb_addr(msg, rec, "address", rec->addresses[i]); 796 792 } 797 ret |= ldb_msg_add_empty(msg, "registeredBy", 0, NULL);798 793 if (rec->registered_by) { 794 ret |= ldb_msg_add_empty(msg, "registeredBy", 0, NULL); 799 795 ret |= ldb_msg_add_string(msg, "registeredBy", rec->registered_by); 800 if (ret != 0) goto failed;801 }796 } 797 if (ret != LDB_SUCCESS) goto failed; 802 798 return msg; 803 799 … … 816 812 TALLOC_CTX *tmp_ctx = talloc_new(wins_db); 817 813 int trans = -1; 818 int ret = 0;814 int ret; 819 815 820 816 trans = ldb_transaction_start(wins_db); … … 833 829 if (msg == NULL) goto failed; 834 830 ret = ldb_add(wins_db, msg); 835 if (ret != 0) goto failed;831 if (ret != LDB_SUCCESS) goto failed; 836 832 837 833 trans = ldb_transaction_commit(wins_db); … … 860 856 int trans; 861 857 int ret; 862 int i;858 unsigned int i; 863 859 864 860 trans = ldb_transaction_start(wins_db); … … 882 878 883 879 ret = ldb_modify(wins_db, msg); 884 if (ret != 0) goto failed;880 if (ret != LDB_SUCCESS) goto failed; 885 881 886 882 trans = ldb_transaction_commit(wins_db); … … 917 913 918 914 ret = ldb_delete(wins_db, dn); 919 if (ret != 0) goto failed;915 if (ret != LDB_SUCCESS) goto failed; 920 916 921 917 trans = ldb_transaction_commit(wins_db); … … 963 959 964 960 ret = ldb_msg_add_string(msg, "@LIST", "wins_ldb"); 965 if (ret != 0) goto failed;961 if (ret != LDB_SUCCESS) goto failed; 966 962 967 963 ret = ldb_add(h->ldb, msg); 968 if (ret != 0) goto failed;964 if (ret != LDB_SUCCESS) goto failed; 969 965 970 966 trans = ldb_transaction_commit(h->ldb); … … 976 972 h->ldb = NULL; 977 973 978 if (lp _parm_bool(lp_ctx, NULL,"winsdb", "nosync", false)) {974 if (lpcfg_parm_bool(lp_ctx, NULL,"winsdb", "nosync", false)) { 979 975 flags |= LDB_FLG_NOSYNC; 980 976 } 981 977 982 h->ldb = ldb_wrap_connect(h, ev_ctx, lp_ctx, lock_path(h, lp_ctx, lp _wins_url(lp_ctx)),983 NULL, NULL, flags , NULL);978 h->ldb = ldb_wrap_connect(h, ev_ctx, lp_ctx, lock_path(h, lp_ctx, lpcfg_wins_url(lp_ctx)), 979 NULL, NULL, flags); 984 980 if (!h->ldb) goto failed; 985 981 … … 1012 1008 if (!h) return NULL; 1013 1009 1014 if (lp _parm_bool(lp_ctx, NULL,"winsdb", "nosync", false)) {1010 if (lpcfg_parm_bool(lp_ctx, NULL,"winsdb", "nosync", false)) { 1015 1011 flags |= LDB_FLG_NOSYNC; 1016 1012 } 1017 1013 1018 h->ldb = ldb_wrap_connect(h, ev_ctx, lp_ctx, lock_path(h, lp_ctx, lp _wins_url(lp_ctx)),1019 NULL, NULL, flags , NULL);1020 if (!h->ldb) goto failed; 1014 h->ldb = ldb_wrap_connect(h, ev_ctx, lp_ctx, lock_path(h, lp_ctx, lpcfg_wins_url(lp_ctx)), 1015 NULL, NULL, flags); 1016 if (!h->ldb) goto failed; 1021 1017 1022 1018 h->caller = caller; 1023 h->hook_script = lp _wins_hook(lp_ctx);1019 h->hook_script = lpcfg_wins_hook(lp_ctx); 1024 1020 1025 1021 h->local_owner = talloc_strdup(h, owner); … … 1038 1034 return NULL; 1039 1035 } 1036 -
vendor/current/source4/nbt_server/wins/winsserver.c
r414 r740 33 33 #include "lib/socket/socket.h" 34 34 #include "lib/socket/netif.h" 35 #include "lib/ldb/include/ldb.h"35 #include <ldb.h> 36 36 #include "param/param.h" 37 37 #include "libcli/resolve/resolve.h" 38 #include "lib/util/util_net.h" 38 39 39 40 /* … … 282 283 283 284 /* 284 * now remove all addresses that 'rethe client doesn't hold anymore285 * and update the time stamp and owner for the o wnes that are still there285 * now remove all addresses that the client doesn't hold anymore 286 * and update the time stamp and owner for the ones that are still there 286 287 */ 287 288 for (i=0; rec->addresses[i]; i++) { … … 415 416 416 417 s->io.in.nbtd_server = iface->nbtsrv; 417 s->io.in.nbt_port = lp _nbt_port(iface->nbtsrv->task->lp_ctx);418 s->io.in.nbt_port = lpcfg_nbt_port(iface->nbtsrv->task->lp_ctx); 418 419 s->io.in.event_ctx = iface->nbtsrv->task->event_ctx; 419 420 s->io.in.name = rec->name; … … 497 498 } 498 499 500 if (name->scope && strlen(name->scope) > 237) { 501 rcode = NBT_RCODE_SVR; 502 goto done; 503 } 504 499 505 duplicate_packet = wins_check_wack_queue(iface, packet, src); 500 506 if (duplicate_packet) { … … 665 671 666 672 /* first sort the addresses depending on the matching to the client */ 667 ldb_qsort(addresses, num_addrs , sizeof(addresses[0]), 668 src, (ldb_qsort_cmp_fn_t)nbtd_wins_randomize1Clist_sort); 669 670 mask = lp_parm_string(lp_ctx, NULL, "nbtd", "wins_randomize1Clist_mask"); 673 LDB_TYPESAFE_QSORT(addresses, num_addrs, src, nbtd_wins_randomize1Clist_sort); 674 675 mask = lpcfg_parm_string(lp_ctx, NULL, "nbtd", "wins_randomize1Clist_mask"); 671 676 if (!mask) { 672 677 mask = "255.255.255.0"; … … 746 751 */ 747 752 if (name->type == NBT_NAME_LOGON && 748 lp _parm_bool(lp_ctx, NULL, "nbtd", "wins_prepend1Bto1Cqueries", true)) {753 lpcfg_parm_bool(lp_ctx, NULL, "nbtd", "wins_prepend1Bto1Cqueries", true)) { 749 754 struct nbt_name name_1b; 750 755 … … 760 765 status = winsdb_lookup(winssrv->wins_db, name, packet, &rec); 761 766 if (!NT_STATUS_IS_OK(status)) { 762 if (!lp _wins_dns_proxy(lp_ctx)) {767 if (!lpcfg_wins_dns_proxy(lp_ctx)) { 763 768 goto notfound; 764 769 } … … 842 847 */ 843 848 if (name->type == NBT_NAME_LOGON && 844 lp _parm_bool(lp_ctx, NULL, "nbtd", "wins_randomize1Clist", false)) {849 lpcfg_parm_bool(lp_ctx, NULL, "nbtd", "wins_randomize1Clist", false)) { 845 850 nbtd_wins_randomize1Clist(lp_ctx, addresses, src); 846 851 } … … 872 877 873 878 if (name->type == NBT_NAME_MASTER) { 879 goto done; 880 } 881 882 if (name->scope && strlen(name->scope) > 237) { 874 883 goto done; 875 884 } … … 951 960 modify_flags = WINSDB_FLAG_ALLOC_VERSION | WINSDB_FLAG_TAKE_OWNERSHIP; 952 961 } 953 if (lp _parm_bool(iface->nbtsrv->task->lp_ctx, NULL, "wreplsrv", "propagate name releases", false)) {962 if (lpcfg_parm_bool(iface->nbtsrv->task->lp_ctx, NULL, "wreplsrv", "propagate name releases", false)) { 954 963 /* 955 964 * We have an option to propagate every name release, … … 1030 1039 const char *owner; 1031 1040 1032 if (!lp _wins_support(nbtsrv->task->lp_ctx)) {1041 if (!lpcfg_wins_support(nbtsrv->task->lp_ctx)) { 1033 1042 nbtsrv->winssrv = NULL; 1034 1043 return NT_STATUS_OK; … … 1038 1047 NT_STATUS_HAVE_NO_MEMORY(nbtsrv->winssrv); 1039 1048 1040 nbtsrv->winssrv->config.max_renew_interval = lp _max_wins_ttl(nbtsrv->task->lp_ctx);1041 nbtsrv->winssrv->config.min_renew_interval = lp _min_wins_ttl(nbtsrv->task->lp_ctx);1042 tmp = lp _parm_int(nbtsrv->task->lp_ctx, NULL, "wreplsrv", "tombstone_interval", 6*24*60*60);1049 nbtsrv->winssrv->config.max_renew_interval = lpcfg_max_wins_ttl(nbtsrv->task->lp_ctx); 1050 nbtsrv->winssrv->config.min_renew_interval = lpcfg_min_wins_ttl(nbtsrv->task->lp_ctx); 1051 tmp = lpcfg_parm_int(nbtsrv->task->lp_ctx, NULL, "wreplsrv", "tombstone_interval", 6*24*60*60); 1043 1052 nbtsrv->winssrv->config.tombstone_interval = tmp; 1044 tmp = lp _parm_int(nbtsrv->task->lp_ctx, NULL, "wreplsrv"," tombstone_timeout", 1*24*60*60);1053 tmp = lpcfg_parm_int(nbtsrv->task->lp_ctx, NULL, "wreplsrv"," tombstone_timeout", 1*24*60*60); 1045 1054 nbtsrv->winssrv->config.tombstone_timeout = tmp; 1046 1055 1047 owner = lp _parm_string(nbtsrv->task->lp_ctx, NULL, "winsdb", "local_owner");1056 owner = lpcfg_parm_string(nbtsrv->task->lp_ctx, NULL, "winsdb", "local_owner"); 1048 1057 1049 1058 if (owner == NULL) { 1050 1059 struct interface *ifaces; 1051 load_interfaces(nbtsrv->task, lp _interfaces(nbtsrv->task->lp_ctx), &ifaces);1060 load_interfaces(nbtsrv->task, lpcfg_interfaces(nbtsrv->task->lp_ctx), &ifaces); 1052 1061 owner = iface_n_ip(ifaces, 0); 1053 1062 } -
vendor/current/source4/nbt_server/wins/winsserver.h
r414 r740 64 64 }; 65 65 66 struct composite_context; 66 67 #include "nbt_server/wins/winsserver_proto.h" -
vendor/current/source4/nbt_server/wins/winswack.c
r414 r740 164 164 struct nbtd_interface *iface; 165 165 166 state->release.in.dest_port = lp _nbt_port(state->io->in.nbtd_server->task->lp_ctx);166 state->release.in.dest_port = lpcfg_nbt_port(state->io->in.nbtd_server->task->lp_ctx); 167 167 state->release.in.dest_addr = state->io->in.addresses[state->current_address]; 168 168 state->release.in.address = state->release.in.dest_addr; … … 224 224 */ 225 225 state->release.in.name = *state->io->in.name; 226 state->release.in.dest_port = lp _nbt_port(state->io->in.nbtd_server->task->lp_ctx);226 state->release.in.dest_port = lpcfg_nbt_port(state->io->in.nbtd_server->task->lp_ctx); 227 227 state->release.in.dest_addr = state->io->in.addresses[state->current_address]; 228 228 state->release.in.address = state->release.in.dest_addr; … … 307 307 308 308 s->io.in.nbtd_server = nbtd_server; 309 s->io.in.nbt_port = lp _nbt_port(nbtd_server->task->lp_ctx);309 s->io.in.nbt_port = lpcfg_nbt_port(nbtd_server->task->lp_ctx); 310 310 s->io.in.event_ctx = msg->ev; 311 311 s->io.in.name = &req->in.name;
Note:
See TracChangeset
for help on using the changeset viewer.