Commit Graph

105 Commits

Author SHA1 Message Date
Duncaen a46be6867a xbps-create: reject unhandled files
A segfault in xbps-create(1) was found in:
https://github.com/void-linux/void-packages/pull/7524

xbps-create adds a file type string to the xentry for every file it
finds in `destdir`, files other than symlinks, regular files and
directories weren't handled and resulted in a segfault later when
when processing the xentry structures.

This commit adds checks for sockets and fifos and exits with an
appropriate error message or with a generic error message for every
other unhandled file.

Closes #66
2019-04-14 12:39:04 +02:00
Foxlet 0f33859701 Fix namespace violation 2018-09-25 22:11:30 -04:00
Frank Steinborn f366d6cb11 manpages: change URL for bug reporting to new GitHub repo 2018-09-23 17:51:07 +02:00
Foxlet 4eaf45a767 Fix string formatting of 64-bit unsigned integers 2018-07-17 20:50:48 -04:00
Enno Boland c992049eb5 xbps-create: fix formatting, set return value on path overflow 2018-07-07 12:23:01 +02:00
Enno Boland 3ef932de2f xbps-create: replace nftw by an implementation that traverses the directory tree in an alphabetic order. 2018-07-07 12:15:00 +02:00
Enno Boland aa21cb08fd Revert "bin/xbps-create: process dictionary instead of linked list."
This reverts commit 25fa00ea46.
2018-07-06 08:07:59 +02:00
Enno Boland 705a30c63c Revert "bin/xbps-create: process_entry_file uses dictionary instead of linked list now."
This reverts commit 61d2361646.
2018-07-06 08:07:58 +02:00
Enno Boland e211ae21fe Revert "bin/xbps-create: remove xentry struct and clean up"
This reverts commit aa90201b2d.
2018-07-06 08:07:55 +02:00
Enno Boland 35fa3b5808 xbps-create: remove mmap to load files to archive. 2016-06-17 17:10:10 +02:00
Michael Gehring dedc93d17d xbps-create: add -c/--changelog 2016-04-23 08:42:15 +02:00
Enno Boland aa90201b2d bin/xbps-create: remove xentry struct and clean up 2016-03-27 14:46:16 +02:00
Enno Boland 61d2361646 bin/xbps-create: process_entry_file uses dictionary instead of linked list now. 2016-03-27 14:46:13 +02:00
Enno Boland 25fa00ea46 bin/xbps-create: process dictionary instead of linked list. 2016-03-27 14:45:57 +02:00
Enno Boland b2c7fa8846 bin/xbps-create: search for inode dublication using xbps_dictionary_t instead of linked list. 2016-03-27 14:45:41 +02:00
Enno Boland 5c18a43c1c bin/xbps-create: construct proplist objects in ftw.
This is the first commit in a series to make xbps-create build
reproducable packages.

xbps-create uses nftw(3) to walk through all files. As nftw doesn't
sort files it may happen that the resulting packages will have
different checksums due to differentiating orders of files on
different filesystems.

To solve this issue xbps-create uses xbps_directory_t, which is always
sorted, instead of a simple linked list.
2016-03-27 14:44:47 +02:00
Michael Gehring 618e504d30 actually use HAVE_FDATASYNC 2016-02-08 15:09:43 +01:00
Juan RP 5170566e64 xbps-create.1: bump date. 2015-10-31 13:04:21 +01:00
Joey Gouly b06ce15136 Allow relative symlinks in xbps-alternatives. 2015-10-31 11:54:01 +00:00
Juan RP 6c7c0843f0 xbps-create.1: document --alternatives. 2015-10-30 12:30:49 +01:00
Bheesham Persaud 0a0cd42682 Minor changes to the documentation. 2015-10-30 02:01:29 -04:00
Juan RP fa7d8bdfc5 xbps-xxx.1: responsability -> responsibility. 2015-10-28 10:03:41 +01:00
Juan RP 4211f5cd09 New manual page for xbps-fbulk(1). 2015-10-28 09:37:09 +01:00
Juan RP 4fbfe6e823 xbps-create: fix a warning found by @dominikh without --enable-debug. 2015-10-28 06:43:25 +01:00
Juan RP faeff38ca2 Alternatives framework (1/2) (WIP). 2015-10-18 10:38:35 +02:00
Juan RP 21be2318cf xbps-create(1): support '--compression none' to skip any compression format. 2015-09-03 12:34:29 +02:00
Enno Boland 9de0d8a60d xbps-create: do not add a build-date property to packages. 2015-08-19 16:05:51 +02:00
Juan RP 36026451ce Fix some insecure temporary files reported by Coverity. 2015-07-26 09:02:04 +02:00
Juan RP fcdd71aac4 Move xbps utils manpages to the section 1 (user commands). 2015-05-16 09:46:10 +02:00
Juan RP db21c045d2 xbps-create(8): use fdatasync() rather than fsync().
The latter could be too expensive, and we only care for the data to be written
to the binary package because a bit later we rename() the temporary file,
which will ensure a data flush to disk.
2015-02-27 11:04:25 +01:00
Juan RP 2cae0cba01 xbps-create(8): store file mtime in metadata for upcoming changes. 2015-02-22 18:20:32 +01:00
Juan RP a05e039cce Revert "Stop converting relative symlinks to absolute."
This reverts commit 9ae3638429.

This change is ok, but cannot be used right now because all existing
binpkgs were created with an old xbps-create(8).
2015-02-19 11:11:58 +01:00
Juan RP 9ae3638429 Stop converting relative symlinks to absolute.
There's no reason to make them absolute, simply store in the metadata
the target file as is. This vastly simplifies the code and makes all
test pass correctly.
2015-02-19 11:04:34 +01:00
Juan RP 69e3a50e75 xbps-create: handle correctly another case of relative symlinks. 2015-02-19 09:44:09 +01:00
Juan RP 3c34c300d1 xbps-create(8): record target file or relative symlinks correctly. 2015-02-18 14:55:54 +01:00
Juan RP 395e147c6c xbps.d(5) - XBPS configuration directory 2014-12-09 11:41:35 +01:00
Juan RP 039a155918 xbps-create(8): fix #64 "incorrect installed-size with hardlinks" 2014-11-12 12:37:35 +01:00
Juan RP 1edd4e2ecf bin/xbps-create/main.c: CID 62678 (unchecked return value) 2014-10-05 12:33:45 +02:00
Juan RP 616af5c207 bin/xbps-create/main.c: CID 62713 (dead code) 2014-10-05 12:16:39 +02:00
Juan RP f7441d24cf bin/xbps-create/main.c: fix CID 62686 correctly; all tests pass now. 2014-10-05 08:55:32 +02:00
Juan RP 2fe9fbe777 bin/xbps-create/main.c: Out-of-bounds write (CID 62686) 2014-10-05 08:09:42 +02:00
Juan RP 966718bb7d bin/*/*.8: fixed mdoc errors/warnings reported by mandoc -Wall. 2014-09-30 11:36:08 +02:00
Juan RP 0f5ce62ba9 xbps-create: fix build introduced in previous. 2014-09-27 13:11:43 +02:00
Juan RP 72cefcfc83 Introduce xbps_mmap_file() and use it in strategic points.
Rather than using a random buffer from stack or heap, and decide
what size to use, create a private memory mapped object...

This simplifies the code in lib/verifysig.c and xbps-create.
2014-09-27 13:00:34 +02:00
Enno Boland b5f357bd5e bin/xbps-create: update manpage. 2014-09-23 20:50:59 +02:00
Enno Boland 33032429c2 bin/xbps-create: allow to define the reverts field for a package. 2014-09-23 13:54:06 +02:00
Christian Neukirchen cfc0e3b9d9 xbps-create: do not compress with xz -9
xz -9 is very expensive in terms of CPU and memory usage, and also
memory usage for decompression.  Thus we stick to default of -6 for
xz.  For gzip and bzip2, -9 is ok.
2014-09-19 16:38:31 +02:00
Juan RP 8939e8697d bin/*/*.8: add missing End-List macros (.El). 2014-08-23 09:26:02 +02:00
Juan RP a28046332f Implemented support for pre-remove and post-install messages.
Close #44
2014-07-27 11:24:49 +02:00
Juan RP b9e44009d9 xbps-create(8): new option -t, --tags to store tags/categories metadata. 2014-05-29 11:36:39 +02:00