- fix: new FILENAMES tags require package index, not pointer in lookups.
- rename new FILENAMES tags to BASENAMES/DIRNAMES/DIRINDEXES.
- fix: don't look at password when searching urlCache.
+ - add contentLength sanity check on rpmdb headerWrite.
3.0.2 -> 3.0.3
- add --eval to find result of macro expansion.
int count = 0, providesCount = 0, requiredbyCount = 0, conflictCount = 0;
int triggerCount = 0;
int type;
+ int newSize;
int rc = 0;
headerGetEntry(dbentry, RPMTAG_NAME, &type, (void **) &name, &count);
blockSignals();
- dboffset = fadAlloc(db->pkgs, headerSizeof(dbentry, HEADER_MAGIC_NO));
+ newSize = headerSizeof(dbentry, HEADER_MAGIC_NO);
+ dboffset = fadAlloc(db->pkgs, newSize);
if (!dboffset) {
rc = 1;
} else {
/* XXX TODO: set max. no. of bytes to write */
(void)Fseek(db->pkgs, dboffset, SEEK_SET);
+ fdSetContentLength(db->pkgs, newSize);
rc = headerWrite(db->pkgs, dbentry, HEADER_MAGIC_NO);
+ fdSetContentLength(db->pkgs, -1);
}
if (rc) {
int rpmdbUpdateRecord(rpmdb db, int offset, Header newHeader)
{
Header oldHeader;
- int oldSize;
+ int oldSize, newSize;
int rc = 0;
oldHeader = doGetRecord(db, offset, 1);
if (_noDirTokens)
expandFilelist(newHeader);
- if (oldSize != headerSizeof(newHeader, HEADER_MAGIC_NO)) {
+ newSize = headerSizeof(newHeader, HEADER_MAGIC_NO);
+ if (oldSize != newSize) {
rpmMessage(RPMMESS_DEBUG, _("header changed size!"));
if (rpmdbRemove(db, offset, 1))
return 1;
/* XXX TODO: set max. no. of bytes to write */
(void)Fseek(db->pkgs, offset, SEEK_SET);
+ fdSetContentLength(db->pkgs, newSize);
rc = headerWrite(db->pkgs, newHeader, HEADER_MAGIC_NO);
+ fdSetContentLength(db->pkgs, -1);
unblockSignals();
}
/*@dependent@*/ /*@null@*/ void * fdGetFp (FD_t fd);
void fdSetFdno(FD_t fd, int fdno);
+void fdSetContentLength(FD_t fd, ssize_t contentLength);
off_t fdSize (FD_t fd);
void fdSetSyserrno(FD_t fd, int syserrno, const void * errcookie);
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 1999-12-10 13:01-0500\n"
+"POT-Creation-Date: 1999-12-10 16:04-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "opening database mode 0x%x in %s\n"
msgstr ""
-#: lib/rpmdb.c:157 lib/url.c:457
+#: lib/rpmdb.c:157 lib/url.c:449
#, c-format
msgid "failed to open %s: %s\n"
msgstr ""
msgid "package has no files\n"
msgstr ""
-#: lib/rpmdb.c:688
+#: lib/rpmdb.c:692
msgid "cannot allocate space for database"
msgstr ""
-#: lib/rpmdb.c:747
+#: lib/rpmdb.c:751
#, c-format
msgid "cannot read header at %d for update"
msgstr ""
-#: lib/rpmdb.c:759
+#: lib/rpmdb.c:764
msgid "header changed size!"
msgstr ""
msgid "Installing %s\n"
msgstr ""
-#: lib/rpmio.c:763
+#: lib/rpmio.c:769
msgid "Success"
msgstr ""
-#: lib/rpmio.c:766
+#: lib/rpmio.c:772
msgid "Bad server response"
msgstr ""
-#: lib/rpmio.c:769
+#: lib/rpmio.c:775
msgid "Server IO error"
msgstr ""
-#: lib/rpmio.c:772
+#: lib/rpmio.c:778
msgid "Server timeout"
msgstr ""
-#: lib/rpmio.c:775
+#: lib/rpmio.c:781
msgid "Unable to lookup server host address"
msgstr ""
-#: lib/rpmio.c:778
+#: lib/rpmio.c:784
msgid "Unable to lookup server host name"
msgstr ""
-#: lib/rpmio.c:781
+#: lib/rpmio.c:787
msgid "Failed to connect to server"
msgstr ""
-#: lib/rpmio.c:784
+#: lib/rpmio.c:790
msgid "Failed to establish data connection to server"
msgstr ""
-#: lib/rpmio.c:787
+#: lib/rpmio.c:793
msgid "IO error to local file"
msgstr ""
-#: lib/rpmio.c:790
+#: lib/rpmio.c:796
msgid "Error setting remote server to passive mode"
msgstr ""
-#: lib/rpmio.c:793
+#: lib/rpmio.c:799
msgid "File not found on server"
msgstr ""
-#: lib/rpmio.c:796
+#: lib/rpmio.c:802
msgid "Abort in progress"
msgstr ""
-#: lib/rpmio.c:800
+#: lib/rpmio.c:806
msgid "Unknown or unexpected error"
msgstr ""
-#: lib/rpmio.c:1323
+#: lib/rpmio.c:1329
#, c-format
msgid "logging into %s as %s, pw %s\n"
msgstr ""
msgid "warning: uCache[%d] %p nrefs(%d) != 1 (%s %s)\n"
msgstr ""
-#: lib/url.c:232
+#: lib/url.c:225
#, c-format
msgid "Password for %s@%s: "
msgstr ""
-#: lib/url.c:258 lib/url.c:284
+#: lib/url.c:250 lib/url.c:276
#, c-format
msgid "error: %sport must be a number\n"
msgstr ""
-#: lib/url.c:421
+#: lib/url.c:413
msgid "url port must be a number\n"
msgstr ""
#. XXX Fstrerror
-#: lib/url.c:480
+#: lib/url.c:472
#, c-format
msgid "failed to create %s: %s\n"
msgstr ""