summaryrefslogtreecommitdiffstats
path: root/opensuse/tdelibs/fix-kerberos-printing.diff
diff options
context:
space:
mode:
Diffstat (limited to 'opensuse/tdelibs/fix-kerberos-printing.diff')
-rw-r--r--opensuse/tdelibs/fix-kerberos-printing.diff37
1 files changed, 37 insertions, 0 deletions
diff --git a/opensuse/tdelibs/fix-kerberos-printing.diff b/opensuse/tdelibs/fix-kerberos-printing.diff
new file mode 100644
index 000000000..0276cdd06
--- /dev/null
+++ b/opensuse/tdelibs/fix-kerberos-printing.diff
@@ -0,0 +1,37 @@
+Index: kdeprint/management/smbview.cpp
+===================================================================
+--- kdeprint/management/smbview.cpp.orig
++++ kdeprint/management/smbview.cpp
+@@ -187,13 +187,26 @@ void SmbView::setOpen(QListViewItem *ite
+ }
+ else if (item->depth() == 1)
+ { // opening server
++ char *krb5ccname = getenv ("KRB5CCNAME");
+ m_current = item;
+- *m_proc << "smbclient -N -L ";
+- *m_proc << KProcess::quote(item->text(0));
+- *m_proc << " -W ";
+- *m_proc << KProcess::quote(item->parent()->text(0));
+- *m_proc << " -A ";
+- *m_proc << KProcess::quote(m_passwdFile->name());
++ if (krb5ccname)
++ {
++ *m_proc << "smbclient -k -N -L ";
++ }
++ else
++ {
++ *m_proc << "smbclient -N -L ";
++ }
++ *m_proc << KProcess::quote (item->text (0));
++ *m_proc << " -W ";
++ *m_proc << KProcess::quote (item->parent ()->
++ text (0));
++ if (!krb5ccname)
++ {
++ *m_proc << " -A ";
++ *m_proc << KProcess::
++ quote (m_passwdFile->name ());
++ }
+ startProcess(ShareListing);
+ }
+ }