aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/bsdiff/bspatch/bspatch.c
Commit message (Collapse)AuthorAgeFilesLines
* bsdiff: Use mmap instead of mallocRicardo Branco2024-04-191-7/+9
| | | | | | | | Note: This follows the current style of the bsdiff.c and bspatch.c files, which is rather far from style(9). Reviewed by: imp, cpervica Pull Request: https://github.com/freebsd/freebsd-src/pull/1076
* bspatch: use C23 overflow checking math now that it is availableEd Maste2023-09-071-8/+2
| | | | | | Reviewed by: des Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D41771
* Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-161-2/+0
| | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
* spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDWarner Losh2023-05-121-1/+1
| | | | | | | | | The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
* bspatch: add integer overflow checksEd Maste2019-09-261-9/+26
| | | | | | | | | | | | | | Introduce a new add_off_t static function that exits with an error message if there's an overflow, otherwise returns their sum. Use this when adding values obtained from the input patch. Reviewed by: delphij, allanjude (earlier) MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D7897 Notes: svn path=/head/; revision=352742
* errno.h is no longer needed as of r340239 so remove it.Xin LI2019-07-181-1/+0
| | | | | | | No MFC planned as that revision was not merged. Notes: svn path=/head/; revision=350109
* Remove support for FreeBSD 10.x.Xin LI2019-07-181-7/+3
| | | | | | | MFC after: 1 month Notes: svn path=/head/; revision=350108
* bspatch: simplify capsicumizationMariusz Zaborski2018-11-071-20/+16
| | | | | | | | | | | Assume that user wants to run with capsicum support if he builds the software with HAVE_CAPSICUM. Treat running application without capsicum in the kernel as an error. MFC after: 3 weeks Notes: svn path=/head/; revision=340239
* various: general adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-271-0/+2
| | | | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. No functional change intended. Notes: svn path=/head/; revision=326276
* bspatch: Remove backwards-compatibility sys/capability.h supportEd Maste2016-09-201-4/+1
| | | | | | | | | | | | | | | bspatch previously included sys/capability.h or sys/capsicum.h based on __FreeBSD_version, as FreeBSD is the upstream for bsdiff and we may see this file incorporated into other third-party software. The Capsicum header is now installed as sys/capsicum.h in stable/10 and FreeBSD 10.3, so we can just use sys/capsicum.h and simplify the logic. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D7954 Notes: svn path=/head/; revision=306026
* bspatch: use #define for header size instead of magic numberEd Maste2016-09-151-15/+16
| | | | | | | | | Reviewed by: allanjude, kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D7861 Notes: svn path=/head/; revision=305822
* bspatch: remove superfluous newlines from errx stringsEd Maste2016-09-121-9/+9
| | | | Notes: svn path=/head/; revision=305737
* bspatch: add sanity checks on sizes to avoid integer overflowEd Maste2016-09-061-6/+11
| | | | | | | | | | | | | | | | | Note that this introduces an explicit 2GB limit, but this was already implicit in variable and function argument types. This is based on the "non-cryptanalytic attacks against freebsd update components" anonymous gist. Further refinement is planned. Reviewed by: allanjude, cem, kib Obtained from: anonymous gist MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D7619 Notes: svn path=/head/; revision=305486
* bspatch: remove output file in the case of errorEd Maste2016-08-251-5/+32
| | | | | | | | | Reviewed by: oshogbo Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D7644 Notes: svn path=/head/; revision=304821
* Capsicumize bspatchAllan Jude2016-08-251-12/+52
| | | | | | | | | | | | | | | | | | Move all of the fopen() and open() calls to the top of main() Restrict each FD to least privilege (read/seek only, write only, etc) cap_enter(), and make all except the output FD read/seek only. Reviewed by: emaste, ed, oshogbo, delphij Approved by: so MFC after: 3 days Relnotes: yes Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D7358 Notes: svn path=/head/; revision=304807
* bspatch: apply style(9)Ed Maste2016-08-231-52/+60
| | | | | | | | | | | | | Make style changes (and trivial refactoring of open calls) now in order to reduce noise in diffs for future capsicum changes. Reviewed by: oshogbo No objection: cperciva Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D7610 Notes: svn path=/head/; revision=304691
* Fix bspatch heap overflow vulnerability.Xin LI2016-07-251-0/+4
| | | | | | | | | Obtained from: Chromium Reported by: Lu Tung-Pin Security: FreeBSD-SA-16:25.bspatch Notes: svn path=/head/; revision=303298
* Cleanup unnecessary semicolons from utilities we all love.Pedro F. Giffuni2016-04-151-2/+2
| | | | Notes: svn path=/head/; revision=298089
* Make usage printing more consistent with other tools.Ed Schouten2014-04-231-1/+10
| | | | | | | | | | - Introduce a separate usage() function. - Don't use argv[0]. Directly name the application, as we do elsewhere. - Don't prepend the application name. - Don't print two newlines. Notes: svn path=/head/; revision=264823
* Portability fix for non-POSIX operating systems: Open files in binary mode.Colin Percival2006-12-051-6/+10
| | | | | | | | PR: bin/106358 Submitted by: techtonik at php dot net Notes: svn path=/head/; revision=164922
* Add bsdiff and bspatch to the base system. These are tools forColin Percival2005-08-061-0/+203
constructing and applying binary patches; in particular, they perform well (in the sense of constructing small patches) for executable code. Both portsnap (coming to the base system Real Soon Now) and FreeBSD Update (coming to the base system a bit later) use bspatch. This is the same code as the bsdiff-4.2 which has been in the ports tree (misc/bsdiff) for the past year, with the following exceptions: 1. The license is now the traditional 2-clause BSD; 2. Instead of forking and execing bzip2, the code now uses libbz2; and 3. Some minor changes have been made to fit this code into the base system (adding $FreeBSD$ tags, putting bsdiff and bspatch into separate directories, etc.) This code is rather ugly and has lots of style bugs (mostly because I wrote it before I had ever heard of style(9)). Some day I'll come back and clean it up. Discussed on: freebsd-arch MFC before: 5.5-RELEASE Tested by: Several million users (earlier version). Notes: svn path=/head/; revision=148771