diff options
Diffstat (limited to 'source3/libads')
-rw-r--r-- | source3/libads/ads_status.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source3/libads/ads_status.c b/source3/libads/ads_status.c index d022e5b323..0e1a2d55d5 100644 --- a/source3/libads/ads_status.c +++ b/source3/libads/ads_status.c @@ -87,7 +87,7 @@ NTSTATUS ads_ntstatus(ADS_STATUS status) #endif #ifdef HAVE_GSSAPI case ENUM_ADS_ERROR_GSS: - return NT_STATUS_UNSUCCESSFUL; + return map_nt_error_from_gss(status.err.rc, status.minor_status); #endif default: break; @@ -145,5 +145,14 @@ const char *ads_errstr(ADS_STATUS status) default: return "Unknown ADS error type!? (not compiled in?)"; } +} +#ifdef HAVE_GSSAPI +NTSTATUS gss_err_to_ntstatus(OM_uint32 maj, OM_uint32 min) +{ + ADS_STATUS adss = ADS_ERROR_GSS(maj, min); + DEBUG(10,("gss_err_to_ntstatus: Error %s\n", + ads_errstr(adss) )); + return ads_ntstatus(adss); } +#endif |