eliminate unnecessary inotify events on upload via file protocol (#844385)

This commit is contained in:
Kamil Dudka 2012-08-01 09:47:27 +02:00
parent c9fa3c1968
commit 4e2353e082
2 changed files with 41 additions and 1 deletions

View File

@ -0,0 +1,34 @@
From e693b8e6591366ef2c077ba90fe0315a8a0b00c5 Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Mon, 30 Jul 2012 14:20:07 +0200
Subject: [PATCH] file: use fdopen() for uploaded files if available
It eliminates noisy events when using inotify and fixes a TOCTOU issue.
Bug: https://bugzilla.redhat.com/844385
[upstream commit 1f8518c5d9aaa369dae85620973f9b5c1add3277]
---
lib/file.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/lib/file.c b/lib/file.c
index 4447c73..1025022 100644
--- a/lib/file.c
+++ b/lib/file.c
@@ -351,8 +351,12 @@ static CURLcode file_upload(struct connectdata *conn)
failf(data, "Can't open %s for writing", file->path);
return CURLE_WRITE_ERROR;
}
+#ifdef HAVE_FDOPEN
+ fp = fdopen(fd, "wb");
+#else
close(fd);
fp = fopen(file->path, "wb");
+#endif
}
if(!fp) {
--
1.7.1

View File

@ -1,13 +1,16 @@
Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
Name: curl
Version: 7.27.0
Release: 1%{?dist}
Release: 2%{?dist}
License: MIT
Group: Applications/Internet
Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma
Source2: curlbuild.h
Source3: hide_selinux.c
# eliminate unnecessary inotify events on upload via file protocol (#844385)
Patch1: 0001-curl-7.27.0-1f8518c5.patch
# patch making libcurl multilib ready
Patch101: 0101-curl-7.27.0-multilib.patch
@ -230,6 +233,9 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/aclocal/libcurl.m4
%changelog
* Wed Aug 01 2012 Kamil Dudka <kdudka@redhat.com> 7.27.0-2
- eliminate unnecessary inotify events on upload via file protocol (#844385)
* Sat Jul 28 2012 Kamil Dudka <kdudka@redhat.com> 7.27.0-1
- new upstream release