This is a multi-part message in MIME format.
------=_NextPart_000_004A_01C84964.3896E6F0
Content-Type: multipart/mixed;
boundary="----=_NextPart_001_004B_01C84964.3896E6F0"
------=_NextPart_001_004B_01C84964.3896E6F0
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
Hello,
Nagios 3.0RC1 doesn't work on Cygwin. rename() with a new filename, which is
already held open, results in a "Permission Denied". This situation appears
with the current code while reaping check results.
Attached patch simply closes the new file just opened with mkstemp() - before
renaming instead of afterwards. Securitywise this is a bad solution, because
it opens a race condition, but at least Nagios works.
Please incorporate the bugfix included in the attached patch in a secure form,
so that Nagios will be usable under Cygwin (if other Cygwin issues are
resolved as well).
Best regards,
Michael Bunk
------=_NextPart_001_004B_01C84964.3896E6F0
Content-Type: application/octet-stream;
name="nagios-3.0rc1-fix-permission-denied-on-renaming-file.patch"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="nagios-3.0rc1-fix-permission-denied-on-renaming-file.patch"
diff -ru nagios-3.0rc1-orig/base/utils.c nagios-3.0rc1/base/utils.c=0A=
--- nagios-3.0rc1-orig/base/utils.c 2007-12-13 18:14:28.000000000 +0100=0A=
+++ nagios-3.0rc1/base/utils.c 2007-12-28 14:16:45.693812800 +0100=0A=
@@ -2183,11 +2183,19 @@=0A=
=0A=
log_debug_info(DEBUGL_CHECKS,2,"Moving temp check result file '%s' to =
queue file '%s'...\n",checkresult_file,output_file);=0A=
=0A=
+#ifdef __CYGWIN__=0A=
+ /* Cygwin cannot rename open files - gives Permission Denied */=0A=
+ /* close the file */=0A=
+ close(output_file_fd);=0A=
+#endif=0A=
+=0A=
/* move the original file */=0A=
result=3Dmy_rename(checkresult_file,output_file);=0A=
=0A=
+#ifndef __CYGWIN__=0A=
/* close the file */=0A=
close(output_file_fd);=0A=
+#endif=0A=
=0A=
/* create an ok-to-go indicator file */=0A=
asprintf(&temp_buffer,"%s.ok",output_file);=0A=
------=_NextPart_001_004B_01C84964.3896E6F0--
------=_NextPart_000_004A_01C84964.3896E6F0
Content-Type: application/x-pkcs7-signature;
name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="smime.p7s"
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIMgzCCBT4w
ggMmoAMCAQICAwRDBDANBgkqhkiG9w0BAQUFADB5MRAwDgYDVQQKEwdSb290IENBMR4wHAYDVQQL
ExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNBIENlcnQgU2lnbmluZyBBdXRob3Jp
dHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRAY2FjZXJ0Lm9yZzAeFw0wNzExMDkxMTU0MDNaFw0w
ODA1MDcxMTU0MDNaMEIxGDAWBgNVBAMTD0NBY2VydCBXb1QgVXNlcjEmMCQGCSqGSIb3DQEJARYX
YnVua0BpYXQudW5pLWxlaXB6aWcuZGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4
pB1X61CeypSZMjzKrBtujMyNbZJpcjUaXzPKa3j3Z15c0aj5zJzg20yiCShvNi2PFFGGgUluKkBi
hjbwSk0k4R3MuVkJj4kQzkXjGHpMKWIX9H7k++pRqXkb1jx6/p0Tz8dhaqNSrx1ACvVKPd7YVLiz
SKBQ4EAEMEnpkx3ilVsuNvXGyUyGWvo8LtnUA+RCW6+5lVM1FwMGq543oR+PHT7Zx0/+g89SuTDp
pCGqS4tV7spkSNOhbuhsFn1xx74tnXpkISvJTe6ji0sFuRReeyEmH1RHKhTCBO0vxytJtkgcctO6
+dhr9jJLwSYYRzClxSmtmztBnhtfNIMI1PX3AgMBAAGjggEEMIIBADAMBgNVHRMBAf8EAjAAMFYG
CWCGSAGG+EIBDQRJFkdUbyBnZXQgeW91ciBvd24gY2VydGlmaWNhdGUgZm9yIEZSRUUgaGVhZCBv
dmVyIHRvIGh0dHA6Ly93d3cuQ0FjZXJ0Lm9yZzBABgNVHSUEOTA3BggrBgEFBQcDBAYIKwYBBQUH
AwIGCisGAQQBgjcKAwQGCisGAQQBgjcKAwMGCWCGSAGG+EIEATAyBggrBgEFBQcBAQQmMCQwIgYI
KwYBBQUHMAGGFmh0dHA6Ly9vY3NwLmNhY2VydC5vcmcwIgYDVR0RBBswGYEXYnVua0BpYXQudW5p
LWxlaXB6aWcuZGUwDQYJKoZIhvcNAQEFBQADggIBAGOdDDo+OR6qltyae+mAMB9rFdpou04v25f/
CV4VauwyVAp43j1kqtvbSM+ZcKO9vex6K9a09a3nD45XKvKRiPOA70biVNskhrByWZHR33LBBkUT
DnyiubmTzD7rUnU/sxGgiCwIUlSVrvBpVGKtNmwfLhsY2PX6DEh7l1mLo5a2XjmnyB5Ht9cm6CZI
PPc3DX3+xs8Lf5FAfuvnXT6kP8WlECmL30z/Wo8BSrL10Fc641gzHHhId7MKc54FZ3gn870U/wCF
+5wOq4aPpvmJpr+htaWDr/uhM283+UfI8AHfHpG9XrTp31ResFXxKG63Z+cyZevBC3iear9eEa+X
g0nvml6UyT6BzTNYw8S/7mtcjNl1efiByJslMmb9hsnWp9p653e94yTb8AL+kkS0eF5azytPaLxo
Z+B3H2dY0B4XoFpVwpKQYrru7fIyqfM9RkLb+s92HpIYtPXMuVCJFxa+D3/FfEki8muBNkKld8+V
cBPudEpfJQ6bpz/qTt4iSKMWHTNEHMeYdijrdPtLrFGSrxxrcD8hwNTW/1bn5aEv8XGMDFH+5049
6ZTlD43x3ueJNvx4jJCedn+ebidmD
...[email truncated]...
This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]