@@ -18,7 +18,8 @@ def setup():
|
|||||||
#pisitools.dosed("configure.ac", "fontforge_package_name", "fontforge")
|
#pisitools.dosed("configure.ac", "fontforge_package_name", "fontforge")
|
||||||
shelltools.system("./bootstrap --force")
|
shelltools.system("./bootstrap --force")
|
||||||
|
|
||||||
autotools.configure("--without-libuninameslist")
|
autotools.configure("--without-libuninameslist \
|
||||||
|
--disable-static")
|
||||||
|
|
||||||
pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ")
|
pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ")
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,7 @@
|
|||||||
<Dependency>kxmlgui</Dependency>
|
<Dependency>kxmlgui</Dependency>
|
||||||
<Dependency versionFrom="5.7.1">qt5-declarative</Dependency>
|
<Dependency versionFrom="5.7.1">qt5-declarative</Dependency>
|
||||||
<Dependency>knewstuff</Dependency>
|
<Dependency>knewstuff</Dependency>
|
||||||
|
<Dependency>appstream-qt5</Dependency>
|
||||||
</RuntimeDependencies>
|
</RuntimeDependencies>
|
||||||
<Files>
|
<Files>
|
||||||
<Path fileType="config">/etc</Path>
|
<Path fileType="config">/etc</Path>
|
||||||
@@ -93,6 +94,13 @@
|
|||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<History>
|
||||||
|
<Update release="37">
|
||||||
|
<Date>2019-11-15</Date>
|
||||||
|
<Version>5.16.5</Version>
|
||||||
|
<Comment>Rebuild.</Comment>
|
||||||
|
<Name>Mustafa Cinasal</Name>
|
||||||
|
<Email>muscnsl@gmail.com</Email>
|
||||||
|
</Update>
|
||||||
<Update release="36">
|
<Update release="36">
|
||||||
<Date>2019-09-15</Date>
|
<Date>2019-09-15</Date>
|
||||||
<Version>5.16.5</Version>
|
<Version>5.16.5</Version>
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
<Archive sha1sum="c15f3e2597f366b716536d6881c4fc363facd53d" type="tarxz">mirrors://kde/stable/plasma/5.16.5/kde-gtk-config-5.16.5.tar.xz</Archive>
|
<Archive sha1sum="c15f3e2597f366b716536d6881c4fc363facd53d" type="tarxz">mirrors://kde/stable/plasma/5.16.5/kde-gtk-config-5.16.5.tar.xz</Archive>
|
||||||
<BuildDependencies>
|
<BuildDependencies>
|
||||||
<Dependency versionFrom="5.7.1">qt5-base-devel</Dependency>
|
<Dependency versionFrom="5.7.1">qt5-base-devel</Dependency>
|
||||||
|
<Dependency versionFrom="5.7.1">qt5-svg-devel</Dependency>
|
||||||
<Dependency>libX11-devel</Dependency>
|
<Dependency>libX11-devel</Dependency>
|
||||||
<Dependency>kio-devel</Dependency>
|
<Dependency>kio-devel</Dependency>
|
||||||
<Dependency>glib2-devel</Dependency>
|
<Dependency>glib2-devel</Dependency>
|
||||||
@@ -43,6 +44,7 @@
|
|||||||
<Name>kde-gtk-config</Name>
|
<Name>kde-gtk-config</Name>
|
||||||
<RuntimeDependencies>
|
<RuntimeDependencies>
|
||||||
<Dependency versionFrom="5.7.1">qt5-base</Dependency>
|
<Dependency versionFrom="5.7.1">qt5-base</Dependency>
|
||||||
|
<Dependency versionFrom="5.7.1">qt5-svg</Dependency>
|
||||||
<Dependency>kconfig</Dependency>
|
<Dependency>kconfig</Dependency>
|
||||||
<Dependency>glib2</Dependency>
|
<Dependency>glib2</Dependency>
|
||||||
<Dependency>kio</Dependency>
|
<Dependency>kio</Dependency>
|
||||||
@@ -70,6 +72,13 @@
|
|||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<History>
|
||||||
|
<Update release="35">
|
||||||
|
<Date>2019-11-15</Date>
|
||||||
|
<Version>5.16.5</Version>
|
||||||
|
<Comment>Rebuild.</Comment>
|
||||||
|
<Name>Mustafa Cinasal</Name>
|
||||||
|
<Email>muscnsl@gmail.com</Email>
|
||||||
|
</Update>
|
||||||
<Update release="34">
|
<Update release="34">
|
||||||
<Date>2019-09-15</Date>
|
<Date>2019-09-15</Date>
|
||||||
<Version>5.16.5</Version>
|
<Version>5.16.5</Version>
|
||||||
|
|||||||
@@ -38,6 +38,7 @@
|
|||||||
<Dependency>docbook-xsl</Dependency>
|
<Dependency>docbook-xsl</Dependency>
|
||||||
<Dependency versionFrom="5.16.5">khotkeys</Dependency>
|
<Dependency versionFrom="5.16.5">khotkeys</Dependency>
|
||||||
<Dependency>extra-cmake-modules</Dependency>
|
<Dependency>extra-cmake-modules</Dependency>
|
||||||
|
<Dependency>kitemviews-devel</Dependency>
|
||||||
</BuildDependencies>
|
</BuildDependencies>
|
||||||
</Source>
|
</Source>
|
||||||
|
|
||||||
@@ -59,6 +60,7 @@
|
|||||||
<Dependency>kio</Dependency>
|
<Dependency>kio</Dependency>
|
||||||
<Dependency>kxmlgui</Dependency>
|
<Dependency>kxmlgui</Dependency>
|
||||||
<Dependency>sonnet</Dependency>
|
<Dependency>sonnet</Dependency>
|
||||||
|
<Dependency>kitemviews</Dependency>
|
||||||
</RuntimeDependencies>
|
</RuntimeDependencies>
|
||||||
<Files>
|
<Files>
|
||||||
<Path fileType="config">/etc/xdg</Path>
|
<Path fileType="config">/etc/xdg</Path>
|
||||||
@@ -73,6 +75,13 @@
|
|||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<History>
|
||||||
|
<Update release="35">
|
||||||
|
<Date>2019-11-15</Date>
|
||||||
|
<Version>5.16.5</Version>
|
||||||
|
<Comment>Rebuild.</Comment>
|
||||||
|
<Name>Mustafa Cinasal</Name>
|
||||||
|
<Email>muscnsl@gmail.com</Email>
|
||||||
|
</Update>
|
||||||
<Update release="34">
|
<Update release="34">
|
||||||
<Date>2019-09-15</Date>
|
<Date>2019-09-15</Date>
|
||||||
<Version>5.16.5</Version>
|
<Version>5.16.5</Version>
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
<Description>KDE5 system monitor daemon and service.</Description>
|
<Description>KDE5 system monitor daemon and service.</Description>
|
||||||
<Archive sha1sum="b6956504eac3ee77e0a2a534b0f449d37bf03c55" type="tarxz">mirrors://kde/stable/plasma/5.16.5/ksysguard-5.16.5.tar.xz</Archive>
|
<Archive sha1sum="b6956504eac3ee77e0a2a534b0f449d37bf03c55" type="tarxz">mirrors://kde/stable/plasma/5.16.5/ksysguard-5.16.5.tar.xz</Archive>
|
||||||
<BuildDependencies>
|
<BuildDependencies>
|
||||||
|
<Dependency>libpcap-devel</Dependency>
|
||||||
<Dependency>kcompletion-devel</Dependency>
|
<Dependency>kcompletion-devel</Dependency>
|
||||||
<Dependency>kconfig-devel</Dependency>
|
<Dependency>kconfig-devel</Dependency>
|
||||||
<Dependency>kconfigwidgets-devel</Dependency>
|
<Dependency>kconfigwidgets-devel</Dependency>
|
||||||
@@ -50,6 +51,7 @@
|
|||||||
<Package>
|
<Package>
|
||||||
<Name>ksysguard</Name>
|
<Name>ksysguard</Name>
|
||||||
<RuntimeDependencies>
|
<RuntimeDependencies>
|
||||||
|
<Dependency>libpcap</Dependency>
|
||||||
<Dependency>icon-theme-hicolor</Dependency>
|
<Dependency>icon-theme-hicolor</Dependency>
|
||||||
<Dependency>kcompletion</Dependency>
|
<Dependency>kcompletion</Dependency>
|
||||||
<Dependency>kconfig</Dependency>
|
<Dependency>kconfig</Dependency>
|
||||||
@@ -85,6 +87,13 @@
|
|||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<History>
|
||||||
|
<Update release="36">
|
||||||
|
<Date>2019-11-15</Date>
|
||||||
|
<Version>5.16.5</Version>
|
||||||
|
<Comment>Rebuild.</Comment>
|
||||||
|
<Name>Mustafa Cinasal</Name>
|
||||||
|
<Email>muscnsl@gmail.com</Email>
|
||||||
|
</Update>
|
||||||
<Update release="35">
|
<Update release="35">
|
||||||
<Date>2019-09-15</Date>
|
<Date>2019-09-15</Date>
|
||||||
<Version>5.16.5</Version>
|
<Version>5.16.5</Version>
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
<Description>Provides integration plugins for various KDE frameworks for the wayland windowing system</Description>
|
<Description>Provides integration plugins for various KDE frameworks for the wayland windowing system</Description>
|
||||||
<Archive sha1sum="891816efd92eaa670aa5a8c89553988e2a306a27" type="tarxz">mirrors://kde/stable/plasma/5.16.5/kwayland-integration-5.16.5.tar.xz</Archive>
|
<Archive sha1sum="891816efd92eaa670aa5a8c89553988e2a306a27" type="tarxz">mirrors://kde/stable/plasma/5.16.5/kwayland-integration-5.16.5.tar.xz</Archive>
|
||||||
<BuildDependencies>
|
<BuildDependencies>
|
||||||
|
<Dependency>kguiaddons-devel</Dependency>
|
||||||
<Dependency>kwayland-devel</Dependency>
|
<Dependency>kwayland-devel</Dependency>
|
||||||
<Dependency versionFrom="5.7.1">qt5-base-devel</Dependency>
|
<Dependency versionFrom="5.7.1">qt5-base-devel</Dependency>
|
||||||
<Dependency>kwindowsystem-devel</Dependency>
|
<Dependency>kwindowsystem-devel</Dependency>
|
||||||
@@ -30,6 +31,7 @@
|
|||||||
<Dependency>kwindowsystem</Dependency>
|
<Dependency>kwindowsystem</Dependency>
|
||||||
<Dependency>libgcc</Dependency>
|
<Dependency>libgcc</Dependency>
|
||||||
<Dependency versionFrom="5.7.1">qt5-base</Dependency>
|
<Dependency versionFrom="5.7.1">qt5-base</Dependency>
|
||||||
|
<Dependency>kguiaddons</Dependency>
|
||||||
</RuntimeDependencies>
|
</RuntimeDependencies>
|
||||||
<Files>
|
<Files>
|
||||||
<Path fileType="library">/usr/lib</Path>
|
<Path fileType="library">/usr/lib</Path>
|
||||||
@@ -39,6 +41,13 @@
|
|||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<History>
|
||||||
|
<Update release="35">
|
||||||
|
<Date>2019-11-15</Date>
|
||||||
|
<Version>5.16.5</Version>
|
||||||
|
<Comment>Version bump.</Comment>
|
||||||
|
<Name>Mustafa Cinasal</Name>
|
||||||
|
<Email>muscnsl@gmail.com</Email>
|
||||||
|
</Update>
|
||||||
<Update release="34">
|
<Update release="34">
|
||||||
<Date>2019-09-15</Date>
|
<Date>2019-09-15</Date>
|
||||||
<Version>5.16.5</Version>
|
<Version>5.16.5</Version>
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
<Dependency>kservice-devel</Dependency>
|
<Dependency>kservice-devel</Dependency>
|
||||||
<Dependency>kcoreaddons-devel</Dependency>
|
<Dependency>kcoreaddons-devel</Dependency>
|
||||||
<Dependency>extra-cmake-modules</Dependency>
|
<Dependency>extra-cmake-modules</Dependency>
|
||||||
|
<Dependency>kitemmodels-devel</Dependency>
|
||||||
</BuildDependencies>
|
</BuildDependencies>
|
||||||
</Source>
|
</Source>
|
||||||
|
|
||||||
@@ -40,6 +41,7 @@
|
|||||||
<Dependency>kconfig</Dependency>
|
<Dependency>kconfig</Dependency>
|
||||||
<Dependency>kservice</Dependency>
|
<Dependency>kservice</Dependency>
|
||||||
<Dependency>kcoreaddons</Dependency>
|
<Dependency>kcoreaddons</Dependency>
|
||||||
|
<Dependency>kitemmodels</Dependency>
|
||||||
</RuntimeDependencies>
|
</RuntimeDependencies>
|
||||||
<Files>
|
<Files>
|
||||||
<Path fileType="data">/usr/share</Path>
|
<Path fileType="data">/usr/share</Path>
|
||||||
@@ -52,6 +54,13 @@
|
|||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<History>
|
||||||
|
<Update release="35">
|
||||||
|
<Date>2019-11-15</Date>
|
||||||
|
<Version>5.16.5</Version>
|
||||||
|
<Comment>Rebuild.</Comment>
|
||||||
|
<Name>Mustafa Cinasal</Name>
|
||||||
|
<Email>muscnsl@gmail.com</Email>
|
||||||
|
</Update>
|
||||||
<Update release="34">
|
<Update release="34">
|
||||||
<Date>2019-09-15</Date>
|
<Date>2019-09-15</Date>
|
||||||
<Version>5.16.5</Version>
|
<Version>5.16.5</Version>
|
||||||
|
|||||||
@@ -81,6 +81,7 @@
|
|||||||
<Dependency>kconfigwidgets</Dependency>
|
<Dependency>kconfigwidgets</Dependency>
|
||||||
<Dependency>knotifications</Dependency>
|
<Dependency>knotifications</Dependency>
|
||||||
<Dependency>kwidgetsaddons</Dependency>
|
<Dependency>kwidgetsaddons</Dependency>
|
||||||
|
<Dependency>NetworkManager</Dependency>
|
||||||
</RuntimeDependencies>
|
</RuntimeDependencies>
|
||||||
<Files>
|
<Files>
|
||||||
<Path fileType="data">/usr/share</Path>
|
<Path fileType="data">/usr/share</Path>
|
||||||
@@ -93,6 +94,13 @@
|
|||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<History>
|
||||||
|
<Update release="38">
|
||||||
|
<Date>2019-11-15</Date>
|
||||||
|
<Version>5.16.5</Version>
|
||||||
|
<Comment>Rebuild.</Comment>
|
||||||
|
<Name>Mustafa Cinasal</Name>
|
||||||
|
<Email>muscnsl@gmail.com</Email>
|
||||||
|
</Update>
|
||||||
<Update release="37">
|
<Update release="37">
|
||||||
<Date>2019-10-26</Date>
|
<Date>2019-10-26</Date>
|
||||||
<Version>5.16.5</Version>
|
<Version>5.16.5</Version>
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
<Dependency>docbook-xsl</Dependency>
|
<Dependency>docbook-xsl</Dependency>
|
||||||
<Dependency>extra-cmake-modules</Dependency>
|
<Dependency>extra-cmake-modules</Dependency>
|
||||||
<Dependency>kirigami-devel</Dependency>
|
<Dependency>kirigami-devel</Dependency>
|
||||||
|
<Dependency>knotifications-devel</Dependency>
|
||||||
</BuildDependencies>
|
</BuildDependencies>
|
||||||
</Source>
|
</Source>
|
||||||
|
|
||||||
@@ -48,7 +49,8 @@
|
|||||||
<Dependency>gconf</Dependency>
|
<Dependency>gconf</Dependency>
|
||||||
<Dependency>glib2</Dependency>
|
<Dependency>glib2</Dependency>
|
||||||
<Dependency>libcanberra</Dependency>
|
<Dependency>libcanberra</Dependency>
|
||||||
<Dependency>pulseaudio-libs</Dependency>
|
<Dependency>pulseaudio-libs</Dependency>
|
||||||
|
<Dependency>knotifications</Dependency>
|
||||||
</RuntimeDependencies>
|
</RuntimeDependencies>
|
||||||
<Files>
|
<Files>
|
||||||
<Path fileType="data">/usr/share</Path>
|
<Path fileType="data">/usr/share</Path>
|
||||||
@@ -62,6 +64,13 @@
|
|||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<History>
|
||||||
|
<Update release="35">
|
||||||
|
<Date>2019-11-15</Date>
|
||||||
|
<Version>5.16.5</Version>
|
||||||
|
<Comment>Rebuild.</Comment>
|
||||||
|
<Name>Mustafa Cinasal</Name>
|
||||||
|
<Email>muscnsl@gmail.com</Email>
|
||||||
|
</Update>
|
||||||
<Update release="34">
|
<Update release="34">
|
||||||
<Date>2019-09-15</Date>
|
<Date>2019-09-15</Date>
|
||||||
<Version>5.16.5</Version>
|
<Version>5.16.5</Version>
|
||||||
|
|||||||
@@ -18,7 +18,9 @@
|
|||||||
<BuildDependencies>
|
<BuildDependencies>
|
||||||
<Dependency>iso-codes</Dependency>
|
<Dependency>iso-codes</Dependency>
|
||||||
<Dependency>baloo-devel</Dependency>
|
<Dependency>baloo-devel</Dependency>
|
||||||
|
<Dependency>kpeople-devel</Dependency>
|
||||||
<Dependency>ki18n-devel</Dependency>
|
<Dependency>ki18n-devel</Dependency>
|
||||||
|
<Dependency>kactivities-stats-devel</Dependency>
|
||||||
<Dependency>kactivities-devel</Dependency>
|
<Dependency>kactivities-devel</Dependency>
|
||||||
<Dependency>kcmutils-devel</Dependency>
|
<Dependency>kcmutils-devel</Dependency>
|
||||||
<Dependency>kcrash-devel</Dependency>
|
<Dependency>kcrash-devel</Dependency>
|
||||||
@@ -101,7 +103,9 @@
|
|||||||
<Dependency versionFrom="5.16.5">kactivitymanagerd</Dependency>
|
<Dependency versionFrom="5.16.5">kactivitymanagerd</Dependency>
|
||||||
<Dependency>cln</Dependency>
|
<Dependency>cln</Dependency>
|
||||||
<!--Dependency>gpsd</Dependency-->
|
<!--Dependency>gpsd</Dependency-->
|
||||||
|
<Dependency>kpeople</Dependency>
|
||||||
<Dependency>kactivities</Dependency>
|
<Dependency>kactivities</Dependency>
|
||||||
|
<Dependency>kactivities-stats</Dependency>
|
||||||
<Dependency>kitemmodels</Dependency>
|
<Dependency>kitemmodels</Dependency>
|
||||||
<Dependency>kauth</Dependency>
|
<Dependency>kauth</Dependency>
|
||||||
<Dependency>kbookmarks</Dependency>
|
<Dependency>kbookmarks</Dependency>
|
||||||
@@ -205,6 +209,8 @@
|
|||||||
<Dependency>baloo-devel</Dependency>
|
<Dependency>baloo-devel</Dependency>
|
||||||
<Dependency>cln-devel</Dependency>
|
<Dependency>cln-devel</Dependency>
|
||||||
<!--Dependency>gpsd</Dependency-->
|
<!--Dependency>gpsd</Dependency-->
|
||||||
|
<Dependency>kpeople-devel</Dependency>
|
||||||
|
<Dependency>kactivities-stats-devel</Dependency>
|
||||||
<Dependency>kactivities-devel</Dependency>
|
<Dependency>kactivities-devel</Dependency>
|
||||||
<Dependency>kauth-devel</Dependency>
|
<Dependency>kauth-devel</Dependency>
|
||||||
<Dependency>kbookmarks-devel</Dependency>
|
<Dependency>kbookmarks-devel</Dependency>
|
||||||
@@ -292,6 +298,13 @@
|
|||||||
</Package-->
|
</Package-->
|
||||||
|
|
||||||
<History>
|
<History>
|
||||||
|
<Update release="39">
|
||||||
|
<Date>2019-11-15</Date>
|
||||||
|
<Version>5.16.5</Version>
|
||||||
|
<Comment>Rebuild.</Comment>
|
||||||
|
<Name>Mustafa Cinasal</Name>
|
||||||
|
<Email>muscnsl@gmail.com</Email>
|
||||||
|
</Update>
|
||||||
<Update release="38">
|
<Update release="38">
|
||||||
<Date>2019-09-15</Date>
|
<Date>2019-09-15</Date>
|
||||||
<Version>5.16.5</Version>
|
<Version>5.16.5</Version>
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
diff -up ntfs-3g_ntfsprogs-2017.3.23/src/lowntfs-3g.c.CVE-2019-9755 ntfs-3g_ntfsprogs-2017.3.23/src/lowntfs-3g.c
|
||||||
|
--- ntfs-3g_ntfsprogs-2017.3.23/src/lowntfs-3g.c.CVE-2019-9755 2019-03-29 16:08:22.359920075 -0400
|
||||||
|
+++ ntfs-3g_ntfsprogs-2017.3.23/src/lowntfs-3g.c 2019-03-29 16:08:28.237794169 -0400
|
||||||
|
@@ -4323,7 +4323,8 @@ int main(int argc, char *argv[])
|
||||||
|
else {
|
||||||
|
ctx->abs_mnt_point = (char*)ntfs_malloc(PATH_MAX);
|
||||||
|
if (ctx->abs_mnt_point) {
|
||||||
|
- if (getcwd(ctx->abs_mnt_point,
|
||||||
|
+ if ((strlen(opts.mnt_point) < PATH_MAX)
|
||||||
|
+ && getcwd(ctx->abs_mnt_point,
|
||||||
|
PATH_MAX - strlen(opts.mnt_point) - 1)) {
|
||||||
|
strcat(ctx->abs_mnt_point, "/");
|
||||||
|
strcat(ctx->abs_mnt_point, opts.mnt_point);
|
||||||
|
@@ -4331,6 +4332,9 @@ int main(int argc, char *argv[])
|
||||||
|
/* Solaris also wants the absolute mount point */
|
||||||
|
opts.mnt_point = ctx->abs_mnt_point;
|
||||||
|
#endif /* defined(__sun) && defined (__SVR4) */
|
||||||
|
+ } else {
|
||||||
|
+ free(ctx->abs_mnt_point);
|
||||||
|
+ ctx->abs_mnt_point = (char*)NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff -up ntfs-3g_ntfsprogs-2017.3.23/src/ntfs-3g.c.CVE-2019-9755 ntfs-3g_ntfsprogs-2017.3.23/src/ntfs-3g.c
|
||||||
|
--- ntfs-3g_ntfsprogs-2017.3.23/src/ntfs-3g.c.CVE-2019-9755 2019-03-29 16:08:54.691227528 -0400
|
||||||
|
+++ ntfs-3g_ntfsprogs-2017.3.23/src/ntfs-3g.c 2019-03-29 16:09:40.362249397 -0400
|
||||||
|
@@ -4123,7 +4123,8 @@ int main(int argc, char *argv[])
|
||||||
|
else {
|
||||||
|
ctx->abs_mnt_point = (char*)ntfs_malloc(PATH_MAX);
|
||||||
|
if (ctx->abs_mnt_point) {
|
||||||
|
- if (getcwd(ctx->abs_mnt_point,
|
||||||
|
+ if ((strlen(opts.mnt_point) < PATH_MAX)
|
||||||
|
+ && getcwd(ctx->abs_mnt_point,
|
||||||
|
PATH_MAX - strlen(opts.mnt_point) - 1)) {
|
||||||
|
strcat(ctx->abs_mnt_point, "/");
|
||||||
|
strcat(ctx->abs_mnt_point, opts.mnt_point);
|
||||||
|
@@ -4131,6 +4132,9 @@ int main(int argc, char *argv[])
|
||||||
|
/* Solaris also wants the absolute mount point */
|
||||||
|
opts.mnt_point = ctx->abs_mnt_point;
|
||||||
|
#endif /* defined(__sun) && defined (__SVR4) */
|
||||||
|
+ } else {
|
||||||
|
+ free(ctx->abs_mnt_point);
|
||||||
|
+ ctx->abs_mnt_point = (char*)NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,379 @@
|
|||||||
|
--- a/libntfs-3g/bootsect.c.ref 2017-03-23 10:42:44.000000000 +0100
|
||||||
|
+++ b/libntfs-3g/bootsect.c 2018-05-07 09:11:13.004710800 +0200
|
||||||
|
@@ -38,6 +38,7 @@
|
||||||
|
#include <errno.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#include "param.h"
|
||||||
|
#include "compat.h"
|
||||||
|
#include "bootsect.h"
|
||||||
|
#include "debug.h"
|
||||||
|
@@ -61,6 +62,7 @@
|
||||||
|
{
|
||||||
|
u32 i;
|
||||||
|
BOOL ret = FALSE;
|
||||||
|
+ u16 sectors_per_cluster;
|
||||||
|
|
||||||
|
ntfs_log_debug("Beginning bootsector check.\n");
|
||||||
|
|
||||||
|
@@ -83,15 +85,27 @@
|
||||||
|
case 1: case 2: case 4: case 8: case 16: case 32: case 64: case 128:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
- ntfs_log_error("Unexpected sectors per cluster value (%d).\n",
|
||||||
|
- b->bpb.sectors_per_cluster);
|
||||||
|
- goto not_ntfs;
|
||||||
|
+ if ((b->bpb.sectors_per_cluster < 240)
|
||||||
|
+ || (b->bpb.sectors_per_cluster > 249)) {
|
||||||
|
+ if (b->bpb.sectors_per_cluster > 128)
|
||||||
|
+ ntfs_log_error("Unexpected sectors"
|
||||||
|
+ " per cluster value (code 0x%x)\n",
|
||||||
|
+ b->bpb.sectors_per_cluster);
|
||||||
|
+ else
|
||||||
|
+ ntfs_log_error("Unexpected sectors"
|
||||||
|
+ " per cluster value (%d).\n",
|
||||||
|
+ b->bpb.sectors_per_cluster);
|
||||||
|
+ goto not_ntfs;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
ntfs_log_debug("Checking cluster size.\n");
|
||||||
|
- i = (u32)le16_to_cpu(b->bpb.bytes_per_sector) *
|
||||||
|
- b->bpb.sectors_per_cluster;
|
||||||
|
- if (i > 65536) {
|
||||||
|
+ if (b->bpb.sectors_per_cluster > 128)
|
||||||
|
+ sectors_per_cluster = 1 << (256 - b->bpb.sectors_per_cluster);
|
||||||
|
+ else
|
||||||
|
+ sectors_per_cluster = b->bpb.sectors_per_cluster;
|
||||||
|
+ i = (u32)le16_to_cpu(b->bpb.bytes_per_sector) * sectors_per_cluster;
|
||||||
|
+ if (i > NTFS_MAX_CLUSTER_SIZE) {
|
||||||
|
ntfs_log_error("Unexpected cluster size (%d).\n", i);
|
||||||
|
goto not_ntfs;
|
||||||
|
}
|
||||||
|
@@ -171,7 +185,7 @@
|
||||||
|
int ntfs_boot_sector_parse(ntfs_volume *vol, const NTFS_BOOT_SECTOR *bs)
|
||||||
|
{
|
||||||
|
s64 sectors;
|
||||||
|
- u8 sectors_per_cluster;
|
||||||
|
+ u16 sectors_per_cluster;
|
||||||
|
s8 c;
|
||||||
|
|
||||||
|
/* We return -1 with errno = EINVAL on error. */
|
||||||
|
@@ -186,7 +200,10 @@
|
||||||
|
* below or equal the number_of_clusters) really belong in the
|
||||||
|
* ntfs_boot_sector_is_ntfs but in this way we can just do this once.
|
||||||
|
*/
|
||||||
|
- sectors_per_cluster = bs->bpb.sectors_per_cluster;
|
||||||
|
+ if (bs->bpb.sectors_per_cluster > 128)
|
||||||
|
+ sectors_per_cluster = 1 << (256 - bs->bpb.sectors_per_cluster);
|
||||||
|
+ else
|
||||||
|
+ sectors_per_cluster = bs->bpb.sectors_per_cluster;
|
||||||
|
ntfs_log_debug("SectorsPerCluster = 0x%x\n", sectors_per_cluster);
|
||||||
|
if (sectors_per_cluster & (sectors_per_cluster - 1)) {
|
||||||
|
ntfs_log_error("sectors_per_cluster (%d) is not a power of 2."
|
||||||
|
--- a/ntfsprogs/mkntfs.8.in.ref 2017-03-23 10:42:44.000000000 +0100
|
||||||
|
+++ b/ntfsprogs/mkntfs.8.in 2018-05-07 09:11:13.014132400 +0200
|
||||||
|
@@ -132,7 +132,7 @@
|
||||||
|
.TP
|
||||||
|
\fB\-c\fR, \fB\-\-cluster\-size\fR BYTES
|
||||||
|
Specify the size of clusters in bytes. Valid cluster size values are powers of
|
||||||
|
-two, with at least 256, and at most 65536 bytes per cluster. If omitted,
|
||||||
|
+two, with at least 256, and at most 2097152 bytes (2MB) per cluster. If omitted,
|
||||||
|
.B mkntfs
|
||||||
|
uses 4096 bytes as the default cluster size.
|
||||||
|
.sp
|
||||||
|
--- a/ntfsprogs/mkntfs.c.ref 2017-03-23 10:42:44.000000000 +0100
|
||||||
|
+++ b/ntfsprogs/mkntfs.c 2018-05-07 09:11:13.035522300 +0200
|
||||||
|
@@ -6,7 +6,7 @@
|
||||||
|
* Copyright (c) 2002-2006 Szabolcs Szakacsits
|
||||||
|
* Copyright (c) 2005 Erik Sornes
|
||||||
|
* Copyright (c) 2007 Yura Pakhuchiy
|
||||||
|
- * Copyright (c) 2010-2014 Jean-Pierre Andre
|
||||||
|
+ * Copyright (c) 2010-2018 Jean-Pierre Andre
|
||||||
|
*
|
||||||
|
* This utility will create an NTFS 1.2 or 3.1 volume on a user
|
||||||
|
* specified (block) device.
|
||||||
|
@@ -119,6 +119,7 @@
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#include "param.h"
|
||||||
|
#include "security.h"
|
||||||
|
#include "types.h"
|
||||||
|
#include "attrib.h"
|
||||||
|
@@ -287,7 +288,7 @@
|
||||||
|
ntfs_log_info("Copyright (c) 2002-2006 Szabolcs Szakacsits\n");
|
||||||
|
ntfs_log_info("Copyright (c) 2005 Erik Sornes\n");
|
||||||
|
ntfs_log_info("Copyright (c) 2007 Yura Pakhuchiy\n");
|
||||||
|
- ntfs_log_info("Copyright (c) 2010-2014 Jean-Pierre Andre\n");
|
||||||
|
+ ntfs_log_info("Copyright (c) 2010-2018 Jean-Pierre Andre\n");
|
||||||
|
ntfs_log_info("\n%s\n%s%s\n", ntfs_gpl, ntfs_bugs, ntfs_home);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -3719,11 +3720,11 @@
|
||||||
|
/*
|
||||||
|
* For huge volumes, grow the cluster size until the number of
|
||||||
|
* clusters fits into 32 bits or the cluster size exceeds the
|
||||||
|
- * maximum limit of 64kiB.
|
||||||
|
+ * maximum limit of NTFS_MAX_CLUSTER_SIZE.
|
||||||
|
*/
|
||||||
|
while (volume_size >> (ffs(vol->cluster_size) - 1 + 32)) {
|
||||||
|
vol->cluster_size <<= 1;
|
||||||
|
- if (vol->cluster_size > 65535) {
|
||||||
|
+ if (vol->cluster_size >= NTFS_MAX_CLUSTER_SIZE) {
|
||||||
|
ntfs_log_error("Device is too large to hold an "
|
||||||
|
"NTFS volume (maximum size is "
|
||||||
|
"256TiB).\n");
|
||||||
|
@@ -3744,15 +3745,18 @@
|
||||||
|
"to, or larger than, the sector size.\n");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
- if (vol->cluster_size > 128 * (u32)opts.sector_size) {
|
||||||
|
+ /* Before Windows 10 Creators, the limit was 128 */
|
||||||
|
+ if (vol->cluster_size > 4096 * (u32)opts.sector_size) {
|
||||||
|
ntfs_log_error("The cluster size is invalid. It cannot be "
|
||||||
|
- "more that 128 times the size of the sector "
|
||||||
|
+ "more that 4096 times the size of the sector "
|
||||||
|
"size.\n");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
- if (vol->cluster_size > 65536) {
|
||||||
|
+ if (vol->cluster_size > NTFS_MAX_CLUSTER_SIZE) {
|
||||||
|
ntfs_log_error("The cluster size is invalid. The maximum "
|
||||||
|
- "cluster size is 65536 bytes (64kiB).\n");
|
||||||
|
+ "cluster size is %lu bytes (%lukiB).\n",
|
||||||
|
+ (unsigned long)NTFS_MAX_CLUSTER_SIZE,
|
||||||
|
+ (unsigned long)(NTFS_MAX_CLUSTER_SIZE >> 10));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
vol->cluster_size_bits = ffs(vol->cluster_size) - 1;
|
||||||
|
@@ -4387,6 +4391,7 @@
|
||||||
|
u8 *sd;
|
||||||
|
FILE_ATTR_FLAGS extend_flags;
|
||||||
|
VOLUME_FLAGS volume_flags = const_cpu_to_le16(0);
|
||||||
|
+ int sectors_per_cluster;
|
||||||
|
int nr_sysfiles;
|
||||||
|
int buf_sds_first_size;
|
||||||
|
char *buf_sds;
|
||||||
|
@@ -4639,8 +4644,11 @@
|
||||||
|
* already inserted, so no need to worry about these things.
|
||||||
|
*/
|
||||||
|
bs->bpb.bytes_per_sector = cpu_to_le16(opts.sector_size);
|
||||||
|
- bs->bpb.sectors_per_cluster = (u8)(g_vol->cluster_size /
|
||||||
|
- opts.sector_size);
|
||||||
|
+ sectors_per_cluster = g_vol->cluster_size / opts.sector_size;
|
||||||
|
+ if (sectors_per_cluster > 128)
|
||||||
|
+ bs->bpb.sectors_per_cluster = 257 - ffs(sectors_per_cluster);
|
||||||
|
+ else
|
||||||
|
+ bs->bpb.sectors_per_cluster = sectors_per_cluster;
|
||||||
|
bs->bpb.media_type = 0xf8; /* hard disk */
|
||||||
|
bs->bpb.sectors_per_track = cpu_to_le16(opts.sectors_per_track);
|
||||||
|
ntfs_log_debug("sectors per track = %ld (0x%lx)\n",
|
||||||
|
--- a/ntfsprogs/ntfsclone.c.ref 2017-03-23 10:42:44.000000000 +0100
|
||||||
|
+++ b/ntfsprogs/ntfsclone.c 2018-05-07 09:11:38.245007100 +0200
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
*
|
||||||
|
* Copyright (c) 2003-2006 Szabolcs Szakacsits
|
||||||
|
* Copyright (c) 2004-2006 Anton Altaparmakov
|
||||||
|
- * Copyright (c) 2010-2016 Jean-Pierre Andre
|
||||||
|
+ * Copyright (c) 2010-2018 Jean-Pierre Andre
|
||||||
|
* Special image format support copyright (c) 2004 Per Olofsson
|
||||||
|
*
|
||||||
|
* Clone NTFS data and/or metadata to a sparse file, image, device or stdout.
|
||||||
|
@@ -71,6 +71,7 @@
|
||||||
|
*/
|
||||||
|
#define NTFS_DO_NOT_CHECK_ENDIANS
|
||||||
|
|
||||||
|
+#include "param.h"
|
||||||
|
#include "debug.h"
|
||||||
|
#include "types.h"
|
||||||
|
#include "support.h"
|
||||||
|
@@ -270,7 +271,6 @@
|
||||||
|
|
||||||
|
#define LAST_METADATA_INODE 11
|
||||||
|
|
||||||
|
-#define NTFS_MAX_CLUSTER_SIZE 65536
|
||||||
|
#define NTFS_SECTOR_SIZE 512
|
||||||
|
|
||||||
|
#define rounded_up_division(a, b) (((a) + (b - 1)) / (b))
|
||||||
|
@@ -393,7 +393,7 @@
|
||||||
|
"Efficiently clone, image, restore or rescue an NTFS Volume.\n\n"
|
||||||
|
"Copyright (c) 2003-2006 Szabolcs Szakacsits\n"
|
||||||
|
"Copyright (c) 2004-2006 Anton Altaparmakov\n"
|
||||||
|
- "Copyright (c) 2010-2016 Jean-Pierre Andre\n\n");
|
||||||
|
+ "Copyright (c) 2010-2018 Jean-Pierre Andre\n\n");
|
||||||
|
fprintf(stderr, "%s\n%s%s", ntfs_gpl, ntfs_bugs, ntfs_home);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
@@ -756,7 +756,7 @@
|
||||||
|
|
||||||
|
static void copy_cluster(int rescue, u64 rescue_lcn, u64 lcn)
|
||||||
|
{
|
||||||
|
- char buff[NTFS_MAX_CLUSTER_SIZE]; /* overflow checked at mount time */
|
||||||
|
+ char *buff;
|
||||||
|
/* vol is NULL if opt.restore_image is set */
|
||||||
|
s32 csize = le32_to_cpu(image_hdr.cluster_size);
|
||||||
|
BOOL backup_bootsector;
|
||||||
|
@@ -783,6 +783,10 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ buff = (char*)ntfs_malloc(csize);
|
||||||
|
+ if (!buff)
|
||||||
|
+ err_exit("Not enough memory");
|
||||||
|
+
|
||||||
|
// need reading when not about to write ?
|
||||||
|
if (read_all(fd, buff, csize) == -1) {
|
||||||
|
|
||||||
|
@@ -858,6 +862,7 @@
|
||||||
|
perr_printf("Write failed");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
+ free(buff);
|
||||||
|
}
|
||||||
|
|
||||||
|
static s64 lseek_out(int fd, s64 pos, int mode)
|
||||||
|
@@ -995,7 +1000,11 @@
|
||||||
|
struct progress_bar *progress, u64 *p_counter)
|
||||||
|
{
|
||||||
|
s64 i;
|
||||||
|
- char buff[NTFS_MAX_CLUSTER_SIZE];
|
||||||
|
+ char *buff;
|
||||||
|
+
|
||||||
|
+ buff = (char*)ntfs_malloc(csize);
|
||||||
|
+ if (!buff)
|
||||||
|
+ err_exit("Not enough memory");
|
||||||
|
|
||||||
|
memset(buff, 0, csize);
|
||||||
|
|
||||||
|
@@ -1004,6 +1013,7 @@
|
||||||
|
perr_exit("write_all");
|
||||||
|
progress_update(progress, ++(*p_counter));
|
||||||
|
}
|
||||||
|
+ free(buff);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void restore_image(void)
|
||||||
|
@@ -1492,7 +1502,7 @@
|
||||||
|
|
||||||
|
static void copy_wipe_mft(ntfs_walk_clusters_ctx *image, runlist *rl)
|
||||||
|
{
|
||||||
|
- char buff[NTFS_MAX_CLUSTER_SIZE]; /* overflow checked at mount time */
|
||||||
|
+ char *buff;
|
||||||
|
void *fd;
|
||||||
|
s64 mft_no;
|
||||||
|
u32 mft_record_size;
|
||||||
|
@@ -1522,6 +1532,10 @@
|
||||||
|
clusters_per_set = mft_record_size/csize;
|
||||||
|
records_per_set = 1;
|
||||||
|
}
|
||||||
|
+ buff = (char*)ntfs_malloc(mft_record_size);
|
||||||
|
+ if (!buff)
|
||||||
|
+ err_exit("Not enough memory");
|
||||||
|
+
|
||||||
|
mft_no = 0;
|
||||||
|
ri = rj = 0;
|
||||||
|
wi = wj = 0;
|
||||||
|
@@ -1554,6 +1568,7 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
image->current_lcn = current_lcn;
|
||||||
|
+ free(buff);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
@@ -1566,7 +1581,7 @@
|
||||||
|
|
||||||
|
static void copy_wipe_i30(ntfs_walk_clusters_ctx *image, runlist *rl)
|
||||||
|
{
|
||||||
|
- char buff[NTFS_MAX_CLUSTER_SIZE]; /* overflow checked at mount time */
|
||||||
|
+ char *buff;
|
||||||
|
void *fd;
|
||||||
|
u32 indx_record_size;
|
||||||
|
u32 csize;
|
||||||
|
@@ -1595,6 +1610,10 @@
|
||||||
|
clusters_per_set = indx_record_size/csize;
|
||||||
|
records_per_set = 1;
|
||||||
|
}
|
||||||
|
+ buff = (char*)ntfs_malloc(indx_record_size);
|
||||||
|
+ if (!buff)
|
||||||
|
+ err_exit("Not enough memory");
|
||||||
|
+
|
||||||
|
ri = rj = 0;
|
||||||
|
wi = wj = 0;
|
||||||
|
if (rl[ri].length)
|
||||||
|
@@ -1627,6 +1646,7 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
image->current_lcn = current_lcn;
|
||||||
|
+ free(buff);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void dump_clusters(ntfs_walk_clusters_ctx *image, runlist *rl)
|
||||||
|
--- a/ntfsprogs/ntfsresize.c.ref 2017-03-23 10:42:44.000000000 +0100
|
||||||
|
+++ b/ntfsprogs/ntfsresize.c 2018-05-07 09:11:13.076883400 +0200
|
||||||
|
@@ -59,6 +59,7 @@
|
||||||
|
#include <fcntl.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#include "param.h"
|
||||||
|
#include "debug.h"
|
||||||
|
#include "types.h"
|
||||||
|
#include "support.h"
|
||||||
|
@@ -243,8 +244,6 @@
|
||||||
|
#define DIRTY_INODE (1)
|
||||||
|
#define DIRTY_ATTRIB (2)
|
||||||
|
|
||||||
|
-#define NTFS_MAX_CLUSTER_SIZE (65536)
|
||||||
|
-
|
||||||
|
static s64 rounded_up_division(s64 numer, s64 denom)
|
||||||
|
{
|
||||||
|
return (numer + (denom - 1)) / denom;
|
||||||
|
@@ -404,7 +403,7 @@
|
||||||
|
printf("Copyright (c) 2002-2005 Anton Altaparmakov\n");
|
||||||
|
printf("Copyright (c) 2002-2003 Richard Russon\n");
|
||||||
|
printf("Copyright (c) 2007 Yura Pakhuchiy\n");
|
||||||
|
- printf("Copyright (c) 2011-2016 Jean-Pierre Andre\n");
|
||||||
|
+ printf("Copyright (c) 2011-2018 Jean-Pierre Andre\n");
|
||||||
|
printf("\n%s\n%s%s", ntfs_gpl, ntfs_bugs, ntfs_home);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1849,9 +1848,13 @@
|
||||||
|
static void copy_clusters(ntfs_resize_t *resize, s64 dest, s64 src, s64 len)
|
||||||
|
{
|
||||||
|
s64 i;
|
||||||
|
- char buff[NTFS_MAX_CLUSTER_SIZE]; /* overflow checked at mount time */
|
||||||
|
+ char *buff;
|
||||||
|
ntfs_volume *vol = resize->vol;
|
||||||
|
|
||||||
|
+ buff = (char*)ntfs_malloc(vol->cluster_size);
|
||||||
|
+ if (!buff)
|
||||||
|
+ perr_exit("ntfs_malloc");
|
||||||
|
+
|
||||||
|
for (i = 0; i < len; i++) {
|
||||||
|
|
||||||
|
lseek_to_cluster(vol, src + i);
|
||||||
|
@@ -1875,6 +1878,7 @@
|
||||||
|
resize->relocations++;
|
||||||
|
progress_update(&resize->progress, resize->relocations);
|
||||||
|
}
|
||||||
|
+ free(buff);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void relocate_clusters(ntfs_resize_t *r, runlist *dest_rl, s64 src_lcn)
|
||||||
|
--- a/include/ntfs-3g/param.h.ref 2017-03-23 10:42:44.000000000 +0100
|
||||||
|
+++ b/include/ntfs-3g/param.h 2018-05-07 09:11:13.088302600 +0200
|
||||||
|
@@ -40,6 +40,13 @@
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
+ * Parameters for formatting
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+ /* Up to Windows 10, the cluster size was limited to 64K */
|
||||||
|
+#define NTFS_MAX_CLUSTER_SIZE 2097152 /* Windows 10 Creators allows 2MB */
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
* Parameters for compression
|
||||||
|
*/
|
||||||
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
--- a/libntfs-3g/volume.c.ref 2017-03-23 10:42:44.000000000 +0100
|
||||||
|
+++ b/libntfs-3g/volume.c 2017-12-20 08:11:51.842424300 +0100
|
||||||
|
@@ -959,7 +959,8 @@
|
||||||
|
vol->mftmirr_size = l;
|
||||||
|
}
|
||||||
|
ntfs_log_debug("Comparing $MFTMirr to $MFT...\n");
|
||||||
|
- for (i = 0; i < vol->mftmirr_size; ++i) {
|
||||||
|
+ /* Windows 10 does not update the full $MFTMirr any more */
|
||||||
|
+ for (i = 0; (i < vol->mftmirr_size) && (i < FILE_first_user); ++i) {
|
||||||
|
MFT_RECORD *mrec, *mrec2;
|
||||||
|
const char *ESTR[12] = { "$MFT", "$MFTMirr", "$LogFile",
|
||||||
|
"$Volume", "$AttrDef", "root directory", "$Bitmap",
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
--- a/ntfsprogs/ntfsclone.c 2018-05-16 18:46:47.114964000 +0200
|
||||||
|
+++ b/ntfsprogs/ntfsclone.c 2018-07-16 14:03:20.273809100 +0200
|
||||||
|
@@ -776,6 +776,10 @@
|
||||||
|
|
||||||
|
/* possible partial cluster holding the backup boot sector */
|
||||||
|
backup_bootsector = (lcn + 1)*csize >= full_device_size;
|
||||||
|
+ buff = (char*)ntfs_malloc(csize);
|
||||||
|
+ if (!buff)
|
||||||
|
+ err_exit("Not enough memory");
|
||||||
|
+
|
||||||
|
if (backup_bootsector) {
|
||||||
|
csize = full_device_size - lcn*csize;
|
||||||
|
if (csize < 0) {
|
||||||
|
@@ -783,10 +787,6 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- buff = (char*)ntfs_malloc(csize);
|
||||||
|
- if (!buff)
|
||||||
|
- err_exit("Not enough memory");
|
||||||
|
-
|
||||||
|
// need reading when not about to write ?
|
||||||
|
if (read_all(fd, buff, csize) == -1) {
|
||||||
|
|
||||||
|
@@ -1507,6 +1507,7 @@
|
||||||
|
s64 mft_no;
|
||||||
|
u32 mft_record_size;
|
||||||
|
u32 csize;
|
||||||
|
+ u32 buff_size;
|
||||||
|
u32 bytes_per_sector;
|
||||||
|
u32 records_per_set;
|
||||||
|
u32 clusters_per_set;
|
||||||
|
@@ -1524,15 +1525,18 @@
|
||||||
|
/*
|
||||||
|
* Depending on the sizes, there may be several records
|
||||||
|
* per cluster, or several clusters per record.
|
||||||
|
+ * Anyway, full clusters are needed for rescuing bad ones.
|
||||||
|
*/
|
||||||
|
if (csize >= mft_record_size) {
|
||||||
|
records_per_set = csize/mft_record_size;
|
||||||
|
clusters_per_set = 1;
|
||||||
|
+ buff_size = csize;
|
||||||
|
} else {
|
||||||
|
clusters_per_set = mft_record_size/csize;
|
||||||
|
records_per_set = 1;
|
||||||
|
+ buff_size = mft_record_size;
|
||||||
|
}
|
||||||
|
- buff = (char*)ntfs_malloc(mft_record_size);
|
||||||
|
+ buff = (char*)ntfs_malloc(buff_size);
|
||||||
|
if (!buff)
|
||||||
|
err_exit("Not enough memory");
|
||||||
|
|
||||||
|
@@ -1585,6 +1589,7 @@
|
||||||
|
void *fd;
|
||||||
|
u32 indx_record_size;
|
||||||
|
u32 csize;
|
||||||
|
+ u32 buff_size;
|
||||||
|
u32 bytes_per_sector;
|
||||||
|
u32 records_per_set;
|
||||||
|
u32 clusters_per_set;
|
||||||
|
@@ -1601,16 +1606,19 @@
|
||||||
|
/*
|
||||||
|
* Depending on the sizes, there may be several records
|
||||||
|
* per cluster, or several clusters per record.
|
||||||
|
+ * Anyway, full clusters are needed for rescuing bad ones.
|
||||||
|
*/
|
||||||
|
indx_record_size = image->ni->vol->indx_record_size;
|
||||||
|
if (csize >= indx_record_size) {
|
||||||
|
records_per_set = csize/indx_record_size;
|
||||||
|
clusters_per_set = 1;
|
||||||
|
+ buff_size = csize;
|
||||||
|
} else {
|
||||||
|
clusters_per_set = indx_record_size/csize;
|
||||||
|
records_per_set = 1;
|
||||||
|
+ buff_size = indx_record_size;
|
||||||
|
}
|
||||||
|
- buff = (char*)ntfs_malloc(indx_record_size);
|
||||||
|
+ buff = (char*)ntfs_malloc(buff_size);
|
||||||
|
if (!buff)
|
||||||
|
err_exit("Not enough memory");
|
||||||
|
|
||||||
@@ -19,9 +19,12 @@
|
|||||||
<Dependency>fuse-devel</Dependency>
|
<Dependency>fuse-devel</Dependency>
|
||||||
<Dependency>libutil-linux-devel</Dependency>
|
<Dependency>libutil-linux-devel</Dependency>
|
||||||
</BuildDependencies>
|
</BuildDependencies>
|
||||||
<!--Patches>
|
<Patches>
|
||||||
<Patch level="1">ntfsprogs_destdir.patch</Patch>
|
<Patch level="1">ntfs3g-2017.3.23-big-sectors.patch</Patch>
|
||||||
</Patches-->
|
<Patch level="1">ntfs3g-2017.3.23-check-mftmirr.patch</Patch>
|
||||||
|
<Patch level="1">ntfs3g-2017.3.23-full-clusters.patch</Patch>
|
||||||
|
<Patch level="1">ntfs-3g-CVE-2019-9755.patch</Patch>
|
||||||
|
</Patches>
|
||||||
</Source>
|
</Source>
|
||||||
|
|
||||||
<Package>
|
<Package>
|
||||||
@@ -66,6 +69,13 @@
|
|||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<History>
|
||||||
|
<Update release="7">
|
||||||
|
<Date>2019-11-13</Date>
|
||||||
|
<Version>2017.3.23</Version>
|
||||||
|
<Comment>Rebuild.</Comment>
|
||||||
|
<Name>Mustafa Cinasal</Name>
|
||||||
|
<Email>muscnsl@gmail.com</Email>
|
||||||
|
</Update>
|
||||||
<Update release="6">
|
<Update release="6">
|
||||||
<Date>2018-08-13</Date>
|
<Date>2018-08-13</Date>
|
||||||
<Version>2017.3.23</Version>
|
<Version>2017.3.23</Version>
|
||||||
|
|||||||
Reference in New Issue
Block a user