- Added patch for pysmbc changes in git to prevent getdents crashing (bug
#465975).
This commit is contained in:
parent
5020567680
commit
4efc2732a0
105
pysmbc-git.patch
Normal file
105
pysmbc-git.patch
Normal file
@ -0,0 +1,105 @@
|
||||
diff -U0 pysmbc-1.0.5/ChangeLog.git pysmbc-1.0.5/ChangeLog
|
||||
--- pysmbc-1.0.5/ChangeLog.git 2008-08-29 10:33:35.000000000 +0100
|
||||
+++ pysmbc-1.0.5/ChangeLog 2008-10-17 10:10:28.000000000 +0100
|
||||
@@ -0,0 +1,11 @@
|
||||
+2008-10-17 Tim Waugh <twaugh@redhat.com>
|
||||
+
|
||||
+ * dir.c (Dir_getdents): Fixed crash when getdents provides more
|
||||
+ than one batch of entries (bug #465975).
|
||||
+
|
||||
+2008-10-08 Tim Waugh <twaugh@redhat.com>
|
||||
+
|
||||
+ * test.py (Browser.__init__): Prevent unbound local variable
|
||||
+ traceback when the auth dialog is cancelled.
|
||||
+ (Browser.row_expanded): Likewise.
|
||||
+
|
||||
diff -up pysmbc-1.0.5/dir.c.git pysmbc-1.0.5/dir.c
|
||||
--- pysmbc-1.0.5/dir.c.git 2008-06-09 13:19:54.000000000 +0100
|
||||
+++ pysmbc-1.0.5/dir.c 2008-10-17 10:10:28.000000000 +0100
|
||||
@@ -114,12 +114,10 @@ Dir_getdents (Dir *self)
|
||||
SMBCCTX *ctx;
|
||||
char dirbuf[1024];
|
||||
smbc_getdents_fn fn;
|
||||
- struct smbc_dirent *dirp;
|
||||
int dirlen;
|
||||
|
||||
debugprintf ("-> Dir_getdents()\n");
|
||||
ctx = self->context->context;
|
||||
- dirp = (struct smbc_dirent *) dirbuf;
|
||||
listobj = PyList_New (0);
|
||||
fn = smbc_getFunctionGetdents (ctx);
|
||||
errno = 0;
|
||||
@@ -127,6 +125,8 @@ Dir_getdents (Dir *self)
|
||||
(struct smbc_dirent *) dirbuf,
|
||||
sizeof (dirbuf))) != 0)
|
||||
{
|
||||
+ struct smbc_dirent *dirp;
|
||||
+
|
||||
debugprintf ("dirlen = %d\n", dirlen);
|
||||
if (dirlen < 0)
|
||||
{
|
||||
@@ -136,6 +136,7 @@ Dir_getdents (Dir *self)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+ dirp = (struct smbc_dirent *) dirbuf;
|
||||
while (dirlen > 0)
|
||||
{
|
||||
PyObject *dent;
|
||||
diff -up pysmbc-1.0.5/test.py.git pysmbc-1.0.5/test.py
|
||||
--- pysmbc-1.0.5/test.py.git 2008-05-21 17:04:07.000000000 +0100
|
||||
+++ pysmbc-1.0.5/test.py 2008-10-17 10:10:28.000000000 +0100
|
||||
@@ -146,6 +146,7 @@ class Browser:
|
||||
ctx.optionNoAutoAnonymousLogin = True
|
||||
self.smbc = ctx
|
||||
self.auth = AuthContext (w)
|
||||
+ workgroups = None
|
||||
try:
|
||||
while self.auth.perform_authentication () > 0:
|
||||
try:
|
||||
@@ -153,9 +154,7 @@ class Browser:
|
||||
except Exception, e:
|
||||
self.auth.failed (e)
|
||||
except RuntimeError, (e, s):
|
||||
- if e == errno.ENOENT:
|
||||
- workgroups = None
|
||||
- else:
|
||||
+ if e != errno.ENOENT:
|
||||
raise
|
||||
|
||||
if workgroups:
|
||||
@@ -201,6 +200,7 @@ class Browser:
|
||||
|
||||
uri = "smb://%s" % entry.name
|
||||
self.auth = AuthContext (self.main)
|
||||
+ servers = None
|
||||
try:
|
||||
while self.auth.perform_authentication () > 0:
|
||||
try:
|
||||
@@ -208,9 +208,7 @@ class Browser:
|
||||
except Exception, e:
|
||||
self.auth.failed (e)
|
||||
except RuntimeError, (e, s):
|
||||
- if e == errno.ENOENT:
|
||||
- servers = None
|
||||
- else:
|
||||
+ if e != errno.ENOENT:
|
||||
raise
|
||||
|
||||
if servers:
|
||||
@@ -235,6 +233,7 @@ class Browser:
|
||||
uri = "smb://%s" % entry.name
|
||||
|
||||
self.auth = AuthContext (self.main)
|
||||
+ shares = None
|
||||
try:
|
||||
while self.auth.perform_authentication () > 0:
|
||||
try:
|
||||
@@ -242,7 +241,6 @@ class Browser:
|
||||
except Exception, e:
|
||||
self.auth.failed (e)
|
||||
except RuntimeError, (e, s):
|
||||
- shares = None
|
||||
if e != errno.EACCES and e != errno.EPERM:
|
||||
del self.expanding_row
|
||||
raise
|
@ -7,7 +7,7 @@
|
||||
Summary: A printer administration tool
|
||||
Name: system-config-printer
|
||||
Version: 1.0.8
|
||||
Release: 6%{?dist}
|
||||
Release: 7%{?dist}
|
||||
License: GPLv2+
|
||||
URL: http://cyberelk.net/tim/software/system-config-printer/
|
||||
Group: System Environment/Base
|
||||
@ -15,6 +15,7 @@ Source0: http://cyberelk.net/tim/data/system-config-printer/1.0.x/system-config-
|
||||
Source1: http://cyberelk.net/tim/data/pycups/pycups-%{pycups_version}.tar.bz2
|
||||
Source2: http://cyberelk.net/tim/data/pysmbc/pysmbc-%{pysmbc_version}.tar.bz2
|
||||
Patch1: system-config-printer-1.0.x.patch
|
||||
Patch2: pysmbc-git.patch
|
||||
|
||||
BuildRequires: cups-devel >= 1.2
|
||||
BuildRequires: python-devel >= 2.4
|
||||
@ -62,6 +63,8 @@ the configuration tool.
|
||||
%prep
|
||||
%setup -q -a 1 -a 2
|
||||
%patch1 -p1 -z .1.0.x
|
||||
cd pysmbc-%{pysmbc_version}
|
||||
%patch2 -p1 -z .git
|
||||
|
||||
%build
|
||||
%configure
|
||||
@ -151,6 +154,10 @@ rm -rf %buildroot
|
||||
exit 0
|
||||
|
||||
%changelog
|
||||
* Fri Oct 17 2008 Tim Waugh <twaugh@redhat.com> 1.0.8-7
|
||||
- Added patch for pysmbc changes in git to prevent getdents crashing
|
||||
(bug #465975).
|
||||
|
||||
* Thu Oct 16 2008 Tim Waugh <twaugh@redhat.com> 1.0.8-6
|
||||
- Updated patch for 1.0.x changes:
|
||||
- Fixed SMB authentication dialog's cancel button (bug #467127).
|
||||
|
Loading…
Reference in New Issue
Block a user