Panu Matilainen [Thu, 17 Apr 2008 14:33:30 +0000 (17:33 +0300)]
More accurate filtering of .rpmnew etc when reading macros
- strstr() can give false positives, use rpmFileHasSuffix() instead
Panu Matilainen [Thu, 17 Apr 2008 08:09:03 +0000 (11:09 +0300)]
Have gcc check for NULL terminated arglist in rstrscat
Jindrich Novy [Thu, 17 Apr 2008 07:20:20 +0000 (09:20 +0200)]
Use sizeof() instead of direct element count in rpmluaGetVar()
Jindrich Novy [Thu, 17 Apr 2008 07:01:28 +0000 (09:01 +0200)]
Don't copy unknown number of args to buffer of fixed size in initGlobs()
Jindrich Novy [Thu, 17 Apr 2008 06:57:43 +0000 (08:57 +0200)]
Introduce rstrscat()
- concatenates NULL terminated strings to newly (re)allocated memory
- purpose is to prevent overflows caused by writing unknown-sized stuff
to static arrays
Panu Matilainen [Wed, 16 Apr 2008 12:54:40 +0000 (15:54 +0300)]
Fixup leftovers from lua/local -> luaext/ move
Panu Matilainen [Wed, 16 Apr 2008 12:52:06 +0000 (15:52 +0300)]
Document external Lua requirement
Panu Matilainen [Wed, 16 Apr 2008 12:35:09 +0000 (15:35 +0300)]
Convert to Lua 5.1 library loading style
- luaL_openlibs() to pull in all standard libs
- local extensions need to be registered by calling through Lua
Panu Matilainen [Wed, 16 Apr 2008 12:25:26 +0000 (15:25 +0300)]
Add modemuncher + lua init stuff to extra dist
- modemuncher.c gets included from lposix.c, urks
Panu Matilainen [Wed, 16 Apr 2008 12:13:25 +0000 (15:13 +0300)]
Start phasing out internal copy of Lua
- don't build internal copy of Lua
- move 3rd party extensions (posix and rexlib) to toplevel luaext/
directory, built by default (unless --without-lua specified)
- auto*foo checks for external Lua
- minimal tweaks to lposix.c and rpmlua.c to get them build with Lua 5.1
Jindrich Novy [Wed, 16 Apr 2008 11:40:05 +0000 (13:40 +0200)]
Don't use mktemp(), we are sure mkstemp() is available now
Jindrich Novy [Wed, 16 Apr 2008 11:01:06 +0000 (13:01 +0200)]
Require mkstemp()
- mktemp() and tempnam() are dangerous
Jindrich Novy [Wed, 16 Apr 2008 09:16:31 +0000 (11:16 +0200)]
Kill queryHeader(), it is not used and buggy
Jindrich Novy [Wed, 16 Apr 2008 08:24:02 +0000 (10:24 +0200)]
Kill useless initialization to "(unkown error)"
Panu Matilainen [Wed, 16 Apr 2008 08:20:03 +0000 (11:20 +0300)]
Plug a memleak from pgpHexStr() in showQueryPackage()
- fmd5 is only needed in a single place, move alloc+free there to avoid
having to deal with the umphteen continue cases
Jindrich Novy [Wed, 16 Apr 2008 08:11:37 +0000 (10:11 +0200)]
Don't try to print buf if it's empty
Jindrich Novy [Wed, 16 Apr 2008 07:37:55 +0000 (09:37 +0200)]
Remove insecure hacks in query.c
- remove useless flushBuffer() function
- update printFileInfo() to not to write to unknown sized buffer,
but to print stuff which is its sole purpose
Jindrich Novy [Wed, 16 Apr 2008 06:28:11 +0000 (08:28 +0200)]
Remove useless statements from showQueryPackage()
Panu Matilainen [Wed, 16 Apr 2008 07:17:19 +0000 (10:17 +0300)]
Make headerNVR() just a special case of headerNEVRA()
Panu Matilainen [Wed, 16 Apr 2008 07:10:25 +0000 (10:10 +0300)]
Oops, only free if allocated ;)
Panu Matilainen [Wed, 16 Apr 2008 07:06:56 +0000 (10:06 +0300)]
Plug a memory leak in armorFormat()
Panu Matilainen [Tue, 15 Apr 2008 15:52:42 +0000 (18:52 +0300)]
Doxygen parameter name mismatch
Jindrich Novy [Tue, 15 Apr 2008 15:35:13 +0000 (17:35 +0200)]
Get rid of string hackery and overflows while rpm -V
Panu Matilainen [Tue, 15 Apr 2008 14:26:15 +0000 (17:26 +0300)]
Plug a memleak in pgpArmorWrap()
Jindrich Novy [Tue, 15 Apr 2008 14:30:58 +0000 (16:30 +0200)]
Introduce rstrcat()
Panu Matilainen [Tue, 15 Apr 2008 10:27:43 +0000 (13:27 +0300)]
Make find-lang.sh --with-man brp-compress friendly (rhbz#440994)
Patch from Ville Skyttä
Panu Matilainen [Tue, 15 Apr 2008 10:13:40 +0000 (13:13 +0300)]
Don't exempt *.jar.so.debug from buildroot checks (rhbz#442264)
- jar-kludge no longer necessary...
Patch from Ville Skyttä
Jindrich Novy [Tue, 15 Apr 2008 07:47:38 +0000 (09:47 +0200)]
Remove rhnplatform, cvsid/svnid, serial and copyright tag from rpmbuild
Panu Matilainen [Tue, 15 Apr 2008 06:16:05 +0000 (09:16 +0300)]
Abort build on unknown payload compressor
- explicitly check for supported rpmio names, bail if not supported
Panu Matilainen [Mon, 14 Apr 2008 16:32:51 +0000 (19:32 +0300)]
Avoid unnecessary rpmio_flags alloc+free in psm
Panu Matilainen [Mon, 14 Apr 2008 15:15:39 +0000 (18:15 +0300)]
Fix indentation, no functional changes
Panu Matilainen [Mon, 14 Apr 2008 15:13:06 +0000 (18:13 +0300)]
Remove glibc upgrade-helper kludge, only necessary for some ancient RHEL
Panu Matilainen [Mon, 14 Apr 2008 15:12:18 +0000 (18:12 +0300)]
Lose useless variable
Panu Matilainen [Mon, 14 Apr 2008 14:45:09 +0000 (17:45 +0300)]
Split scriptlet execv() preparations to separate function
- runScript() is way too big and still is, but this helps a bit...
Panu Matilainen [Mon, 14 Apr 2008 13:22:28 +0000 (16:22 +0300)]
Use argvAddNum() for passing package count numbers for scriptlets
Panu Matilainen [Mon, 14 Apr 2008 13:21:40 +0000 (16:21 +0300)]
Add argvAddNum() for adding integers to ARGV_t arrays
Panu Matilainen [Mon, 14 Apr 2008 13:01:06 +0000 (16:01 +0300)]
Use ARGV_t for passing around scriptlet args psm internally
- simplifies allocation and freeing while getting rid of alloca()'s
- runScript() needs to add arguments anyway, might as well pass in something
that *can* be modified without having play games with partial const,
partial alloca() contents in the argv
- removes the need for passing argc around
- (unrelated) move fi->h NULL check in runScript() to beginning *before*
we trie to access it, duh...
Panu Matilainen [Mon, 14 Apr 2008 12:58:10 +0000 (15:58 +0300)]
Add argvNew() to create an empty argv array
- yes it's silly ;)
Panu Matilainen [Mon, 14 Apr 2008 11:35:34 +0000 (14:35 +0300)]
Avoid redundant script name formatting
- remove two points of return to simplify allocations..
Panu Matilainen [Mon, 14 Apr 2008 11:33:23 +0000 (14:33 +0300)]
Reduce #ifdef clutter
Panu Matilainen [Mon, 14 Apr 2008 11:31:51 +0000 (14:31 +0300)]
Streamline lua scriptlet name formatting - just do it once
Panu Matilainen [Mon, 14 Apr 2008 11:29:07 +0000 (14:29 +0300)]
Move legacy prefix compat thing out of the loop
- additionally fix indentation, move block local variable def there...
Panu Matilainen [Mon, 14 Apr 2008 11:27:29 +0000 (14:27 +0300)]
Don't bother calculating max prefix lengths
- no longer needed, prefixBuf is dynamically allocated as needed
Jindrich Novy [Mon, 14 Apr 2008 11:07:58 +0000 (13:07 +0200)]
Prevent buffer overflow in readKeys()
Jindrich Novy [Fri, 11 Apr 2008 13:52:56 +0000 (15:52 +0200)]
Use dynamic allocation in rpmlibNeedsFeature()
Jindrich Novy [Fri, 11 Apr 2008 13:44:04 +0000 (15:44 +0200)]
Don't warn about BuildRoot being "/" while it is actually empty
Panu Matilainen [Fri, 11 Apr 2008 08:45:35 +0000 (11:45 +0300)]
Simplify url retrieval in rpmInstall()
- use rpmMkTemp() instead of manual kludgery to static buffer
Panu Matilainen [Fri, 11 Apr 2008 08:18:25 +0000 (11:18 +0300)]
Simplify url io a lot
- move urlhelper call to urlGetFile()
- have urlOpen() call urlGetFile() instead of going the other way around
and causing local copies and all sorts of craziness in the process
Panu Matilainen [Fri, 11 Apr 2008 06:38:44 +0000 (09:38 +0300)]
Remove #ifdef NOTYET junk
Panu Matilainen [Fri, 11 Apr 2008 06:05:05 +0000 (09:05 +0300)]
Rewrite rpmMkTempFile() for sanity
- Actually use mkstemp() for creating the temp file and return a FD_t
dupped from the file descriptor returned by mkstemp().
- Simplify the interface while at it.
- Change callers for the new interface.
- Yes we now require mkstemp() to work, mkstemp() is in POSIX.1-2001 and
this is year 2008...
Panu Matilainen [Thu, 10 Apr 2008 16:36:03 +0000 (19:36 +0300)]
First crack at adding ISA provides to packages (rhbz#235755)
- Horrible kludgery to get the isa names and bits into platform specific
macros from installplatform script. That beast needs to die. I mean really
- In build, add provides: name(isa) = evr automatically when it makes
sense (similarly to name = evr provides). ISA consists of ISA name and
bitness (or wordsize). This can be used to correctly
express multilib dependencies without resorting to (expensive!) file
dependency kludges, eg for dlopen()'ed libraries where automatic
dep extraction doesn't force dependency on 32bit vs 64bit version, you
can now use:
Requires: foo-plugin%{?_isa}
This expands to foo-plugin(x86-32) for i?86 packages, foo-plugin(x86-64)
to x86_64 etc, and permits spec to be shared with older distros which
don't have ISA provides.
- The same could be expressed with "canon arch" just as well, but
using the ISA to differentiate from %_arch and the like:
eg i386 could be used instead of x86-32 but it's overloaded with meanings
(the actual i386 processor vs i386 compatible cpu family etc)
Panu Matilainen [Thu, 10 Apr 2008 13:07:47 +0000 (16:07 +0300)]
Avoid exporting providePackageNVR() in the library
Panu Matilainen [Thu, 10 Apr 2008 13:04:12 +0000 (16:04 +0300)]
Just call legacyRetrofit() instead of combined compress + provide retrofits
Panu Matilainen [Thu, 10 Apr 2008 12:52:36 +0000 (15:52 +0300)]
Add a static, far simpler addPackageProvides() to build
- use instead of providePackageNVR() which needs to deal with all sorts
of hysteric "rpm 3.0.2 did this but 3.0.5 didn't" issues
Jindrich Novy [Thu, 10 Apr 2008 12:42:50 +0000 (14:42 +0200)]
Call rpmReadConfigFiles() in rpm2cpio so that rpm2cpio won't complain like:
warning: Unknown system: (null)
warning: Please contact rpm-maint@lists.rpm.org
Panu Matilainen [Thu, 10 Apr 2008 08:25:59 +0000 (11:25 +0300)]
Remove unnecessary providePackageNVR() from writeRPM()
- packageBinaries() already calls providePackageNVR(), no need to do it twice
Panu Matilainen [Thu, 10 Apr 2008 08:19:40 +0000 (11:19 +0300)]
Unbreak srpm generation broken by
6c4b0cbd93709a0fa18af1ef07af44da585bb5f6
- cpio path in source packages is the basename of the file, make this
obvious by using basename() instead of pointer games
Jindrich Novy [Wed, 9 Apr 2008 11:05:45 +0000 (13:05 +0200)]
Don't use stack allocations in rpm2cpio when not needed
Panu Matilainen [Wed, 9 Apr 2008 10:54:39 +0000 (13:54 +0300)]
Replace alloca+memset with xcalloc() in rpmdbRemove()
- return value is suspect: should return "ret" instead of 0 at exit
depending on what happened in removal but preserving previous behavior
for now...
Panu Matilainen [Wed, 9 Apr 2008 10:48:00 +0000 (13:48 +0300)]
Replace alloca+memset with xcalloc() in rpmdbAdd()
Panu Matilainen [Wed, 9 Apr 2008 10:47:29 +0000 (13:47 +0300)]
Replace alloca+memset with xcalloc() in rpmdbCountPackages()
Panu Matilainen [Wed, 9 Apr 2008 10:33:23 +0000 (13:33 +0300)]
Tonne of indentation + other formatting corrections to rpmdb.c
- no functional changes
Panu Matilainen [Wed, 9 Apr 2008 10:19:26 +0000 (13:19 +0300)]
Remove dead code
Panu Matilainen [Wed, 9 Apr 2008 10:17:01 +0000 (13:17 +0300)]
Report full nevra in rpmdb remove debug message
Panu Matilainen [Wed, 9 Apr 2008 09:47:03 +0000 (12:47 +0300)]
Plug memleak from signature verification now returning malloced msg
Panu Matilainen [Wed, 9 Apr 2008 09:36:38 +0000 (12:36 +0300)]
Simplify addTE()
- eliminate wtf parsing of NEVR string which doesn't actually handle epoch
- use NEVR and NEVRA formatting from headerGetN*() instead of doubling the
work here
Panu Matilainen [Wed, 9 Apr 2008 09:17:36 +0000 (12:17 +0300)]
Make headerGetNEVRA() return "src" as the arch of source packages
Panu Matilainen [Wed, 9 Apr 2008 08:17:43 +0000 (11:17 +0300)]
Initialize pointers, lowercase local variable
Panu Matilainen [Wed, 9 Apr 2008 08:16:24 +0000 (11:16 +0300)]
Rewrite headerGetN*() for simplicity
- eliminate stpcpy() games
- reuse evr formatting from headerGetEVR() instead of doing it over and
over again everywhere
Jindrich Novy [Wed, 9 Apr 2008 08:10:17 +0000 (10:10 +0200)]
Fix buffer overflow in verifyDSASignature()
- caused by assumption that sizeof(size_t) is always 4 (credited to jbj)
Panu Matilainen [Wed, 9 Apr 2008 07:37:34 +0000 (10:37 +0300)]
Replace bunch of wtf evr formatters with headerGetNVR()
Panu Matilainen [Wed, 9 Apr 2008 07:36:29 +0000 (10:36 +0300)]
Add headerGetEVR() convenience function
- return formatted evr string + optionally pointer to name
Panu Matilainen [Wed, 9 Apr 2008 07:32:44 +0000 (10:32 +0300)]
Make headerNEVRA() actually return epoch too
- ...but epoch is an integer type in headers, change proto to match that
Panu Matilainen [Wed, 9 Apr 2008 06:00:44 +0000 (09:00 +0300)]
And one more url->path rename for local variable...
Panu Matilainen [Wed, 9 Apr 2008 05:58:46 +0000 (08:58 +0300)]
Rip the last remaining disk/file URL stuff in processSourceFiles()
Panu Matilainen [Wed, 9 Apr 2008 05:56:27 +0000 (08:56 +0300)]
And more url ripping in build internals... (addFile)
Panu Matilainen [Wed, 9 Apr 2008 05:37:15 +0000 (08:37 +0300)]
URL -> path renames continued... (build internal)
Panu Matilainen [Wed, 9 Apr 2008 05:25:46 +0000 (08:25 +0300)]
Rename FileListRec_s disk + cpio path variables
- on-disk is diskPath, rename previous fileURL to cpioPath to make it
more obvious it's the path in the package cpio
- neither is an URL
Panu Matilainen [Fri, 4 Apr 2008 17:37:48 +0000 (20:37 +0300)]
Yet more url ripping - buildroot is never an url
- this is a bit nasty as it changes public interfaces but rename to make
it explicit they're just plain paths, not urls
Panu Matilainen [Wed, 9 Apr 2008 05:17:48 +0000 (08:17 +0300)]
Remove remote host stuff from build doScript()
Panu Matilainen [Fri, 4 Apr 2008 16:53:40 +0000 (19:53 +0300)]
More url-path ripping in build/
- processBinaryFile() and processMetadataFile() don't need steenking urls
Panu Matilainen [Tue, 8 Apr 2008 14:15:32 +0000 (17:15 +0300)]
Whoops.. gpg-pubkey "release" on import got busted accidentally
Panu Matilainen [Tue, 8 Apr 2008 12:36:46 +0000 (15:36 +0300)]
Simplify rpmtsImportPubkey() a bit
Jindrich Novy [Tue, 8 Apr 2008 11:48:39 +0000 (13:48 +0200)]
Rewrite pgpArmorWrap(), the former one was insecure/hackish
Panu Matilainen [Tue, 8 Apr 2008 11:11:47 +0000 (14:11 +0300)]
Collapse unknown / unsupport RSA sigtypes into one fallthrough
Panu Matilainen [Tue, 8 Apr 2008 11:06:07 +0000 (14:06 +0300)]
verifyRSASignature() buffer & other fixes
- avoid stpcpy() into static sized buffer
- avoid potential sigp NULL-dereferences
Panu Matilainen [Tue, 8 Apr 2008 10:27:59 +0000 (13:27 +0300)]
verifyDSASignature() buffer & other fixes
- avoid stpcpy() into static sized buffer
- avoid potential sigp NULL-dereference
Panu Matilainen [Tue, 8 Apr 2008 10:23:01 +0000 (13:23 +0300)]
verifyDSASignature() buffer & other fixes
- avoid stpcpy() into static sized buffer
- avoid potential sigp NULL-dereference
Panu Matilainen [Tue, 8 Apr 2008 09:35:36 +0000 (12:35 +0300)]
Eliminate four copy-paste versions of nibble(), stick to rpmstring.h
- the one in signature.c wasn't even used...
Panu Matilainen [Mon, 7 Apr 2008 13:13:29 +0000 (16:13 +0300)]
Eep, fix bunch of segfaults and other fun from previous commits
- leftover stpcpy()'s to non-malloced addresses and other "minor"
issues in verify*Signature() stpcpy() elimination ;)
Panu Matilainen [Mon, 7 Apr 2008 12:07:08 +0000 (15:07 +0300)]
Avoid stpcpy() to static sized buffer in verifySizeSignature()
Panu Matilainen [Mon, 7 Apr 2008 12:01:49 +0000 (15:01 +0300)]
Avoid stpcpy() to static sized buffer in verifyMD5Signature()
Panu Matilainen [Mon, 7 Apr 2008 11:55:36 +0000 (14:55 +0300)]
Avoid stpcpy() to static sized buffer in verifySHA1Signature()
Panu Matilainen [Mon, 7 Apr 2008 11:04:00 +0000 (14:04 +0300)]
Eliminate several copy-paste hex converters, use pgpHexStr() instead
Panu Matilainen [Mon, 7 Apr 2008 10:51:20 +0000 (13:51 +0300)]
Uh, return allocated pointer, not the end of string...
Panu Matilainen [Mon, 7 Apr 2008 10:37:56 +0000 (13:37 +0300)]
Remove static print buffer from pgpMpiStr(), return malloc'd data instead
- convert callers
- only rpmpgp.c internal needs, move it there and make static?
Panu Matilainen [Mon, 7 Apr 2008 10:29:48 +0000 (13:29 +0300)]
Merge pgpHexCvt() into pgpHexPrt(), removing it from public headers
Panu Matilainen [Mon, 7 Apr 2008 10:26:46 +0000 (13:26 +0300)]
Minimally convert all pgpHexCvt() users to use pgpHexStr() instead
Panu Matilainen [Mon, 7 Apr 2008 10:02:18 +0000 (13:02 +0300)]
Remove static print buffer from pgpHexStr, return malloc'ed memory instead
- inlined to get xmalloc() from system.h for consistent malloc fail behavior
- convert callers for new behavior, apart from some debug fprintf()'s
Panu Matilainen [Mon, 7 Apr 2008 09:35:37 +0000 (12:35 +0300)]
argvPrint() doesn't modify argv, make it const