Esempio n. 1
0
        void UpdatePermissions()
        {
            _permissions = 0;

            if (chkOwnerRead.Checked)
            {
                _permissions |= SftpFilePermissions.OwnerRead;
            }
            if (chkOwnerWrite.Checked)
            {
                _permissions |= SftpFilePermissions.OwnerWrite;
            }
            if (chkOwnerExecute.Checked)
            {
                _permissions |= SftpFilePermissions.OwnerExecute;
            }
            if (chkSetUID.Checked)
            {
                _permissions |= SftpFilePermissions.SetUid;
            }

            if (chkGroupRead.Checked)
            {
                _permissions |= SftpFilePermissions.GroupRead;
            }
            if (chkGroupWrite.Checked)
            {
                _permissions |= SftpFilePermissions.GroupWrite;
            }
            if (chkGroupExecute.Checked)
            {
                _permissions |= SftpFilePermissions.GroupExecute;
            }
            if (chkSetGID.Checked)
            {
                _permissions |= SftpFilePermissions.SetGid;
            }

            if (chkPublicRead.Checked)
            {
                _permissions |= SftpFilePermissions.OthersRead;
            }
            if (chkPublicWrite.Checked)
            {
                _permissions |= SftpFilePermissions.OthersWrite;
            }
            if (chkPublicExecute.Checked)
            {
                _permissions |= SftpFilePermissions.OthersExecute;
            }
            if (chkStickly.Checked)
            {
                _permissions |= SftpFilePermissions.Sticky;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Parses permissions from the given permissions string.
        /// </summary>
        /// <param name="p">The permissions string.</param>
        private static string ToPermissions(SftpFilePermissions p)
        {
            string permissions = Convert.ToString((int)p, 16).PadLeft(3, '0') + " ";

            permissions += GetPermissionChar(p, SftpFilePermissions.GroupExecute, 'x');
            permissions += GetPermissionChar(p, SftpFilePermissions.GroupRead, 'r');
            permissions += GetPermissionChar(p, SftpFilePermissions.GroupWrite, 'w');
            permissions += GetPermissionChar(p, SftpFilePermissions.OthersExecute, 'x');
            permissions += GetPermissionChar(p, SftpFilePermissions.OthersRead, 'r');
            permissions += GetPermissionChar(p, SftpFilePermissions.OthersWrite, 'w');
            permissions += GetPermissionChar(p, SftpFilePermissions.OwnerExecute, 'x');
            permissions += GetPermissionChar(p, SftpFilePermissions.OwnerRead, 'r');
            permissions += GetPermissionChar(p, SftpFilePermissions.OwnerWrite, 'w');

            return(permissions);
        }
Esempio n. 3
0
        private void txtPermissions_TextChanged(object sender, EventArgs e)
        {
            if (!_loaded || txtPermissions.Text.Length == 0)
            {
                return;
            }
            try
            {
                uint p = Convert.ToUInt32(txtPermissions.Text, 16);
                if (p < 0 || p > 0xFFF)
                {
                    MessageBox.Show(Messages.InvalidPermissions, "Error", MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                }

                _permissions = (SftpFilePermissions)p;
                UpdateCheckboxes();
            }
            catch (Exception)
            {
                MessageBox.Show(Messages.InvalidPermissions, "Error", MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
            }
        }
Esempio n. 4
0
 private static char GetPermissionChar(SftpFilePermissions p, SftpFilePermissions mask, char ch)
 {
     return((p & mask) == mask ? ch : '-');
 }