Changeset 862 for trunk/server/source3/utils/net_ads.c
- Timestamp:
- May 13, 2014, 11:39:04 AM (11 years ago)
- Location:
- trunk/server
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server
- Property svn:mergeinfo changed
/vendor/current merged: 860
- Property svn:mergeinfo changed
-
trunk/server/source3/utils/net_ads.c
r751 r862 38 38 #include "../libcli/security/security.h" 39 39 #include "libsmb/libsmb.h" 40 #include "utils/net_dns.h" 40 41 41 42 #ifdef HAVE_ADS … … 1124 1125 #if defined(WITH_DNS_UPDATES) 1125 1126 #include "../lib/addns/dns.h" 1126 DNS_ERROR DoDNSUpdate(char *pszServerName, 1127 const char *pszDomainName, const char *pszHostName, 1128 const struct sockaddr_storage *sslist, 1129 size_t num_addrs ); 1130 1131 static NTSTATUS net_update_dns_internal(TALLOC_CTX *ctx, ADS_STRUCT *ads, 1127 1128 static NTSTATUS net_update_dns_internal(struct net_context *c, 1129 TALLOC_CTX *ctx, ADS_STRUCT *ads, 1132 1130 const char *machine_name, 1133 1131 const struct sockaddr_storage *addrs, … … 1191 1189 1192 1190 if ( !NT_STATUS_IS_OK(status) || (ns_count == 0)) { 1193 DEBUG(3,("net_ ads_join: Failed to find name server for the %s "1191 DEBUG(3,("net_update_dns_internal: Failed to find name server for the %s " 1194 1192 "realm\n", ads->config.realm)); 1195 1193 goto done; … … 1202 1200 for (i=0; i < ns_count; i++) { 1203 1201 1202 uint32_t flags = DNS_UPDATE_SIGNED | 1203 DNS_UPDATE_UNSIGNED | 1204 DNS_UPDATE_UNSIGNED_SUFFICIENT | 1205 DNS_UPDATE_PROBE | 1206 DNS_UPDATE_PROBE_SUFFICIENT; 1207 1208 if (c->opt_force) { 1209 flags &= ~DNS_UPDATE_PROBE_SUFFICIENT; 1210 flags &= ~DNS_UPDATE_UNSIGNED_SUFFICIENT; 1211 } 1212 1213 status = NT_STATUS_UNSUCCESSFUL; 1214 1204 1215 /* Now perform the dns update - we'll try non-secure and if we fail, 1205 1216 we'll follow it up with a secure update */ … … 1207 1218 fstrcpy( dns_server, nameservers[i].hostname ); 1208 1219 1209 dns_err = DoDNSUpdate(dns_server, dnsdomain, machine_name, addrs, num_addrs );1220 dns_err = DoDNSUpdate(dns_server, dnsdomain, machine_name, addrs, num_addrs, flags); 1210 1221 if (ERR_DNS_IS_OK(dns_err)) { 1211 1222 status = NT_STATUS_OK; … … 1234 1245 } 1235 1246 1236 static NTSTATUS net_update_dns_ext(TALLOC_CTX *mem_ctx, ADS_STRUCT *ads, 1247 static NTSTATUS net_update_dns_ext(struct net_context *c, 1248 TALLOC_CTX *mem_ctx, ADS_STRUCT *ads, 1237 1249 const char *hostname, 1238 1250 struct sockaddr_storage *iplist, … … 1264 1276 } 1265 1277 1266 status = net_update_dns_internal( mem_ctx, ads, machine_name,1278 status = net_update_dns_internal(c, mem_ctx, ads, machine_name, 1267 1279 iplist, num_addrs); 1268 1280 … … 1271 1283 } 1272 1284 1273 static NTSTATUS net_update_dns( TALLOC_CTX *mem_ctx, ADS_STRUCT *ads, const char *hostname)1285 static NTSTATUS net_update_dns(struct net_context *c, TALLOC_CTX *mem_ctx, ADS_STRUCT *ads, const char *hostname) 1274 1286 { 1275 1287 NTSTATUS status; 1276 1288 1277 status = net_update_dns_ext( mem_ctx, ads, hostname, NULL, 0);1289 status = net_update_dns_ext(c, mem_ctx, ads, hostname, NULL, 0); 1278 1290 return status; 1279 1291 } … … 1437 1449 1438 1450 if (r->out.dns_domain_name) { 1439 d_printf(_("Joined '%s' to realm'%s'\n"), r->in.machine_name,1451 d_printf(_("Joined '%s' to dns domain '%s'\n"), r->in.machine_name, 1440 1452 r->out.dns_domain_name); 1441 1453 } else { … … 1480 1492 } 1481 1493 1482 if ( !ads_dns || !NT_STATUS_IS_OK(net_update_dns( ctx, ads_dns, NULL)) ) {1494 if ( !ads_dns || !NT_STATUS_IS_OK(net_update_dns(c, ctx, ads_dns, NULL)) ) { 1483 1495 d_fprintf( stderr, _("DNS update failed!\n") ); 1484 1496 } … … 1585 1597 } 1586 1598 1587 ntstatus = net_update_dns_ext(c tx, ads, hostname, addrs, num_addrs);1599 ntstatus = net_update_dns_ext(c, ctx, ads, hostname, addrs, num_addrs); 1588 1600 if (!NT_STATUS_IS_OK(ntstatus)) { 1589 1601 d_fprintf( stderr, _("DNS update failed!\n") ); … … 1605 1617 #endif 1606 1618 } 1607 1608 #if defined(WITH_DNS_UPDATES)1609 DNS_ERROR do_gethostbyname(const char *server, const char *host);1610 #endif1611 1619 1612 1620 static int net_ads_dns_gethostbyname(struct net_context *c, int argc, const char **argv)
Note:
See TracChangeset
for help on using the changeset viewer.