]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
samba-tool domain exportkeytab: Raise a proper CommandError
authorAndrew Bartlett <abartlet@samba.org>
Sun, 10 Mar 2024 22:14:17 +0000 (11:14 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 14 Mar 2024 22:06:39 +0000 (22:06 +0000)
This avoids giving just a backtrace for things like exporting a keytab
to an existing file.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jo Sutton <josutton@catalyst.net.nz>
python/samba/netcmd/domain/keytab.py

index 5c2419b04851750680e9ffbaf9e7916f21b437d2..0136a11436f0eee5cf38fd6f7ef35c06ef60cb53 100644 (file)
@@ -23,9 +23,9 @@
 #
 
 import samba.getopt as options
-from samba import enable_net_export_keytab
+from samba import enable_net_export_keytab, NTSTATUSError
 from samba.net import Net
-from samba.netcmd import Command, Option
+from samba.netcmd import Command, CommandError, Option
 
 try:
     enable_net_export_keytab()
@@ -62,7 +62,10 @@ else:
             lp = sambaopts.get_loadparm()
             net = Net(None, lp)
             samdb = self.ldb_connect(hostopts, sambaopts, credopts)
-            net.export_keytab(samdb=samdb,
-                              keytab=keytab,
-                              principal=principal,
-                              keep_stale_entries=keep_stale_entries)
+            try:
+                net.export_keytab(samdb=samdb,
+                                  keytab=keytab,
+                                  principal=principal,
+                                  keep_stale_entries=keep_stale_entries)
+            except NTSTATUSError as error:
+                raise CommandError(f"Failed to export domain keys into keytab {keytab}: {error.args[1]}")