1

Topic: Problem with users self-service password change

==== REQUIRED BASIC INFO OF YOUR IREDMAIL SERVER ====
- iRedMail version (check /etc/iredmail-release): 0.9.8
- Linux/BSD distribution name and version: Debian Stretch
- Store mail accounts in which backend (LDAP/MySQL/PGSQL): LDAP
- Web server (Apache or Nginx): well, still Apache
- Manage mail accounts with iRedAdmin-Pro? yes
- [IMPORTANT] Related original log or error message is required if you're experiencing an issue.
====

Hello,

users can't change their password anymore. Clicking on change password in iRedAdmin-Pro's self-service leads to an internal server error. No idea since when or why ... only apaches error.log shows something like this:

...[wsgi:error]... [remote x.x.x.x:50520] Traceback (most recent call last):
...[wsgi:error]... [remote x.x.x.x:50520]   File "/usr/lib/python2.7/dist-packages/web/application.py", line 239, in process
...[wsgi:error]... [remote x.x.x.x:50520]     return self.handle()
...[wsgi:error]... [remote x.x.x.x:50520]   File "/usr/lib/python2.7/dist-packages/web/application.py", line 230, in handle
...[wsgi:error]... [remote x.x.x.x:50520]     return self._delegate(fn, self.fvars, args)
...[wsgi:error]... [remote x.x.x.x:50520]   File "/usr/lib/python2.7/dist-packages/web/application.py", line 462, in _delegate
...[wsgi:error]... [remote x.x.x.x:50520]     return handle_class(cls)
...[wsgi:error]... [remote x.x.x.x:50520]   File "/usr/lib/python2.7/dist-packages/web/application.py", line 438, in handle_class
...[wsgi:error]... [remote x.x.x.x:50520]     return tocall(*args)
...[wsgi:error]... [remote x.x.x.x:50520]   File "/opt/www/iredadmin/controllers/decorators.py", line 120, in decorated
...[wsgi:error]... [remote x.x.x.x:50520]     return f(*args, **kw)
...[wsgi:error]... [remote x.x.x.x:50520]   File "/opt/www/iredadmin/controllers/decorators.py", line 100, in proxyfunc
...[wsgi:error]... [remote x.x.x.x:50520]     return func(self, *args, **kw)
...[wsgi:error]... [remote x.x.x.x:50520]   File "/opt/www/iredadmin/controllers/ldap/user.py", line 676, in POST
...[wsgi:error]... [remote x.x.x.x:50520]     conn=None)
...[wsgi:error]... [remote x.x.x.x:50520] TypeError: proxyfunc() takes at least 1 argument (0 given)

Any ideas - besides it is my own fault, still using apache?

Thanks

----

Spider Email Archiver: On-Premises, lightweight email archiving software developed by iRedMail team. Supports Amazon S3 compatible storage and custom branding.

2

Re: Problem with users self-service password change

jobu wrote:

Any ideas - besides it is my own fault, still using apache?

Apache is fine. Which version of iRedAdmin-Pro are you running?

I will try to reproduce this issue locally and (hopefully) come back with a fix. Will contact you if i can not reproduce the issue, in this case, direct ssh access is required for troubleshooting.

3

Re: Problem with users self-service password change

It's iRedAdmin-Pro 3.1 (LDAP) ...

Thank you - like every time!

4

Re: Problem with users self-service password change

BUG. Patch attached below:

diff -r f0fa685b6dc8 controllers/decorators.py
--- a/controllers/decorators.py Sun Dec 09 20:07:25 2018 +0800
+++ b/controllers/decorators.py Sat Dec 15 13:03:22 2018 +0800
@@ -95,9 +95,9 @@
 
 
 def require_user_login(func):
-    def proxyfunc(self, *args, **kw):
+    def proxyfunc(*args, **kw):
         if session.get('account_is_mail_user'):
-            return func(self, *args, **kw)
+            return func(*args, **kw)
         else:
             session.kill()
             raise web.seeother('/login?msg=LOGIN_REQUIRED')

5

Re: Problem with users self-service password change

Thanks , it works again!