Converting dos errorcodes in libsmbclient
Jim McDonough
jmcd at samba.org
Thu Aug 19 06:59:38 MDT 2010
When libsmbclient was changed to do async, the errorno mapping was
changed from SMBC_errno to map_errno_from_nt_status. The result is
that the dos error codes are no longer converted properly to errnos.
One reason for the switch appears to be that SMBC_errno is pulling it
from the struct cli_state, whereas map_errno_from_nt_status is a
direct conversion of the passed in status (which does not always match
what was in the cli_state because the status was not generated on the
wire).
However, since we're basically just passing around nt_status codes
internally, i'd like to change cli_pull_error to do the conversion.
Any objections?
Otherwise, we can add an attempted conversion in the later mapping to errno...
Basically, the symptom is that when a server returns a doserror of
access_denied, nautilus does not pop up a credentials dialog because
EPERM or EACCESS was not set in errno.
--
Jim McDonough
Samba Team
SUSE labs
jmcd at samba dot org
jmcd at themcdonoughs dot org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-s3-libsmbclient-Convert-dos-error-codes-to-NTstatus-.patch
Type: application/octet-stream
Size: 1836 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20100819/cb6bd784/attachment.obj>
More information about the samba-technical
mailing list