Example #1
0
        public void SetDefaultPassword(string address, string password)
        {
            var    defPWUrn = "urn:hp:imaging:con:service:security:SecurityService:AdministratorAuthenticationSettings";
            string endpoint = "security";

            ExecutionServices.SystemTrace.LogDebug($"{address}: Setting default password");

            JediDevice dev;

            try
            {
                dev = new JediDevice(address, "");
                WebServiceTicket tic = dev.WebServices.GetDeviceTicket(endpoint, defPWUrn);
                if (password.Length < 8)
                {
                    tic.FindElement("MinLength").SetValue(password.Length - 1);
                    tic.FindElement("IsPasswordComplexityEnabled").SetValue("false");
                }
                tic.FindElement("Password").SetValue(password);
                tic.FindElement("PasswordStatus").SetValue("set");
                dev.WebServices.PutDeviceTicket("security", defPWUrn, tic, false);

                dev = new JediDevice(address, password);
                ExecutionServices.SystemTrace.LogDebug($"{address}: Default password set");
            }
            catch (Exception exception)
            {
                ExecutionServices.SystemTrace.LogError(exception.Message);
                dev = new JediDevice(address, password);
            }
            //disposing the device
            dev.Dispose();
        }
Example #2
0
        private bool GetLanFaxDefaultValues(string unc, string domain, string username, string password, JediDevice device, string fieldChanged)
        {
            bool   success  = true;
            string endpoint = "fax";
            string urn      = "urn:hp:imaging:con:service:fax:FaxService:ServiceDefaults";

            try
            {
                WebServiceTicket tic = device.WebServices.GetDeviceTicket(endpoint, urn);
                //Change values

                success &= tic.FindElement("FaxMethod").Value.Equals("lanFaxService");
                success &= tic.FindElement("UserName").Value.Equals(username, StringComparison.OrdinalIgnoreCase);
                success &= tic.FindElement("UNCPath").Value.Equals(unc, StringComparison.OrdinalIgnoreCase);
                success &= tic.FindElement("DomainName").Value.Equals(domain, StringComparison.OrdinalIgnoreCase);
            }
            catch (Exception ex)
            {
                Logger.LogError($"Failed to set field {fieldChanged}, {ex.Message}");
                success = false;
            }

            if (!success)
            {
                _failedSettings.AppendLine($"Failed to set field {fieldChanged}");
            }

            return(success);
        }
Example #3
0
        private void RestorePJL(string pjlMode)
        {
            JediDevice device   = new JediDevice(_address, _password);
            string     urn      = "urn:hp:imaging:con:service:security:SecurityService";
            string     endpoint = "security";

            WebServiceTicket tic      = device.WebServices.GetDeviceTicket(endpoint, urn);
            string           oldValue = tic.FindElement("PjlDeviceAccess").Value;

            if (pjlMode != oldValue)
            {
                LogDebug("Disabling PJL");
                tic.FindElement("PjlDeviceAccess").SetValue(pjlMode);
                device.WebServices.PutDeviceTicket(endpoint, urn, tic);
            }
        }
Example #4
0
        private string AllowPJLAnyway()
        {
            JediDevice device   = new JediDevice(_address, _password);
            string     urn      = "urn:hp:imaging:con:service:security:SecurityService";
            string     endpoint = "security";

            WebServiceTicket tic      = device.WebServices.GetDeviceTicket(endpoint, urn);
            string           oldValue = tic.FindElement("PjlDeviceAccess").Value;

            if (oldValue == "disabled")
            {
                LogDebug("Abling PJL");
                tic.FindElement("PjlDeviceAccess").SetValue("enabled");
                device.WebServices.PutDeviceTicket(endpoint, urn, tic);
            }
            return(oldValue);
        }
Example #5
0
        private bool SetLanFaxDefaultValues(string unc, string domain, string username, string password, JediDevice device, AssetInfo assetInfo, string fieldChanged, PluginExecutionData pluginData)
        {
            bool   success            = false;
            string endpoint           = "fax";
            string urn                = "urn:hp:imaging:con:service:fax:FaxService:ServiceDefaults";
            DeviceConfigResultLog log = new DeviceConfigResultLog(pluginData, assetInfo.AssetId);

            try
            {
                WebServiceTicket tic = device.WebServices.GetDeviceTicket(endpoint, urn);
                //Change values

                tic.FindElement("FaxMethod").SetValue("lanFaxService");
                tic.FindElement("UserName").SetValue(username);
                tic.FindElement("UNCPath").SetValue(unc);
                tic.FindElement("DomainName").SetValue(domain);

                string ticketString = tic.ToString();
                string insertString = $@"<dd:Password>{password}</dd:Password>";
                string searchString = @"</dd:UserName>";

                int foundLocation = ticketString.IndexOf(searchString);
                ticketString = ticketString.Insert(foundLocation + searchString.Length, Environment.NewLine + insertString);
                tic          = new WebServiceTicket(ticketString);

                device.WebServices.PutDeviceTicket(endpoint, urn, tic);
                success = true;
            }
            catch (Exception ex)
            {
                Logger.LogError($"Failed to set field {log.FieldChanged}, {ex.Message}");
                _failedSettings.AppendLine($"Failed to set field {log.FieldChanged}, {ex.Message}");
                success = false;
            }
            log.FieldChanged   = fieldChanged;
            log.Result         = success ? "Passed" : "Failed";
            log.Value          = $@"Method:Lanfax UserName:{username} Domain:{domain}";
            log.ControlChanged = "Fax Default";

            ExecutionServices.DataLogger.Submit(log);
            return(success);
        }
        public void SetDefaultPassword(string address, string password)
        {
            var    defPWUrn = "urn:hp:imaging:con:service:security:SecurityService:AdministratorAuthenticationSettings";
            string endpoint = "security";

            ExecutionServices.SystemTrace.LogDebug($"{address}: Setting default password");
            if (_activityData.EnableDefaultPW)
            {
                JediDevice dev;
                try
                {
                    dev = new JediDevice(address, "");
                    WebServiceTicket tic = null;
                    Retry.WhileThrowing <DeviceCommunicationException>(() => tic = dev.WebServices.GetDeviceTicket(endpoint, defPWUrn), 10, TimeSpan.FromSeconds(6));
                    if (tic == null)
                    {
                        throw new DeviceCommunicationException("Unable to connect to device to set password.");
                    }
                    if (password.Length < 8)
                    {
                        tic.FindElement("MinLength").SetValue(password.Length - 1);
                        tic.FindElement("IsPasswordComplexityEnabled").SetValue("false");
                    }
                    tic.FindElement("Password").SetValue(password);
                    tic.FindElement("PasswordStatus").SetValue("set");
                    dev.WebServices.PutDeviceTicket("security", defPWUrn, tic, false);

                    dev = new JediDevice(address, password);
                    ExecutionServices.SystemTrace.LogDebug($"{address}: Default password set");
                }
                catch (Exception exception)
                {
                    ExecutionServices.SystemTrace.LogError(exception.Message);
                    dev = new JediDevice(address, password);
                }
                //disposing the device
                dev.Dispose();
            }
        }
        public JediDevice SetDefaultPassword(string address, string password)
        {
            var        defPWUrn = "urn:hp:imaging:con:service:security:SecurityService:AdministratorAuthenticationSettings";
            string     endpoint = "security";
            JediDevice dev;

            try
            {
                dev = new JediDevice(address, "");
                WebServiceTicket tic = dev.WebServices.GetDeviceTicket(endpoint, defPWUrn);
                tic.FindElement("Password").SetValue(password);
                tic.FindElement("PasswordStatus").SetValue("set");
                dev.WebServices.PutDeviceTicket("security", defPWUrn, tic, false);

                dev = new JediDevice(address, password);
            }
            catch (Exception)
            {
                dev = new JediDevice(address, password);
            }


            return(dev);
        }
Example #8
0
        /// <summary>
        /// Get Inactivity Timeout (ms)
        /// </summary>
        private int GetInactivityTimeout()
        {
            int    inactivityTimeOut = 0;
            string activityUrn       = "urn:hp:imaging:con:service:uiconfiguration:UIConfigurationService";
            string endpoint          = "uiconfiguration";

            WebServiceTicket tic = Device.WebServices.GetDeviceTicket(endpoint, activityUrn);

            if (!Int32.TryParse(tic.FindElement("InactivityTimeoutInSeconds").Value, out inactivityTimeOut))
            {
                UpdateStatus("Get Inactivity Timeout failed. It will use 60 for Inactivity Timeout.");
                inactivityTimeOut = 60;
            }

            return(inactivityTimeOut * 1000);
        }
        public static bool EnablePJL(IDevice device)
        {
            try
            {
                JediDevice jediDevice = new JediDevice(device.Address, device.AdminPassword);
                string     urn        = "urn:hp:imaging:con:service:security:SecurityService";
                string     endpoint   = "security";

                WebServiceTicket tic = jediDevice.WebServices.GetDeviceTicket(endpoint, urn);
                tic.FindElement("PjlDeviceAccess").SetValue("enabled");
                jediDevice.WebServices.PutDeviceTicket(endpoint, urn, tic);
            }
            catch (Exception e)
            {
                ExecutionServices.SystemTrace.LogInfo(e);
                throw;
            }
            return(true);
        }