openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
May 2006
- 1 participants
- 1219 discussions
Hello community,
here is the log from the commit of package jigdo
checked in at Fri May 26 12:59:09 CEST 2006.
--------
--- jigdo/jigdo.changes 2006-01-25 21:37:02.000000000 +0100
+++ jigdo/jigdo.changes 2006-05-24 18:08:55.000000000 +0200
@@ -1,0 +2,11 @@
+Wed May 24 18:01:47 CEST 2006 - cthiel(a)suse.de
+
+- remove GUI part of jigdo, as it's broken anyway
+- removed irrelevant parts from jigdo-0.7.2.patch
+
+-------------------------------------------------------------------
+Sat May 13 18:14:42 CEST 2006 - cthiel(a)suse.de
+
+- added wget to Requires
+
+-------------------------------------------------------------------
Old:
----
jigdo-0.7.2.diff
New:
----
jigdo-0.7.2.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jigdo.spec ++++++
--- /var/tmp/diff_new_pack.8i5x87/_old 2006-05-26 12:59:01.000000000 +0200
+++ /var/tmp/diff_new_pack.8i5x87/_new 2006-05-26 12:59:01.000000000 +0200
@@ -1,40 +1,41 @@
#
# spec file for package jigdo (Version 0.7.2)
#
-# Copyright (c) 2005 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
-# Please submit bugfixes or comments via http://www.suse.de/feedback/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: jigdo
-BuildRequires: curl-devel db-devel gcc-c++ gtk2-devel update-desktop-files wget
+BuildRequires: curl-devel db-devel gcc-c++ wget
URL: http://atterer.net/jigdo/
License: GPL
Group: Productivity/Networking/Other
Autoreqprov: on
Summary: Jigsaw Download
Version: 0.7.2
-Release: 5
+Release: 17
Source: %{name}-%{version}.tar.bz2
-Patch: %{name}-%{version}.diff
+Patch: %{name}-%{version}.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Requires: wget
%description
-Jigsaw Download, or short jigdo, is an intelligent tool that can be
-used on the pieces of any chopped-up big file to create a special
-"template" file which makes reassembly of the file very easy for users
-who only have the pieces.
+Jigsaw Download, or jigdo, is an intelligent tool that can be used on
+the pieces of any chopped-up big file to create a special template file
+that makes reassembly of the file very easy for users who only have the
+pieces.
What makes jigdo special is that there are no restrictions on what
-offsets/sizes the individual pieces have in the original big image.
-This makes the program very well suited for distributing CD/DVD images
-(or large zip/tar archives) because you can put the files of the CD on
-an FTP server - when jigdo is presented the files along with the
-template you generated, it is able to recreate the CD image.
+offsets or sizes the individual pieces have in the original big image.
+This makes the program very well suited for distributing CD or DVD
+images (or large zip or tar archives) because you can put the files of
+the CD on an FTP server--when jigdo is presented the files along with
+the template you generated, it is able to recreate the CD image.
@@ -47,19 +48,14 @@
%patch
%build
-autoconf
%configure --prefix=%{_prefix} \
--infodir=%{_infodir} \
- --mandir=%{_mandir}
+ --mandir=%{_mandir} \
+ --with-gui=no
make
%install
make install DESTDIR=$RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT/usr/share/applications
-mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
-install -m 644 jigdo.desktop $RPM_BUILD_ROOT/usr/share/applications
-install -m 644 gfx/jigdo-icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/jigdo.png
-%suse_update_desktop_file -i jigdo Application Network
%clean
rm -rf $RPM_BUILD_ROOT
@@ -71,10 +67,13 @@
%{_mandir}/*/*
%{_datadir}/locale/*/*/*
%{_datadir}/%{name}
-%{_datadir}/applications/%{name}.desktop
-%{_datadir}/pixmaps/%{name}.png
%changelog -n jigdo
+* Wed May 24 2006 - cthiel(a)suse.de
+- remove GUI part of jigdo, as it's broken anyway
+- removed irrelevant parts from jigdo-0.7.2.patch
+* Sat May 13 2006 - cthiel(a)suse.de
+- added wget to Requires
* Wed Jan 25 2006 - mls(a)suse.de
- converted neededforbuild to BuildRequires
* Sun Oct 30 2005 - cthiel(a)suse.de
++++++ jigdo-0.7.2.patch ++++++
--- Makefile.in
+++ Makefile.in
@@ -15,7 +15,7 @@
PACKAGE = jigdo
INSTALL = @INSTALL@
-INSTALL_EXE = @INSTALL@ -s
+INSTALL_EXE = @INSTALL@
INSTALL_DATA = @INSTALL@ -m 644
INSTALL_SCRIPT = @INSTALL@ -m 755
AWK = @AWK@
--- src/cachefile.cc
+++ src/cachefile.cc
@@ -131,7 +131,7 @@
//________________________________________
Status CacheFile::findName(const byte*& resultData, size_t& resultSize,
- const string& fileName, long long int& resultFileSize,
+ const string& fileName, off_t& resultFileSize,
time_t& resultMtime) {
DBT key; memset(&key, 0, sizeof(DBT));
key.data = const_cast<char*>(fileName.c_str());
--- src/cachefile.hh
+++ src/cachefile.hh
@@ -94,7 +94,7 @@
only valid until the next database operation. */
Status findName(const byte*& resultData, size_t& resultSize,
const string& fileName,
- long long int& resultFileSize, time_t& resultMtime);
+ off_t& resultFileSize, time_t& resultMtime);
/** Insert/overwrite entry for the given file (name must be
absolute, file must have the supplied mtime and size). The data
--- src/compat.cc
+++ src/compat.cc
@@ -1,4 +1,4 @@
-/* $Id: compat.cc,v 1.4 2005/07/09 19:14:46 atterer Exp $ -*- C++ -*-
+/* $Id: compat.cc,v 1.5 2005/10/15 16:39:46 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2001-2003 | richard@
| \/¯| Richard Atterer | atterer.net
@@ -38,15 +38,13 @@
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if (handle == INVALID_HANDLE_VALUE) return -1;
- LARGE_INTEGER targetFileLen;
- targetFileLen.QuadPart = length;
- LARGE_INTEGER newFileLen;
- if (SetFilePointerEx(handle, targetFileLen, &newFileLen, FILE_BEGIN) == 0
- || SetEndOfFile(handle) == 0U) {
+ LONG lengthHi = length >> 32;
+ DWORD setPointerRet = SetFilePointer(handle, length, &lengthHi, FILE_BEGIN);
+ if ((setPointerRet == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR)
+ || SetEndOfFile(handle) == 0) {
CloseHandle(handle);
return -1;
}
- Assert(static_cast<uint64>(newFileLen.QuadPart) == length);
if (CloseHandle(handle) == 0) return -1;
return 0;
}
--- src/jigdo-file.cc
+++ src/jigdo-file.cc
@@ -487,6 +487,16 @@
LONGOPT_NOSCANWHOLEFILE, LONGOPT_GREEDYMATCHING, LONGOPT_NOGREEDYMATCHING
};
+//______________________________________________________________________
+
+void outOfMemory() {
+ cerr << subst(_("%1: Out of memory - aborted."), binName()) << endl;
+ exit(3);
+}
+//______________________________________________________________________
+
+} // local namespace
+
// Deal with command line switches
JigdoFileCmd::Command JigdoFileCmd::cmdOptions(int argc, char* argv[]) {
# if !WINDOWS
@@ -722,15 +732,6 @@
return result;
}
-//______________________________________________________________________
-
-void outOfMemory() {
- cerr << subst(_("%1: Out of memory - aborted."), binName()) << endl;
- exit(3);
-}
-//______________________________________________________________________
-
-} // local namespace
void exit_tryHelp() {
cerr << subst(_("%1: Try `%1 -h' or `man jigdo-file' for more "
--- src/mktemplate.hh
+++ src/mktemplate.hh
@@ -136,7 +136,7 @@
void prepareJigdo();
void finalizeJigdo(const string& imageLeafName,
const string& templLeafName, const MD5Sum& templMd5Sum);
- INLINE bool MkTemplate::scanFiles(size_t blockLength, uint32 blockMask,
+ INLINE bool scanFiles(size_t blockLength, uint32 blockMask,
size_t md5BlockLength);
INLINE bool scanImage(byte* buf, size_t bufferLength, size_t blockLength,
uint32 blockMask, size_t md5BlockLength, MD5Sum&);
--- src/net/download.hh
+++ src/net/download.hh
@@ -126,7 +126,7 @@
static size_t curlWriter(void* data, size_t size, size_t nmemb,
void* selfPtr);
// Called by glibcurl after curl_multi_perform()
- static void Download::glibcurlCallback(void*);
+ static void glibcurlCallback(void*);
// Unregister request from glibwww event loop
// void pauseNow();
--- src/recursedir.cc
+++ src/recursedir.cc
@@ -54,6 +54,10 @@
throw RecurseError(err);
}
+} // local namespace
+//________________________________________
+
+
//______________________________________________________________________
/* Assign the next object name to result. Returns FAILURE if no more
@@ -131,8 +135,7 @@
}
}
-} // local namespace
-//________________________________________
+
bool RecurseDir::getName(string& result, struct stat* fileInfo,
bool checkFiles)
--- src/recursedir.hh
+++ src/recursedir.hh
@@ -101,7 +101,7 @@
string curDir;
stack<Level> recurseStack;
- inline bool RecurseDir::getNextObjectName(string& result)
+ inline bool getNextObjectName(string& result)
throw(RecurseError);
queue<string> objects; // Queue of filenames to output/dirs to recurse into
queue<string> objectsFrom; // Files containing filenames
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
1
0
Hello community,
here is the log from the commit of package iproute2
checked in at Fri May 26 12:58:56 CEST 2006.
--------
--- iproute2/iproute2.changes 2006-04-03 18:21:43.000000000 +0200
+++ iproute2/iproute2.changes 2006-05-26 01:22:53.000000000 +0200
@@ -1,0 +2,5 @@
+Fri May 26 01:22:34 CEST 2006 - schwab(a)suse.de
+
+- Fix crash while resolving addresses.
+
+-------------------------------------------------------------------
New:
----
iproute2-resolve-address.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ iproute2.spec ++++++
--- /var/tmp/diff_new_pack.is6t14/_old 2006-05-26 12:58:38.000000000 +0200
+++ /var/tmp/diff_new_pack.is6t14/_new 2006-05-26 12:58:38.000000000 +0200
@@ -18,7 +18,7 @@
Provides: iproute
Autoreqprov: on
Version: 2.6.15
-Release: 8
+Release: 14
Summary: Advanced Routing
URL: http://developer.osdl.org/dev/iproute2/
Source0: %name-%version-%dateversion.tar.bz2
@@ -28,6 +28,7 @@
Patch2: %name-2.6.15-fragtimeout.diff
Patch3: %name-2.6.14-nostrip.diff
Patch4: %name-tc-flex-fixes.patch
+Patch5: %name-resolve-address.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%package -n libnlink
Summary: A Higher Level Interface to the Netlink Service
@@ -60,6 +61,7 @@
%patch2
%patch3 -p1
%patch4
+%patch5
find . -name *.orig -print0 | xargs -r0 rm -v
%build
@@ -108,6 +110,8 @@
%_libdir/lib*
%changelog -n iproute2
+* Fri May 26 2006 - schwab(a)suse.de
+- Fix crash while resolving addresses.
* Mon Apr 03 2006 - hvogel(a)suse.de
- fix flex input file to use uppercase STR to avoid conflicts.
This prevented tc from being build [#162931]
++++++ iproute2-resolve-address.diff ++++++
--- lib/utils.c
+++ lib/utils.c
@@ -439,7 +439,7 @@
len = 4;
}
- hash = addr[len-1] ^ addr[len-2] ^ addr[len-3] ^ addr[len-4];
+ hash = (addr[len-1] ^ addr[len-2] ^ addr[len-3] ^ addr[len-4]) & 0xff;
for (n = nht[hash]; n; n = n->next) {
if (n->addr.family == af &&
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
1
0
Hello community,
here is the log from the commit of package hanterm-xf
checked in at Fri May 26 12:58:31 CEST 2006.
--------
--- hanterm-xf/hanterm-xf.changes 2006-01-25 21:36:25.000000000 +0100
+++ hanterm-xf/hanterm-xf.changes 2006-05-26 11:55:22.000000000 +0200
@@ -1,0 +2,5 @@
+Fri May 26 11:55:17 CEST 2006 - schwab(a)suse.de
+
+- Don't strip binaries.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hanterm-xf.spec ++++++
--- /var/tmp/diff_new_pack.sPJKsg/_old 2006-05-26 12:58:25.000000000 +0200
+++ /var/tmp/diff_new_pack.sPJKsg/_new 2006-05-26 12:58:25.000000000 +0200
@@ -1,11 +1,11 @@
#
# spec file for package hanterm-xf (Version 2.0.5_173)
#
-# Copyright (c) 2005 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
-# Please submit bugfixes or comments via http://www.suse.de/feedback/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
@@ -22,7 +22,7 @@
Summary: Hangul Terminal for the X Window System
URL: http://kldp.net/project/showfiles.php?group_id=34
Version: 2.0.5_173
-Release: 197
+Release: 210
# http://download.kldp.net/hanterm-xf/hanterm-xf-2.0.5-173.tar.gz
Source0: http://download.kldp.net/hanterm-xf/hanterm-xf-2.0.5-173.tar.bz2
Source5: hanterm.desktop.kde3x
@@ -81,9 +81,8 @@
make
%install
-[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
mkdir -p $RPM_BUILD_ROOT%{_bindir}
-install -c -s -m 555 hanterm $RPM_BUILD_ROOT%{_bindir}
+install -c -m 555 hanterm $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
install -m444 hanterm.man $RPM_BUILD_ROOT%{_mandir}/man1/hanterm.1
mkdir -p $RPM_BUILD_ROOT/usr/X11R6/lib/X11/{ko,ko_KR.UTF-8,}/app-defaults
@@ -120,6 +119,8 @@
/usr/share/applications/hanterm.desktop
%changelog -n hanterm-xf
+* Fri May 26 2006 - schwab(a)suse.de
+- Don't strip binaries.
* Wed Jan 25 2006 - mls(a)suse.de
- converted neededforbuild to BuildRequires
* Wed Apr 13 2005 - mfabian(a)suse.de
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
1
0
Hello community,
here is the log from the commit of package gstreamer010
checked in at Fri May 26 12:58:20 CEST 2006.
--------
--- GNOME/gstreamer010/gstreamer010.changes 2006-03-10 21:36:14.000000000 +0100
+++ gstreamer010/gstreamer010.changes 2006-05-25 18:18:04.000000000 +0200
@@ -1,0 +2,5 @@
+Thu May 25 18:17:46 CEST 2006 - sbrabec(a)suse.cz
+
+- Fixed uninitialized variable (#176290).
+
+-------------------------------------------------------------------
New:
----
gstreamer-uninitialized.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gstreamer010.spec ++++++
--- /var/tmp/diff_new_pack.nxiXCm/_old 2006-05-26 12:58:07.000000000 +0200
+++ /var/tmp/diff_new_pack.nxiXCm/_new 2006-05-26 12:58:07.000000000 +0200
@@ -30,10 +30,11 @@
Group: System/Libraries
Autoreqprov: on
Version: 0.10.4
-Release: 1
+Release: 11
%define gst_branch 0.10
Summary: Streaming-Media Framework Runtime
Source: %{_name}-%{version}.tar.bz2
+Patch: gstreamer-uninitialized.patch
URL: http://gstreamer.freedesktop.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: filesystem /sbin/ldconfig
@@ -171,6 +172,7 @@
%prep
%setup -q -n %{_name}-%{version}
+%patch
%build
%{?suse_update_config:%{suse_update_config -f}}
@@ -239,6 +241,8 @@
%{prefix}/share/gtk-doc/html/*
%changelog -n gstreamer010
+* Thu May 25 2006 - sbrabec(a)suse.cz
+- Fixed uninitialized variable (#176290).
* Fri Mar 10 2006 - jpr(a)suse.de
-update to version 0.10.4
-Changes since 0.10.3:
++++++ gstreamer-uninitialized.patch ++++++
Index: libs/gst/net/gstnetclientclock.c
===================================================================
RCS file: /cvs/gstreamer/gstreamer/libs/gst/net/gstnetclientclock.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- libs/gst/net/gstnetclientclock.c 11 May 2006 18:10:33 -0000 1.15
+++ libs/gst/net/gstnetclientclock.c 25 May 2006 15:52:19 -0000 1.16
@@ -450,12 +450,13 @@
if (ret < 0)
goto getsockname_error;
- GST_DEBUG_OBJECT (self, "socket opened on UDP port %hd",
- ntohs (servaddr.sin_port));
-
memset (&servaddr, 0, sizeof (servaddr));
servaddr.sin_family = AF_INET; /* host byte order */
servaddr.sin_port = htons (self->port); /* short, network byte order */
+
+ GST_DEBUG_OBJECT (self, "socket opened on UDP port %hd",
+ ntohs (servaddr.sin_port));
+
if (!inet_aton (self->address, &servaddr.sin_addr))
goto bad_address;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
1
0
Hello community,
here is the log from the commit of package gnome-screensaver
checked in at Fri May 26 12:57:38 CEST 2006.
--------
--- GNOME/gnome-screensaver/gnome-screensaver.changes 2006-05-08 18:46:20.000000000 +0200
+++ gnome-screensaver/gnome-screensaver.changes 2006-05-25 13:31:57.000000000 +0200
@@ -1,0 +2,8 @@
+Thu May 25 13:30:42 CEST 2006 - rodrigo(a)suse.de
+
+- Added patch to lock the screen before signalling DBUS listeners
+ that the screen saver is active. Thus, gnome-power-manager will
+ start the suspend when the screensaver is active, avoiding seeing
+ the screen fading out when resuming (167510)
+
+-------------------------------------------------------------------
New:
----
gnome-screensaver-167510.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-screensaver.spec ++++++
--- /var/tmp/diff_new_pack.CUso2g/_old 2006-05-26 12:52:38.000000000 +0200
+++ /var/tmp/diff_new_pack.CUso2g/_new 2006-05-26 12:52:38.000000000 +0200
@@ -13,7 +13,7 @@
Name: gnome-screensaver
BuildRequires: gnome-common gnome-menus-devel gnutls-devel intltool libglade2-devel libgnomeprintui-devel libgnomeui-devel libwnck-devel mDNSResponder-devel pam-devel perl-XML-Parser update-desktop-files xscreensaver
Version: 2.14.0
-Release: 18
+Release: 20
URL: http://www.gnome.org/
Group: System/GUI/GNOME
License: GPL
@@ -24,6 +24,7 @@
Patch4: gnome-screensaver-stay-above.patch
Patch5: gnome-screensaver-159513.patch
Patch6: gnome-screensaver-unlock-dialog-size.patch
+Patch7: gnome-screensaver-167510.patch
Autoreqprov: on
Requires: /sbin/unix2_chkpwd xscreensaver
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -52,6 +53,7 @@
%patch4
%patch5
%patch6 -p1
+%patch7 -p1
rm po/no.*
sed "/ALL_LINGUAS=/,/^$/s/ no / /" configure.ac > configure.ac.tmp && mv configure.ac.tmp configure.ac
@@ -108,6 +110,11 @@
/opt/gnome/share/pixmaps/gnome-logo-white.svg
%changelog -n gnome-screensaver
+* Thu May 25 2006 - rodrigo(a)suse.de
+- Added patch to lock the screen before signalling DBUS listeners
+ that the screen saver is active. Thus, gnome-power-manager will
+ start the suspend when the screensaver is active, avoiding seeing
+ the screen fading out when resuming (167510)
* Mon May 08 2006 - rodrigo(a)suse.de
- Added gnome-screensaver-unlock-dialog-size.patch to fix weird
resizing of the users list (#170846)
++++++ gnome-screensaver-167510.patch ++++++
--- gnome-screensaver-2.14.0-orig/src/gs-monitor.c 2006-02-22 04:21:17.000000000 +0100
+++ gnome-screensaver-2.14.0/src/gs-monitor.c 2006-05-24 18:03:33.000000000 +0200
@@ -161,10 +161,10 @@ listener_lock_cb (GSListener *listener,
{
gboolean res;
+ gs_manager_set_lock_active (monitor->priv->manager, TRUE);
res = gs_listener_set_active (monitor->priv->listener, TRUE);
- if (res) {
- gs_manager_set_lock_active (monitor->priv->manager, TRUE);
- } else {
+ if (!res) {
+ gs_manager_set_lock_active (monitor->priv->manager, FALSE);
gs_debug ("Unable to lock the screen");
}
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
1
0
Hello community,
here is the log from the commit of package mpfr
checked in at Fri May 26 12:55:17 CEST 2006.
--------
--- mpfr/mpfr.changes 2006-05-15 14:28:13.000000000 +0200
+++ mpfr/mpfr.changes 2006-05-26 12:38:15.000000000 +0200
@@ -1,0 +2,5 @@
+Fri May 26 12:38:05 CEST 2006 - rguenther(a)suse.de
+
+- Skip testsuite for s390.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mpfr.spec ++++++
--- /var/tmp/diff_new_pack.xJCX3q/_old 2006-05-26 12:55:09.000000000 +0200
+++ /var/tmp/diff_new_pack.xJCX3q/_new 2006-05-26 12:55:09.000000000 +0200
@@ -17,7 +17,7 @@
Autoreqprov: on
Requires: gmp
Version: 2.2.0
-Release: 2
+Release: 3
Summary: The MPFR library for multiple-precision floating-point computations with exact rounding
URL: http://www.mpfr.org/
Source: mpfr-%{version}.tar.bz2
@@ -69,7 +69,9 @@
%build
%configure --enable-shared --enable-thread-safe
make %{?jobs:-j%jobs}
+%ifnarch s390
make check %{?jobs:-j%jobs}
+%endif
%install
@@ -104,6 +106,8 @@
/usr/include/*
%changelog -n mpfr
+* Fri May 26 2006 - rguenther(a)suse.de
+- Skip testsuite for s390.
* Mon May 15 2006 - rguenther(a)suse.de
- Add provides to mpfr-devel to fix updating from gmp-devel.
* Sat May 13 2006 - rguenther(a)suse.de
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
1
0
Hello community,
here is the log from the commit of package gcc
checked in at Fri May 26 12:52:30 CEST 2006.
--------
--- gcc/cross-alpha-gcc-icecream-backend.changes 2006-05-17 11:53:33.000000000 +0200
+++ gcc/cross-alpha-gcc-icecream-backend.changes 2006-05-25 22:39:03.000000000 +0200
@@ -1,0 +2,5 @@
+Thu May 25 22:38:48 CEST 2006 - rguenther(a)suse.de
+
+- Update to 4.1.1 release.
+
+-------------------------------------------------------------------
cross-arm-gcc-icecream-backend.changes: same change
cross-avr-gcc.changes: same change
cross-hppa-gcc-icecream-backend.changes: same change
cross-i386-gcc-icecream-backend.changes: same change
cross-ia64-gcc-icecream-backend.changes: same change
cross-ppc-gcc-icecream-backend.changes: same change
cross-ppc64-gcc-icecream-backend.changes: same change
cross-s390-gcc-icecream-backend.changes: same change
cross-s390x-gcc-icecream-backend.changes: same change
cross-x86_64-gcc-icecream-backend.changes: same change
gcc.changes: same change
Old:
----
pr21041.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cross-alpha-gcc-icecream-backend.spec ++++++
--- /var/tmp/diff_new_pack.Q48q9h/_old 2006-05-26 12:50:41.000000000 +0200
+++ /var/tmp/diff_new_pack.Q48q9h/_new 2006-05-26 12:50:41.000000000 +0200
@@ -25,7 +25,7 @@
URL: http://gcc.gnu.org/
License: GPL, LGPL
Version: 4.1.1
-Release: 3
+Release: 4
%define gcc_version %(echo %version | sed 's/_.*//')
%define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/')
%if %{gcc_for_opt}
@@ -51,7 +51,6 @@
Patch9: endless-loop-warning.patch
Patch10: program-transform-name.diff
Patch12: gcc4-ppc64-m32-m64-multilib-only.patch
-Patch15: pr21041.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch37: pr20425.patch
@@ -136,7 +135,6 @@
%if !%{build_nof}
%patch12
%endif
-%patch15
%patch23
%patch24
%patch37
@@ -370,6 +368,8 @@
/usr/share/icecream-envs
%changelog -n cross-alpha-gcc-icecream-backend
+* Thu May 25 2006 - rguenther(a)suse.de
+- Update to 4.1.1 release.
* Wed May 17 2006 - rguenther(a)suse.de
- Update to gcc-4_1-branch head.
* Mon May 15 2006 - rguenther(a)suse.de
cross-arm-gcc-icecream-backend.spec: same change
++++++ cross-avr-gcc.spec ++++++
--- /var/tmp/diff_new_pack.Q48q9h/_old 2006-05-26 12:50:41.000000000 +0200
+++ /var/tmp/diff_new_pack.Q48q9h/_new 2006-05-26 12:50:41.000000000 +0200
@@ -24,7 +24,7 @@
URL: http://gcc.gnu.org/
License: GPL, LGPL
Version: 4.1.1
-Release: 3
+Release: 4
%define gcc_version %(echo %version | sed 's/_.*//')
%define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/')
%if %{gcc_for_opt}
@@ -50,7 +50,6 @@
Patch9: endless-loop-warning.patch
Patch10: program-transform-name.diff
Patch12: gcc4-ppc64-m32-m64-multilib-only.patch
-Patch15: pr21041.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch37: pr20425.patch
@@ -132,7 +131,6 @@
%if !%{build_nof}
%patch12
%endif
-%patch15
%patch23
%patch24
%patch37
@@ -333,6 +331,8 @@
%{_prefix}
%changelog -n cross-avr-gcc
+* Thu May 25 2006 - rguenther(a)suse.de
+- Update to 4.1.1 release.
* Wed May 17 2006 - rguenther(a)suse.de
- Update to gcc-4_1-branch head.
* Mon May 15 2006 - rguenther(a)suse.de
++++++ cross-hppa-gcc-icecream-backend.spec ++++++
--- /var/tmp/diff_new_pack.Q48q9h/_old 2006-05-26 12:50:41.000000000 +0200
+++ /var/tmp/diff_new_pack.Q48q9h/_new 2006-05-26 12:50:41.000000000 +0200
@@ -25,7 +25,7 @@
URL: http://gcc.gnu.org/
License: GPL, LGPL
Version: 4.1.1
-Release: 3
+Release: 4
%define gcc_version %(echo %version | sed 's/_.*//')
%define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/')
%if %{gcc_for_opt}
@@ -51,7 +51,6 @@
Patch9: endless-loop-warning.patch
Patch10: program-transform-name.diff
Patch12: gcc4-ppc64-m32-m64-multilib-only.patch
-Patch15: pr21041.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch37: pr20425.patch
@@ -136,7 +135,6 @@
%if !%{build_nof}
%patch12
%endif
-%patch15
%patch23
%patch24
%patch37
@@ -370,6 +368,8 @@
/usr/share/icecream-envs
%changelog -n cross-hppa-gcc-icecream-backend
+* Thu May 25 2006 - rguenther(a)suse.de
+- Update to 4.1.1 release.
* Wed May 17 2006 - rguenther(a)suse.de
- Update to gcc-4_1-branch head.
* Mon May 15 2006 - rguenther(a)suse.de
cross-i386-gcc-icecream-backend.spec: same change
cross-ia64-gcc-icecream-backend.spec: same change
cross-ppc-gcc-icecream-backend.spec: same change
cross-ppc64-gcc-icecream-backend.spec: same change
cross-s390-gcc-icecream-backend.spec: same change
cross-s390x-gcc-icecream-backend.spec: same change
cross-x86_64-gcc-icecream-backend.spec: same change
++++++ gcc.spec ++++++
--- /var/tmp/diff_new_pack.Q48q9h/_old 2006-05-26 12:50:41.000000000 +0200
+++ /var/tmp/diff_new_pack.Q48q9h/_new 2006-05-26 12:50:41.000000000 +0200
@@ -85,7 +85,7 @@
URL: http://gcc.gnu.org/
License: GPL
Version: 4.1.1
-Release: 3
+Release: 4
%define gcc_version %(echo %version | sed 's/_.*//')
%define snapshot_date %(echo %version | sed 's/[34]\.[0-4]\.[0-6]//' | sed 's/_/-/')
%if %{gcc_for_opt}
@@ -113,7 +113,6 @@
Patch9: endless-loop-warning.patch
Patch10: program-transform-name.diff
Patch12: gcc4-ppc64-m32-m64-multilib-only.patch
-Patch15: pr21041.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch37: pr20425.patch
@@ -172,7 +171,6 @@
Group: Development/Languages/C and C++
Autoreqprov: on
Requires: gcc = %{version}-%{release}
-Requires: libstdc++ = %{version}-%{release}
Requires: libstdc++-devel = %{version}-%{release}
Provides: c++_compiler
@@ -185,7 +183,7 @@
Summary: Include Files and Libraries mandatory for Development
Group: System/Libraries
Autoreqprov: on
-Requires: libstdc++ = %{version}-%{release}
+Requires: libstdc++ >= %{version}-%{release}
Requires: gcc
Requires: glibc-devel
%ifarch ia64
@@ -204,7 +202,7 @@
Summary: Include Files and Libraries mandatory for Development
Group: System/Libraries
Autoreqprov: on
-Requires: libstdc++-64bit = %{version}-%{release}
+Requires: libstdc++-64bit >= %{version}-%{release}
Requires: gcc
%description -n libstdc++-devel-64bit
@@ -311,7 +309,7 @@
Group: Development/Languages/Other
Autoreqprov: on
Requires: gcc = %{version}-%{release}
-Requires: libobjc = %{version}-%{release}
+Requires: libobjc >= %{version}-%{release}
%description objc
This package contains the GNU Objective C compiler. Objective C is an
@@ -334,7 +332,7 @@
Group: Development/Languages/Other
Autoreqprov: on
Requires: gcc = %{version}-%{release}
-Requires: libobjc-64bit = %{version}-%{release}
+Requires: libobjc-64bit >= %{version}-%{release}
%description objc-64bit
This is a re-packaged binary rpm. For the package source, please look
@@ -377,7 +375,6 @@
Group: Development/Languages/Java
Autoreqprov: on
Requires: gcc = %{version}-%{release}
-Requires: libgcj = %{version}-%{release}
Requires: libgcj-devel = %{version}-%{release}
%description java
@@ -401,7 +398,7 @@
Group: Development/Libraries/Java
Autoreqprov: on
Requires: libstdc++-devel = %{version}-%{release}
-Requires: libgcj = %{version}-%{release}
+Requires: libgcj >= %{version}-%{release}
Requires: gtk2-devel
Requires: libart_lgpl-devel
Requires: glibc-devel
@@ -559,7 +556,6 @@
%if !%{build_nof}
%patch12
%endif
-%patch15
%patch23
%patch24
%patch37
@@ -1706,6 +1702,8 @@
%endif
%changelog -n gcc
+* Thu May 25 2006 - rguenther(a)suse.de
+- Update to 4.1.1 release.
* Wed May 17 2006 - rguenther(a)suse.de
- Update to gcc-4_1-branch head.
* Mon May 15 2006 - rguenther(a)suse.de
++++++ gcc-4.1.1.tar.bz2 ++++++
gcc/gcc-4.1.1.tar.bz2 gcc/gcc-4.1.1.tar.bz2 differ: char 11, line 1
++++++ gcc.spec.in ++++++
--- gcc/gcc.spec.in 2006-05-17 12:57:37.000000000 +0200
+++ gcc/gcc.spec.in 2006-05-25 22:39:13.000000000 +0200
@@ -131,7 +131,6 @@
Patch9: endless-loop-warning.patch
Patch10: program-transform-name.diff
Patch12: gcc4-ppc64-m32-m64-multilib-only.patch
-Patch15: pr21041.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch37: pr20425.patch
@@ -181,7 +180,6 @@
Group: Development/Languages/C and C++
Autoreqprov: on
Requires: gcc@gcc_suffix@ = %{version}-%{release}
-Requires: libstdc++@gcc_suffix@ = %{version}-%{release}
Requires: libstdc++-devel@gcc_suffix@ = %{version}-%{release}
Provides: c++_compiler
@@ -193,7 +191,7 @@
Summary: Include Files and Libraries mandatory for Development
Group: System/Libraries
Autoreqprov: on
-Requires: libstdc++@gcc_suffix@ = %{version}-%{release}
+Requires: libstdc++@gcc_suffix@ >= %{version}-%{release}
Requires: gcc@gcc_suffix@
Requires: glibc-devel
%ifarch ia64
@@ -211,7 +209,7 @@
Summary: Include Files and Libraries mandatory for Development (64 bit)
Group: System/Libraries
Autoreqprov: on
-Requires: libstdc++@gcc_suffix@-64bit = %{version}-%{release}
+Requires: libstdc++@gcc_suffix@-64bit >= %{version}-%{release}
Requires: gcc@gcc_suffix@
%description -n libstdc++-devel@gcc_suffix@-64bit
@@ -284,7 +282,7 @@
Group: Development/Languages/Other
Autoreqprov: on
Requires: gcc@gcc_suffix@ = %{version}-%{release}
-Requires: libobjc@gcc_suffix@ = %{version}-%{release}
+Requires: libobjc@gcc_suffix@ >= %{version}-%{release}
%description objc
This package contains the GNU Objective C compiler. Objective C is an
@@ -305,7 +303,7 @@
Group: Development/Languages/Other
Autoreqprov: on
Requires: gcc@gcc_suffix@ = %{version}-%{release}
-Requires: libobjc@gcc_suffix@-64bit = %{version}-%{release}
+Requires: libobjc@gcc_suffix@-64bit >= %{version}-%{release}
%description objc-64bit
This package contains the GNU Objective C compiler. Objective C is an
@@ -335,7 +333,6 @@
Group: Development/Languages/Java
Autoreqprov: on
Requires: gcc@gcc_suffix@ = %{version}-%{release}
-Requires: libgcj@gcc_suffix@ = %{version}-%{release}
Requires: libgcj-devel@gcc_suffix@ = %{version}-%{release}
%description java
@@ -357,7 +354,7 @@
Group: Development/Libraries/Java
Autoreqprov: on
Requires: libstdc++-devel@gcc_suffix@ = %{version}-%{release}
-Requires: libgcj@gcc_suffix@ = %{version}-%{release}
+Requires: libgcj@gcc_suffix@ >= %{version}-%{release}
Requires: gtk2-devel
Requires: libart_lgpl-devel
Requires: glibc-devel
@@ -491,7 +488,6 @@
%if !%{build_nof}
%patch12
%endif
-%patch15
%patch23
%patch24
%patch37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
1
0
Hello community,
here is the log from the commit of package evolution-data-server
checked in at Fri May 26 12:49:58 CEST 2006.
--------
--- GNOME/evolution-data-server/evolution-data-server.changes 2006-05-23 05:59:28.000000000 +0200
+++ evolution-data-server/evolution-data-server.changes 2006-05-25 09:24:08.000000000 +0200
@@ -1,0 +2,6 @@
+Thu May 25 09:22:49 CEST 2006 - sragavan(a)novell.com
+
+- Fixes (bnc)
+ 176615 - Added a new camel stream vfs for saving to remote shares.
+
+-------------------------------------------------------------------
New:
----
camel-vfs-stream.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ evolution-data-server.spec ++++++
--- /var/tmp/diff_new_pack.PqMvXE/_old 2006-05-26 12:48:57.000000000 +0200
+++ /var/tmp/diff_new_pack.PqMvXE/_new 2006-05-26 12:48:57.000000000 +0200
@@ -18,7 +18,7 @@
Autoreqprov: on
Summary: Evolution Data Server
Version: 1.6.0
-Release: 50
+Release: 51
Source: ftp://ftp.gnome.org/pub/gnome/sources/evolution-data-server/1.6/%{name}-%{v…
#Patch3: evolution-data-server-gcc4.patch
Patch5: evolution-data-server-configure.patch
@@ -88,6 +88,7 @@
Patch67: imap-locking.patch
Patch68: bnc-177394.patch
Patch69: eds-updated-translations.diff
+Patch70: camel-vfs-stream.diff
Url: http://www.gnome.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: libsoup >= 2.2.6 mozilla-nss
@@ -187,6 +188,7 @@
%patch67
%patch68
%patch69
+%patch70
%build
rename no nb po/no.*
@@ -237,6 +239,9 @@
%{prefix}/share/gtk-doc/html/*
%changelog -n evolution-data-server
+* Thu May 25 2006 - sragavan(a)novell.com
+- Fixes (bnc)
+ 176615 - Added a new camel stream vfs for saving to remote shares.
* Tue May 23 2006 - sragavan(a)novell.com
- Updated translations (Srini)
* Mon May 22 2006 - fejj(a)suse.de
++++++ camel-vfs-stream.diff ++++++
--- configure.in.old 2006-05-23 07:34:48.254719640 +0200
+++ configure.in 2006-05-23 07:35:07.050359111 +0200
@@ -1199,7 +1199,7 @@
AC_MSG_ERROR([*** zlib is required])
fi
-EVO_SET_COMPILE_FLAGS(CAMEL, gthread-2.0 gmodule-2.0 gobject-2.0 $mozilla_nss,
+EVO_SET_COMPILE_FLAGS(CAMEL, gthread-2.0 gmodule-2.0 gobject-2.0 $mozilla_nss gnome-vfs-2.0,
$THREADS_CFLAGS $KRB4_CFLAGS $KRB5_CFLAGS $MANUAL_NSS_CFLAGS,
-lz $THREADS_LIBS $KRB4_LDFLAGS $KRB5_LDFLAGS $MANUAL_NSS_LIBS)
AC_SUBST(CAMEL_CFLAGS)
Index: camel/Makefile.am
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/Makefile.am,v
retrieving revision 1.213
diff -u -p -r1.213 Makefile.am
--- camel/Makefile.am 4 Jan 2006 23:47:07 -0000 1.213
+++ camel/Makefile.am 23 May 2006 03:54:24 -0000
@@ -201,6 +201,7 @@ libcamel_1_2_la_SOURCES = \
camel-stream-fs.c \
camel-stream-mem.c \
camel-stream-null.c \
+ camel-stream-vfs.c \
camel-stream.c \
camel-string-utils.c \
camel-text-index.c \
@@ -270,6 +271,7 @@ libcamelinclude_HEADERS = \
camel-stream-mem.h \
camel-stream-null.h \
camel-stream-process.h \
+ camel-stream-vfs.h \
camel-stream.h \
camel-string-utils.h \
camel-text-index.h \
--- /dev/null 2006-04-26 01:42:37.000000000 +0530
+++ camel/camel-stream-vfs.c 2006-05-18 16:42:45.000000000 +0530
@@ -0,0 +1,281 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/* camel-stream-vfs.c : file system based stream */
+
+/*
+ * Authors: Srinivasa Ragavan <sragavan(a)novell.com>
+ *
+ * Copyright 2006 Novell, Inc. (www.novell.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU Lesser General Public
+ * License as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <string.h>
+
+#include <glib/gstdio.h>
+
+#include "camel-file-utils.h"
+#include "camel-operation.h"
+#include "camel-private.h"
+#include "camel-stream-vfs.h"
+
+static CamelSeekableStreamClass *parent_class = NULL;
+
+/* Returns the class for a CamelStreamVFS */
+#define CSVFS_CLASS(so) CAMEL_STREAM_VFS_CLASS (CAMEL_OBJECT_GET_CLASS(so))
+
+static ssize_t stream_read (CamelStream *stream, char *buffer, size_t n);
+static ssize_t stream_write (CamelStream *stream, const char *buffer, size_t n);
+/* static int stream_flush (CamelStream *stream); */
+static int stream_close (CamelStream *stream);
+static off_t stream_seek (CamelSeekableStream *stream, off_t offset,
+ CamelStreamSeekPolicy policy);
+
+static void
+camel_stream_vfs_class_init (CamelStreamVFSClass *camel_stream_vfs_class)
+{
+ CamelSeekableStreamClass *camel_seekable_stream_class =
+ CAMEL_SEEKABLE_STREAM_CLASS (camel_stream_vfs_class);
+ CamelStreamClass *camel_stream_class =
+ CAMEL_STREAM_CLASS (camel_stream_vfs_class);
+
+ parent_class = CAMEL_SEEKABLE_STREAM_CLASS (camel_type_get_global_classfuncs (camel_seekable_stream_get_type ()));
+
+ /* virtual method overload */
+ camel_stream_class->read = stream_read;
+ camel_stream_class->write = stream_write;
+/* camel_stream_class->flush = stream_flush; */
+ camel_stream_class->close = stream_close;
+
+ camel_seekable_stream_class->seek = stream_seek;
+}
+
+static void
+camel_stream_vfs_init (gpointer object, gpointer klass)
+{
+ CamelStreamVFS *stream = CAMEL_STREAM_VFS (object);
+
+ stream->handle = (gpointer) -1;
+ ((CamelSeekableStream *)stream)->bound_end = CAMEL_STREAM_UNBOUND;
+}
+
+static void
+camel_stream_vfs_finalize (CamelObject *object)
+{
+ CamelStreamVFS *stream_vfs = CAMEL_STREAM_VFS (object);
+
+ if (stream_vfs->handle != -1)
+ close (stream_vfs->handle);
+}
+
+
+CamelType
+camel_stream_vfs_get_type (void)
+{
+ static CamelType camel_stream_vfs_type = CAMEL_INVALID_TYPE;
+
+ if (camel_stream_vfs_type == CAMEL_INVALID_TYPE) {
+ camel_stream_vfs_type = camel_type_register (camel_seekable_stream_get_type (), "CamelStreamVFS",
+ sizeof (CamelStreamVFS),
+ sizeof (CamelStreamVFSClass),
+ (CamelObjectClassInitFunc) camel_stream_vfs_class_init,
+ NULL,
+ (CamelObjectInitFunc) camel_stream_vfs_init,
+ (CamelObjectFinalizeFunc) camel_stream_vfs_finalize);
+ }
+
+ return camel_stream_vfs_type;
+}
+
+/**
+ * camel_stream_vfs_new_with_handle:
+ * @handle: a GnomeVFS handle
+ *
+ * Creates a new fs stream using the given GnomeVFS handle @handle as the
+ * backing store. When the stream is destroyed, the file descriptor
+ * will be closed.
+ *
+ * Returns a new #CamelStreamVFS
+ **/
+CamelStream *
+camel_stream_vfs_new_with_handle (GnomeVFSHandle *handle)
+{
+ CamelStreamVFS *stream_vfs;
+ off_t offset;
+ GnomeVFSResult result;
+
+ if (!handle)
+ return NULL;
+
+ stream_vfs = CAMEL_STREAM_VFS (camel_object_new (camel_stream_vfs_get_type ()));
+ stream_vfs->handle = handle;
+ gnome_vfs_seek (handle, GNOME_VFS_SEEK_CURRENT, 0);
+ offset = 0;
+ CAMEL_SEEKABLE_STREAM (stream_vfs)->position = offset;
+
+ return CAMEL_STREAM (stream_vfs);
+}
+
+/**
+ * camel_stream_vfs_new_with_uri:
+ * @name: a file uri
+ * @flags: flags as in open(2)
+ * @mode: a file mode
+ *
+ * Creates a new #CamelStreamVFS corresponding to the named file, flags,
+ * and mode.
+ *
+ * Returns the new stream, or %NULL on error.
+ **/
+CamelStream *
+camel_stream_vfs_new_with_uri (const char *name, int flags, mode_t mode)
+{
+ GnomeVFSResult result;
+ GnomeVFSHandle *handle;
+ int vfs_flag;
+
+ if (flags & O_WRONLY)
+ vfs_flag = vfs_flag | GNOME_VFS_OPEN_WRITE;
+ if (flags & O_RDONLY)
+ vfs_flag = vfs_flag | GNOME_VFS_OPEN_READ;
+ if (flags & O_RDWR)
+ vfs_flag = vfs_flag | GNOME_VFS_OPEN_READ |GNOME_VFS_OPEN_WRITE;
+
+ if (flags & O_CREAT)
+ result = gnome_vfs_create (&handle, name, vfs_flag, flags & O_TRUNC, mode);
+ else
+ result = gnome_vfs_open (&handle, name, vfs_flag);
+
+ if (result != GNOME_VFS_OK) {
+ return NULL;
+ }
+
+ return camel_stream_vfs_new_with_handle (handle);
+}
+
+static ssize_t
+stream_read (CamelStream *stream, char *buffer, size_t n)
+{
+ CamelStreamVFS *stream_vfs = CAMEL_STREAM_VFS (stream);
+ CamelSeekableStream *seekable = CAMEL_SEEKABLE_STREAM (stream);
+ ssize_t nread = 0;
+ GnomeVFSResult result;
+
+ if (seekable->bound_end != CAMEL_STREAM_UNBOUND)
+ n = MIN (seekable->bound_end - seekable->position, n);
+
+ result = gnome_vfs_read (stream_vfs->handle, buffer, n, &nread);
+
+ if (nread > 0 && result == GNOME_VFS_OK)
+ seekable->position += nread;
+ else if (nread == 0)
+ stream->eos = TRUE;
+
+ return nread;
+}
+
+static ssize_t
+stream_write (CamelStream *stream, const char *buffer, size_t n)
+{
+ CamelStreamVFS *stream_vfs = CAMEL_STREAM_VFS (stream);
+ CamelSeekableStream *seekable = CAMEL_SEEKABLE_STREAM (stream);
+ ssize_t nwritten = 0;
+ GnomeVFSResult result;
+
+ if (seekable->bound_end != CAMEL_STREAM_UNBOUND)
+ n = MIN (seekable->bound_end - seekable->position, n);
+
+ result = gnome_vfs_write (stream_vfs->handle, buffer, n, &nwritten);
+
+ if (nwritten > 0 && result == GNOME_VFS_OK)
+ seekable->position += nwritten;
+
+ return nwritten;
+}
+
+/* static int */
+/* stream_flush (CamelStream *stream) */
+/* { */
+/* return fsync(((CamelStreamVFS *)stream)->handle); */
+/* } */
+
+static int
+stream_close (CamelStream *stream)
+{
+ GnomeVFSResult result;
+
+ result = gnome_vfs_close(((CamelStreamVFS *)stream)->handle);
+
+ if (result != GNOME_VFS_OK)
+ return -1;
+
+ ((CamelStreamVFS *)stream)->handle = NULL;
+ return 0;
+}
+
+static off_t
+stream_seek (CamelSeekableStream *stream, off_t offset, CamelStreamSeekPolicy policy)
+{
+ CamelStreamVFS *stream_vfs = CAMEL_STREAM_VFS (stream);
+ off_t real = 0;
+ GnomeVFSResult result;
+ GnomeVFSHandle *handle = stream_vfs->handle;
+
+ switch (policy) {
+ case CAMEL_STREAM_SET:
+ real = offset;
+ break;
+ case CAMEL_STREAM_CUR:
+ real = stream->position + offset;
+ break;
+ case CAMEL_STREAM_END:
+ if (stream->bound_end == CAMEL_STREAM_UNBOUND) {
+ result = gnome_vfs_seek (handle, GNOME_VFS_SEEK_END, offset);
+ if (result != GNOME_VFS_OK)
+ return -1;
+ gnome_vfs_tell (handle, &real);
+ if (real != -1) {
+ if (real<stream->bound_start)
+ real = stream->bound_start;
+ stream->position = real;
+ }
+ return real;
+ }
+ real = stream->bound_end + offset;
+ break;
+ }
+
+ if (stream->bound_end != CAMEL_STREAM_UNBOUND)
+ real = MIN (real, stream->bound_end);
+ real = MAX (real, stream->bound_start);
+
+ result = gnome_vfs_seek (handle, GNOME_VFS_SEEK_START, real);
+ if (result != GNOME_VFS_OK)
+ return -1;
+
+ if (real != stream->position && ((CamelStream *)stream)->eos)
+ ((CamelStream *)stream)->eos = FALSE;
+
+ stream->position = real;
+
+ return real;
+}
--- /dev/null 2006-04-26 01:42:37.000000000 +0530
+++ camel/camel-stream-vfs.h 2006-05-18 16:41:12.000000000 +0530
@@ -0,0 +1,72 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+/* camel-stream-vfs.h :stream based on unix filesystem */
+
+/*
+ * Author:
+ * Srinivasa Ragavan <sragavan(a)novell.com>
+ *
+ * Copyright 2006 Novell, Inc. (www.novell.com)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU Lesser General Public
+ * License as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+#ifndef CAMEL_STREAM_VFS_H
+#define CAMEL_STREAM_VFS_H 1
+
+
+#ifdef __cplusplus
+extern "C" {
+#pragma }
+#endif /* __cplusplus */
+
+/* for open flags */
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <libgnomevfs/gnome-vfs.h>
+
+#include <camel/camel-seekable-stream.h>
+
+#define CAMEL_STREAM_VFS_TYPE (camel_stream_vfs_get_type ())
+#define CAMEL_STREAM_VFS(obj) (CAMEL_CHECK_CAST((obj), CAMEL_STREAM_VFS_TYPE, CamelStreamVFS))
+#define CAMEL_STREAM_VFS_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_STREAM_VFS_TYPE, CamelStreamVFSClass))
+#define CAMEL_IS_STREAM_VFS(o) (CAMEL_CHECK_TYPE((o), CAMEL_STREAM_VFS_TYPE))
+
+typedef struct _CamelStreamVFS CamelStreamVFS;
+
+struct _CamelStreamVFS {
+ CamelSeekableStream parent_object;
+
+ GnomeVFSHandle *handle;
+};
+
+typedef struct {
+ CamelSeekableStreamClass parent_class;
+
+} CamelStreamVFSClass;
+
+/* Standard Camel function */
+CamelType camel_stream_vfs_get_type (void);
+
+/* public methods */
+CamelStream * camel_stream_vfs_new_with_uri (const char *uri, int flags, mode_t mode);
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* CAMEL_STREAM_VFS_H */
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
1
0
Hello community,
here is the log from the commit of package evolution
checked in at Fri May 26 12:48:48 CEST 2006.
--------
--- GNOME/evolution/evolution.changes 2006-05-23 15:40:56.000000000 +0200
+++ evolution/evolution.changes 2006-05-25 09:29:24.000000000 +0200
@@ -1,0 +2,6 @@
+Thu May 25 09:27:50 CEST 2006 - sragavan(a)novell.com
+
+- Fixes (bnc)
+ 176615 - Added support for remote shares
+
+-------------------------------------------------------------------
New:
----
bnc-176615-gnome-vfs-samba.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ evolution.spec ++++++
--- /var/tmp/diff_new_pack.6hHZ0P/_old 2006-05-26 12:47:36.000000000 +0200
+++ /var/tmp/diff_new_pack.6hHZ0P/_new 2006-05-26 12:47:36.000000000 +0200
@@ -21,7 +21,7 @@
Autoreqprov: on
Obsoletes: bonobo-conf
Version: 2.6.0
-Release: 54
+Release: 55
Summary: The Integrated GNOME Mail, Calendar, and Address Book Suite
Source: ftp://ftp.gnome.org/pub/gnome/sources/evolution/2.6/%{name}-%{version}.tar.…
Source1: summerdance-about2.png
@@ -99,6 +99,7 @@
Patch80: bnc-176714-open-attachments-dbl-click.diff
Patch81: evo-updated-translations.diff
Patch82: evolution-cs.patch
+Patch83: bnc-176615-gnome-vfs-samba.diff
URL: http://gnome.org/projects/evolution/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: filesystem gconf2 shared-mime-info
@@ -385,6 +386,7 @@
%patch80
%patch81
%patch82
+%patch83
%build
rename no nb po/no.*
@@ -506,6 +508,9 @@
%{prefix}/share/gnome-pilot/conduits/*.conduit
%changelog -n evolution
+* Thu May 25 2006 - sragavan(a)novell.com
+- Fixes (bnc)
+ 176615 - Added support for remote shares
* Tue May 23 2006 - sbrabec(a)suse.cz
- Czech typo fix.
* Mon May 22 2006 - sragavan(a)novell.com
++++++ bnc-176615-gnome-vfs-samba.diff ++++++
++++ 749 lines (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
1
0
Hello community,
here is the log from the commit of package dovecot
checked in at Fri May 26 12:46:35 CEST 2006.
--------
--- dovecot/dovecot.changes 2006-05-16 19:01:21.000000000 +0200
+++ dovecot/dovecot.changes 2006-05-25 08:52:52.000000000 +0200
@@ -1,0 +2,39 @@
+Thu May 25 08:18:17 CEST 2006 - mrueckert(a)suse.de
+
+- Update to 1.0.beta8:
+ * Fixed a security hole with mbox: "1 LIST .. *" command could
+ list all directories and files under the mbox root directory, so
+ if your mails were stored in eg. /var/mail/%u/ directory, the
+ command would list everything under /var/mail.
+
+ + Unless nfs_check=no or mmap_disable=yes, check for the first login
+ if the user's index directory exists in NFS mount. If so, refuse to
+ run. This is done only on first login to avoid constant extra
+ overhead.
+ + If we have plugins set and imap_capability unset, figure out the
+ IMAP capabilities automatically by running imap binary at startup.
+ The generated capability list isn't updated until Dovecot is
+ restarted completely, so if you add or remove IMAP plugins you
+ should restart. If you have problems related to this, set
+ imap_capabilities setting manually to work around it.
+ + Added auth_username_format setting
+ - pop3_lock_session setting wasn't really working
+ - Lots of fixes related to quota handling. It's still not working
+ perfectly though.
+ - Lots of index handling fixes, especially with mmap_disable=yes
+ - Maildir: saving mails could have sometimes caused "Append with UID
+ n, but next_uid = m" errors
+ - flock() locking never timeouted because ignoring SIGALRM caused the
+ system call just to be restarted when SIGALRM occurred (probably not
+ with all OSes though?)
+ - kqueue: Fixed "Unrecognized event". Patch by Vaclav Haisman
+
+- removed dovecot-1.0.beta7_directory-traversal.patch:
+ the patch is included in 1.0.beta8
+- dovecot-1.0.beta3_indexfixes.patch: included in beta8
+- replaced dovecot-1.0.beta1_pie.patch with
+ dovecot-1.0.beta6_pie.patch: rediff for new version
+- no longer use %{_libdir}/dovecot as libexecdir. We use
+ %{_prefix}/lib/dovecot now.
+
+-------------------------------------------------------------------
Old:
----
dovecot-1.0.beta1_pie.patch
dovecot-1.0.beta3.tar.bz2
dovecot-1.0.beta3_indexfixes.patch
dovecot-1.0.beta7_directory-traversal.patch
New:
----
dovecot-1.0.beta6_pie.patch
dovecot-1.0.beta8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dovecot.spec ++++++
--- /var/tmp/diff_new_pack.r9KoHd/_old 2006-05-26 12:45:44.000000000 +0200
+++ /var/tmp/diff_new_pack.r9KoHd/_new 2006-05-26 12:45:44.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package dovecot (Version 1.0.beta3)
+# spec file for package dovecot (Version 1.0.beta8)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,22 +11,24 @@
# norootforbuild
Name: dovecot
-BuildRequires: krb5-devel mysql-devel openldap2 openldap2-devel pam-devel pkgconfig postgresql-devel sqlite-devel
-Version: 1.0.beta3
-Release: 13
+Version: 1.0.beta8
+Release: 1
+#
Group: Productivity/Networking/Email/Servers
License: LGPL, X11/MIT
+#
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: krb5-devel mysql-devel openldap2 openldap2-devel pam-devel pkgconfig postgresql-devel sqlite-devel
Prereq: /usr/sbin/useradd, /usr/sbin/usermod, /usr/sbin/groupadd
+#
URL: http://www.dovecot.org
-Source: http://www.dovecot.org/test/%{name}-%{version}.tar.bz2
+Source: http://www.dovecot.org/test/%{name}-%{version}.tar.gz
Source1: dovecot-lda.tar.bz2
Source2: %{name}.init
Source3: %{name}.pam
Source4: %{name}.README.SuSE
-Patch1: dovecot-1.0.beta3_indexfixes.patch
-Patch2: dovecot-1.0.beta7_directory-traversal.patch
-Patch9: dovecot-1.0.beta1_pie.patch
+Patch9: dovecot-1.0.beta6_pie.patch
+#
Summary: IMAP and POP3 Server Written Primarily with Security in Mind
%description
@@ -46,8 +48,6 @@
%prep
%setup -a 1
-%patch1
-%patch2
%patch9
%{__sed} -i -e 's|#ssl_disable = no|ssl_disable = yes|' %{name}-example.conf
%{__sed} -i -e 's|/usr/libexec|%{_libdir}|g' %{name}-example.conf
@@ -78,7 +78,7 @@
--with-prefetch-userdb \
--with-storages="maildir,mbox" \
--sysconfdir=%{_sysconfdir}/%{name} \
- --libexecdir=%{_libdir} \
+ --libexecdir=%{_prefix}/lib/ \
--with-moduledir=%{_libdir}/%{name}/modules
%{__make}
pushd dovecot-lda
@@ -86,7 +86,7 @@
%configure \
--with-dovecot=../ \
--sysconfdir=%{_sysconfdir}/%{name} \
- --libexecdir=%{_libdir} \
+ --libexecdir=%{_prefix}/lib/ \
--with-moduledir=%{_libdir}/%{name}/modules
%{__make}
popd
@@ -94,9 +94,8 @@
%install
%makeinstall docdir=%{_docdir}/%{name}
-pushd dovecot-lda
- %makeinstall docdir=%{_docdir}/%{name}
-popd
+
+%makeinstall -C dovecot-lda docdir=%{_docdir}/%{name}
find %{buildroot}%{_libdir}/%{name}/modules/ -type f -name \*.la -print0 | xargs -r0 rm -v
find %{buildroot}%{_libdir}/%{name}/modules/ -type f -name \*.a -print0 | xargs -r0 rm -v
%{__install} -m 0755 -d \
@@ -119,7 +118,7 @@
%{__install} -m 0644 dovecot-lda/ChangeLog %{buildroot}%{_docdir}/%{name}/ChangeLog.lda
# additional docs for the main package
%{__install} -m 0644 \
- ABOUT-NLS COPYING COPYING.MIT NEWS TODO AUTHORS COPYING.LGPL README ChangeLog \
+ COPYING COPYING.MIT NEWS TODO AUTHORS COPYING.LGPL README ChangeLog \
%{buildroot}%{_docdir}/%{name}/
%{__gzip} -9v %{buildroot}%{_docdir}/%{name}/ChangeLog
# install the init script
@@ -151,19 +150,21 @@
%dir %{_sysconfdir}/%{name}
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/%{name}/*
%config(noreplace) %{_sysconfdir}/pam.d/%{name}
-%dir %{_libdir}/%{name}
-%{_libdir}/%{name}/checkpassword-reply
-%{_libdir}/%{name}/dovecot-auth
-%{_libdir}/%{name}/rawlog
-%{_libdir}/%{name}/imap*
-%{_libdir}/%{name}/pop3*
-%{_libdir}/%{name}/deliver
-%{_libdir}/%{name}/dict
-%{_libdir}/%{name}/gdbhelper
-%{_libdir}/%{name}/ssl-build-param
+%dir %{_prefix}/lib/%{name}
+%{_prefix}/lib/%{name}/checkpassword-reply
+%{_prefix}/lib/%{name}/dovecot-auth
+%{_prefix}/lib/%{name}/rawlog
+%{_prefix}/lib/%{name}/imap*
+%{_prefix}/lib/%{name}/pop3*
+%{_prefix}/lib/%{name}/deliver
+%{_prefix}/lib/%{name}/dict
+%{_prefix}/lib/%{name}/gdbhelper
+%{_prefix}/lib/%{name}/ssl-build-param
+%{_prefix}/lib/%{name}/sievec
#
# plugins
#
+%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/modules/
%{_libdir}/%{name}/modules/lib01_quota_plugin.so
%{_libdir}/%{name}/modules/lib02_trash_plugin.so
@@ -180,6 +181,11 @@
%{_libdir}/%{name}/modules/lda/lib02_trash_plugin.so
%dir %{_libdir}/%{name}/modules/pop3
%{_libdir}/%{name}/modules/pop3/lib01_convert_plugin.so
+%{_libdir}/%{name}/modules/pop3/lib01_quota_plugin.so
+# acl plugin
+%{_libdir}/%{name}/modules/imap/lib01_acl_plugin.so
+%{_libdir}/%{name}/modules/lda/lib01_acl_plugin.so
+%{_libdir}/%{name}/modules/lib01_acl_plugin.so
#
# documentation
#
@@ -191,6 +197,40 @@
%dir %attr(0750, root, %{name}) %{_var}/run/%{name}/login
%changelog -n dovecot
+* Thu May 25 2006 - mrueckert(a)suse.de
+- Update to 1.0.beta8:
+ * Fixed a security hole with mbox: "1 LIST .. *" command could
+ list all directories and files under the mbox root directory, so
+ if your mails were stored in eg. /var/mail/%%u/ directory, the
+ command would list everything under /var/mail.
+ + Unless nfs_check=no or mmap_disable=yes, check for the first login
+ if the user's index directory exists in NFS mount. If so, refuse to
+ run. This is done only on first login to avoid constant extra
+ overhead.
+ + If we have plugins set and imap_capability unset, figure out the
+ IMAP capabilities automatically by running imap binary at startup.
+ The generated capability list isn't updated until Dovecot is
+ restarted completely, so if you add or remove IMAP plugins you
+ should restart. If you have problems related to this, set
+ imap_capabilities setting manually to work around it.
+ + Added auth_username_format setting
+- pop3_lock_session setting wasn't really working
+- Lots of fixes related to quota handling. It's still not working
+ perfectly though.
+- Lots of index handling fixes, especially with mmap_disable=yes
+- Maildir: saving mails could have sometimes caused "Append with UID
+ n, but next_uid = m" errors
+- flock() locking never timeouted because ignoring SIGALRM caused the
+ system call just to be restarted when SIGALRM occurred (probably not
+ with all OSes though?)
+- kqueue: Fixed "Unrecognized event". Patch by Vaclav Haisman
+- removed dovecot-1.0.beta7_directory-traversal.patch:
+ the patch is included in 1.0.beta8
+- dovecot-1.0.beta3_indexfixes.patch: included in beta8
+- replaced dovecot-1.0.beta1_pie.patch with
+ dovecot-1.0.beta6_pie.patch: rediff for new version
+- no longer use %%{_libdir}/dovecot as libexecdir. We use
+ %%{_prefix}/lib/dovecot now.
* Tue May 16 2006 - mrueckert(a)suse.de
- added dovecot-1.0.beta7_directory-traversal.patch:
Fix Mailbox names list disclosure with mboxes (#175188)
++++++ dovecot-1.0.beta1_pie.patch -> dovecot-1.0.beta6_pie.patch ++++++
--- dovecot/dovecot-1.0.beta1_pie.patch 2006-02-08 15:26:00.000000000 +0100
+++ dovecot/dovecot-1.0.beta6_pie.patch 2006-05-25 08:52:52.000000000 +0200
@@ -18,7 +18,7 @@
AC_ARG_ENABLE(debug,
[ --enable-debug Enable some extra checks for debugging],
if test x$enableval = xyes; then
-@@ -1640,6 +1649,30 @@
+@@ -1636,6 +1645,30 @@
STORAGE_LIBS="$STORAGE_LIBS $index_libs"
AC_SUBST(STORAGE_LIBS)
@@ -49,8 +49,9 @@
dnl **
dnl ** SQL drivers
dnl **
-@@ -1730,3 +1763,4 @@
- echo "Building with GSSAPI support ........ : $have_gssapi"
+@@ -1727,3 +1760,5 @@
echo "Building with user database modules . :$userdb"
echo "Building with password lookup modules :$passdb"
+ echo "Building with SQL drivers ............:$sql_drivers"
+echo "Building with PIE: $want_pie"
++
++++++ dovecot-lda.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dovecot-lda/ChangeLog new/dovecot-lda/ChangeLog
--- old/dovecot-lda/ChangeLog 2006-02-08 17:04:54.000000000 +0100
+++ new/dovecot-lda/ChangeLog 2006-05-25 07:39:54.000000000 +0200
@@ -1,3 +1,94 @@
+2006-05-12 21:03 cras
+
+ * src/sieve-cmu.c: Don't log keeps.
+
+2006-05-12 21:00 cras
+
+ * src/: deliver.c, sieve-cmu.c: Do some more logging.
+
+2006-05-12 20:42 cras
+
+ * src/libsieve/: bc_emit.c, script.c, sievec.c: Replaced syslog()
+ calls with Dovecot's i_info/i_error calls
+
+2006-05-12 20:41 cras
+
+ * src/libsieve/: Makefile.am, sievec.c: Compile sievec binary.
+
+2006-05-12 20:24 cras
+
+ * src/: common.h, deliver.c, smtpclient.c: Added sendmail_path and
+ hostname settings.
+
+2006-05-12 20:19 cras
+
+ * src/deliver.c: If there's no log_path defined, log to syslog.
+ Just like other parts of Dovecot.
+
+2006-05-04 00:59 cras
+
+ * src/deliver.c: Use lib_signals_ignore() for SIGPIPE
+
+2006-04-28 15:53 cras
+
+ * src/deliver.c: Ignore SIGXFSZ signal if it exists. We don't want
+ to crash if some file is too large.
+
+2006-04-28 15:48 cras
+
+ * src/deliver.c: Remove all environment but TZ and HOME before
+ doing anything so the existing environment doesn't mess up
+ settings (especially MAIL).
+
+2006-04-21 15:32 cras
+
+ * src/Makefile.am: Link mountpoint.o manually to get
+ mountpoint_get() included into binary, so quota plugin can use
+ it.
+
+2006-04-20 18:17 cras
+
+ * src/deliver.c: Changed default socket to
+ /var/run/dovecot/auth-master again. Nowadays /var/run/dovecot is
+ world-rx so it's a better place for it.
+
+2006-04-13 21:47 cras
+
+ * src/libsieve/bc_emit.c: Commented out a debug syslog message,
+ which I've no idea why it would be useful ever..
+
+2006-04-13 21:46 cras
+
+ * src/deliver.c: Use syslog_facility setting
+
+2006-04-13 20:45 cras
+
+ * src/deliver.c: Unload modules after destroying storages
+
+2006-04-13 20:28 cras
+
+ * src/deliver.c: Use mail_plugins and mail_plugin_dir settings
+ inside protocol lda {}
+
+2006-04-13 20:16 cras
+
+ * src/deliver.c: Set also environments inside plugin { .. }
+
+2006-04-02 11:20 cras
+
+ * src/deliver.c: Use mail_storage_parse_env() to parse lock_method
+ and mail storage flags.
+
+2006-03-25 10:44 cras
+
+ * src/deliver.c: Getting sieve path from userdb wasn't working, it
+ was always overwritten by global sieve path.
+
+2006-03-21 10:15 cras
+
+ * src/deliver.c: Fixed to compile with latest Dovecot's module-dir
+ changes.
+
2006-02-08 17:00 cras
* src/duplicate.c: Fixed to work with dotlock changes
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dovecot-lda/src/Makefile.am new/dovecot-lda/src/Makefile.am
--- old/dovecot-lda/src/Makefile.am 2006-01-12 15:32:50.000000000 +0100
+++ new/dovecot-lda/src/Makefile.am 2006-05-25 07:39:05.000000000 +0200
@@ -13,6 +13,11 @@
-I$(dovecotdir)/src/lib-storage/index/mbox \
-DSYSCONFDIR=\""$(sysconfdir)"\"
+# get some functions included which only plugins use. liblib should probably
+# be a shared library so this wouldn't be needed..
+unused_objects = \
+ $(dovecotdir)/src/lib/mountpoint.o
+
libs = \
libsieve/libsieve.a \
$(dovecotdir)/src/lib-storage/register/libstorage-register.a \
@@ -23,7 +28,8 @@
$(dovecotdir)/src/lib-mail/libmail.a \
$(dovecotdir)/src/lib-dict/libdict.a \
$(dovecotdir)/src/lib-charset/libcharset.a \
- $(dovecotdir)/src/lib/liblib.a
+ $(dovecotdir)/src/lib/liblib.a \
+ $(unused_objects)
deliver_LDADD = \
$(libs) \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dovecot-lda/src/common.h new/dovecot-lda/src/common.h
--- old/dovecot-lda/src/common.h 2006-02-08 15:19:08.000000000 +0100
+++ new/dovecot-lda/src/common.h 2006-05-25 07:39:05.000000000 +0200
@@ -7,6 +7,7 @@
struct sieve_settings {
const char *hostname;
const char *postmaster_address;
+ const char *sendmail_path;
};
extern struct sieve_settings *sieve_set;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dovecot-lda/src/deliver.c new/dovecot-lda/src/deliver.c
--- old/dovecot-lda/src/deliver.c 2006-02-08 15:19:08.000000000 +0100
+++ new/dovecot-lda/src/deliver.c 2006-05-25 07:39:05.000000000 +0200
@@ -34,7 +34,7 @@
#define SIEVE_SCRIPT_PATH "~/.dovecot.sieve"
#define DEFAULT_CONFIG_FILE SYSCONFDIR"/dovecot.conf"
-#define DEFAULT_AUTH_SOCKET_PATH "/var/run/dovecot-auth-master"
+#define DEFAULT_AUTH_SOCKET_PATH "/var/run/dovecot/auth-master"
/* After buffer grows larger than this, create a temporary file to /tmp
where to read the mail. */
@@ -337,7 +337,8 @@
value = p = strchr(line, '=');
if (value == NULL) {
if (strchr(line, '{') != NULL) {
- if (strcmp(line, "protocol lda {") == 0)
+ if (strcmp(line, "protocol lda {") == 0 ||
+ strcmp(line, "plugin {") == 0)
lda_section = TRUE;
sections++;
}
@@ -449,13 +450,18 @@
return input;
}
-static void open_logfile(void)
+static void open_logfile(const char *username)
{
- if (getenv("LOG_PATH") == NULL)
- i_set_failure_syslog("deliver", LOG_NDELAY, LOG_MAIL);
- else {
+ const char *prefix;
+
+ prefix = t_strdup_printf("deliver(%s)", username);
+ if (getenv("LOG_PATH") == NULL) {
+ const char *env = getenv("SYSLOG_FACILITY");
+ i_set_failure_syslog(prefix, LOG_NDELAY,
+ env == NULL ? LOG_MAIL : atoi(env));
+ } else {
/* log to file or stderr */
- i_set_failure_file(getenv("LOG_PATH"), "deliver");
+ i_set_failure_file(getenv("LOG_PATH"), prefix);
}
if (getenv("INFO_LOG_PATH") != NULL)
@@ -477,7 +483,6 @@
return NULL;
}
- script_path = home_expand(SIEVE_SCRIPT_PATH);
if (*script_path != '/' && *script_path != '\0') {
/* relative path. change to absolute. */
script_path = t_strconcat(getenv("HOME"), "/",
@@ -507,8 +512,8 @@
{
const char *config_path = DEFAULT_CONFIG_FILE;
const char *mailbox = "INBOX";
- const char *auth_socket;
- const char *home, *destination, *mail_env, *str, *script_path;
+ const char *auth_socket, *env_tz;
+ const char *home, *destination, *user, *mail_env, *str, *script_path;
const struct var_expand_table *table;
enum mail_storage_flags flags;
enum mail_storage_lock_method lock_method;
@@ -525,8 +530,20 @@
lib_signals_init();
lib_signals_set_handler(SIGINT, TRUE, sig_die, NULL);
lib_signals_set_handler(SIGTERM, TRUE, sig_die, NULL);
- lib_signals_set_handler(SIGPIPE, FALSE, NULL, NULL);
+ lib_signals_ignore(SIGPIPE);
lib_signals_set_handler(SIGALRM, FALSE, NULL, NULL);
+#ifdef SIGXFSZ
+ lib_signals_set_handler(SIGXFSZ, FALSE, NULL, NULL);
+#endif
+
+ /* Clean up environment. */
+ env_tz = getenv("TZ");
+ home = getenv("HOME");
+ env_clean();
+ if (env_tz != NULL)
+ env_put(t_strconcat("TZ=", env_tz, NULL));
+ if (home != NULL)
+ env_put(t_strconcat("HOME=", home, NULL));
destination = NULL;
for (i = 1; i < argc; i++) {
@@ -560,9 +577,26 @@
"Unknown argument: %s", argv[1]);
}
}
+ if (destination != NULL)
+ user = destination;
+ else if (geteuid() != 0) {
+ /* we're non-root. get our username. */
+ struct passwd *pw;
+
+ pw = getpwuid(geteuid());
+ if (pw != NULL)
+ user = t_strdup(pw->pw_name);
+ else {
+ i_fatal("Couldn't lookup our username (uid=%s)",
+ dec2str(geteuid()));
+ }
+ } else {
+ i_fatal_status(EX_USAGE,
+ "destination user parameter (-d user) not given");
+ }
config_file_init(config_path);
- open_logfile();
+ open_logfile(user);
if (destination != NULL) {
auth_socket = getenv("AUTH_SOCKET_PATH");
@@ -579,27 +613,22 @@
could be written. If it fails, don't worry. */
(void)chdir(home);
}
- } else if (geteuid() != 0) {
- /* we're non-root. get our username. */
- struct passwd *pw;
-
- pw = getpwuid(geteuid());
- if (pw != NULL)
- destination = t_strdup(pw->pw_name);
- }
-
- if (destination == NULL) {
- i_fatal_status(EX_USAGE,
- "destination user parameter (-d user) not given");
+ } else {
+ destination = user;
}
sieve_set = i_new(struct sieve_settings, 1);
- sieve_set->hostname = my_hostname; /* FIXME: configurable */
+ sieve_set->hostname = getenv("HOSTNAME");
+ if (sieve_set->hostname == NULL)
+ sieve_set->hostname = my_hostname;
sieve_set->postmaster_address = getenv("POSTMASTER_ADDRESS");
if (sieve_set->postmaster_address == NULL) {
i_fatal_status(EX_CONFIG,
"postmaster_address setting not given");
}
+ sieve_set->sendmail_path = getenv("SENDMAIL_PATH");
+ if (sieve_set->sendmail_path == NULL)
+ sieve_set->sendmail_path = "/usr/lib/sendmail";
dict_client_register();
mail_storage_init();
@@ -615,39 +644,24 @@
mail_env = expand_mail_env(mail_env, table);
}
- flags = 0;
- if (getenv("FULL_FILESYSTEM_ACCESS") != NULL)
- flags |= MAIL_STORAGE_FLAG_FULL_FS_ACCESS;
- if (getenv("DEBUG") != NULL)
- flags |= MAIL_STORAGE_FLAG_DEBUG;
- if (getenv("MMAP_DISABLE") != NULL)
- flags |= MAIL_STORAGE_FLAG_MMAP_DISABLE;
- if (getenv("MMAP_NO_WRITE") != NULL)
- flags |= MAIL_STORAGE_FLAG_MMAP_NO_WRITE;
- if (getenv("MAIL_READ_MMAPED") != NULL)
- flags |= MAIL_STORAGE_FLAG_MMAP_MAILS;
- if (getenv("MAIL_SAVE_CRLF") != NULL)
- flags |= MAIL_STORAGE_FLAG_SAVE_CRLF;
-
str = getenv("POP3_UIDL_FORMAT");
if (str != NULL && (str = strchr(str, '%')) != NULL &&
str != NULL && var_get_key(str + 1) == 'm')
flags |= MAIL_STORAGE_FLAG_KEEP_HEADER_MD5;
- str = getenv("LOCK_METHOD");
- if (str == NULL || strcmp(str, "flock") == 0)
- lock_method = MAIL_STORAGE_LOCK_FLOCK;
- else if (strcmp(str, "fcntl") == 0)
- lock_method = MAIL_STORAGE_LOCK_FCNTL;
- else if (strcmp(str, "dotlock") == 0)
- lock_method = MAIL_STORAGE_LOCK_DOTLOCK;
- else
- i_fatal("Unknown lock_method: %s", str);
-
- modules = getenv("MODULE_DIR") == NULL ? NULL :
- module_dir_load(getenv("MODULE_DIR"), TRUE);
+ if (getenv("MAIL_PLUGIN_DIR") == NULL)
+ modules = NULL;
+ else {
+ if (getenv("MAIL_PLUGIN_DIR") == NULL) {
+ i_fatal("MAIL_PLUGINS given but "
+ "MAIL_PLUGIN_DIR was not");
+ }
+ modules = module_dir_load(getenv("MAIL_PLUGIN_DIR"),
+ getenv("MAIL_PLUGINS"), TRUE);
+ }
/* FIXME: how should we handle namespaces? */
+ mail_storage_parse_env(&flags, &lock_method);
storage = mail_storage_create_with_data(mail_env, destination,
flags, lock_method);
if (storage == NULL) {
@@ -705,10 +719,11 @@
mailbox_close(&box);
duplicate_deinit();
- module_dir_unload(&modules);
mail_storage_destroy(&mbox_storage);
mail_storage_destroy(&storage);
- mail_storage_deinit();
+
+ module_dir_unload(&modules);
+ mail_storage_deinit();
dict_client_unregister();
lib_signals_deinit();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dovecot-lda/src/libsieve/Makefile.am new/dovecot-lda/src/libsieve/Makefile.am
--- old/dovecot-lda/src/libsieve/Makefile.am 2005-10-17 15:59:10.000000000 +0200
+++ new/dovecot-lda/src/libsieve/Makefile.am 2006-05-25 07:39:05.000000000 +0200
@@ -1,3 +1,7 @@
+pkglibexecdir = $(libexecdir)/dovecot
+
+pkglibexec_PROGRAMS = sievec
+
noinst_LIBRARIES = libsieve.a
AM_YFLAGS = -d -p $*
@@ -13,6 +17,15 @@
sieve-lex.c: sieve-lex.l
$(LEX) -t sieve-lex.l > sieve-lex.c
+sievec_SOURCES = \
+ sievec.c \
+ ../map.c \
+ ../imparse.c
+
+sievec_LDADD = \
+ libsieve.a \
+ $(dovecotdir)/src/lib/liblib.a
+
libsieve_a_SOURCES = \
addr.y \
sieve.y \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dovecot-lda/src/libsieve/bc_emit.c new/dovecot-lda/src/libsieve/bc_emit.c
--- old/dovecot-lda/src/libsieve/bc_emit.c 2005-10-14 22:21:47.000000000 +0200
+++ new/dovecot-lda/src/libsieve/bc_emit.c 2006-05-25 07:39:05.000000000 +0200
@@ -1,7 +1,7 @@
/* bc_emit.c -- sieve bytecode - pass 2 of the compiler
* Rob Siemborski
* Jen Smith
- * $Id: bc_emit.c,v 1.2 2005/10/14 20:21:47 cras Exp $
+ * $Id: bc_emit.c,v 1.4 2006/05/12 18:42:29 cras Exp $
*/
/***********************************************************
Copyright 2001 by Carnegie Mellon University
@@ -36,7 +36,6 @@
#include "bytecode.h"
-#include <syslog.h>
#include <sys/types.h>
#include <unistd.h>
@@ -321,7 +320,7 @@
/*debugging variable to check filelen*/
/*int location;*/
- syslog(LOG_DEBUG, "entered bc_action_emit with filelen: %d", filelen);
+ /*syslog(LOG_DEBUG, "entered bc_action_emit with filelen: %d", filelen);*/
/* All non-string data MUST be sizeof(int)
byte alligned so the end of each string may require a pad */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dovecot-lda/src/libsieve/script.c new/dovecot-lda/src/libsieve/script.c
--- old/dovecot-lda/src/libsieve/script.c 2005-10-15 15:31:26.000000000 +0200
+++ new/dovecot-lda/src/libsieve/script.c 2006-05-25 07:39:05.000000000 +0200
@@ -1,6 +1,6 @@
/* script.c -- sieve script functions
* Larry Greenfield
- * $Id: script.c,v 1.4 2005/10/15 13:31:26 cras Exp $
+ * $Id: script.c,v 1.5 2006/05/12 18:42:29 cras Exp $
*/
/***********************************************************
Copyright 1999 by Carnegie Mellon University
@@ -32,7 +32,6 @@
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
-#include <syslog.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dovecot-lda/src/libsieve/sievec.c new/dovecot-lda/src/libsieve/sievec.c
--- old/dovecot-lda/src/libsieve/sievec.c 2005-03-29 20:37:59.000000000 +0200
+++ new/dovecot-lda/src/libsieve/sievec.c 2006-05-25 07:39:05.000000000 +0200
@@ -1,6 +1,6 @@
/* sievec.c -- compile a sieve script to bytecode manually
* Rob Siemborski
- * $Id: sievec.c,v 1.1.1.1 2005/03/29 18:37:59 cras Exp $
+ * $Id: sievec.c,v 1.3 2006/05/12 18:42:29 cras Exp $
*/
/*
* Copyright (c) 1999-2000 Carnegie Mellon University. All rights reserved.
@@ -48,7 +48,6 @@
#endif
#include "sieve_interface.h"
-#include <syslog.h>
#include "libconfig.h"
#include "xmalloc.h"
@@ -63,8 +62,7 @@
#include <sys/stat.h>
#include <fcntl.h>
-/* config.c stuff */
-const int config_need_data = 0;
+struct et_list *_et_list = NULL;
int is_script_parsable(FILE *stream, char **errstr, sieve_script_t **ret);
@@ -78,20 +76,16 @@
sieve_script_t *s;
bytecode_info_t *bc;
int c, fd, usage_error = 0;
- char *alt_config = NULL;
while ((c = getopt(argc, argv, "C:")) != EOF)
switch (c) {
- case 'C': /* alt config file */
- alt_config = optarg;
- break;
default:
usage_error = 1;
break;
}
if (usage_error || (argc - optind) < 2) {
- printf("Syntax: %s [-C <altconfig>] <filename> <outputfile>\n",
+ printf("Syntax: %s <filename> <outputfile>\n",
argv[0]);
exit(1);
}
@@ -102,9 +96,6 @@
exit(1);
}
- /* Load configuration file. */
- config_read(alt_config);
-
if(is_script_parsable(instream, &err, &s) == TIMSIEVE_FAIL) {
if(err) {
printf("Unable to parse script: %s\n", err);
@@ -140,9 +131,9 @@
}
/* to make larry's stupid functions happy :) */
-void foo(void)
+static void foo(void)
{
- fatal("stub function called", 0);
+ i_fatal("stub function called");
}
sieve_vacation_t vacation = {
0, /* min response */
@@ -157,30 +148,24 @@
void *message_context __attribute__((unused)),
const char **errmsg __attribute__((unused)))
{
- fatal("stub function called", 0);
+ i_fatal("stub function called");
return SIEVE_FAIL;
}
-int mysieve_error(int lineno, const char *msg,
- void *i __attribute__((unused)), void *s)
+static int mysieve_error(int lineno, const char *msg,
+ void *i __attribute__((unused)), void *s)
{
char buf[1024];
char **errstr = (char **) s;
snprintf(buf, 80, "line %d: %s\r\n", lineno, msg);
*errstr = xrealloc(*errstr, strlen(*errstr) + strlen(buf) + 30);
- syslog(LOG_DEBUG, "%s", buf);
+ i_info("%s", buf);
strcat(*errstr, buf);
return SIEVE_OK;
}
-void fatal(const char *s, int code)
-{
- printf("Fatal error: %s (%d)\r\n", s, code);
-
- exit(1);
-}
/* end the boilerplate */
/* returns TRUE or FALSE */
@@ -192,75 +177,75 @@
res = sieve_interp_alloc(&i, NULL);
if (res != SIEVE_OK) {
- syslog(LOG_ERR, "sieve_interp_alloc() returns %d\n", res);
+ i_error("sieve_interp_alloc() returns %d\n", res);
return TIMSIEVE_FAIL;
}
res = sieve_register_redirect(i, (sieve_callback *) &foo);
if (res != SIEVE_OK) {
- syslog(LOG_ERR, "sieve_register_redirect() returns %d\n", res);
+ i_error("sieve_register_redirect() returns %d\n", res);
return TIMSIEVE_FAIL;
}
res = sieve_register_discard(i, (sieve_callback *) &foo);
if (res != SIEVE_OK) {
- syslog(LOG_ERR, "sieve_register_discard() returns %d\n", res);
+ i_error("sieve_register_discard() returns %d\n", res);
return TIMSIEVE_FAIL;
}
res = sieve_register_reject(i, (sieve_callback *) &foo);
if (res != SIEVE_OK) {
- syslog(LOG_ERR, "sieve_register_reject() returns %d\n", res);
+ i_error("sieve_register_reject() returns %d\n", res);
return TIMSIEVE_FAIL;
}
res = sieve_register_fileinto(i, (sieve_callback *) &foo);
if (res != SIEVE_OK) {
- syslog(LOG_ERR, "sieve_register_fileinto() returns %d\n", res);
+ i_error("sieve_register_fileinto() returns %d\n", res);
return TIMSIEVE_FAIL;
}
res = sieve_register_keep(i, (sieve_callback *) &foo);
if (res != SIEVE_OK) {
- syslog(LOG_ERR, "sieve_register_keep() returns %d\n", res);
+ i_error("sieve_register_keep() returns %d\n", res);
return TIMSIEVE_FAIL;
}
res = sieve_register_imapflags(i, NULL);
if (res != SIEVE_OK) {
- syslog(LOG_ERR, "sieve_register_imapflags() returns %d\n", res);
+ i_error("sieve_register_imapflags() returns %d\n", res);
return TIMSIEVE_FAIL;
}
res = sieve_register_size(i, (sieve_get_size *) &foo);
if (res != SIEVE_OK) {
- syslog(LOG_ERR, "sieve_register_size() returns %d\n", res);
+ i_error("sieve_register_size() returns %d\n", res);
return TIMSIEVE_FAIL;
}
res = sieve_register_header(i, (sieve_get_header *) &foo);
if (res != SIEVE_OK) {
- syslog(LOG_ERR, "sieve_register_header() returns %d\n", res);
+ i_error("sieve_register_header() returns %d\n", res);
return TIMSIEVE_FAIL;
}
res = sieve_register_envelope(i, (sieve_get_envelope *) &foo);
if (res != SIEVE_OK) {
- syslog(LOG_ERR, "sieve_register_envelope() returns %d\n", res);
+ i_error("sieve_register_envelope() returns %d\n", res);
return TIMSIEVE_FAIL;
}
res = sieve_register_vacation(i, &vacation);
if (res != SIEVE_OK) {
- syslog(LOG_ERR, "sieve_register_vacation() returns %d\n", res);
+ i_error("sieve_register_vacation() returns %d\n", res);
return TIMSIEVE_FAIL;
}
res = sieve_register_notify(i, &sieve_notify);
if (res != SIEVE_OK) {
- syslog(LOG_ERR, "sieve_register_notify() returns %d\n", res);
+ i_error("sieve_register_notify() returns %d\n", res);
return TIMSIEVE_FAIL;
}
res = sieve_register_parse_error(i, &mysieve_error);
if (res != SIEVE_OK) {
- syslog(LOG_ERR, "sieve_register_parse_error() returns %d\n", res);
+ i_error("sieve_register_parse_error() returns %d\n", res);
return TIMSIEVE_FAIL;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dovecot-lda/src/sieve-cmu.c new/dovecot-lda/src/sieve-cmu.c
--- old/dovecot-lda/src/sieve-cmu.c 2006-02-08 15:19:08.000000000 +0100
+++ new/dovecot-lda/src/sieve-cmu.c 2006-05-25 07:39:05.000000000 +0200
@@ -106,14 +106,17 @@
/* ok, let's see if we've redirected this message before */
if (duplicate_check(dupeid, strlen(dupeid), sd->username)) {
/*duplicate_log(m->id, sd->username, "redirect");*/
- i_info("Duplicated redirection (%s: %s -> %s)", m->id,
- sd->username, rc->addr);
+ i_info("discarded duplicate forward (%s -> %s)",
+ str_sanitize(m->id, 80), str_sanitize(rc->addr, 80));
return SIEVE_OK;
}
}
if ((res = mail_send_forward(m->mail, rc->addr)) == 0) {
/* mark this message as redirected */
+ i_info("forwarded id %s to <%s>",
+ m->id == NULL ? "" : str_sanitize(m->id, 80),
+ str_sanitize(rc->addr, 80));
if (dupeid != NULL) {
duplicate_mark(dupeid, strlen(dupeid), sd->username,
ioloop_time + DUPLICATE_DEFAULT_KEEP);
@@ -131,22 +134,13 @@
static int sieve_discard(void *ac __attribute__((unused)),
void *ic __attribute__((unused)),
- void *sc, void *mc,
+ void *sc __attribute__((unused)), void *mc,
const char **errmsg __attribute__((unused)))
{
- script_data_t *sd = (script_data_t *) sc;
sieve_msgdata_t *md = mc;
/* ok, we won't file it, but log it */
- if (md->id && strlen(md->id) < 80) {
- i_info("sieve: discarded message to %s id %s",
- sd->username, str_sanitize(md->id, 80));
- }
- else {
- i_info("sieve: discarded message to %s",
- sd->username);
- }
-
+ i_info("discarded id %s", md->id == NULL ? "" : str_sanitize(md->id, 80));
return SIEVE_OK;
}
@@ -166,12 +160,14 @@
}
if (strlen(md->return_path) == 0) {
- i_info("sieve: discarded reject to <> for %s id %s",
- sd->username, str_sanitize(md->id, 80));
+ i_info("discarded reject to <> id %s",
+ md->id == NULL ? "" : str_sanitize(md->id, 80));
return SIEVE_OK;
}
if ((res = mail_send_rejection(md->mail, sd->username, rc->msg)) == 0) {
+ i_info("rejected id %s",
+ md->id == NULL ? "" : str_sanitize(md->id, 80));
return SIEVE_OK;
} else {
if (res == -1) {
@@ -238,6 +234,8 @@
if (save_mail(sd->storage, fc->mailbox, md->mail, flags, keywords) < 0)
return SIEVE_FAIL;
+
+ i_info("saved mail to %s", md->mailbox);
return SIEVE_OK;
}
@@ -398,8 +396,7 @@
if (sd->errors == NULL) {
sd->errors = str_new(default_pool, 1024);
- i_info("sieve parse error for %s: line %d: %s",
- sd->username, lineno, msg);
+ i_info("sieve parse error: line %d: %s", lineno, msg);
}
str_printfa(sd->errors, "line %d: %s\n", lineno, msg);
@@ -408,13 +405,10 @@
static int sieve_execute_error_handler(const char *msg,
void *ic __attr_unused__,
- void *sc, void *mc __attr_unused__)
+ void *sc __attr_unused__,
+ void *mc __attr_unused__)
{
- script_data_t *sd = (script_data_t *) sc;
-
- i_info("sieve runtime error for %s: %s",
- sd->username, msg);
-
+ i_info("sieve runtime error: %s", msg);
return SIEVE_OK;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dovecot-lda/src/smtpclient.c new/dovecot-lda/src/smtpclient.c
--- old/dovecot-lda/src/smtpclient.c 2006-01-13 19:31:30.000000000 +0100
+++ new/dovecot-lda/src/smtpclient.c 2006-05-25 07:39:05.000000000 +0200
@@ -40,7 +40,7 @@
*
*/
/*
- * $Id: smtpclient.c,v 1.3 2006/01/13 15:15:52 cras Exp $
+ * $Id: smtpclient.c,v 1.4 2006/05/12 18:24:40 cras Exp $
*/
#include "common.h"
@@ -67,18 +67,12 @@
close(fds[1]);
/* make the pipe be stdin */
dup2(fds[0], 0);
- execv("/usr/lib/sendmail", (char **) argv);
-
- /* if we're here we suck */
- printf("451 lmtpd: didn't exec() sendmail?!?\r\n");
- i_fatal("couldn't exec() sendmail");
+ (void)execv(sieve_set->sendmail_path, (char **)argv);
+ i_fatal("couldn't exec() sendmail: %m");
}
- if (p < 0) {
- /* failure */
- *sm = NULL;
- return p;
- }
+ if (p == -1)
+ i_fatal("fork() failed: %m");
/* parent */
close(fds[0]);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
1
0