Commit Graph

88 Commits

Author SHA1 Message Date
jbj e5fb770e7d Add boundsread annotations throughout, enable +bounds checking.
Start narrowing the scope of bounds annotations by adding more annotations.

CVS patchset: 5537
CVS date: 2002/07/02 23:54:35
2002-07-02 23:54:35 +00:00
jbj 13d177beb2 Add boundswrite annotations everywhere.
CVS patchset: 5522
CVS date: 2002/06/23 19:47:08
2002-06-23 19:47:08 +00:00
jbj 2933d0ec0c - fix: reading macro files can corrupt memory if BUFSIZ is teensy.
- fix: assertion failure iff incomplete package install (#66837).

CVS patchset: 5519
CVS date: 2002/06/21 18:00:50
2002-06-21 18:00:50 +00:00
jbj 076a6e29c5 - opaque (well mostly) rpmTransactionSet using methods.
CVS patchset: 5437
CVS date: 2002/05/16 16:55:21
2002-05-16 16:55:21 +00:00
jbj b45c27e2ab doxygen cleanup.
CVS patchset: 5379
CVS date: 2002/04/08 18:56:01
2002-04-08 18:56:01 +00:00
jbj 30b9428ce0 - make peace with gcc-3.1, remove compiler cruft.
CVS patchset: 5313
CVS date: 2002/02/10 19:00:16
2002-02-10 19:00:16 +00:00
jbj 69e97f28a0 Merge from rpm-4.0.4.
- trap SIGILL for ppc64 inline asm voodoo fix from cross-dressed ppc32.
- fix: fancy hash fiddles if not a tty.
- fix: handle /.../ correctly in rpmCleanPath().

CVS patchset: 5274
CVS date: 2002/01/27 16:49:06
2002-01-27 16:49:06 +00:00
jbj c74fa24965 - missing key(s) on keyring when verifying a signature is now an error.
- remove dependency whiteout.
- splint fiddles.

CVS patchset: 5255
CVS date: 2002/01/18 22:51:30
2002-01-18 22:51:30 +00:00
jbj 308f022df4 Rewire digests, step 1.
CVS patchset: 5120
CVS date: 2001/10/19 01:24:21
2001-10-19 01:24:21 +00:00
jbj d57a29baac Converging on lclint-3.0.17 strict level.
CVS patchset: 5118
CVS date: 2001/10/17 16:43:36
2001-10-17 16:43:36 +00:00
jbj 9f45bcd3ec More lclint annotations.
CVS patchset: 5116
CVS date: 2001/10/16 14:58:57
2001-10-16 14:58:57 +00:00
jbj 72471f2e54 Explicit branchstate annotations.
CVS patchset: 5113
CVS date: 2001/10/15 17:53:34
2001-10-15 17:53:34 +00:00
jbj d8dc44f363 lclint fiddles to annotate globals.
CVS patchset: 5106
CVS date: 2001/10/15 03:22:10
2001-10-15 03:22:10 +00:00
jbj 4b67d7621c More lclint annotations.
CVS patchset: 5105
CVS date: 2001/10/13 22:01:38
2001-10-13 22:01:38 +00:00
jbj 525f4cb8b1 - ratchet up to lclint "strict" level.
CVS patchset: 5104
CVS date: 2001/10/13 19:35:58
2001-10-13 19:35:58 +00:00
jbj 1eef0782f6 - lclint-3.0.0.15 fiddles.
CVS patchset: 5067
CVS date: 2001/09/21 15:07:11
2001-09-21 15:07:11 +00:00
jbj da9b21485c Sync with rpm-4_0 branch.
CVS patchset: 5048
CVS date: 2001/09/15 13:49:11
2001-09-15 13:49:11 +00:00
jbj 4ae69250a2 - fix typos in linux.{req,prov}.
CVS patchset: 4834
CVS date: 2001/06/05 19:26:22
2001-06-05 19:26:22 +00:00
jbj 750d54d8a3 lclint fiddles.
CVS patchset: 4833
CVS date: 2001/06/04 13:55:58
2001-06-04 13:55:58 +00:00
jbj 8f75bbc17d - enough lclint annotations and fiddles already.
CVS patchset: 4741
CVS date: 2001/05/05 19:28:32
2001-05-05 19:28:32 +00:00
jbj d78e027808 - still more boring lclint annotations and fiddles.
CVS patchset: 4738
CVS date: 2001/05/03 21:00:18
2001-05-03 21:00:18 +00:00
jbj 0ecdbba935 - yet more boring lclint annotations and fiddles.
CVS patchset: 4732
CVS date: 2001/04/30 22:32:22
2001-04-30 22:32:22 +00:00
jbj 3b5820c420 - globalize _free(3) wrapper in rpmlib.h, consistent usage throughout.
- internalize locale insensitive ctype(3) in rpmio.h
- boring lclint annotations and fiddles.

CVS patchset: 4721
CVS date: 2001/04/29 01:05:43
2001-04-29 01:05:43 +00:00
jbj 075607676d - fix: parameterized macro segfault (Jakub Bogusz <qboosh@pld.org.pl>).
fix: off by 1 with rpmGlob when presented with multiple non-globbed items.
fix: rpmReadPackageManifest actually works now.

CVS patchset: 4653
CVS date: 2001/03/23 20:27:48
2001-03-23 20:27:48 +00:00
jbj 1f44236f64 - fix: insure that %lang scopes over hard links correctly.
- fix: rpmCleanPath was nibbling at .. in macrofiles incorrectly.

CVS patchset: 4464
CVS date: 2001/01/19 01:38:55
2001-01-19 01:38:55 +00:00
jbj c74cc1df1c - fix: extra newline in many error messages (#23947).
- fix: rpm -Va with db1 needs per-iterator, not per-index, offset.
- add install/remove transaction id tags.

CVS patchset: 4441
CVS date: 2001/01/15 23:09:42
2001-01-15 23:09:42 +00:00
jbj db32ab6bea Sync with rpm-4_0 branch.
CVS patchset: 4338
CVS date: 2000/12/12 20:03:45
2000-12-12 20:03:45 +00:00
jbj 2885f536b6 Bring header reggions mods back to top of stack.
CVS patchset: 4305
CVS date: 2000/12/02 21:53:44
2000-12-02 21:53:44 +00:00
jbj 62c5a91930 - add support for unzip rodrigob@conectiva.com.br>
CVS patchset: 4243
CVS date: 2000/11/02 17:57:25
2000-11-02 17:57:25 +00:00
jbj ce1e8d26ec - add support for SHA1 as well as MD5 message digests.
lclint annotations.

CVS patchset: 4234
CVS date: 2000/10/31 16:18:34
2000-10-31 16:18:34 +00:00
jbj 3ad99fcba5 - add cscope/ctags (Rodrigo Barbosa<rodrigob@conectiva.com.br>).
- remove getMacroBody() from rpmio API.
- hide libio lossage in prototype, not API.
lclint annotations.

CVS patchset: 4230
CVS date: 2000/10/28 17:16:25
2000-10-28 17:16:25 +00:00
jbj 68ff87361d doxygen annotations.
- fix: more (possible) xstrdup side effects.

CVS patchset: 4186
CVS date: 2000/09/29 19:50:29
2000-09-29 19:50:29 +00:00
jbj 4920a3b122 - don't trim leading ./ in rpmCleanPath() (#14961).
CVS patchset: 4169
CVS date: 2000/09/16 14:05:26
2000-09-16 14:05:26 +00:00
jbj f2efc7263e - unify rpmError and rpmMessge interfaces through rpmlog.
- collect and display rpm build error messages at end of build.

CVS patchset: 4149
CVS date: 2000/09/01 21:15:40
2000-09-01 21:15:40 +00:00
jbj 918188a90c Doxygen annotations.
CVS patchset: 4129
CVS date: 2000/08/27 18:34:02
2000-08-27 18:34:02 +00:00
jbj fab0493dbe - fix: don't expand macros in false branch of %if (kasal@suse.cz).
- fix: macro expansion problem and clean up (#11484) (kasal@suse.cz).

CVS patchset: 3885
CVS date: 2000/06/21 23:28:50
2000-06-21 23:28:50 +00:00
jbj 4afe94756b - make librpmio standalone.
CVS patchset: 3824
CVS date: 2000/06/09 21:24:37
2000-06-09 21:24:37 +00:00
jbj c38a7cdcfb Move low level support routines to librpmio.
CVS patchset: 3822
CVS date: 2000/06/09 18:57:23
2000-06-09 18:57:23 +00:00
jbj 7b1e9c5a02 Avoid segfault on malformed %{!?FOO:} expansion (#9581).
CVS patchset: 3571
CVS date: 2000/02/21 10:32:01
2000-02-21 10:32:01 +00:00
jbj 0d185e8fb5 fix: resurrect relative path's in fprint lookup queries.
CVS patchset: 3518
CVS date: 2000/01/12 21:48:58
2000-01-12 21:48:58 +00:00
jbj 8f481702d8 reload macros from cmd line when re-reading config files.
CVS patchset: 3479
CVS date: 1999/12/12 21:14:05
1999-12-12 21:14:05 +00:00
jbj 8289346751 Add underscore in front of (possibly) non-supported FDIO_t vectors.
Make buildFileList() part of rpmlib API as rpmBuildFileList().
lib/rpmdb.c: Compare fingerprints from different caches by value.

CVS patchset: 3448
CVS date: 1999/12/01 19:57:17
1999-12-01 19:57:17 +00:00
jbj c8406c80d2 lib/macro.c: Create rpmCleanPath().
build/misc.c: Delete cleanFileName().

CVS patchset: 3435
CVS date: 1999/11/26 16:19:30
1999-11-26 16:19:30 +00:00
jbj 4221ce1aa1 lib/macro.c: Canonicalize paths in rpmGetPath().
build.c: ditto.
build/build.c: ditto.
build/files.c: ditto.
build/parsePreamble.c: ditto.
build/parseSpec.c: ditto.
build/myftw.c: Use Opendir/Readdir/Closedir wrappers.
lib/cpio.c: Use Readlink/Stat/Lstat wrappers while building archive.
lib/rpmio.c: functional ftpLstat, ftpStat and ftpReadlink.

CVS patchset: 3432
CVS date: 1999/11/24 00:03:54
1999-11-24 00:03:54 +00:00
jbj c6d768583e macros.in: Add buildsubdir and scriptlet template macros.
build/build.c: Rewrite to use scriptlet templates.
build/files.c: Rename variables to prepare for (possibly) URL's in %files.
build/myftw.c: Use Lstat.
build/parsePreamble.c: Permit URL's in BuildRoot tag if not from spec file.
build/parseSpec.c: ditto
build/parsePrep.c: Add buildsubdir macro.
lib/macro.c: Add url2path (nickname u2p) and verbose macro primitives.
lib/url.c: urlPath returns "" if url is NULL (rpmGenPath memory corruption).

CVS patchset: 3430
CVS date: 1999/11/19 18:19:41
1999-11-19 18:19:41 +00:00
jbj 4e62a322a2 lib/rpmio.c: Implement per-fd layers as a stack, add fdPush/fdPop.
lib/rpmio.c: Add fd{Get,Set}{Io,Fp,Fdno} abstraction wrappers.
lib/rpmio.c: Start rationalizing debug output by using fdbg to display the
	fd layer stack.
rpm.c: Add --nolibio to disable libio if desired.
rpm2cpio.c: Use Fdopen(..., gzdio) and ufdCopy().
build/build.c: Use Fdopen(..., fpio) rather than fdio.
build/files.c: Use Fdopen(..., fpio) rather than ufdio.
build/parseSpec.c: ditto.
lib/macro.c: ditto.
lib/rpmrc.c: ditto
lib/macro.c: Use Fopen(..., ufdio) in isCompressed() rather that fdOpen().
lib/misc.c: ditto.
lib/misc.c: Avoid fstat by using Stat.
build/pack.c: Add persist fdLink() and use fdFree() in package{Sources,Binaries}
build/pack.c: Try to remove the fdDup before cpioBuildArchive() call.
build/pack.c: Use rpmGenPath with %{_builddir}.
build/parsePreamble.c: Use fdSize rather than Stat to get icon file size.
lib/rpmrc.c: ditto
lib/ftp.c: start capturing ufdio layer syserrno/errcookie.

CVS patchset: 3424
CVS date: 1999/11/14 19:15:18
1999-11-14 19:15:18 +00:00
jbj 8ce88756fd Use Fstrerror on ufdio throughut.
rpm.c: add --rmspec to usage output.
build/files.c: use ufdio to permit '%files -f <url>' (untested).
build/pack.c: use ufdio in readRPM(), writeRPM(), and addFileToTag().
build/parsePreamble.c: use ufdio in readIcon().
lib/ftp.c: httpOpen() now takes FD_t ctrl arg to uncouple from u->ctrl.
lib/install.c: usr rpmGenPath() to identify first found url in file path concat.
lib/install.c: permit url's in files[i].relativePath.
lib/macro.c: use ufdio, diddle macros for tmacro standalone build.
lib/macro.c: Create rpmGenPath().
lib/macro.c: diddle macro files path to permit url's.
lib/rpmchecksig.c: use Fopen on fdio.
lib/rpmio.c: replace copyData() with ufdCopy().
lib/rpmio.c: replace httpGetFile() with ufdGetFile().
lib/rpmio.c: add ufdWrite().
lib/rpmio.c: permit 2 simultaneous persistent malloc/open HTTP/1.1 connections.
lib/rpmio.c: Add Lstat(), Stat(), and Access().
lib/rpmio.c: assume paths in syscall stubs are loopback (WRONG).
lib/url.c: add urlPath().

CVS patchset: 3422
CVS date: 1999/11/12 17:20:49
1999-11-12 17:20:49 +00:00
jbj e0b1d0be36 Swap 2nd and 3rd arg to Fread/Fwrite to preserve read/write type return.
Use Fstrerror to retrieve fd->syserrno.
Make ftpFileDoneNeeded per-fd rather than per-url.
Make data fd unique rather than per-url.
Use appropriate protocol commands for ufdio writing.

CVS patchset: 3421
CVS date: 1999/11/10 22:09:49
1999-11-10 22:09:49 +00:00
jbj 7fc3a97733 Add ref/deref/new/fileno/open vectors to FDIO_t.
Hide fdOpen/ufdOpen, use {fdio,ufdio}->open throughout.
url.c: Create ref counted abstract urlinfo type with debugging.
url.c: Rename functions to urlNew/urlFree/urlFreeCache for consistency.
rpmio.c: Create ref counted abstract FD_t type with debugging.
rpmio.c: Create private struct _FD_s type.
cpio.c: Create fd[GS]etCpioPos to preserve FD_t abstraction.

CVS patchset: 3414
CVS date: 1999/11/02 14:33:14
1999-11-02 14:33:14 +00:00
jbj 3d087dcf52 Rename faFoo() routines, use FD_t I/O with fadio cookie throughout.
Try to be URL sensitive on filename arguments throughout.
falloc.c: Eliminate faFile, use FD_t.
falloc.c: preserve abstract FD_t by creating fadGet*()/fadSet*().
macro.c: rpmGetPath() expansions were clobbering URL's.
rpmio.c: create Fcntl(), Pread(), Pwrite() from previous faFoo().
rpmio.c: attempt per FD_t debugging.
rpm.c: permit --dbpath with --rebuild.

CVS patchset: 3408
CVS date: 1999/10/30 21:26:45
1999-10-30 21:26:45 +00:00