Skip to content

Commit 1bb1284

Browse files
committed
Fix logic error in updating Drawbridge config. Use readonly instead of disabled to send listener address
1 parent 4a3e9f9 commit 1bb1284

File tree

3 files changed

+13
-12
lines changed

3 files changed

+13
-12
lines changed

cmd/dashboard/ui/api.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -147,24 +147,25 @@ func (f *Controller) SetUp(hostAndPort string) error {
147147
newSettings := drawbridge.Settings{}
148148
decoder.Decode(&newSettings, r.Form)
149149

150-
if newSettings.ListenerAddress == "" {
151-
w.WriteHeader(http.StatusBadRequest)
152-
fmt.Fprintf(w, "<span class=\"error-response\">Listening address is blank! Please try again.<span>")
153-
} else if newSettings.ListenerAddress == "localhost" {
150+
if newSettings.ListenerAddress == "localhost" {
154151
newSettings.ListenerAddress = "127.0.0.1"
155152
}
156-
157-
err := f.DB.CreateNewDrawbridgeConfigSettings("listening_address", strings.TrimSpace(newSettings.ListenerAddress))
158-
if err != nil {
159-
w.WriteHeader(http.StatusInternalServerError)
160-
fmt.Fprintf(w, "<span class=\"error-response\">Error saving listening address. Please try again.<span>")
153+
if newSettings.ListenerAddress != "" {
154+
err := f.DB.CreateNewDrawbridgeConfigSettings("listening_address", strings.TrimSpace(newSettings.ListenerAddress))
155+
if err != nil {
156+
w.WriteHeader(http.StatusInternalServerError)
157+
fmt.Fprintf(w, "<span class=\"error-response\">Error saving listening address. Please try again.<span>")
158+
return
159+
}
161160
}
162161

163-
err = f.DB.CreateNewDrawbridgeConfigSettings("dau_ping_enabled", strconv.FormatBool(newSettings.EnableDAUPing))
162+
err := f.DB.CreateNewDrawbridgeConfigSettings("dau_ping_enabled", strconv.FormatBool(newSettings.EnableDAUPing))
164163
if err != nil {
165164
w.WriteHeader(http.StatusInternalServerError)
166165
fmt.Fprintf(w, "<span class=\"error-response\">Error saving listening address. Please try again.<span>")
166+
return
167167
}
168+
168169
w.WriteHeader(http.StatusOK)
169170
fmt.Fprintf(w, "%s:%d", newSettings.ListenerAddress, 3100)
170171
})

cmd/dashboard/ui/templates/get_oboarding_modal_configure.templ

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ templ GetOnboardingModalConfigure(listeningAddress string, dauPingEnabled bool)
1313
<label for="listener-address">What IP should Drawbridge be accessible from?</label>
1414
<p class="note-text">Note: this is the address your Emissary clients will use to connect to Drawbridge. It can be your LAN (local) or WAN (accessible outside your network) address.</p>
1515
<p style="color:orange">IP not yet available to edit - will break Drawbridge certificates. Coming soon.</p>
16-
<input name="listener-address" type="text" id="listener-address" placeholder="50.42.165.84" value={ listeningAddress } disabled/>
16+
<input name="listener-address" type="text" id="listener-address" placeholder="50.42.165.84" value={ listeningAddress } readonly/>
1717
<label for="enable-ping">
1818
if dauPingEnabled {
1919
<input type="checkbox" id="enable-ping" name="enable-ping" checked/>

cmd/dashboard/ui/templates/get_oboarding_modal_configure_templ.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)