The Samba-Bugzilla – Attachment 9503 Details for
Bug 10307
libsmbclient not reporting host unreachable error back to the caller of its API
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch fixing the issue of host unreachable error in libsmbclient
libsmbclient_host_unreachable_fix.diff (text/plain), 5.24 KB, created by
hargagan
on 2013-12-05 08:24:39 UTC
(
hide
)
Description:
Patch fixing the issue of host unreachable error in libsmbclient
Filename:
MIME Type:
Creator:
hargagan
Created:
2013-12-05 08:24:39 UTC
Size:
5.24 KB
patch
obsolete
>diff --git a/source3/libsmb/libsmb_dir.c b/source3/libsmb/libsmb_dir.c >index 3a07f11..af10624 100644 >--- a/source3/libsmb/libsmb_dir.c >+++ b/source3/libsmb/libsmb_dir.c >@@ -1223,6 +1223,9 @@ SMBC_mkdir_ctx(SMBCCTX *context, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Could not resolve %s\n", path); > errno = ENOENT; >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > TALLOC_FREE(frame); > return -1; > } >@@ -1334,6 +1337,9 @@ SMBC_rmdir_ctx(SMBCCTX *context, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Could not resolve %s\n", path); > errno = ENOENT; >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > TALLOC_FREE(frame); > return -1; > } >@@ -1621,6 +1627,9 @@ SMBC_chmod_ctx(SMBCCTX *context, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Could not resolve %s\n", path); > errno = ENOENT; >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > TALLOC_FREE(frame); > return -1; > } >@@ -1819,6 +1828,9 @@ SMBC_unlink_ctx(SMBCCTX *context, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Could not resolve %s\n", path); > errno = ENOENT; >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > TALLOC_FREE(frame); > return -1; > } >@@ -1998,6 +2010,9 @@ SMBC_rename_ctx(SMBCCTX *ocontext, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Could not resolve %s\n", path1); > errno = ENOENT; >+ if (targetcli1 == NULL) { >+ errno = EHOSTUNREACH; >+ } > TALLOC_FREE(frame); > return -1; > } >@@ -2015,6 +2030,9 @@ SMBC_rename_ctx(SMBCCTX *ocontext, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Could not resolve %s\n", path2); > errno = ENOENT; >+ if (targetcli2 == NULL) { >+ errno = EHOSTUNREACH; >+ } > TALLOC_FREE(frame); > return -1; > } >diff --git a/source3/libsmb/libsmb_file.c b/source3/libsmb/libsmb_file.c >index 8fb7a2e..9b65a4c 100644 >--- a/source3/libsmb/libsmb_file.c >+++ b/source3/libsmb/libsmb_file.c >@@ -119,6 +119,9 @@ SMBC_open_ctx(SMBCCTX *context, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Could not resolve %s\n", path); > errno = ENOENT; >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > SAFE_FREE(file); > TALLOC_FREE(frame); > return NULL; >@@ -295,6 +298,9 @@ SMBC_read_ctx(SMBCCTX *context, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Could not resolve %s\n", path); > errno = ENOENT; >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > TALLOC_FREE(frame); > return -1; > } >@@ -383,6 +389,9 @@ SMBC_write_ctx(SMBCCTX *context, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Could not resolve %s\n", path); > errno = ENOENT; >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > TALLOC_FREE(frame); > return -1; > } >@@ -461,6 +470,9 @@ SMBC_close_ctx(SMBCCTX *context, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Could not resolve %s\n", path); > errno = ENOENT; >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > TALLOC_FREE(frame); > return -1; > } >@@ -543,6 +555,9 @@ SMBC_getatr(SMBCCTX * context, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Couldn't resolve %s\n", path); > errno = ENOENT; >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > TALLOC_FREE(frame); > return False; > } >@@ -765,6 +780,9 @@ SMBC_lseek_ctx(SMBCCTX *context, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Could not resolve %s\n", path); > errno = ENOENT; >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > TALLOC_FREE(frame); > return -1; > } >@@ -858,6 +876,9 @@ SMBC_ftruncate_ctx(SMBCCTX *context, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Could not resolve %s\n", path); > errno = ENOENT; >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > TALLOC_FREE(frame); > return -1; > } >diff --git a/source3/libsmb/libsmb_stat.c b/source3/libsmb/libsmb_stat.c >index 94449e0..6d97e16 100644 >--- a/source3/libsmb/libsmb_stat.c >+++ b/source3/libsmb/libsmb_stat.c >@@ -176,7 +176,9 @@ SMBC_stat_ctx(SMBCCTX *context, > &write_time_ts, > &change_time_ts, > &ino)) { >- errno = SMBC_errno(context, srv->cli); >+ if (errno != EHOSTUNREACH) { >+ errno = SMBC_errno(context, srv->cli); >+ } > TALLOC_FREE(frame); > return -1; > } >@@ -261,6 +263,9 @@ SMBC_fstat_ctx(SMBCCTX *context, > if (!NT_STATUS_IS_OK(status)) { > d_printf("Could not resolve %s\n", path); > errno = ENOENT; >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > TALLOC_FREE(frame); > return -1; > } >diff --git a/source3/libsmb/libsmb_xattr.c b/source3/libsmb/libsmb_xattr.c >index 7d34290..a8a06a6 100644 >--- a/source3/libsmb/libsmb_xattr.c >+++ b/source3/libsmb/libsmb_xattr.c >@@ -897,6 +897,9 @@ cacl_get(SMBCCTX *context, > DEBUG(5, ("cacl_get Could not resolve %s\n", > filename)); > errno = ENOENT; >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > return -1; > } > >@@ -1554,6 +1557,9 @@ cacl_set(SMBCCTX *context, > cli, filename, &targetcli, &targetpath); > if (!NT_STATUS_IS_OK(status)) { > DEBUG(5,("cacl_set: Could not resolve %s\n", filename)); >+ if (targetcli == NULL) { >+ errno = EHOSTUNREACH; >+ } > errno = ENOENT; > return -1; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 10307
: 9503