r21967: Add conversion from gss errors to nt status.
[samba.git] / source3 / libads / ads_status.c
index d022e5b323582befc4bdb4667f2fab869c9554d3..0e1a2d55d53aee094e1134099acc63f87bdb8a24 100644 (file)
@@ -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