File tree Expand file tree Collapse file tree 4 files changed +14
-8
lines changed Expand file tree Collapse file tree 4 files changed +14
-8
lines changed Original file line number Diff line number Diff line change @@ -139,12 +139,13 @@ const internalNginx = {
139
139
*/
140
140
resolveDDNSAddresses : ( host ) => {
141
141
const promises = [ ] ;
142
- if ( typeof host . access_list !== 'undefined' && typeof host . access_list . clients !== 'undefined' ) {
142
+ if ( typeof host . access_list !== 'undefined' && host . access_list && typeof host . access_list . clients !== 'undefined' && host . access_list . clients ) {
143
143
for ( const client of host . access_list . clients ) {
144
- if ( ddnsResolver . requiresResolution ( client . address ) ) {
145
- const p = ddnsResolver . resolveAddress ( client . address )
144
+ const address = client . address ;
145
+ if ( ddnsResolver . requiresResolution ( address ) ) {
146
+ const p = ddnsResolver . resolveAddress ( address )
146
147
. then ( ( resolvedIP ) => {
147
- client . address = ` ${ resolvedIP } ; # ${ client . address } ` ;
148
+ Object . defineProperty ( client , 'resolvedAddress' , { value : resolvedIP } ) ;
148
149
return Promise . resolve ( ) ;
149
150
} ) ;
150
151
promises . push ( p ) ;
Original file line number Diff line number Diff line change @@ -64,15 +64,13 @@ const ddnsResolver = {
64
64
* @returns {Promise }
65
65
*/
66
66
_queryHost : ( host ) => {
67
- logger . info ( 'Looking up IP for ' , host ) ;
68
67
return utils . execSafe ( 'getent' , [ 'hosts' , host ] )
69
68
. then ( ( result ) => {
70
69
if ( result . length < 8 ) {
71
- logger . error ( ' IP lookup returned invalid output: ' , result ) ;
70
+ logger . error ( ` IP lookup for ${ host } returned invalid output: ${ result } ` ) ;
72
71
throw error . ValidationError ( 'Invalid output from getent hosts' ) ;
73
72
}
74
73
const out = result . split ( / \s + / ) ;
75
- logger . info ( `Resolved ${ host } to ${ out [ 0 ] } ` ) ;
76
74
return out [ 0 ] ;
77
75
} ,
78
76
( error ) => {
Original file line number Diff line number Diff line change @@ -113,7 +113,11 @@ const ddnsUpdater = {
113
113
for ( const row of rows ) {
114
114
if ( ! updatedRows . has ( row . id ) ) {
115
115
updatedRows . set ( row . id , 1 ) ;
116
- proxy_hosts . push ( ...row . proxy_hosts ) ;
116
+ for ( const host of row . proxy_hosts ) {
117
+ if ( host . enabled ) {
118
+ proxy_hosts . push ( host ) ;
119
+ }
120
+ }
117
121
}
118
122
}
119
123
}
Original file line number Diff line number Diff line change @@ -123,6 +123,9 @@ module.exports = {
123
123
*/
124
124
renderEngine . registerFilter ( 'nginxAccessRule' , ( v ) => {
125
125
if ( typeof v . directive !== 'undefined' && typeof v . address !== 'undefined' && v . directive && v . address ) {
126
+ if ( typeof v . resolvedAddress !== 'undefined' && v . resolvedAddress ) {
127
+ return `${ v . directive } ${ v . resolvedAddress } ; # ${ v . address } ` ;
128
+ }
126
129
return `${ v . directive } ${ v . address } ;` ;
127
130
}
128
131
return '' ;
You can’t perform that action at this time.
0 commit comments