Skip to content

Commit 301499d

Browse files
authored
Merge pull request #659 from jc21/develop
v2.6.1
2 parents e3399e1 + 5c2f13e commit 301499d

File tree

7 files changed

+51
-50
lines changed

7 files changed

+51
-50
lines changed

.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.6.0
1+
2.6.1

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<p align="center">
22
<img src="https://nginxproxymanager.com/github.png">
33
<br><br>
4-
<img src="https://img.shields.io/badge/version-2.6.0-green.svg?style=for-the-badge">
4+
<img src="https://img.shields.io/badge/version-2.6.1-green.svg?style=for-the-badge">
55
<a href="https://hub.docker.com/repository/docker/jc21/nginx-proxy-manager">
66
<img src="https://img.shields.io/docker/stars/jc21/nginx-proxy-manager.svg?style=for-the-badge">
77
</a>

backend/templates/proxy_host.conf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ server {
3737
{% endfor %}deny all;
3838

3939
# Access checks must...
40+
{% if access_list.satisfy %}
4041
{{ access_list.satisfy }};
42+
{% endif %}
4143

4244
{% endif %}
4345

frontend/js/app/api.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,11 @@ function FileUpload(path, fd) {
139139
xhr.onreadystatechange = function () {
140140
if (this.readyState === XMLHttpRequest.DONE) {
141141
if (xhr.status !== 200 && xhr.status !== 201) {
142-
reject(new Error('Upload failed: ' + xhr.status));
142+
try {
143+
reject(new Error('Upload failed: ' + JSON.parse(xhr.responseText).error.message));
144+
} catch (err) {
145+
reject(new Error('Upload failed: ' + xhr.status));
146+
}
143147
} else {
144148
resolve(xhr.responseText);
145149
}
@@ -587,7 +591,8 @@ module.exports = {
587591
* @param {Object} data
588592
*/
589593
create: function (data) {
590-
const timeout = 180000 + (data.meta.propagation_seconds ? Number(data.meta.propagation_seconds) * 1000 : 0);
594+
595+
const timeout = 180000 + (data && data.meta && data.meta.propagation_seconds ? Number(data.meta.propagation_seconds) * 1000 : 0);
591596
return fetch('post', 'nginx/certificates', data, {timeout});
592597
},
593598

frontend/js/app/nginx/certificates/form.ejs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,14 @@
44
<button type="button" class="close cancel non-loader-content" aria-label="Close" data-dismiss="modal">&nbsp;</button>
55
</div>
66
<div class="modal-body">
7+
<div class="alert alert-danger mb-0 rounded-0" id="le-error-info" role="alert"></div>
78
<div class="text-center loader-content">
89
<div class="loader mx-auto my-6"></div>
9-
<p><%- i18n('ssl', 'obtaining-certificate-info') %></p>
10+
<p><%- i18n('ssl', 'processing-info') %></p>
1011
</div>
1112
<form class="non-loader-content">
1213
<div class="row">
1314
<% if (provider === 'letsencrypt') { %>
14-
<div class="col-sm-12 col-md-12">
15-
<div class="alert alert-danger" id="le-error-info" role="alert"></div>
16-
</div>
17-
1815
<div class="col-sm-12 col-md-12">
1916
<div class="form-group">
2017
<label class="form-label"><%- i18n('all-hosts', 'domain-names') %> <span class="form-required">*</span></label>

frontend/js/app/nginx/certificates/form.js

Lines changed: 37 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -76,47 +76,44 @@ module.exports = Mn.View.extend({
7676
return;
7777
}
7878

79-
let view = this;
8079
let data = this.ui.form.serializeJSON();
8180
data.provider = this.model.get('provider');
81+
let ssl_files = [];
8282

83+
if (data.provider === 'letsencrypt') {
84+
if (typeof data.meta === 'undefined') data.meta = {};
8385

86+
let domain_err = false;
87+
if (!data.meta.dns_challenge) {
88+
data.domain_names.split(',').map(function (name) {
89+
if (name.match(/\*/im)) {
90+
domain_err = true;
91+
}
92+
});
93+
}
8494

85-
let domain_err = false;
86-
if (!data.meta.dns_challenge) {
87-
data.domain_names.split(',').map(function (name) {
88-
if (name.match(/\*/im)) {
89-
domain_err = true;
90-
}
91-
});
92-
}
93-
94-
if (domain_err) {
95-
alert(i18n('ssl', 'no-wildcard-without-dns'));
96-
return;
97-
}
98-
99-
// Manipulate
100-
if (typeof data.meta === 'undefined') data.meta = {};
101-
data.meta.letsencrypt_agree = data.meta.letsencrypt_agree == 1;
102-
data.meta.dns_challenge = data.meta.dns_challenge == 1;
103-
104-
if(!data.meta.dns_challenge){
105-
data.meta.dns_provider = undefined;
106-
data.meta.dns_provider_credentials = undefined;
107-
data.meta.propagation_seconds = undefined;
108-
} else {
109-
if(data.meta.propagation_seconds === '') data.meta.propagation_seconds = undefined;
110-
}
95+
if (domain_err) {
96+
alert(i18n('ssl', 'no-wildcard-without-dns'));
97+
return;
98+
}
11199

112-
if (typeof data.domain_names === 'string' && data.domain_names) {
113-
data.domain_names = data.domain_names.split(',');
114-
}
100+
// Manipulate
101+
data.meta.letsencrypt_agree = data.meta.letsencrypt_agree == 1;
102+
data.meta.dns_challenge = data.meta.dns_challenge == 1;
115103

116-
let ssl_files = [];
104+
if(!data.meta.dns_challenge){
105+
data.meta.dns_provider = undefined;
106+
data.meta.dns_provider_credentials = undefined;
107+
data.meta.propagation_seconds = undefined;
108+
} else {
109+
if(data.meta.propagation_seconds === '') data.meta.propagation_seconds = undefined;
110+
}
117111

118-
// check files are attached
119-
if (this.model.get('provider') === 'other' && !this.model.hasSslFiles()) {
112+
if (typeof data.domain_names === 'string' && data.domain_names) {
113+
data.domain_names = data.domain_names.split(',');
114+
}
115+
} else if (data.provider === 'other' && !this.model.hasSslFiles()) {
116+
// check files are attached
120117
if (!this.ui.other_certificate[0].files.length || !this.ui.other_certificate[0].files[0].size) {
121118
alert('Certificate file is not attached');
122119
return;
@@ -153,14 +150,14 @@ module.exports = Mn.View.extend({
153150

154151
// compile file data
155152
let form_data = new FormData();
156-
if (view.model.get('provider') && ssl_files.length) {
153+
if (data.provider === 'other' && ssl_files.length) {
157154
ssl_files.map(function (file) {
158155
form_data.append(file.name, file.file);
159156
});
160157
}
161158

162159
new Promise(resolve => {
163-
if (view.model.get('provider') === 'other') {
160+
if (data.provider === 'other') {
164161
resolve(App.Api.Nginx.Certificates.validate(form_data));
165162
} else {
166163
resolve();
@@ -170,13 +167,13 @@ module.exports = Mn.View.extend({
170167
return App.Api.Nginx.Certificates.create(data);
171168
})
172169
.then(result => {
173-
view.model.set(result);
170+
this.model.set(result);
174171

175172
// Now upload the certs if we need to
176-
if (view.model.get('provider') === 'other') {
177-
return App.Api.Nginx.Certificates.upload(view.model.get('id'), form_data)
173+
if (data.provider === 'other') {
174+
return App.Api.Nginx.Certificates.upload(this.model.get('id'), form_data)
178175
.then(result => {
179-
view.model.set('meta', _.assign({}, view.model.get('meta'), result));
176+
this.model.set('meta', _.assign({}, this.model.get('meta'), result));
180177
});
181178
}
182179
})
@@ -187,7 +184,7 @@ module.exports = Mn.View.extend({
187184
})
188185
.catch(err => {
189186
let more_info = '';
190-
if(err.code === 500 && err.debug){
187+
if (err.code === 500 && err.debug) {
191188
try{
192189
more_info = JSON.parse(err.debug).debug.stack.join("\n");
193190
} catch(e) {}

frontend/js/i18n/messages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@
112112
"stored-as-plaintext-info": "This data will be stored as plaintext in the database!",
113113
"propagation-seconds": "Propagation Seconds",
114114
"propagation-seconds-info": "Leave empty to use the plugins default value. Number of seconds to wait for DNS propagation.",
115-
"obtaining-certificate-info": "Obtaining certificate... This might take a few minutes."
115+
"processing-info": "Processing... This might take a few minutes."
116116
},
117117
"proxy-hosts": {
118118
"title": "Proxy Hosts",

0 commit comments

Comments
 (0)