aboutsummaryrefslogtreecommitdiff
path: root/src/extern.h
AgeCommit message (Collapse)AuthorFiles
2024-01-14Upgrade copyright yearsSergey Poznyakoff1
2023-05-17Restore access and modification times of symlinks in copy-in and copy-pass ↵Sergey Poznyakoff1
modes. * gnulib.modules: Replace utimens with fdutimensat. * paxutils: Upgrade. * src/copyin.c: Update calls to set_file_times. (copyin_link,replace_symlink_placeholders): Call set_file_times if needed. * src/copyout.c: Update calls to set_file_times. * src/copypass.c (process_copy_pass): Update calls to set_file_times. Call set_file_times to restore times of extracted symlinks. * src/extern.h (set_file_times): Take additional argument. * src/util.c (set_file_times): Take additional argument. Use fdutimensat to do the job. * tests/linktime.at: New file. * tests/linktime01.at: New file. * tests/Makefile.am: Add new files. * tests/testsuite.at: Include new tests.
2023-04-28Fix appending to archives bigger than 2GSergey Poznyakoff1
* src/extern.h (last_header_start): Change type to off_t. * src/global.c: Likewise. * src/util.c (prepare_append): Use off_t for file offsets.
2023-04-28New option --ignore-dirnlinkSergey Poznyakoff1
Thus option is valid in copy-out mode. It instructs cpio to always assume link count for directories to be 2. It is implied by --reproducible. * NEWS: Document changes. * doc/cpio.1: Likewise. * doc/cpio.texi: Likewise. * src/copyout.c (process_copy_out): If ignore_dirnlink_option is set, assume c_nlink is 2. * src/extern.h (ignore_dirnlink_option): New extern. * src/global.c (ignore_dirnlink_option): New global. * src/main.c: New option --ignore-dirnlink. The option --reproducible implies --ignore-dirnlink.
2023-04-27Update for newer autotoolsSergey Poznyakoff1
* am/pack.m4: Don't use obsolete macros. * configure.ac: Likewise. Require autoconf 2.71 * paxutils: Upgrade. * src/extern.h (STRINGIFY_BIGINT, UINTMAX_STRSIZE_BOUND): New definitions. (parse_user_spec): Change signature. * src/main.c: Update call to parse_user_spec. * src/idcache.c: Include extern.h * src/userspec.c: Likewise.
2023-01-22Update copyright yearsSergey Poznyakoff1
2022-01-02Update copyright yearsSergey Poznyakoff1
2021-01-06Update copyright yearsSergey Poznyakoff1
2020-02-08Update copyright yearsSergey Poznyakoff1
2019-11-04Fix CVE-2019-14866Sergey Poznyakoff1
* src/copyout.c (to_ascii): Additional argument nul controls whether to add the terminating nul character. (field_width_error): Improve diagnostics: print the actual and the maximum allowed field value. * src/extern.h (to_ascii, field_width_error): New prototypes. * src/tar.c (to_oct): Remove. (to_oct_or_error): New function. (TO_OCT): New macro. (write_out_tar_header): Use TO_OCT and to_ascii. Return 0 on success, 1 on error.
2019-11-03Provide functions for struct cpio_file_stat management.Sergey Poznyakoff1
* src/copyin.c (long_format): Mark unchangeable argument as const. (read_name_from_file): Use cpio_realloc_c_name. (process_copy_in): Use CPIO_FILE_STAT_INITIALIZER. Call cpio_file_stat_free before return. * src/copyout.c (process_copy_out): Likewise. * src/copypass.c (link_to_name): Mark unchangeable argument as const. * src/cpiohdr.h (cpio_file_stat) <c_name_buflen>: New member, <c_tar_linkname>: Mark as const. (CPIO_FILE_STAT_INITIALIZER): New define. (cpio_file_stat_init,cpio_file_stat_free) (cpio_realloc_c_name): New protos. * src/extern.h: Fix prototypes. * src/makepath.c (make_path): Mark unchangeable argument as const. * src/util.c (create_all_directories): Mark unchangeable argument as const. (cpio_realloc_c_name): New function. (cpio_set_c_name): Use cpio_realloc_c_name. (cpio_file_stat_init,cpio_file_stat_free): New functions.
2017-01-02Update copyright yearsSergey Poznyakoff1
2016-11-10Fix the output of UTF8 file names in verbose mode.Sergey Poznyakoff1
* am/quoting.m4: New file. * configure.ac: Set default quoting style. * src/copyin.c (long_format): Use quotearg. (print_name_with_quoting): Remove. * src/extern.h (print_name_with_quoting): Remove proto.
2015-09-12Update docs, use gettext 0.19.6Sergey Poznyakoff1
2014-12-01New options to create device and inode-independent archives.Sergey Poznyakoff1
* src/util.c (inode_val): New member trans_inode (find_inode_val): New function. (find_inode_file): Rewrite using the above. (add_inode): Initialize the trans_inode member depending on the value of renumber_inodes_option. (get_inode_and_dev): New function. (stat_to_cpio): Use get_inode_and_dev. (arf_stores_inode_p): New function. * src/extern.h (renumber_inodes_option) (ignore_devno_option): New externs. * src/global.c (renumber_inodes_option) (ignore_devno_option): New variables. * src/main.c: Add new options. * NEWS: Document changes. * doc/cpio.1: Document new options. * doc/cpio.texi: Likewise.
2014-01-30Update copyright years.Sergey Poznyakoff1
2012-02-20Always use 32 bit CRCSergey Poznyakoff1
* src/cpiohdr.h (cpio_file_stat) <c_chksum>: Change type to uint32_t. * src/extern.h (crc): Change type to uint32_t. * src/global.c: Likewise. * src/copyout.c (read_for_checksum): Return uint32_t. * src/copyin.c: Fix printf formats.
2011-09-19Fix error handling in disk_empty_output_buffer and sparse_writeSergey Poznyakoff1
* src/extern.h (delayed_seek_count): Remove. (disk_empty_output_buffer): Change signature. * src/util.c (disk_empty_output_buffer): Take two arguments. Correctly handle partial writes (errno is not meaningful). (delayed_seek_count): Remove variable. (sparse_write): Change return type and signature. Rewrite. Return number actual number of bytes written or -1 on error. Check returns from lseek and write. * src/copyin.c (copyin_regular_file): Call disk_empty_output_buffer with flush=true before closing the file. * src/copypass.c (process_copy_pass): Likewise.
2010-07-22Provide a tar-like --directory (-D) option.Sergey Poznyakoff1
* src/copyin.c (process_copy_in): Call change_dir. * src/copyout.c (process_copy_out): Likewise. * src/copypass.c (process_copy_pass): Likewise. * src/extern.h (change_directory_option): New extern. (change_dir): New proto. * src/global.c (change_directory_option): New global. * src/main.c (options): New option --directory. (parse_opt): Handle the --directory option. * src/util.c (change_dir): New proto. * doc/cpio.texi: Document the --directory option.
2010-02-12Use same code when creating directories in copy-in and copy-pass modes.Sergey Poznyakoff1
* src/copyin.c (copyin_mkdir): Remove. (copyin_directory): Remove. (copyin_file): Use cpio_create_dir instead of copyin_directory. * src/copypass.c (process_copy_pass): Use cpio_create_dir to create directories. * src/extern.h (delay_cpio_set_stat): New proto. * src/util.c (delay_cpio_set_stat): New function. (delay_set_stat): Rewrite as a wrapper to the above. (cpio_create_dir): New function. * tests/setstat01.at: Fix testcase. * tests/setstat02.at: Likewise. * tests/setstat03.at: New testcase. * tests/setstat04.at: New testcase. * tests/setstat05.at: New testcase. * tests/Makefile.am: Add new testcases. * tests/testsuite.at: Likewise.
2010-02-11Fix inode number typing.Sergey Poznyakoff1
* src/copyin.c (create_defered_links): Use ino_t for inode numbers. (create_defered_links_to_skipped): Likewise. (process_copy_in): Add typecast to inode fprintf argument. * src/copyout.c (count_defered_links_to_dev_ino) (writeout_other_defers): Use ino_t for inode numbers. * src/copypass.c (link_to_maj_min_ino): Likewise. * src/util.c (struct inode_val): Likewise. (find_inode_file, add_inode): Likewise. * src/extern.h (link_to_maj_min_ino) (find_inode_file, add_inode): Change signature.
2010-02-11Update copyright years.Sergey Poznyakoff1
2009-07-31Delay setting directory attributes until end of run, if they do not permit ↵Sergey Poznyakoff1
writing. Fix debian bug #458079. * src/copyin.c (copyin_mkdir): New function. (copyin_directory): Use copyin_mkdir to create directory. Call set_perms only when safe, otherwise use repair_delayed_set_stat. * src/extern.h (cpio_to_stat): New prototype. (repair_delayed_set_stat): Change prototype. * src/util.c (cpio_to_stat): New function. (repair_delayed_set_stat): New function. * tests/setstat01.at: New test case. * tests/setstat02.at: New test case. * tests/Makefile.am (TESTSUITE_AT): Add setstat01.at and setstat02.at * tests/testsuite.at: Include setstat01.at and setstat02.at. * NEWS: Update.
2009-07-31Fix mt and make sure it is always build during distcheck.Sergey Poznyakoff1
Minor fixes in cpio. * Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): New variable. Ensure that distcheck builds mt. * bootstrap: Patch Makefile.in to honor AM_DISTCHECK_CONFIGURE_FLAGS. * gnulib.modules: add argp-version-etc and progname. * src/Makefile.am: Remove useless dependency. * src/copyin.c (long_format): Fix printf arguments. * src/copyout.c (read_for_checksum): Return unsigned long. (process_copy_out): Remove unused variable. * src/extern.h (crc): Change type to unsigned long. (program_name): Remove. * src/global.c: Likewise. * src/main.c: Include argp-version-etc.h and progname.h (argp_program_version): Remove. (program_authors): New global. (options): Remove the 'Informative options' group. These are handled automatically by argp. (parse_opt): Likewise. (licence): Remove. This info is output by --version. (process_args): Remove useless test. (main): Use set_program_name and argp_version_setup. * src/mt.c: Remove superfluous includes. Include argp-version-etc.h and progname.h Use argp to parse arguments. Supply the fatal_exit function. * tests/version.at: Update for the new --version output. * THANKS: Add Peter Breitenlohner. * AUTHORS: Update Sergey's email.
2008-02-09* NEWS, configure.ac: Raise the patchlevel number.Sergey Poznyakoff1
* THANKS: Update * doc/cpio.texi: Fix a typo. * src/extern.h (warn_if_file_changed): Fix type of the 2nd argument. * src/tar.c (write_out_tar_header): Stylistic change. * src/util.c (copy_files_disk_to_disk): Fix types of automatic variables. (warn_if_file_changed): Fix type of the 2nd argument. Patches supplied by Ladislav Michnovic.
2008-02-08UpdateSergey Poznyakoff1
2007-06-28(make_path): Remove mode argument. All callers updated.Sergey Poznyakoff1
2007-06-28(newdir_umask): New globalSergey Poznyakoff1
(delay_set_stat,repair_delayed_set_stat) (apply_delayed_set_stat): New functions
2007-06-28Use size_t for buffer sizes and off_t for total I/O bytes.Sergey Poznyakoff1
2007-06-27Relicense under GPLv3Sergey Poznyakoff1
2007-06-07(set_perms, set_file_times): Take file descriptor as the first argument.Sergey Poznyakoff1
2007-05-18Add missing includes.Sergey Poznyakoff1
2006-12-18 (tape_toss_input, warn_if_file_changed): Last argument is off_tSergey Poznyakoff1
2006-09-27Update copyright yearSergey Poznyakoff1
2006-07-03Use cpio_file_stat for internal header representation.Sergey Poznyakoff1
(from_ascii): New prototype (LG_8,LG_16,FROM_OCTAL,FROM_HEX): New defines
2005-11-12(write_out_header): Return int.Sergey Poznyakoff1
2005-10-28(crc): Change declarationSergey Poznyakoff1
2005-09-08(set_file_times): New functionSergey Poznyakoff1
2005-05-25(cpio_safer_name_suffix): New protoSergey Poznyakoff1
2005-05-20Remove legacy P_() stuff.Sergey Poznyakoff1
2005-05-19Updated FSF postal mail address.Sergey Poznyakoff1
2005-05-19(copy_files_tape_to_disk, copy_files_disk_to_tape,copy_files_disk_to_disk): ↵Sergey Poznyakoff1
Change num_bytes argument type from long to off_t.
2005-01-11(zeros_512): RemovedSergey Poznyakoff1
(write_nuls_to_file): New function
2004-09-08Added new globals.Sergey Poznyakoff1
2004-09-06Switched to ANSI C (sigh)Sergey Poznyakoff1
2004-02-27Added to the repositorySergey Poznyakoff1

Return to:

Send suggestions and report system problems to the System administrator.