summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES2
-rw-r--r--package/nbd/nbd-server-fix-read-eagain.patch21
-rw-r--r--package/nbd/nbd-server-susv3-legacy.patch11
3 files changed, 33 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index 2f914e323..c97a64b6a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -8,7 +8,7 @@
bind, binutils, bootutils, busybox, dbus, directfb, dnsmasq,
e2fsprogs, gstreamer, gperf, gst-plugins-bad, gvfs, flex, hal,
iptables, iw, jpeg, kismet, libfuse, libglib2, libpcap, libungif,
- libxml2, libxslt, lighttpd, mesa, mpg123, mtd-utils, neon,
+ libxml2, libxslt, lighttpd, mesa, mpg123, mtd-utils, nbd, neon,
netstat-nat, openvpn, pcre, php, qt, readline, rpm, sawman, sdl,
sdl_ttf, ser2net, sqlite, sshfs, tremor, u-boot, usb_modeswitch,
usbutils, webkit, wpa_supplicant, xfsprogs, zlib
diff --git a/package/nbd/nbd-server-fix-read-eagain.patch b/package/nbd/nbd-server-fix-read-eagain.patch
new file mode 100644
index 000000000..b1f966c77
--- /dev/null
+++ b/package/nbd/nbd-server-fix-read-eagain.patch
@@ -0,0 +1,21 @@
+--- nbd-2.9.11.orig/nbd-server.c
++++ nbd-2.9.11/nbd-server.c
+@@ -304,10 +304,14 @@
+ ssize_t res;
+ while (len > 0) {
+ DEBUG("*");
+- if ((res = read(f, buf, len)) <= 0)
+- err("Read failed: %m");
+- len -= res;
+- buf += res;
++ if ((res = read(f, buf, len)) <= 0) {
++ if(errno != EAGAIN) {
++ err("Read failed: %m");
++ }
++ } else {
++ len -= res;
++ buf += res;
++ }
+ }
+ }
+
diff --git a/package/nbd/nbd-server-susv3-legacy.patch b/package/nbd/nbd-server-susv3-legacy.patch
new file mode 100644
index 000000000..58d38e150
--- /dev/null
+++ b/package/nbd/nbd-server-susv3-legacy.patch
@@ -0,0 +1,11 @@
+--- nbd-2.9.11/nbd-server.c 2009-10-01 16:10:15.000000000 +0200
++++ nbd-2.9.11/nbd-server.c 2009-10-01 16:10:32.000000000 +0200
+@@ -264,7 +264,7 @@
+
+ inet_aton(opts->clientname, &client);
+ while (fgets(line,LINELEN,f)!=NULL) {
+- if((tmp=index(line, '/'))) {
++ if((tmp=strchr(line, '/'))) {
+ if(strlen(line)<=tmp-line) {
+ msg4(LOG_CRIT, ERRMSG, line, opts->server->authname);
+ return 0;