Exemple #1
0
        private bool establish_connection(NETRESOURCE target_resource)
        {
            //ask creds
            string user_name = string.Empty;
            string ps        = string.Empty;

            if (Messages.AskCredentials
                    ("Network login",
                    "Connect to " + target_resource.lpRemoteName,
                    ref user_name,
                    ref ps) != System.Windows.Forms.DialogResult.OK)
            {
                return(false);
            }

            int res = WinApiWNET.WNetAddConnection2
                          (ref target_resource,
                          ps,
                          user_name,
                          WNetConnectOptions.None);

            if (res != WinApiWNET.NO_ERROR)
            {
                Win32Exception win_ex = new Win32Exception(res);
                Messages.ShowException(win_ex);
                return(false);
            }
            return(true);
        }
Exemple #2
0
        private bool establish_connection(NETRESOURCE target_resource)
        {
            //ask creds
            var user_name = string.Empty;
            var ps        = string.Empty;

            if (Messages.AskCredentials
                    (Options.GetLiteral(Options.LANG_NETWORK_LOGIN),
                    "Connect to " + target_resource.lpRemoteName,
                    ref user_name,
                    ref ps) != System.Windows.Forms.DialogResult.OK)
            {
                return(false);
            }

            var res = WinApiWNET.WNetAddConnection2
                          (ref target_resource,
                          ps,
                          user_name,
                          WNetConnectOptions.None);

            if (res != WinApiWNET.NO_ERROR)
            {
                var win_ex = new Win32Exception(res);
                Messages.ShowException(win_ex);
                return(false);
            }
            return(true);
        }
Exemple #3
0
        private void keys_required_callback(Object sender, KeysRequiredEventArgs e)
        {
            if (last_pass == string.Empty)
            {
                if (Messages.AskCredentials
                        (Options.GetLiteral(Options.LANG_ARCHIVE_PASS_NEEDED),
                        e.FileName,
                        ref last_pass) != System.Windows.Forms.DialogResult.OK)
                {
                    return;
                }
            }

            e.Key = ICSharpCode.SharpZipLib.Encryption.PkzipClassic.GenerateKeys(ZipConstants.ConvertToArray(last_pass));
        }
Exemple #4
0
        private void show_ftp_server(mFilePanel target_panel)
        {
            var opts   = Options.FtpOptions;
            var dialog = new FtpConnectionDialog();

            dialog.FtpConnectionOptions = opts;
            dialog.Text = Options.GetLiteral(Options.LANG_CONNECT_TO_FTP_SERVER);

            if (dialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            opts = dialog.FtpConnectionOptions;
            Options.FtpOptions = opts;

            if (!opts.Anonymous)
            {
                var user = opts.UserName;
                var pass = opts.Password;
                Messages.AskCredentials
                    (Options.GetLiteral(Options.LANG_LOGIN_TO_FTP_SERVER), opts.ServerName, ref user, ref pass);
                opts.UserName = user;
                opts.Password = pass;
            }

            var conn = new FtpConnection(opts);
            var fl   = new FtpDirectoryList(0, false, conn);

            try
            {
                fl.MainWindow = this;
                fl.Refill();
                target_panel.Source = fl;
                target_panel.Refresh();
            }
            catch (Exception ex)
            {
                Messages.ShowException(ex);
            }
        }
Exemple #5
0
        protected override void internal_command_proc()
        {
            var e = new QueryPanelInfoEventArgs();

            OnQueryCurrentPanel(e);

            if (e.FocusedIndex == -1)
            {
                return;
            }

            var dl = (DirectoryList)e.ItemCollection;

            if (dl.GetItemDisplayNameLong(e.FocusedIndex) == "..")
            {
                return;
            }

            //show dialog
            var psi       = new ProcessStartInfo();
            var file_name = dl[e.FocusedIndex].FullName;

            psi.FileName = file_name;
            var opts   = Options.RunExeOptions;
            var dialog = new RunexeDialog();

            dialog.Text                         = Options.GetLiteral(Options.LANG_EXECUTE);
            dialog.RunExeOptions                = opts;
            dialog.textBoxArguments.Text        = string.Empty;
            dialog.textBoxFilename.Text         = dl[e.FocusedIndex].FileName;
            dialog.textBoxWorkingDirectory.Text = dl.DirectoryPath;
            if (psi.Verbs != null)
            {
                foreach (var verb in psi.Verbs)
                {
                    dialog.comboBoxVerb.Items.Add(verb);
                }
            }

            if (dialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            opts = dialog.RunExeOptions;
            Options.RunExeOptions = opts;

            psi.LoadUserProfile = (opts & RunExeOptions.LoadEnvironment) == RunExeOptions.LoadEnvironment;
            if ((opts & RunExeOptions.RunInConsole) == RunExeOptions.RunInConsole)
            {
                if (file_name.Contains(" "))
                {
                    file_name = '"' + file_name + '"';
                }
                psi.FileName  = "cmd";
                psi.Arguments = "/K " + file_name;
            }
            else
            {
                psi.FileName = file_name;
            }

            if ((opts & RunExeOptions.UseRunas) == RunExeOptions.UseRunas)
            {
                var user = string.Empty;
                var pass = string.Empty;

                if (Messages.AskCredentials(Options.GetLiteral(Options.LANG_ACCOUNT), Options.GetLiteral(Options.LANG_EXECUTE) + " '" + file_name + "'", ref user, ref pass) == DialogResult.OK)
                {
                    psi.UserName = user;
                    var sec = new System.Security.SecureString();
                    foreach (var c in pass)
                    {
                        sec.AppendChar(c);
                    }
                    psi.Password = sec;
                }
            }

            psi.UseShellExecute = (opts & RunExeOptions.UseShellExecute) == RunExeOptions.UseShellExecute;

            psi.WorkingDirectory = dialog.textBoxWorkingDirectory.Text;
            psi.Verb             = dialog.comboBoxVerb.Text;
            psi.Arguments        = psi.Arguments + " " + dialog.textBoxArguments.Text;

            try
            {
                Process.Start(psi);
            }
            catch (Exception ex)
            {
                Messages.ShowException
                    (ex,
                    string.Format(Options.GetLiteral(Options.LANG_CANNOT_EXCUTE_0_1), psi.FileName, psi.Arguments));
            }
        }