DirectAdmin v1.643 has been released

Might be a bug - created a new account today went to change the mx records to ‘Microsoft 365’ in the drop down and nothing happened.

Also when manually editing dns records, had to add a “.” At the end.
 
Thanks @exlhost, for catching the reseller packages issue having label entries instead of actual translations, new build 6880666f80571d8e5042394aa4005e9f333ce244 fixes that. Root cause for it is ongoing migration from vue2 to vue3 framework, and part of it is changing the way we perform translations. The problem was lurking there for quite some time.
 
FWIW, since 1.643 the browser session no longer times out for me.
Not even after not using the browser tab for a whole day. Coming back to it, the next day I can just continue where I left off.
Kind of convenient, but.. might not be as safe as an automatic logoff after nnn minutes.

Firefox, latest version.
 
FWIW, since 1.643 the browser session no longer times out for me.
Not even after not using the browser tab for a whole day. Coming back to it, the next day I can just continue where I left off.
Kind of convenient, but.. might not be as safe as an automatic logoff after nnn minutes.

Firefox, latest version.
I have same issue too , even i closed firefox and opening again later in next 6 hour , session login still not destroy and i still can open control panel without login
 
@wila, @IXPLANET, this is expected behaviour, the session handling have changed a bit. Here is a summary:
  • Keeping a browser window will not log you out as Evolution periodically sends requests to the server which keeps the session alive (there are exceptions, session might be lost if browser suspends JS code that periodically sends requests). Older versions used to require not just keeping the window option but also active navigation inside the GUI to keep session active.
  • On the server side old sessions are cleaned up, but not on every request. On active servers stale sessions gets cleared quite quickly, however if no other user have used the server - old session can be revived even after quite some time. I think this is the effect you are referring to.
Under the hood there are ongoing changes in how sessions and authentications is being handled. After we are done with migration we expect to make session termination more accurate and efficient.
 
Build 6880666f80571d8e5042394aa4005e9f333ce244, CB2 plugin - Edit Options:
Parse error: syntax error, unexpected '?' in /usr/local/directadmin/plugins/custombuild/admin/tabs/edit_options.php on line 33
 
Would that work for your use case?

No this wouldnt work as we would rewrite our whole platform including many security layers which only has one admin user.
What we would just like to see is that we can force a user in a specific Evo variation skin. Just as before or in a better way.

If however if resellers maintain complete independently in skin from admin this could also be acceptable.
 
@gate2vn, CB plugin was not touched in this release. The problem seems to be cause by running too old PHP version. Line 33 of edit_options.php uses null coalesce operator introduced in PHP 7. The issue as there before this DA release, upgrading PHP should resolve it.

By the way - in the upcoming releases we are working on replacing CB PHP plugin with a native DA feature. It will no longer use or depend on PHP.
 
This is not something we consider worth mentioning in the change log, but I am happy to share some low-level details in the discussion :).
 
This is not something we consider worth mentioning in the change log, but I am happy to share some low-level details in the discussion :).
lol, OK. It was probably the first thing I noticed on what changed.
 
Version 1.643 (6880666f80571d8e5042394aa4005e9f333ce244) shows wrong characters in Evolution Skin in Complete Usage Statistics below header Server Statistics:

 E-mail Disk Usage
 Database Disk Usage
 
For the first time on a server with version 1.643 a link to Live Api Documentation shows up in the user menu under Support and Help. This is mentioned in the release notes of version 1.63.9. But even in our servers with newer version 1.642 the link in not present. Any explanation for that?
 
@Remco00, I think this is triggered by the menu customizations update. In older DA versions any customization would create a copy of menu structure. This caused a lot of problems for menu customization users, after DA upgrade, examples:
  • if new DA removed menu entry, in customized version it would still be left - leading to non functional page
  • if new DA renamed a page (not menu text but URL), in customized version it would point to old non functional URL
  • if new DA created new page (with new feature), in customized version it would not be visible
New menu customizations works differently. Instead of creating a full menu copy it just stores what was changed. For example:
  • Creating new entry stores just the new entry and its position
  • Renaming menu entry would only store the new name, changing icon would only store new icon, etc...
  • Removing menu entry would add a record that particular page should not be shown
So instead of making a full copy it just captures changes and applies them on menu load. This means that the old issues will no longer cause issues after DA upgrade. So it is no longer necessary to reset menu customizations to see new pages after an upgrade.

In your case you had customizations before Documentation entry was introduced. With old menu customizations mode it was not visible because you had a full copy of menu created at the time you made your customizations. After upgrading to DA 1.643 a migration algorithm derived all the changes you made to the menu (comparing it with the current DA menu). Deliberately disabled menu items were migrated as menu changes for removing an item, but since your copy of menu customizations had no Documentation menu entry at all it was considered not changed and following new customizations logic appeared in the menu.

Hope the explanation makes sense :). Long story short it should be better from now on, but automatic menu customizations migration is not perfect since it needs to handle ambiguous cases (entry not deliberately disabled but at the same time not present in the menu).
 
Hi all,
it seems like, since the update, we may no longer use javascript in admin plugins..

i had some very simple plugins to quickly log into different client's accounts, but these no longer work..

essentially, these plugins were just one-liners like this:
Code:
<a href="javascript:var xhr=new XMLHttpRequest();var url='/CMD_LOGIN?json=yes&redirect=yes';xhr.open('POST',url,true);xhr.setRequestHeader('Content-Type','application/json');xhr.onreadystatechange=function(){if(xhr.readyState===4 && xhr.status===200){var json=JSON.parse(xhr.responseText);window.location.reload();}};var data=JSON.stringify({'json':'yes','username':'admin|user_account','referer':'/'});xhr.send(data);">user_account Login</a>

but the plugins no longer appear..
if i change them to add onClick, they reappear, but the script execution is ignored:
Code:
<a href="#" onClick="javascript:var xhr=new XMLHttpRequest();var url='/CMD_LOGIN?json=yes&redirect=yes';xhr.open('POST',url,true);xhr.setRequestHeader('Content-Type','application/json');xhr.onreadystatechange=function(){if(xhr.readyState===4 && xhr.status===200){var json=JSON.parse(xhr.responseText);window.location.reload();}};var data=JSON.stringify({'json':'yes','username':'admin|user_account','referer':'/'});xhr.send(data);">user_account Login</a>

This is terribly annoying to me, does anyone have a solution?
 
Just something I wonder about. Why not just use the build in option? Select user, login as this user?
it's just that that's like 6 clicks away..
with my plugins, it's just 1 click..

EDIT:
ok, 3 clicks: ('Show All Users' -> 'username' -> 'login as user')
but it's often easy to click the wrong user out of the whole list..

EDIT 2:
this is what it used to look like (imagine a whole row of them for different clients)
screen-2020-09-30.jpg



EDIT 3:
i've even tried changing the 'plugin' hook to this, but all the javascript simply gets stripped away..
Code:
<a href="#" id="myuser_accountlogin">user_account Login</a>
<script language="javascript">
    var myuser_accountlogin=document.getElementById("myuser_accountlogin");
    function MyGoToClientAccount(){
        console.log("clicked");
        var xhr=new XMLHttpRequest();
        var url='/CMD_LOGIN?json=yes&redirect=yes';
        xhr.open('POST',url,true);
        xhr.setRequestHeader('Content-Type','application/json');
        xhr.onreadystatechange=function(){
            if(xhr.readyState===4 && xhr.status===200){
                var json=JSON.parse(xhr.responseText);
                window.location.reload();
                }};
        var data=JSON.stringify({'json':'yes','username':'admin|user_account','referer':'/'});
        xhr.send(data);
        return false;
        };
    myuser_accountlogin.addEventListener("click", MyGoToClientAccount, false);
</script>
 
Last edited:
Back
Top