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