pmcf 6.49.1 → 6.49.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/services/bind.mjs +77 -75
package/package.json
CHANGED
package/src/services/bind.mjs
CHANGED
|
@@ -318,6 +318,52 @@ const acl_attribute = {
|
|
|
318
318
|
class bind_view extends bind_object {
|
|
319
319
|
static priority = 1;
|
|
320
320
|
static attributes = {
|
|
321
|
+
notify: { ...boolean_attribute_writable_false, name: "notify" },
|
|
322
|
+
hasCatalog: { ...boolean_attribute_writable_false, name: "hasCatalog" },
|
|
323
|
+
hasForeignDomainRecords: {
|
|
324
|
+
...boolean_attribute_writable_false,
|
|
325
|
+
name: "hasForeignDomainRecords"
|
|
326
|
+
},
|
|
327
|
+
hasBaseRecords: {
|
|
328
|
+
...boolean_attribute_writable_true,
|
|
329
|
+
name: "hasBaseRecords"
|
|
330
|
+
},
|
|
331
|
+
hasReverseRecords: {
|
|
332
|
+
...boolean_attribute_writable_false,
|
|
333
|
+
name: "hasReverseRecords"
|
|
334
|
+
},
|
|
335
|
+
hasSVRRecords: {
|
|
336
|
+
...boolean_attribute_writable_false,
|
|
337
|
+
name: "hasSVRRecords"
|
|
338
|
+
},
|
|
339
|
+
hasLocationRecord: {
|
|
340
|
+
...boolean_attribute_writable_false,
|
|
341
|
+
name: "hasLocationRecord"
|
|
342
|
+
},
|
|
343
|
+
recordTTL: {
|
|
344
|
+
...duration_attribute_writable,
|
|
345
|
+
name: "recordTTL",
|
|
346
|
+
default: "1W"
|
|
347
|
+
},
|
|
348
|
+
serial: {
|
|
349
|
+
...integer_attribute_writable,
|
|
350
|
+
name: "serial",
|
|
351
|
+
default: Math.ceil(Date.now() / (1000 * 60)) * 60
|
|
352
|
+
},
|
|
353
|
+
refresh: {
|
|
354
|
+
...duration_attribute_writable,
|
|
355
|
+
name: "refresh",
|
|
356
|
+
default: 36000
|
|
357
|
+
},
|
|
358
|
+
retry: { ...duration_attribute_writable, name: "retry", default: 72000 },
|
|
359
|
+
expire: { ...duration_attribute_writable, name: "expire", default: 600000 },
|
|
360
|
+
minimum: { ...duration_attribute_writable, name: "minimum", default: 60000 },
|
|
361
|
+
sharedWith: {
|
|
362
|
+
...default_attribute_writable,
|
|
363
|
+
name: "sharedWith",
|
|
364
|
+
type: bind_view
|
|
365
|
+
},
|
|
366
|
+
|
|
321
367
|
matchClients: {
|
|
322
368
|
...acl_attribute,
|
|
323
369
|
name: "matchClients"
|
|
@@ -362,48 +408,6 @@ class bind_view extends bind_object {
|
|
|
362
408
|
backpointer: owner_attribute,
|
|
363
409
|
name: "zoneConfigs"
|
|
364
410
|
},
|
|
365
|
-
sharedWith: {
|
|
366
|
-
...default_attribute_writable,
|
|
367
|
-
name: "sharedWith",
|
|
368
|
-
type: bind_view
|
|
369
|
-
},
|
|
370
|
-
notify: { ...boolean_attribute_writable_false, name: "notify" },
|
|
371
|
-
hasForeignDomains: {
|
|
372
|
-
...boolean_attribute_writable_false,
|
|
373
|
-
name: "hasForeignDomains"
|
|
374
|
-
},
|
|
375
|
-
hasBaseRecords: {
|
|
376
|
-
...boolean_attribute_writable_true,
|
|
377
|
-
name: "hasBaseRecords"
|
|
378
|
-
},
|
|
379
|
-
hasCatalog: { ...boolean_attribute_writable_false, name: "hasCatalog" },
|
|
380
|
-
hasReverse: { ...boolean_attribute_writable_false, name: "hasReverse" },
|
|
381
|
-
hasSVRRecords: {
|
|
382
|
-
...boolean_attribute_writable_false,
|
|
383
|
-
name: "hasSVRRecords"
|
|
384
|
-
},
|
|
385
|
-
hasLocationRecord: {
|
|
386
|
-
...boolean_attribute_writable_false,
|
|
387
|
-
name: "hasLocationRecord"
|
|
388
|
-
},
|
|
389
|
-
recordTTL: {
|
|
390
|
-
...duration_attribute_writable,
|
|
391
|
-
name: "recordTTL",
|
|
392
|
-
default: "1W"
|
|
393
|
-
},
|
|
394
|
-
serial: {
|
|
395
|
-
...integer_attribute_writable,
|
|
396
|
-
name: "serial",
|
|
397
|
-
default: Math.ceil(Date.now() / (1000 * 60)) * 60
|
|
398
|
-
},
|
|
399
|
-
refresh: {
|
|
400
|
-
...duration_attribute_writable,
|
|
401
|
-
name: "refresh",
|
|
402
|
-
default: 36000
|
|
403
|
-
},
|
|
404
|
-
retry: { ...duration_attribute_writable, name: "retry", default: 72000 },
|
|
405
|
-
expire: { ...duration_attribute_writable, name: "expire", default: 600000 },
|
|
406
|
-
minimum: { ...duration_attribute_writable, name: "minimum", default: 60000 }
|
|
407
411
|
};
|
|
408
412
|
|
|
409
413
|
static {
|
|
@@ -412,40 +416,38 @@ class bind_view extends bind_object {
|
|
|
412
416
|
|
|
413
417
|
foreignDomains = new Set();
|
|
414
418
|
notify = true;
|
|
415
|
-
hasCatalog = true;
|
|
416
|
-
hasSVRRecords = true;
|
|
417
419
|
recordTTL = "1W";
|
|
418
420
|
|
|
419
|
-
set
|
|
420
|
-
this.
|
|
421
|
+
set hasCatalog(value) {
|
|
422
|
+
this._hasCatalog = value;
|
|
421
423
|
}
|
|
422
424
|
|
|
423
|
-
get
|
|
424
|
-
return this.attribute("
|
|
425
|
+
get hasCatalog() {
|
|
426
|
+
return this.attribute("_hasCatalog");
|
|
425
427
|
}
|
|
426
428
|
|
|
427
|
-
set
|
|
428
|
-
this.
|
|
429
|
+
set hasForeignDomainRecords(value) {
|
|
430
|
+
this._hasForeignDomainRecords = value;
|
|
429
431
|
}
|
|
430
432
|
|
|
431
|
-
get
|
|
432
|
-
return this.attribute("
|
|
433
|
+
get hasForeignDomainRecords() {
|
|
434
|
+
return this.attribute("_hasForeignDomainRecords");
|
|
433
435
|
}
|
|
434
436
|
|
|
435
|
-
set
|
|
436
|
-
this.
|
|
437
|
+
set hasBaseRecords(value) {
|
|
438
|
+
this._hasBaseRecords = value;
|
|
437
439
|
}
|
|
438
440
|
|
|
439
|
-
get
|
|
440
|
-
return this.attribute("
|
|
441
|
+
get hasBaseRecords() {
|
|
442
|
+
return this.attribute("_hasBaseRecords");
|
|
441
443
|
}
|
|
442
444
|
|
|
443
|
-
set
|
|
444
|
-
this.
|
|
445
|
+
set hasReverseRecords(value) {
|
|
446
|
+
this._hasReverseRecords = value;
|
|
445
447
|
}
|
|
446
448
|
|
|
447
|
-
get
|
|
448
|
-
return this.attribute("
|
|
449
|
+
get hasReverseRecords() {
|
|
450
|
+
return this.attribute("_hasReverseRecords");
|
|
449
451
|
}
|
|
450
452
|
|
|
451
453
|
set hasSVRRecords(value) {
|
|
@@ -543,22 +545,22 @@ class bind_view extends bind_object {
|
|
|
543
545
|
const locationName = host.owner.name;
|
|
544
546
|
|
|
545
547
|
for (const domain of na.domains) {
|
|
546
|
-
let reverseZone;
|
|
547
|
-
|
|
548
|
-
const config = this.zoneConfigs.getOrInsertComputed(
|
|
549
|
-
domain,
|
|
550
|
-
domain => new bind_zone_config(this, `${domain}.zone.conf`)
|
|
551
|
-
);
|
|
552
|
-
|
|
553
|
-
const zone = this._zones.getOrInsertComputed(domain, domain =>
|
|
554
|
-
this.intoCatalog(
|
|
555
|
-
new bind_zone(this, domain, config, locationName),
|
|
556
|
-
locationName
|
|
557
|
-
)
|
|
558
|
-
);
|
|
548
|
+
let config, zone, reverseZone;
|
|
559
549
|
|
|
560
550
|
if (this.hasBaseRecords) {
|
|
561
|
-
|
|
551
|
+
config = this.zoneConfigs.getOrInsertComputed(
|
|
552
|
+
domain,
|
|
553
|
+
domain => new bind_zone_config(this, `${domain}.zone.conf`)
|
|
554
|
+
);
|
|
555
|
+
|
|
556
|
+
zone = this._zones.getOrInsertComputed(domain, domain =>
|
|
557
|
+
this.intoCatalog(
|
|
558
|
+
new bind_zone(this, domain, config, locationName),
|
|
559
|
+
locationName
|
|
560
|
+
)
|
|
561
|
+
);
|
|
562
|
+
|
|
563
|
+
if (this.hasReverseRecords && na.subnet.prefix) {
|
|
562
564
|
let subnet;
|
|
563
565
|
|
|
564
566
|
for (const s of subnets) {
|
|
@@ -586,7 +588,7 @@ class bind_view extends bind_object {
|
|
|
586
588
|
if (!hosts.has(host)) {
|
|
587
589
|
hosts.add(host);
|
|
588
590
|
|
|
589
|
-
if (this.
|
|
591
|
+
if (this.hasForeignDomainRecords) {
|
|
590
592
|
for (let foreignDomain of host.foreignDomainNames) {
|
|
591
593
|
const wildcard = foreignDomain.startsWith("*.");
|
|
592
594
|
if (wildcard) {
|