From 8a725364481b25a14829ea8e28867d560b01189a Mon Sep 17 00:00:00 2001 From: "Daniel F. Dickinson" Date: Wed, 16 Jan 2019 19:11:26 -0500 Subject: [PATCH] luci-app-radicale2: Avoid losing password hash This fixes a case where one could lose an already exising password hash when changing another users' password or creating a new user. Signed-off-by: Daniel F. Dickinson --- .../luasrc/model/cbi/radicale2/auth.lua | 38 ++++++------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua b/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua index 71fd3a32ee..b352bb46aa 100644 --- a/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua +++ b/applications/luci-app-radicale2/luasrc/model/cbi/radicale2/auth.lua @@ -135,33 +135,19 @@ function encpass(self, section) return encvalue and encvalue.encrypted_password end -pass.parse = function(self, section, novld) - local encvalue - if self:cfgvalue(section) then - if not plainpass:cfgvalue(section) then - return Value.parse(self, section) - else - encvalue = encpass(self, section) - if encvalue then - self.formvalue = function(self, section) - return encvalue - end - return Value.parse(self, section, novld) - else - self.formvalue = self.cfgvalue - return Value.parse(self, section, novld) - end - end +pass.cfgvalue = function(self, section) + if not plainpass:formvalue(section) then + return Value.cfgvalue(self, section) else - encvalue = encpass(self, section) - if encvalue then - self.formvalue = function(self, section) - return encvalue - end - return Value.parse(self, section, novld) - else - return nil - end + return Value.formvalue(self, section) + end +end + +pass.formvalue = function(self, section) + if not plainpass:formvalue(section) then + return Value.formvalue(self, section) + else + return encpass(self, section) or Value.formvalue(self, section) end end -- 2.30.2