        getUser:        function () {
            if (!main.currentUser) {
                main.socket.emit('authEnabled', function (auth, user) {
                    main.currentUser = 'system.user.' + user;
                    if (!auth) {
                        $('#button-logout').remove();
                    } else {
                        main._lastTimer = Date.now();
                        monitor();
                    }
                });
            } else if (main.objects[main.currentUser]) {
                const obj = main.objects[main.currentUser];
                let name = '';
                if (!obj || !obj.common || !obj.common.name) {
                    name = main.currentUser.replace(/^system\.user\./);
                    name = name[0].toUpperCase() + name.substring(1).toLowerCase();
                } else {
                    name = translateName(obj.common.name);
                }
                if (obj && obj.common && obj.common.icon) {
                    const objs = {};
                    objs[main.currentUser] = obj;
                    $('#current-user-icon').html(main.getIcon(main.currentUser, null, objs));
                } else {
                    $('#current-user-icon').html('<i class="large material-icons">account_circle</i>');
                }
                $('#current-user').html(name);
                const groups = [];
                for (let i = 0; i < tabs.users.groups.length; i++) {
                    const group = main.objects[tabs.users.groups[i]];
                    if (group && group.common && group.common.members && group.common.members.indexOf(main.currentUser) !== -1) {
                        groups.push(_(translateName(group.common.name)));
                    }
                }
                $('#current-group').html(groups.join(', '));
            }
        },
The software uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the software does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.