Exemple #1
0
        public static void NameTarHeader(ICSharpCode.SharpZipLib.Tar.TarHeader header, string name)
        {
            if (header == null)
            {
                throw new ArgumentNullException("header");
            }
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }
            bool flag = name.EndsWith("/");

            header.Name      = name;
            header.Mode      = flag ? 0x3eb : 0x81c0;
            header.UserId    = 0;
            header.GroupId   = 0;
            header.Size      = 0L;
            header.ModTime   = DateTime.UtcNow;
            header.TypeFlag  = flag ? ((byte)0x35) : ((byte)0x30);
            header.LinkName  = string.Empty;
            header.UserName  = string.Empty;
            header.GroupName = string.Empty;
            header.DevMajor  = 0;
            header.DevMinor  = 0;
        }
Exemple #2
0
 public TarEntry(ICSharpCode.SharpZipLib.Tar.TarHeader header)
 {
     if (header == null)
     {
         throw new ArgumentNullException("header");
     }
     this.header = (ICSharpCode.SharpZipLib.Tar.TarHeader)header.Clone();
 }
        public void NameTarHeader(ICSharpCode.SharpZipLib.Tar.TarHeader hdr, string name)
        {
            bool flag = name.EndsWith("/");

            hdr.Name      = name;
            hdr.Mode      = flag ? 0x3eb : 0x81c0;
            hdr.UserId    = 0;
            hdr.GroupId   = 0;
            hdr.Size      = 0L;
            hdr.ModTime   = DateTime.UtcNow;
            hdr.TypeFlag  = flag ? ((byte)0x35) : ((byte)0x30);
            hdr.LinkName  = string.Empty;
            hdr.UserName  = string.Empty;
            hdr.GroupName = string.Empty;
            hdr.DevMajor  = 0;
            hdr.DevMinor  = 0;
        }
Exemple #4
0
        static bool IsTar(PreprocessingStepParams fileInfo, IStreamHeader header)
        {
            var tarHeader = new ICSharpCode.SharpZipLib.Tar.TarHeader
            {
                Magic = "xxxxx"
            };

            try
            {
                tarHeader.ParseBuffer(header.Header);
            }
            catch (Exception)
            {
                return(false);
            }
            return(tarHeader.IsChecksumValid ||
                   tarHeader.Magic?.Contains(ICSharpCode.SharpZipLib.Tar.TarHeader.TMAGIC) == true);
        }
Exemple #5
0
        public void GetFileTarHeader(ICSharpCode.SharpZipLib.Tar.TarHeader header, string file)
        {
            if (header == null)
            {
                throw new ArgumentNullException("header");
            }
            if (file == null)
            {
                throw new ArgumentNullException("file");
            }
            this.file = file;
            string str = file;

            if (str.IndexOf(Environment.CurrentDirectory) == 0)
            {
                str = str.Substring(Environment.CurrentDirectory.Length);
            }
            str = str.Replace(Path.DirectorySeparatorChar, '/');
            while (str.StartsWith("/"))
            {
                str = str.Substring(1);
            }
            header.LinkName = string.Empty;
            header.Name     = str;
            if (Directory.Exists(file))
            {
                header.Mode     = 0x3eb;
                header.TypeFlag = 0x35;
                if ((header.Name.Length == 0) || (header.Name[header.Name.Length - 1] != '/'))
                {
                    header.Name = header.Name + "/";
                }
                header.Size = 0L;
            }
            else
            {
                header.Mode     = 0x81c0;
                header.TypeFlag = 0x30;
                header.Size     = new FileInfo(file.Replace('/', Path.DirectorySeparatorChar)).Length;
            }
            header.ModTime  = System.IO.File.GetLastWriteTime(file.Replace('/', Path.DirectorySeparatorChar)).ToUniversalTime();
            header.DevMajor = 0;
            header.DevMinor = 0;
        }
 public TarEntry(ICSharpCode.SharpZipLib.Tar.TarHeader header)
 {
     this.file   = null;
     this.header = header;
 }
 private void Initialize()
 {
     this.file   = null;
     this.header = new ICSharpCode.SharpZipLib.Tar.TarHeader();
 }
Exemple #8
0
 public TarEntry(byte[] headerBuffer)
 {
     this.header = new ICSharpCode.SharpZipLib.Tar.TarHeader();
     this.header.ParseBuffer(headerBuffer);
 }
Exemple #9
0
 private TarEntry()
 {
     this.header = new ICSharpCode.SharpZipLib.Tar.TarHeader();
 }