CS370 mTar Spring 2022 (custom tar)

Overview

Homework 04: mTar

Requirements:

  • Must support two command line options

    • -a file.mtar file1 [files...]
    • -x file.mtar
  • Options, explained:

    • -a file.mtar file1 [files...]
      • -a: "archive"
      • file.mtar: name of archive file
      • file1: must have at least one file to archive
      • files...: optional additional files
    • -x file.mtar
      • -x: "extract"
      • file.mtar: archived file from previous execution
  • Archiving:

    • Must combine all file attributes, contents into single archival file (.mtar)
      • filename
      • permissions
      • timestamps
      • contents
    • Must work with any type of regular file
      • text
      • binary
      • jpeg
      • pdf
    • Must ignore other types of files
      • directories
      • sockets
    • S_ISREG() to determine file type
  • Extraction:

    • Must take single archive file (.mtar)
      • .mtar archive file generated using same program (with -a option)
    • Must recreate and fully restore all files in archive file
      • filename
      • timestamps
      • permissions
      • contents

Hints

  • chmod
  • utime
  • utimbuf
Issues
  • Archive Finished

    Archive Finished

    Archive finished* and separated a lot of code into their own methods for reuse. Added an ifdef for macOS since they use a different name for mtim, atim, and ctim in the stat buffer.

    Extract is setup to get started. Initial error handling is in place.

    • Maybe not completely finished, we will see
    opened by camerontredoux 0
Owner
Cameron Tredoux
Computer Science @ Western Colorado University and CU Boulder
Cameron Tredoux
Code for the article Spring-It-On

Spring-It-On: The Game Developer's Spring-Roll-Call This repo contains the source code for all the demos from this article. It uses raylib or more spe

Daniel Holden 37 May 14, 2022
Material para clase y entregas para la materia "Sistemas Operativos", impartida por Gunnar Wolf, en la Facultad de Ingeniería, UNAM, semestre 2022-1

sistop-2022-1 • Sistemas Operativos ¡Bienvenido! Este repositorio es el espacio de entrega de proyectos para la clase impartida por Gunnar Wolf de Sis

UNAM Engineering 5 Jan 31, 2022
© 2022 Twitter Early Career Engineering Coding Challenge

2022 Twitter Early Career Engineering Coding Challenge This is a timed test. Please make sure you are not interrupted during the test, as the timer ca

Ricky Chuang 5 Apr 28, 2022
Esercizi del corso di Laboratorio di Calcolo 1 (A.A. 2021/2022)

LabCalc1 Esercizi del corso di Laboratorio di Calcolo 1 (A.A. 2021/2022) In questa repository sono presenti tutti gli esercizi proposti dal prof. Cris

Lorenzo 7 Jan 3, 2022
Bypass it, you won't be Banned when playing cheats 2022

CFX-Bypass What's the purpose of this? Program blocks the outbounding and inbounding calls from adhesive so they won't get to check your hwid from the

Sarnax 28 May 12, 2022
[ICSE 2022] Controlled Concurrency Testing via Periodical Scheduling

(PERIOD is a controlled concurrency testing tool, where a scheduler explores the space of possible interleavings of a concurrent program looking for b

Cheng Wen 12 Mar 10, 2022
CS202 (2022 Winter) Project: Interacting with "emulated" hardware accelerators

CS202 (2022 Winter) Project: Interacting with "emulated" hardware accelerators Overview Hardware accelerators that implement specialized circuits for

Hung-Wei Tseng 4 Mar 21, 2022
This repo contains demo exploits for CVE-2022-0185. There are two versions here.

CVE-2022-0185 This repo contains demo exploits for CVE-2022-0185. There are two versions here. The non-kctf version (fuse version) specifically target

Crusaders of Rust CTF Team 317 May 13, 2022
It's a simple and free x86_64 architecture operating system created by one person, GoofOS started since 2022

This project is while developing... GoofOS GoofOS is a text operating system for x86 computers. About This is a 32 bit x86_64 graphical operating syst

null 3 May 1, 2022
A demonstration PoC for CVE-2022-21877 (storage spaces controller memory leak)

POC CVE-2022-21877 This repository contains a POC for the CVE-2022-21877, found by Quang Linh, working at STAR Labs. This is an information leak found

null 4 Mar 8, 2022
K-Closest Points and Maximum Clique Pruning for Efficient and Effective 3-D Laser Scan Matching (RA-L 2022)

KCP The official implementation of KCP: K-Closest Points and Maximum Clique Pruning for Efficient and Effective 3D Laser Scan Matching, accepted for p

Yu-Kai Lin 62 May 8, 2022
Meus write-ups do picoCTF 2022

picoCTF2022 Meus write-ups do picoCTF 2022 Nicholas Ferreira Crypto Basic Mod 1 Basic Mod 2 Credstuff Diffie-Hellman Morse Code Rail fence Substitutio

Nicholas Ferreira 5 May 13, 2022
IbisOS is a custom operating system

IbisOS The IbisOS Source Code Guide Step1, How in the hell do I compile this OS? well you need to install xorriso, clang, nasm and cmake as well as gr

null 0 Feb 6, 2022
Simple ESPHome Wiegand custom component

esphome-wiegand Simple ESPHome Wiegand custom component Based on this code: https://github.com/Luisiado/wiegand_esphome_module To use: Drop wiegand_de

Av 14 Apr 11, 2022
Archer is the codename for our EPD laptop prototype with custom-made motherboard

Archer is the codename of our 1st EPD laptop prototype with custom-designed motherboard and 3D-printed chassis. Specifications The specification liste

EI-2030 33 May 6, 2022
Custom Arduino-based temperature and humidity data logger.

Arduino Datalogger A custom data logger based on ATmega32u4 with a custom PCB. The device features the following main components: Atmel ATmega32u4 MCU

Valentin Bersier 7 Jul 19, 2021
A custom OLED animation for QMK keyboards

superloop This animation is made for 32x128 pixel 1-bit OLED displays. Info This repository is a lightweight clone of the crkdb:default QMK configurat

hexcowboy 23 Apr 17, 2022
An 8-bit minicomputer with a fully custom architecture

JDH-8 An fully custom 8-bit minicomputer with a unique architecture and the express goal of playing PONG. The program above is running in the emulator

jdh 913 May 12, 2022
Blog post on using a custom Bash builtin to parse INI config files

Writing a Bash Builtin in C to Parse INI Configs Why Not Just Parse INI Configs With Bash? Shell languages such as Bash excel at certain tasks, such a

Jesse Hathaway 14 Apr 6, 2022