summaryrefslogtreecommitdiff
path: root/source3/libads
diff options
context:
space:
mode:
Diffstat (limited to 'source3/libads')
-rw-r--r--source3/libads/ads_status.c11
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