openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 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
April 2007
- 1 participants
- 1124 discussions
Hello community,
here is the log from the commit of package quagga
checked in at Tue Apr 24 23:36:40 CEST 2007.
--------
--- quagga/quagga.changes 2007-01-23 11:34:46.000000000 +0100
+++ /mounts/work_src_done/STABLE/quagga/quagga.changes 2007-04-24 19:42:47.000000000 +0200
@@ -1,0 +2,44 @@
+Tue Apr 24 19:30:49 CEST 2007 - anosek(a)suse.cz
+
+- updated to version 0.99.6
+ * bgpd
+ o Bug #302, bgpd can get stuck in state Clearing
+ o Implement 'debug bgp zebra' to log all messages to and from zebra.
+ o Fix bug where a deleted route that was quickly re-added was being lost
+ o trivial: non C99 u_int.._t should be uint.._t
+ o struct peer must have bgp field valid (redistribute crash)
+ o Coverity CID #64: Needless NULL check, CID #64: Deref of potentially NULL pointer.
+ o CID#73, potential crash in bgp statistics if called for AFI/SAFI with emtpy table
+ o Bug #302 fixes. ClearingCompleted event gets flushed, leaving peers stuck in Clearing.
+ o Trivial fix of printf format/arg mismatch
+ o reduce the process queue hold time to something more sensible
+ o RIB statistics address space size shouldnt double count space
+ o simplify peer refcounts, squash slow peer leak
+ o Fix 0.99 shutdown regression, introduce Clearing and Deleted states
+ o Add RIB reporting commands, show bgp ... statistics
+ o Handle pcount as flags are changed, fixing pcount issues
+ o Add 'show ... neighbor .... prefix-counts' command
+ * ospfd
+ o Consider all connected addresses when creating ospf interfaces
+ o Add debug messages for a few zebra messages that had been overlooked
+ o Fix bug in passive-interface default commands.
+ o Stop losing subsequent default-information originate 'always' info
+ o Add passive-interface default support
+ o Improve some warning messages.
+ o Fix assertion in DB-exchange fix, hit by ogier-db-ex-opt commit
+ * isisd: Fix compiler warnings and allow v4-only compilation
+ * zebra
+ o Changes of nexthops of static routes didnt take effect
+ o Compile fix for PF_ROUTE
+ * ripd
+ o bug #293: routemap set metric doesn't check for underflow correctly
+ o bug #278: remove gratuitous use of mid-function declaration
+ * general
+ o [daemon startup] Add --dry-run/-C argument to daemons, to check config file syntax
+ o Handle upgrade from SUNWzebra to Quagga for 'interface fooX:Y' commands
+ o [snmp] Fix asn_build calls to pass correct variable sizes (fixes 64-bit issues)
+ o [doc] Add recent NetBSD/FreeBSD versions to list of what ought to work.
+- dropped obsolete patches snmp.diff, nextnode.diff
+- fixed VUL-0: quagga DoS [#266100] (CVE-2007-1995.patch)
+
+-------------------------------------------------------------------
Old:
----
quagga-0.98.6-nextnode.diff
quagga-0.98.6-strcmp.diff
quagga-0.98.6-strict-aliasing.diff
quagga-0.98.6.tar.bz2
quagga-snmp.diff
New:
----
quagga-0.99.6-CVE-2007-1995.patch
quagga-0.99.6-strcmp.diff
quagga-0.99.6-strict-aliasing.diff
quagga-0.99.6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ quagga.spec ++++++
--- /var/tmp/diff_new_pack.y32533/_old 2007-04-24 23:36:09.000000000 +0200
+++ /var/tmp/diff_new_pack.y32533/_new 2007-04-24 23:36:09.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package quagga (Version 0.98.6)
+# spec file for package quagga (Version 0.99.6)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,8 +12,8 @@
Name: quagga
BuildRequires: net-snmp-devel pam-devel readline-devel
-Version: 0.98.6
-Release: 37
+Version: 0.99.6
+Release: 1
PreReq: %insserv_prereq %fillup_prereq /usr/sbin/useradd /usr/sbin/groupadd
PreReq: %install_info_prereq
Provides: zebra
@@ -26,10 +26,9 @@
Source: %{name}-%{version}.tar.bz2
Source1: rc.tar.bz2
Source2: quagga.pam
-Patch2: %{name}-snmp.diff
Patch4: %{name}-%{version}-strict-aliasing.diff
Patch5: %{name}-%{version}-strcmp.diff
-Patch6: %{name}-%{version}-nextnode.diff
+Patch7: %{name}-%{version}-CVE-2007-1995.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -77,10 +76,9 @@
%prep
%setup -a 1
-%patch2
%patch4
%patch5
-%patch6
+%patch7
%build
if ! ls /proc/net/{dev,route,snmp} >/dev/null; then
@@ -176,7 +174,48 @@
%dir %{_includedir}/%{name}/ospfd
%{_includedir}/%{name}/ospfd/*.h
-%changelog -n quagga
+%changelog
+* Tue Apr 24 2007 - anosek(a)suse.cz
+- updated to version 0.99.6
+ * bgpd
+ o Bug #302, bgpd can get stuck in state Clearing
+ o Implement 'debug bgp zebra' to log all messages to and from zebra.
+ o Fix bug where a deleted route that was quickly re-added was being lost
+ o trivial: non C99 u_int.._t should be uint.._t
+ o struct peer must have bgp field valid (redistribute crash)
+ o Coverity CID #64: Needless NULL check, CID #64: Deref of potentially NULL pointer.
+ o CID#73, potential crash in bgp statistics if called for AFI/SAFI with emtpy table
+ o Bug #302 fixes. ClearingCompleted event gets flushed, leaving peers stuck in Clearing.
+ o Trivial fix of printf format/arg mismatch
+ o reduce the process queue hold time to something more sensible
+ o RIB statistics address space size shouldnt double count space
+ o simplify peer refcounts, squash slow peer leak
+ o Fix 0.99 shutdown regression, introduce Clearing and Deleted states
+ o Add RIB reporting commands, show bgp ... statistics
+ o Handle pcount as flags are changed, fixing pcount issues
+ o Add 'show ... neighbor .... prefix-counts' command
+ * ospfd
+ o Consider all connected addresses when creating ospf interfaces
+ o Add debug messages for a few zebra messages that had been overlooked
+ o Fix bug in passive-interface default commands.
+ o Stop losing subsequent default-information originate 'always' info
+ o Add passive-interface default support
+ o Improve some warning messages.
+ o Fix assertion in DB-exchange fix, hit by ogier-db-ex-opt commit
+ * isisd: Fix compiler warnings and allow v4-only compilation
+ * zebra
+ o Changes of nexthops of static routes didnt take effect
+ o Compile fix for PF_ROUTE
+ * ripd
+ o bug #293: routemap set metric doesn't check for underflow correctly
+ o bug #278: remove gratuitous use of mid-function declaration
+ * general
+ o [daemon startup] Add --dry-run/-C argument to daemons, to check config file syntax
+ o Handle upgrade from SUNWzebra to Quagga for 'interface fooX:Y' commands
+ o [snmp] Fix asn_build calls to pass correct variable sizes (fixes 64-bit issues)
+ o [doc] Add recent NetBSD/FreeBSD versions to list of what ought to work.
+- dropped obsolete patches snmp.diff, nextnode.diff
+- fixed VUL-0: quagga DoS [#266100] (CVE-2007-1995.patch)
* Tue Jan 23 2007 - prusnak(a)suse.cz
- fixed insufficient strcmp.diff
* Wed Dec 20 2006 - prusnak(a)suse.cz
++++++ quagga-0.99.6-CVE-2007-1995.patch ++++++
--- bgpd/bgp_attr.c
+++ bgpd/bgp_attr.c
@@ -39,7 +39,7 @@
#include "bgpd/bgp_ecommunity.h"
/* Attribute strings for logging. */
-struct message attr_str [] =
+static struct message attr_str [] =
{
{ BGP_ATTR_ORIGIN, "ORIGIN" },
{ BGP_ATTR_AS_PATH, "AS_PATH" },
@@ -58,6 +58,7 @@
{ BGP_ATTR_MP_UNREACH_NLRI, "MP_UNREACH_NLRI" },
{ 0, NULL }
};
+int attr_str_max = sizeof(attr_str)/sizeof(attr_str[0]);
struct hash *cluster_hash;
@@ -934,24 +935,30 @@
{
u_int16_t afi;
u_char safi;
- u_char snpa_num;
- u_char snpa_len;
- u_char *lim;
bgp_size_t nlri_len;
+ size_t start;
int ret;
struct stream *s;
/* Set end of packet. */
- s = peer->ibuf;
- lim = stream_pnt (s) + length;
-
+ s = BGP_INPUT(peer);
+ start = stream_get_getp(s);
+
+ /* safe to read statically sized header? */
+#define BGP_MP_REACH_MIN_SIZE 5
+ if ((length > STREAM_READABLE(s)) || (length < BGP_MP_REACH_MIN_SIZE))
+ return -1;
+
/* Load AFI, SAFI. */
afi = stream_getw (s);
safi = stream_getc (s);
/* Get nexthop length. */
attr->mp_nexthop_len = stream_getc (s);
-
+
+ if (STREAM_READABLE(s) < attr->mp_nexthop_len)
+ return -1;
+
/* Nexthop length check. */
switch (attr->mp_nexthop_len)
{
@@ -997,16 +1004,21 @@
return -1;
}
- snpa_num = stream_getc (s);
-
- while (snpa_num--)
+ if (!STREAM_READABLE(s))
+ return -1;
+
{
- snpa_len = stream_getc (s);
- stream_forward_getp (s, (snpa_len + 1) >> 1);
+ u_char val;
+ if ((val = stream_getc (s)))
+ zlog_warn ("%s sent non-zero value, %u, for defunct SNPA-length field",
+ peer->host, val);
}
-
- nlri_len = lim - stream_pnt (s);
-
+
+ /* must have nrli_len, what is left of the attribute */
+ nlri_len = length - (stream_get_getp(s) - start);
+ if ((!nlri_len) || (nlri_len > STREAM_READABLE(s)))
+ return -1;
+
if (safi != BGP_SAFI_VPNV4)
{
ret = bgp_nlri_sanity_check (peer, afi, stream_pnt (s), nlri_len);
@@ -1026,24 +1038,26 @@
/* Multiprotocol unreachable parse */
static int
-bgp_mp_unreach_parse (struct peer *peer, int length,
+bgp_mp_unreach_parse (struct peer *peer, bgp_size_t length,
struct bgp_nlri *mp_withdraw)
{
struct stream *s;
u_int16_t afi;
u_char safi;
- u_char *lim;
u_int16_t withdraw_len;
int ret;
s = peer->ibuf;
- lim = stream_pnt (s) + length;
+ #define BGP_MP_UNREACH_MIN_SIZE 3
+ if ((length > STREAM_READABLE(s)) || (length < BGP_MP_UNREACH_MIN_SIZE))
+ return -1;
+
afi = stream_getw (s);
safi = stream_getc (s);
-
- withdraw_len = lim - stream_pnt (s);
-
+
+ withdraw_len = length - BGP_MP_UNREACH_MIN_SIZE;
+
if (safi != BGP_SAFI_VPNV4)
{
ret = bgp_nlri_sanity_check (peer, afi, stream_pnt (s), withdraw_len);
@@ -1278,13 +1292,23 @@
/* If error occured immediately return to the caller. */
if (ret < 0)
- return ret;
+ {
+ zlog (peer->log, LOG_WARNING,
+ "%s: Attribute %s, parse error",
+ peer->host,
+ LOOKUP (attr_str, type));
+ bgp_notify_send (peer,
+ BGP_NOTIFY_UPDATE_ERR,
+ BGP_NOTIFY_UPDATE_MAL_ATTR);
+ return ret;
+ }
/* Check the fetched length. */
if (BGP_INPUT_PNT (peer) != attr_endp)
{
zlog (peer->log, LOG_WARNING,
- "%s BGP attribute fetch error", peer->host);
+ "%s: BGP attribute %s, fetch error",
+ peer->host, LOOKUP (attr_str, type));
bgp_notify_send (peer,
BGP_NOTIFY_UPDATE_ERR,
BGP_NOTIFY_UPDATE_ATTR_LENG_ERR);
@@ -1296,7 +1320,8 @@
if (BGP_INPUT_PNT (peer) != endp)
{
zlog (peer->log, LOG_WARNING,
- "%s BGP attribute length mismatch", peer->host);
+ "%s BGP attribute %s, length mismatch",
+ peer->host, LOOKUP (attr_str, type));
bgp_notify_send (peer,
BGP_NOTIFY_UPDATE_ERR,
BGP_NOTIFY_UPDATE_ATTR_LENG_ERR);
--- lib/stream.h
+++ lib/stream.h
@@ -126,6 +126,9 @@
#define STREAM_PNT(S) stream_pnt((S))
#define STREAM_DATA(S) ((S)->data)
#define STREAM_REMAIN(S) STREAM_WRITEABLE((S))
+/* number of bytes still to be read */
+#define STREAM_READABLE(S) ((S)->endp - (S)->getp)
+
/* Stream prototypes.
* For stream_{put,get}S, the S suffix mean:
++++++ quagga-0.98.6-strcmp.diff -> quagga-0.99.6-strcmp.diff ++++++
++++++ quagga-0.98.6-strict-aliasing.diff -> quagga-0.99.6-strict-aliasing.diff ++++++
--- quagga/quagga-0.98.6-strict-aliasing.diff 2005-10-11 15:05:35.000000000 +0200
+++ /mounts/work_src_done/STABLE/quagga/quagga-0.99.6-strict-aliasing.diff 2007-04-24 17:45:08.000000000 +0200
@@ -1,6 +1,6 @@
--- lib/zebra.h
+++ lib/zebra.h
-@@ -467,34 +467,29 @@
+@@ -533,34 +533,29 @@
#define FIFO_INIT(F) \
do { \
@@ -44,16 +44,3 @@
+ (FIFO_EMPTY(F) ? NULL : ((F))->next)
#endif /* _ZEBRA_H */
---- zebra/zserv.c
-+++ zebra/zserv.c
-@@ -79,8 +79,8 @@
-
- struct zebra_message_queue
- {
-- struct nsm_message_queue *next;
-- struct nsm_message_queue *prev;
-+ struct zebra_message_queue *next;
-+ struct zebra_message_queue *prev;
-
- u_char *buf;
- u_int16_t length;
++++++ quagga-0.98.6.tar.bz2 -> quagga-0.99.6.tar.bz2 ++++++
++++ 139867 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package util-linux-crypto
checked in at Tue Apr 24 23:36:07 CEST 2007.
--------
--- util-linux-crypto/util-linux-crypto.changes 2007-03-27 10:23:50.000000000 +0200
+++ /mounts/work_src_done/STABLE/util-linux-crypto/util-linux-crypto.changes 2007-04-24 23:28:23.980321000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 24 17:38:40 CEST 2007 - lnussel(a)suse.de
+
+- add boot.crypto (#257884)
+- add crypttab and cryptotab as %ghost to filelist
+
+-------------------------------------------------------------------
New:
----
boot.crypto
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ util-linux-crypto.spec ++++++
--- /var/tmp/diff_new_pack.U30814/_old 2007-04-24 23:34:44.000000000 +0200
+++ /var/tmp/diff_new_pack.U30814/_new 2007-04-24 23:34:44.000000000 +0200
@@ -22,15 +22,17 @@
Group: System/Base
Autoreqprov: on
Version: 2.12r
-Release: 18
+Release: 23
Summary: A Collection of Basic File System Encryption Utilities
Source: cryptsetup.sh
Source1: cryptsetup-luks-%csver.tar.bz2
Source2: hashalot-%haver.tar.bz2
Source3: dmconvert-%dcver.tar.bz2
+Source4: boot.crypto
Patch0: dmconvert-0.2-uninitialized.patch
Patch1: cryptsetup-luks-1.0.4-loop_fish2_compat.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Provides: aaa_base:/etc/init.d/boot.crypto
%description
This package contains a variety of low-level system utilities for
@@ -112,9 +114,16 @@
cd dmconvert-%dcver
make install DESTDIR=$RPM_BUILD_ROOT
cd ..
+# boot.crypto
+install -d -m 755 %{buildroot}/etc/init.d
+install -m 755 %{SOURCE4} %{buildroot}/etc/init.d/boot.crypto
+# maybe install templates instead?
+install -m 644 /dev/null %{buildroot}/etc/cryptotab
+install -m 644 /dev/null %{buildroot}/etc/crypttab
%post
/sbin/ldconfig
+%{fillup_and_insserv -psy boot.crypto START_CRYPTO_FILESYSTEMS}
%postun
/sbin/ldconfig
@@ -124,6 +133,9 @@
%files
%defattr(-,root,root)
+%ghost %verify(not md5 size mtime) %config(noreplace,missingok) /etc/crypttab
+%ghost %verify(not md5 size mtime) %config(noreplace,missingok) /etc/cryptotab
+/etc/init.d/boot.crypto
/sbin/cryptsetup.sh
/sbin/cryptsetup
/usr/sbin/dmconvert
@@ -141,6 +153,9 @@
%{_libdir}/libcryptsetup.so
%changelog
+* Tue Apr 24 2007 - lnussel(a)suse.de
+- add boot.crypto (#257884)
+- add crypttab and cryptotab as %%ghost to filelist
* Tue Mar 27 2007 - mkoenig(a)suse.de
- move devel .so link to %%{libdir}
- run ldconfig, since we have now a shared lib installed
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package tightvnc
checked in at Tue Apr 24 23:34:39 CEST 2007.
--------
--- tightvnc/tightvnc.changes 2007-03-01 18:13:11.000000000 +0100
+++ /mounts/work_src_done/STABLE/tightvnc/tightvnc.changes 2007-04-24 17:37:32.000000000 +0200
@@ -1,0 +2,7 @@
+Tue Apr 24 17:34:28 CEST 2007 - max(a)suse.de
+
+- Added tightvnc-rfbversion.patch to work around the non-standard
+ RFB protocol version reported by the XF4VNC server on SLES9.
+ (#267023)
+
+-------------------------------------------------------------------
New:
----
tightvnc-rfbversion.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tightvnc.spec ++++++
--- /var/tmp/diff_new_pack.a29268/_old 2007-04-24 23:34:29.000000000 +0200
+++ /var/tmp/diff_new_pack.a29268/_new 2007-04-24 23:34:29.000000000 +0200
@@ -22,7 +22,7 @@
PreReq: sed
Summary: A virtual X-Window System server
Version: 1.3.8
-Release: 5
+Release: 12
Source0: %name-%version.tar.bz2
Source1: vnc_inetd_httpd
Source2: vnc.xinetd
@@ -36,6 +36,7 @@
Patch6: tightvnc-byteorder.patch
Patch7: tightvnc-vncviewer-scrollbar.patch
Patch8: tightvnc-newfbsize.patch
+Patch9: tightvnc-rfbversion.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -65,6 +66,7 @@
%patch6
%patch7
%patch8
+%patch9
%build
xmkmf
@@ -111,6 +113,10 @@
%config(noreplace) /etc/slp.reg.d/*
%changelog
+* Tue Apr 24 2007 - max(a)suse.de
+- Added tightvnc-rfbversion.patch to work around the non-standard
+ RFB protocol version reported by the XF4VNC server on SLES9.
+ (#267023)
* Thu Mar 01 2007 - max(a)suse.de
- Fixed the session manager fix (sic!) in the vncserver script.
- Reverted xinetd fixes that got lost with the last checkin.
++++++ tightvnc-rfbversion.patch ++++++
--- vncviewer/rfbproto.c
+++ vncviewer/rfbproto.c
@@ -240,8 +240,10 @@
}
viewer_major = rfbProtocolMajorVersion;
- if (server_major == 3 && server_minor >= rfbProtocolMinorVersion) {
- /* the server supports at least the standard protocol 3.7 */
+ if (server_major == 3 && server_minor >= rfbProtocolMinorVersion
+ && server_minor != 130) {
+ /* the server supports at least the standard protocol 3.7, */
+ /* but not the non-standard version 3.130 of XF4VNC */
viewer_minor = rfbProtocolMinorVersion;
} else {
/* any other server version, request the standard 3.3 */
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package sendmail
checked in at Tue Apr 24 23:34:35 CEST 2007.
--------
--- sendmail/sendmail.changes 2007-04-16 12:11:15.000000000 +0200
+++ /mounts/work_src_done/STABLE/sendmail/sendmail.changes 2007-04-24 18:46:25.706060000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 24 18:34:09 CEST 2007 - werner(a)suse.de
+
+- Add smtp configuration for pam (bug #247352)
+- Add sendmail configuration for SuSEfirewall (bug #247352)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sendmail.spec ++++++
--- /var/tmp/diff_new_pack.u26688/_old 2007-04-24 23:34:02.000000000 +0200
+++ /var/tmp/diff_new_pack.u26688/_new 2007-04-24 23:34:02.000000000 +0200
@@ -24,7 +24,7 @@
Obsoletes: sendmail-tls
Autoreqprov: on
Version: 8.14.1
-Release: 3
+Release: 5
Summary: BSD Sendmail
#Source0: ftp://ftp.sendmail.org/pub/sendmail/sendmail.%{version}.tar.bz2
Source0: sendmail-%{version}.tar.bz2
@@ -71,7 +71,7 @@
%package -n rmail
Version: 8.14.1
-Release: 3
+Release: 5
Summary: Rmail of the BSD Sendmail
#Copyright: 1983 Eric P. Allman
License: Any permissive
@@ -150,6 +150,8 @@
mkdir -p ${RPM_BUILD_ROOT}/etc/mail/certs
mkdir -p ${RPM_BUILD_ROOT}/etc/mail/auth
mkdir -p ${RPM_BUILD_ROOT}/etc/init.d
+ mkdir -p ${RPM_BUILD_ROOT}/etc/pam.d
+ mkdir -p ${RPM_BUILD_ROOT}/etc/sysconfig/SuSEfirewall2.d/services
mkdir -p ${RPM_BUILD_ROOT}/usr/%{_lib}
mkdir -p ${RPM_BUILD_ROOT}/usr/lib/sendmail.d/bin
mkdir -p ${RPM_BUILD_ROOT}/usr/share/sendmail
@@ -248,6 +250,8 @@
install -m 0644 permissions ${RPM_BUILD_ROOT}/etc/permissions.d/sendmail
install -m 0644 permissions.paranoid ${RPM_BUILD_ROOT}/etc/permissions.d/sendmail.paranoid
install -m 0755 rc ${RPM_BUILD_ROOT}/etc/init.d/sendmail
+ install -m 0644 smtp ${RPM_BUILD_ROOT}/etc/pam.d/smtp
+ install -m 0644 fw ${RPM_BUILD_ROOT}/etc/sysconfig/SuSEfirewall2.d/services/sendmail
install SuSEconfig.sendmail ${RPM_BUILD_ROOT}/sbin/conf.d/
install -m 0644 sysconfig.sendmail ${RPM_BUILD_ROOT}/var/adm/fillup-templates/
install -m 0644 sysconfig.mail-sendmail ${RPM_BUILD_ROOT}/var/adm/fillup-templates/
@@ -386,6 +390,8 @@
/usr/share/sendmail
/var/adm/fillup-templates/sysconfig.sendmail
/var/adm/fillup-templates/sysconfig.mail-sendmail
+%config %attr(0644,root,root) /etc/pam.d/smtp
+%config %attr(0644,root,root) /etc/sysconfig/SuSEfirewall2.d/services/sendmail
%config %attr(0744,root,root) /etc/init.d/sendmail
%config %attr(0755,root,root) /sbin/conf.d/SuSEconfig.sendmail
/usr/bin/hoststat
@@ -440,6 +446,9 @@
%doc %{_mandir}/man8/rmail.8.gz
%changelog
+* Tue Apr 24 2007 - werner(a)suse.de
+- Add smtp configuration for pam (bug #247352)
+- Add sendmail configuration for SuSEfirewall (bug #247352)
* Mon Apr 16 2007 - werner(a)suse.de
- Update the boot script dependcies (bug #262215)
* Thu Apr 05 2007 - werner(a)suse.de
++++++ uucp.spec ++++++
--- /var/tmp/diff_new_pack.u26688/_old 2007-04-24 23:34:02.000000000 +0200
+++ /var/tmp/diff_new_pack.u26688/_new 2007-04-24 23:34:02.000000000 +0200
@@ -17,7 +17,7 @@
Requires: /usr/bin/rmail filesystem netcfg
Autoreqprov: on
Version: 1.07
-Release: 310
+Release: 313
Summary: Taylor UUCP
Source0: uucp-1.07.tar.bz2
Source1: uucpcfg.tar.bz2
++++++ sendmail-8.14.1.dif ++++++
--- /var/tmp/diff_new_pack.u26688/_old 2007-04-24 23:34:02.000000000 +0200
+++ /var/tmp/diff_new_pack.u26688/_new 2007-04-24 23:34:02.000000000 +0200
@@ -2953,6 +2953,26 @@
+#olddomain.name newdomain.name
+# ^^^^^^^^^
+# (this is a <TAB> stop)
+--- suse/fw
++++ suse/fw 2007-04-24 18:41:14.209137905 +0200
+@@ -0,0 +1,17 @@
++## Description: Firewall Configuration file for postfix
++
++# space separated list of allowed TCP ports
++TCP="25 465"
++
++# space separated list of allowed UDP ports
++UDP=""
++
++# space separated list of allowed RPC services
++RPC=""
++
++# space separated list of allowed IP protocols
++IP=""
++
++# space separated list of allowed UDP broadcast ports
++BROADCAST=""
++
--- suse/genericstable
+++ suse/genericstable 2006-08-10 11:32:29.000000000 +0200
@@ -0,0 +1,21 @@
@@ -4135,6 +4155,15 @@
+#passwd files nisplus nis
+#hosts files nisplus nis dns
+#aliases files nisplus nis
+--- suse/smtp
++++ suse/smtp 2007-04-24 18:23:22.768382051 +0200
+@@ -0,0 +1,6 @@
++#%PAM-1.0
++auth include common-auth
++account include common-account
++password include common-password
++session include common-session
++
--- suse/sysconfig.mail-sendmail
+++ suse/sysconfig.mail-sendmail 2006-08-10 11:32:29.000000000 +0200
@@ -0,0 +1,30 @@
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package pwlib
checked in at Tue Apr 24 23:34:03 CEST 2007.
--------
--- pwlib/pwlib.changes 2007-03-30 07:08:54.000000000 +0200
+++ /mounts/work_src_done/STABLE/pwlib/pwlib.changes 2007-04-24 23:33:41.914151000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 24 10:23:41 CDT 2007 - maw(a)suse.de
+
+- Update to version 1.10.7
+ - bugfix release
+
+-------------------------------------------------------------------
Old:
----
pwlib-1.10.4-aliasing.diff
pwlib-1.10.4.diff
pwlib-1.10.4-gcc42-atomic.diff
pwlib-1.10.4.tar.bz2
New:
----
pwlib-1.10.7-aliasing.diff
pwlib-1.10.7.diff
pwlib-1.10.7-gcc42-atomic.diff
pwlib-1.10.7.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pwlib.spec ++++++
--- /var/tmp/diff_new_pack.G26052/_old 2007-04-24 23:33:49.000000000 +0200
+++ /var/tmp/diff_new_pack.G26052/_new 2007-04-24 23:33:49.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package pwlib (Version 1.10.4)
+# spec file for package pwlib (Version 1.10.7)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,8 +11,8 @@
# norootforbuild
Name: pwlib
-Version: 1.10.4
-Release: 7
+Version: 1.10.7
+Release: 1
BuildRequires: SDL-devel bison esound-devel flex gcc-c++ libavc1394-devel libdc1394-devel libdv-devel libstdc++-devel openldap2 openldap2-devel
URL: http://www.openh323.org/
License: MOZILLA PUBLIC LICENSE (MPL/NPL)
@@ -193,6 +193,9 @@
%{_libdir}/pwlib/devices/videoinput/v4l2_pwplugin.so
%changelog
+* Tue Apr 24 2007 - maw(a)suse.de
+- Update to version 1.10.7
+ - bugfix release
* Fri Mar 30 2007 - aj(a)suse.de
- Add bison, flex to BuildRequires.
* Tue Feb 27 2007 - kkeil(a)suse.de
++++++ pwlib-1.10.4-aliasing.diff -> pwlib-1.10.7-aliasing.diff ++++++
++++++ pwlib-1.10.4-aliasing.diff -> pwlib-1.10.7.diff ++++++
--- pwlib/pwlib-1.10.4-aliasing.diff 2007-02-21 16:31:01.000000000 +0100
+++ /mounts/work_src_done/STABLE/pwlib/pwlib-1.10.7.diff 2007-02-16 21:25:05.000000000 +0100
@@ -1,74 +1,15 @@
-Index: pwlib-1.10.4/src/ptclib/psasl.cxx
+Index: src/ptclib/vxml.cxx
===================================================================
---- pwlib-1.10.4.orig/src/ptclib/psasl.cxx
-+++ pwlib-1.10.4/src/ptclib/psasl.cxx
-@@ -245,7 +245,9 @@ BOOL PSASLClient::Init(const PString& fq
- if (m_ConnState)
- End();
+--- src/ptclib/vxml.cxx.orig
++++ src/ptclib/vxml.cxx
+@@ -1078,9 +1078,9 @@ void PVXMLSession::ProcessUserInput()
+ return;
+ ch = userInputQueue.front();
+ userInputQueue.pop();
+- }
-- int result = sasl_client_new(m_Service, fqdn, 0, 0, (const sasl_callback_t *)m_CallBacks, 0, (sasl_conn_t **)&m_ConnState);
-+ sasl_conn_t *cst = (sasl_conn_t *)m_ConnState;
-+ int result = sasl_client_new(m_Service, fqdn, 0, 0, (const sasl_callback_t *)m_CallBacks, 0, &cst);
-+ m_ConnState = cst;
-
- if (result != SASL_OK)
- return FALSE;
-@@ -348,7 +350,8 @@ BOOL PSASLClient::End()
- {
- if (m_ConnState)
- {
-- sasl_dispose((sasl_conn_t **)&m_ConnState);
-+ sasl_conn_t * cst = (sasl_conn_t *)m_ConnState;
-+ sasl_dispose(&cst);
- m_ConnState = 0;
- return TRUE;
- }
-Index: pwlib-1.10.4/src/ptlib/common/pluginmgr.cxx
-===================================================================
---- pwlib-1.10.4.orig/src/ptlib/common/pluginmgr.cxx
-+++ pwlib-1.10.4/src/ptlib/common/pluginmgr.cxx
-@@ -171,22 +171,22 @@ BOOL PPluginManager::LoadPlugin(const PS
- }
-
- else {
-- unsigned (*GetAPIVersion)();
-- if (!dll->GetFunction("PWLibPlugin_GetAPIVersion", (PDynaLink::Function &)GetAPIVersion)) {
-+ PDynaLink::Function tmpfunc;
-+ typedef int (*GetAPIVersion_t)();
-+
-+ if (!dll->GetFunction("PWLibPlugin_GetAPIVersion", tmpfunc)) {
- PTRACE(3, fileName << " is not a PWLib plugin");
- }
-
- else {
-- int version = (*GetAPIVersion)();
-+ int version = (*((GetAPIVersion_t)tmpfunc))();
- switch (version) {
- case 0 : // old-style service plugins, and old-style codec plugins
- {
-- // declare local pointer to register function
-- void (*triggerRegister)(PPluginManager *);
--
-+ typedef int (*Register_t)(PPluginManager *);
- // call the register function (if present)
-- if (dll->GetFunction("PWLibPlugin_TriggerRegister", (PDynaLink::Function &)triggerRegister))
-- (*triggerRegister)(this);
-+ if (dll->GetFunction("PWLibPlugin_TriggerRegister", tmpfunc))
-+ (*((Register_t)tmpfunc))(this);
- else {
- PTRACE(3, fileName << " has no registration-trigger function");
- }
-Index: pwlib-1.10.4/src/ptlib/unix/udll.cxx
-===================================================================
---- pwlib-1.10.4.orig/src/ptlib/unix/udll.cxx
-+++ pwlib-1.10.4/src/ptlib/unix/udll.cxx
-@@ -437,7 +437,8 @@ BOOL PDynaLink::GetFunction(const PStrin
- if (p == NULL)
- return FALSE;
-
-- func = (Function &)p;
-+ Function f = (Function)p;
-+ func = f;
- return TRUE;
- }
+ PTRACE(3, "VXML\tHandling user input " << ch);
++ }
+ // recording
+ if (recording) {
++++++ pwlib-1.10.4-gcc42-atomic.diff -> pwlib-1.10.7-gcc42-atomic.diff ++++++
++++++ pwlib-1.10.4.tar.bz2 -> pwlib-1.10.7.tar.bz2 ++++++
++++ 8676 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pwlib-1.10.4/plugins/configure.in new/pwlib-1.10.7/plugins/configure.in
--- old/pwlib-1.10.4/plugins/configure.in 2006-11-01 18:59:31.000000000 +0100
+++ new/pwlib-1.10.7/plugins/configure.in 2007-02-19 23:28:42.000000000 +0100
@@ -129,7 +129,7 @@
if test "${enable_v4l2}z" = "yesz" ; then
if test "${OSTYPE}z" = "solaris2.11z"; then
- VIDEODEV="videodev2.h"
+ VIDEODEV="sys/videodev2.h"
else
VIDEODEV="linux/videodev2.h"
fi
@@ -138,6 +138,11 @@
#ifdef __linux__
#include <linux/types.h>
#include <linux/time.h>
+#else
+#ifdef __sun
+#include <sys/types.h>
+#include <sys/time.h>
+#endif
#endif
])
AC_MSG_CHECKING(for V4L2 video support)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pwlib-1.10.4/plugins/vidinput_v4l/vidinput_v4l.cxx new/pwlib-1.10.7/plugins/vidinput_v4l/vidinput_v4l.cxx
--- old/pwlib-1.10.4/plugins/vidinput_v4l/vidinput_v4l.cxx 2007-01-03 23:37:37.000000000 +0100
+++ new/pwlib-1.10.7/plugins/vidinput_v4l/vidinput_v4l.cxx 2007-04-10 23:17:56.000000000 +0200
@@ -25,6 +25,10 @@
* Mark Cooke (mpc(a)star.sr.bham.ac.uk)
*
* $Log: vidinput_v4l.cxx,v $
+ * Revision 1.15.2.6 2007/04/10 21:17:56 dsandras
+ * Added MJPEG support. Added workarounds for broken qspca driver.
+ * Thanks to Luc Saillard (luc saillard org).
+ *
* Revision 1.15.2.5 2007/01/03 22:37:37 dsandras
* Backports from HEAD.
*
@@ -285,14 +289,24 @@
int pref_palette; // Preferred palette.
} driver_hints[] = {
- /**Philips usb web cameras
+ /**Most of usb web cameras from the spca5xx driver
+ */
+
+ { "^Broken sensor chipset that accept only 640x480$",
+ "Broken sensor chipset that accept only 640x480",
+ NULL,
+ HINT_ALWAYS_WORKS_640_480|
+ HINT_CGWIN_FAILS,
+ 0},
+
+ /**Philips usb web cameras
Native format is 420(P) so use it.
*/
{ "^Philips [0-9]+ webcam$",
"Philips USB webcam",
NULL,
- HINT_HAS_PREF_PALETTE,
+ HINT_ALWAYS_WORKS_640_480,
VIDEO_PALETTE_YUV420P },
/**Brooktree based capture boards.
@@ -386,6 +400,53 @@
};
+/*
+ * This is list of channel names that accept only fixed size resolution
+ * The spca5xx driver store in the channel name, the name of the bridge,
+ * not the sensor, so we use a second list to trim false positive.
+ */
+static const char *bridges_with_640x480_fixed_width[] = {
+ "SPCA505",
+ "SPCA506",
+ "SPCA501",
+ "SPCA504",
+ "SPCA500", /* Only the LogitechClickSmart310 doesn't support the 640x480 */
+ "SPCA504B",
+ "SPCA504C",
+ "SPCA536",
+ "SN9C102", /* SENSOR_PAS106 and SENSOR_TAS5110 doesn't support the 640x480 */
+ "ZC301-2", /* SENSOR_PAS106 doesn't support the 640x480 */
+ "CX11646",
+ "SN9CXXX",
+ "MR97311",
+ "VC0321",
+};
+
+static const char *sensors_with_352x288_fixed_width[] = {
+ "Philips SPC200NC ", /* Using the SENSOR_PAS106 sensor */
+ "Philips SPC210NC (FB) ",
+ "Philips SPC300NC ",
+ "Creative NX",
+ "Creative Instant P0620",
+ "Creative Instant P0620D",
+ "Sonix sn9c10x + Pas106 sensor",
+ "Genius VideoCAM NB", /* Using the SENSOR_TAS5110 sensor */
+ "Sweex SIF webcam",
+ "Logitech ClickSmart 310", /* Using the SENSOR_HDCS1020 sensor */
+};
+
+#if 0
+/* TODO: We need to do the same hack */
+static const char *bridges_with_352x288_fixed_width[] = {
+ "SPCA508", /* 352x288 */
+ "SPCA561", /* 352x288 */
+ "TV8532", /* 352x288 */
+ "ET61XX51", /* 320x240 */
+ // "SPCA533", /* 464*480 */
+ // "PAC207BCA", /* 320x240 only */
+};
+#endif
+
#define HINT(h) ((driver_hints[hint_index].hints & h) ? TRUE : FALSE)
#define MAJOR(a) (int)((unsigned short) (a) >> 8)
#define MINOR(a) (int)((unsigned short) (a) & 0xFF)
@@ -631,6 +692,13 @@
{
Close();
}
+
+/* From the spca5xx driver and gspca driver */
+#ifndef VIDEO_PALETTE_RAW_JPEG
+#define VIDEO_PALETTE_RAW_JPEG 20
+#define VIDEO_PALETTE_JPEG 21
+#endif
+
static struct {
const char * colourFormat;
int code;
@@ -647,7 +715,8 @@
{ "YUV420", VIDEO_PALETTE_YUV420 },
{ "YUV420P", VIDEO_PALETTE_YUV420P },
{ "YUV410P", VIDEO_PALETTE_YUV410P },
- { "UYVY422", VIDEO_PALETTE_UYVY }
+ { "UYVY422", VIDEO_PALETTE_UYVY },
+ { "MJPEG", VIDEO_PALETTE_JPEG }
};
@@ -720,7 +789,41 @@
}
}
-
+ /*
+ * Some drivers like the spca5xx ou the gspca returns OK for any resolution
+ * between min-max. But the image is crop, and the user doesn't see his face
+ * entirely.
+ * The problem is the drive support more than 200 webcams, and we cannot add
+ * them all to the list of driver_hints[], so we use the sensor description
+ * to enable the hack. The channel name contains the name of the bridge, so
+ * we have only 10 comp to be. But some webcams have a 640x480 bridge, and a
+ * small sensor ...
+ */
+ if (hint_index >= PARRAYSIZE(driver_hints)-1) {
+ struct video_channel channel;
+ memset(&channel, 0, sizeof(struct video_channel));
+ if (::ioctl(videoFd, VIDIOCGCHAN, &channel) == 0) {
+ /* Only check if the called doesn't return an error */
+ for (tbl = 0; tbl < PARRAYSIZE(bridges_with_640x480_fixed_width); tbl ++) {
+ if (strcmp(bridges_with_640x480_fixed_width[tbl], channel.name) == 0) {
+ BOOL false_positive = FALSE;
+ unsigned int idx;
+ for (idx = 0; idx < PARRAYSIZE(sensors_with_352x288_fixed_width); idx++) {
+ if (strcmp(sensors_with_352x288_fixed_width[tbl], videoCapability.name) == 0) {
+ false_positive = TRUE;
+ break;
+ }
+ }
+ if (false_positive == FALSE) {
+ PTRACE(1,"PVideoInputDevice_V4L::Open: Found fixed 640x480 sensor");
+ hint_index = 0;
+ break;
+ }
+ }
+ }
+ }
+ }
+
// Force double-buffering with buggy Quickcam driver.
if (HINT (HINT_FORCE_DBLBUF)) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pwlib-1.10.4/plugins/vidinput_v4l2/vidinput_names.cxx new/pwlib-1.10.7/plugins/vidinput_v4l2/vidinput_names.cxx
--- old/pwlib-1.10.4/plugins/vidinput_v4l2/vidinput_names.cxx 2007-01-03 23:37:37.000000000 +0100
+++ new/pwlib-1.10.7/plugins/vidinput_v4l2/vidinput_names.cxx 2007-02-19 23:28:42.000000000 +0100
@@ -26,6 +26,10 @@
* Nicola Orru' <nigu(a)itadinanta.it>
*
* $Log: vidinput_names.cxx,v $
+ * Revision 1.4.4.3 2007/02/19 22:28:42 dsandras
+ * Backported patch from HEAD to fix OpenSolaris V4L2 support thanks Elaine
+ * Xiong <elaine xiong sun com>.
+ *
* Revision 1.4.4.2 2007/01/03 22:37:37 dsandras
* Backports from HEAD.
*
@@ -51,6 +55,19 @@
if (!devdir.Open())
return;
+#ifdef SOLARIS
+ int devnum = 0;
+ do {
+ PString filename = devdir.GetEntryName();
+ if (!filename.NumCompare("video", 5 , 0)) {
+ PString devname = devdir + filename;
+ struct stat s;
+ if (lstat(devname, &s) == 0) {
+ vid.SetAt(devnum++, devname);
+ }
+ }
+ } while (devdir.Next());
+#else
do {
PString filename = devdir.GetEntryName();
PString devname = devdir + filename;
@@ -76,6 +93,7 @@
}
}
} while (devdir.Next());
+#endif
}
void V4LXNames::PopulateDictionary()
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pwlib-1.10.4/plugins/vidinput_v4l2/vidinput_v4l2.cxx new/pwlib-1.10.7/plugins/vidinput_v4l2/vidinput_v4l2.cxx
--- old/pwlib-1.10.4/plugins/vidinput_v4l2/vidinput_v4l2.cxx 2007-01-03 23:37:37.000000000 +0100
+++ new/pwlib-1.10.7/plugins/vidinput_v4l2/vidinput_v4l2.cxx 2007-02-19 23:28:42.000000000 +0100
@@ -31,6 +31,10 @@
* Nicola Orru' <nigu(a)itadinanta.it>
*
* $Log: vidinput_v4l2.cxx,v $
+ * Revision 1.11.4.10 2007/02/19 22:28:42 dsandras
+ * Backported patch from HEAD to fix OpenSolaris V4L2 support thanks Elaine
+ * Xiong <elaine xiong sun com>.
+ *
* Revision 1.11.4.9 2007/01/03 22:37:37 dsandras
* Backports from HEAD.
*
@@ -1122,11 +1126,7 @@
}
if (inputDeviceNames.GetSize() == 0) {
POrdinalToString vid;
-#ifdef SOLARIS
- vid.SetAt(0,"/dev/video");
-#else
ReadDeviceDirectory("/dev/", vid);
-#endif
for (PINDEX i = 0; i < vid.GetSize(); i++) {
PINDEX cardnum = vid.GetKeyAt(i);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pwlib-1.10.4/plugins/vidinput_v4l2/vidinput_v4l2.h new/pwlib-1.10.7/plugins/vidinput_v4l2/vidinput_v4l2.h
--- old/pwlib-1.10.4/plugins/vidinput_v4l2/vidinput_v4l2.h 2006-11-01 18:59:31.000000000 +0100
+++ new/pwlib-1.10.7/plugins/vidinput_v4l2/vidinput_v4l2.h 2007-02-19 23:28:42.000000000 +0100
@@ -24,6 +24,10 @@
* Nicola Orru' <nigu(a)itadinanta.it>
*
* $Log: vidinput_v4l2.h,v $
+ * Revision 1.5.4.3 2007/02/19 22:28:42 dsandras
+ * Backported patch from HEAD to fix OpenSolaris V4L2 support thanks Elaine
+ * Xiong <elaine xiong sun com>.
+ *
* Revision 1.5.4.2 2006/11/01 17:59:31 dsandras
* Applied patch from Brian Lu <brian lu sun com> to fix V4L2 on OpenSolaris.
*
@@ -74,7 +78,7 @@
#include <ptlib/vconvert.h>
#ifdef SOLARIS
-#include <videodev2.h>
+#include <sys/videodev2.h>
#else
#include <linux/videodev.h>
#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pwlib-1.10.4/pwlib_cfg.dxy new/pwlib-1.10.7/pwlib_cfg.dxy
--- old/pwlib-1.10.4/pwlib_cfg.dxy 2007-02-05 09:31:51.000000000 +0100
+++ new/pwlib-1.10.7/pwlib_cfg.dxy 2007-03-30 20:06:56.000000000 +0200
@@ -23,7 +23,7 @@
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = 1.10.4
+PROJECT_NUMBER = 1.10.7
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pwlib-1.10.4/src/ptlib/common/jidctflt.cxx new/pwlib-1.10.7/src/ptlib/common/jidctflt.cxx
--- old/pwlib-1.10.4/src/ptlib/common/jidctflt.cxx 2006-03-07 21:50:28.000000000 +0100
+++ new/pwlib-1.10.7/src/ptlib/common/jidctflt.cxx 2007-03-04 20:33:51.000000000 +0100
@@ -120,7 +120,7 @@
*/
void
-jpeg_idct_float (struct component *compptr, uint8_t *output_buf, int stride)
+tinyjpeg_idct_float (struct component *compptr, uint8_t *output_buf, int stride)
{
FAST_FLOAT tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
FAST_FLOAT tmp10, tmp11, tmp12, tmp13;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pwlib-1.10.4/src/ptlib/common/tinyjpeg.cxx new/pwlib-1.10.7/src/ptlib/common/tinyjpeg.cxx
--- old/pwlib-1.10.4/src/ptlib/common/tinyjpeg.cxx 2006-05-28 21:04:21.000000000 +0200
+++ new/pwlib-1.10.7/src/ptlib/common/tinyjpeg.cxx 2007-03-04 20:33:51.000000000 +0100
@@ -47,26 +47,21 @@
DHT = 0xC4, /* Huffman Table */
SOI = 0xD8, /* Start of Image */
SOS = 0xDA, /* Start of Scan */
+ RST = 0xD0, /* Reset Marker d0 -> .. */
+ RST7 = 0xD7, /* Reset Marker .. -> d7 */
EOI = 0xD9, /* End of Image */
+ DRI = 0xDD, /* Define Restart Interval */
APP0 = 0xE0,
};
-#define cY 1
-#define cCb 2
-#define cCr 3
+#define cY 0
+#define cCb 1
+#define cCr 2
#define BLACK_Y 0
#define BLACK_U 127
#define BLACK_V 127
-#define SANITY_CHECK 1
-
-#ifndef DEBUG
-#define DEBUG 0
-#define DUMP_TABLE 0
-#define LOG2FILE 0
-#endif
-
#if DEBUG
#if LOG2FILE
#define error(fmt, args...) do { \
@@ -288,8 +283,15 @@
result = ((reservoir)>>(nbits_in_reservoir-(nbits_wanted))); \
} while(0);
+/* To speed up the decoding, we assume that the reservoir have enough bit
+ * slow version:
+ * #define skip_nbits(reservoir,nbits_in_reservoir,stream,nbits_wanted) do { \
+ * fill_nbits(reservoir,nbits_in_reservoir,stream,(nbits_wanted)); \
+ * nbits_in_reservoir -= (nbits_wanted); \
+ * reservoir &= ((1U<<nbits_in_reservoir)-1); \
+ * } while(0);
+ */
#define skip_nbits(reservoir,nbits_in_reservoir,stream,nbits_wanted) do { \
- fill_nbits(reservoir,nbits_in_reservoir,stream,(nbits_wanted)); \
nbits_in_reservoir -= (nbits_wanted); \
reservoir &= ((1U<<nbits_in_reservoir)-1); \
} while(0);
@@ -297,6 +299,7 @@
#define be16_to_cpu(x) (((x)[0]<<8)|(x)[1])
+static void resync(struct jdec_private *priv);
/**
* Get the next (valid) huffman code in the stream.
@@ -374,6 +377,7 @@
DCT[0] = c->previous_DC;
}
+
/* AC coefficient decoding */
j = 1;
while (j<64)
@@ -400,7 +404,6 @@
for (j = 0; j < 64; j++)
c->DCT[j] = DCT[zigzag[j]];
-
}
/*
@@ -586,7 +589,7 @@
{
unsigned char *p;
const unsigned char *s, *y1;
- int i,j;
+ unsigned int i;
p = priv->plane[0];
y1 = priv->Y;
@@ -601,20 +604,18 @@
s = priv->Cb;
for (i=0; i<8; i+=2)
{
- for (j=0; j<8; j+=1, s+=1)
- *p++ = *s;
- s += 8; /* Skip one line */
- p += priv->width/2 - 8;
+ memcpy(p, s, 8);
+ s += 16; /* Skip one line */
+ p += priv->width/2;
}
p = priv->plane[2];
s = priv->Cr;
for (i=0; i<8; i+=2)
{
- for (j=0; j<8; j+=1, s+=1)
- *p++ = *s;
- s += 8; /* Skip one line */
- p += priv->width/2 - 8;
+ memcpy(p, s, 8);
+ s += 16; /* Skip one line */
+ p += priv->width/2;
}
}
@@ -727,7 +728,7 @@
offset_to_next_row = priv->width*3 - 8*3;
for (i=0; i<8; i++) {
- for (j=0;j<8;j++) {
+ for (j=0; j<8; j++) {
int y, cb, cr;
int add_r, add_g, add_b;
@@ -782,7 +783,7 @@
offset_to_next_row = priv->width*3 - 8*3;
for (i=0; i<8; i++) {
- for (j=0;j<8;j++) {
+ for (j=0; j<8; j++) {
int y, cb, cr;
int add_r, add_g, add_b;
@@ -1102,7 +1103,7 @@
offset_to_next_row = (priv->width*3*2) - 16*3;
for (i=0; i<8; i++) {
- for (j=0;j<8;j++) {
+ for (j=0; j<8; j++) {
int y, cb, cr;
int add_r, add_g, add_b;
@@ -1185,7 +1186,7 @@
offset_to_next_row = (priv->width*3*2) - 16*3;
for (i=0; i<8; i++) {
- for (j=0;j<8;j++) {
+ for (j=0; j<8; j++) {
int y, cb, cr;
int add_r, add_g, add_b;
@@ -1257,7 +1258,7 @@
p = priv->plane[0];
y = priv->Y;
- offset_to_next_row = priv->width-8;
+ offset_to_next_row = priv->width;
for (i=0; i<8; i++) {
memcpy(p, y, 8);
@@ -1586,14 +1587,15 @@
static int parse_DQT(struct jdec_private *priv, const unsigned char *stream)
{
- int length, qi;
+ int qi;
float *table;
+ const unsigned char *dqt_block_end;
trace("> DQT marker\n");
- length = be16_to_cpu(stream) - 2;
+ dqt_block_end = stream + be16_to_cpu(stream);
stream += 2; /* Skip length */
- while (length>0)
+ while (stream < dqt_block_end)
{
qi = *stream++;
#if SANITY_CHECK
@@ -1605,8 +1607,8 @@
table = priv->Q_tables[qi];
build_quantization_table(table, stream);
stream += 64;
- length -= 65;
}
+ trace("< DQT marker\n");
return 0;
}
@@ -1616,6 +1618,7 @@
int Q_table;
struct component *c;
+ trace("> SOF marker\n");
print_SOF(stream);
height = be16_to_cpu(stream+3);
@@ -1624,7 +1627,7 @@
#if SANITY_CHECK
if (stream[2] != 8)
error("Precision other than 8 is not supported\n");
- if (width>2048 || height>2048)
+ if (width>JPEG_MAX_WIDTH || height>JPEG_MAX_HEIGHT)
error("Width and Height (%dx%d) seems suspicious\n", width, height);
if (nr_components != 3)
error("We only support YUV images\n");
@@ -1638,7 +1641,10 @@
cid = *stream++;
sampling_factor = *stream++;
Q_table = *stream++;
- c = &priv->component_infos[cid];
+ c = &priv->component_infos[i];
+#if SANITY_CHECK
+ c->cid = cid;
+#endif
c->Vfactor = sampling_factor&0xf;
c->Hfactor = sampling_factor>>4;
c->Q_table = priv->Q_tables[Q_table];
@@ -1649,6 +1655,8 @@
priv->width = width;
priv->height = height;
+ trace("< SOF marker\n");
+
return 0;
}
@@ -1661,7 +1669,7 @@
#if SANITY_CHECK
if (nr_components != 3)
- error("We only support YUV image\n");
+ error("We only support YCbCr image\n");
#endif
stream += 3;
@@ -1673,12 +1681,16 @@
error("We do not support more than 2 AC Huffman table\n");
if ((table>>4)>=4)
error("We do not support more than 2 DC Huffman table\n");
+ if (cid != priv->component_infos[i].cid)
+ error("SOS cid order (%d:%d) isn't compatible with the SOF marker (%d:%d)\n",
+ i, cid, i, priv->component_infos[i].cid);
trace("ComponentId:%d tableAC:%d tableDC:%d\n", cid, table&0xf, table>>4);
#endif
- priv->component_infos[cid].AC_table = &priv->HTAC[table&0xf];
- priv->component_infos[cid].DC_table = &priv->HTDC[table>>4];
+ priv->component_infos[i].AC_table = &priv->HTAC[table&0xf];
+ priv->component_infos[i].DC_table = &priv->HTDC[table>>4];
}
priv->stream = stream+3;
+ trace("< SOS marker\n");
return 0;
}
@@ -1726,6 +1738,32 @@
return 0;
}
+static int parse_DRI(struct jdec_private *priv, const unsigned char *stream)
+{
+ unsigned int length;
+
+ trace("> DRI marker\n");
+
+ length = be16_to_cpu(stream);
+
+#if SANITY_CHECK
+ if (length != 4)
+ error("Length of DRI marker need to be 4\n");
+#endif
+
+ priv->restart_interval = be16_to_cpu(stream+2);
+
+#if DEBUG
+ trace("Restart interval = %d\n", priv->restart_interval);
+#endif
+
+ trace("< DRI marker\n");
+
+ return 0;
+}
+
+
+
static void resync(struct jdec_private *priv)
{
int i;
@@ -1736,9 +1774,45 @@
priv->reservoir = 0;
priv->nbits_in_reservoir = 0;
-
+ if (priv->restart_interval > 0)
+ priv->restarts_to_go = priv->restart_interval;
+ else
+ priv->restarts_to_go = -1;
}
+static int find_next_rst_marker(struct jdec_private *priv)
+{
+ int rst_marker_found = 0;
+ int marker;
+ const unsigned char *stream = priv->stream;
+
+ /* Parse marker */
+ while (!rst_marker_found)
+ {
+ while (*stream++ != 0xff)
+ {
+ if (stream >= priv->stream_end)
+ error("EOF while search for a RST marker.");
+ }
+ /* Skip any padding ff byte (this is normal) */
+ while (*stream == 0xff)
+ stream++;
+
+ marker = *stream++;
+ if ((RST+priv->last_rst_marker_seen) == marker)
+ rst_marker_found = 1;
+ else if (marker >= RST && marker <= RST7)
+ error("Wrong Reset marker found, abording");
+ else if (marker == EOI)
+ return 0;
+ }
+
+ priv->stream = stream;
+ priv->last_rst_marker_seen++;
+ priv->last_rst_marker_seen &= 7;
+
+ return 0;
+}
static int parse_JFIF(struct jdec_private *priv, const unsigned char *stream)
{
@@ -1780,6 +1854,10 @@
return -1;
dht_marker_found = 1;
break;
+ case DRI:
+ if (parse_DRI(priv, stream) < 0)
+ return -1;
+ break;
default:
trace("> Unknown marker %2.2x\n", marker);
break;
@@ -1813,12 +1891,6 @@
return -1;
}
-/*
- *
- * Export functions
- *
- */
-
/*******************************************************************************
*
* Functions exported of the library.
@@ -2045,6 +2117,17 @@
priv->plane[0] += bytes_per_mcu[0];
priv->plane[1] += bytes_per_mcu[1];
priv->plane[2] += bytes_per_mcu[2];
+ if (priv->restarts_to_go>0)
+ {
+ priv->restarts_to_go--;
+ if (priv->restarts_to_go == 0)
+ {
+ priv->stream -= (priv->nbits_in_reservoir/8);
+ resync(priv);
+ if (find_next_rst_marker(priv) < 0)
+ return -1;
+ }
+ }
}
}
@@ -2053,6 +2136,8 @@
const char *tinyjpeg_get_errorstring(struct jdec_private *priv)
{
+ /* FIXME: the error string must be store in the context */
+ priv = priv;
return error_string;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pwlib-1.10.4/src/ptlib/common/tinyjpeg-internal.h new/pwlib-1.10.7/src/ptlib/common/tinyjpeg-internal.h
--- old/pwlib-1.10.4/src/ptlib/common/tinyjpeg-internal.h 2006-03-07 21:50:28.000000000 +0100
+++ new/pwlib-1.10.7/src/ptlib/common/tinyjpeg-internal.h 2007-03-04 20:33:51.000000000 +0100
@@ -37,6 +37,8 @@
#include <setjmp.h>
+#define SANITY_CHECK 1
+
struct jdec_private;
#define HUFFMAN_HASH_NBITS 9
@@ -44,7 +46,9 @@
#define HUFFMAN_HASH_MASK (HUFFMAN_HASH_SIZE-1)
#define HUFFMAN_TABLES 4
-#define COMPONENTS 4
+#define COMPONENTS 3
+#define JPEG_MAX_WIDTH 2048
+#define JPEG_MAX_HEIGHT 2048
struct huffman_table
{
@@ -68,6 +72,9 @@
struct huffman_table *DC_table;
short int previous_DC; /* Previous DC coefficient */
short int DCT[64]; /* DCT coef */
+#if SANITY_CHECK
+ unsigned int cid;
+#endif
};
@@ -93,6 +100,9 @@
struct huffman_table HTDC[HUFFMAN_TABLES]; /* DC huffman tables */
struct huffman_table HTAC[HUFFMAN_TABLES]; /* AC huffman tables */
int default_huffman_table_initialized;
+ int restart_interval;
+ int restarts_to_go; /* MCUs left in this restart interval */
+ int last_rst_marker_seen; /* Rst marker is incremented each time */
/* Temp space used after the IDCT to store each components */
uint8_t Y[64*4], Cr[64], Cb[64];
@@ -103,8 +113,8 @@
};
-#define IDCT jpeg_idct_float
-void jpeg_idct_float (struct component *compptr, uint8_t *output_buf, int stride);
+#define IDCT tinyjpeg_idct_float
+void tinyjpeg_idct_float (struct component *compptr, uint8_t *output_buf, int stride);
#endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pwlib-1.10.4/src/ptlib/unix/osutil.cxx new/pwlib-1.10.7/src/ptlib/unix/osutil.cxx
--- old/pwlib-1.10.4/src/ptlib/unix/osutil.cxx 2005-11-30 13:47:42.000000000 +0100
+++ new/pwlib-1.10.7/src/ptlib/unix/osutil.cxx 2007-03-10 17:45:34.000000000 +0100
@@ -27,6 +27,9 @@
* Contributor(s): ______________________________________.
*
* $Log: osutil.cxx,v $
+ * Revision 1.85.2.1 2007/03/10 16:45:34 dsandras
+ * Backported fix from HEAD.
+ *
* Revision 1.85 2005/11/30 12:47:42 csoutheren
* Removed tabs, reformatted some code, and changed tags for Doxygen
*
@@ -329,13 +332,17 @@
#define new PNEW
+static PMutex waterMarkMutex;
+static int lowWaterMark = INT_MAX;
+static int highWaterMark = 0;
+
int PX_NewHandle(const char * clsName, int fd)
{
if (fd < 0)
return fd;
- static int lowWaterMark = INT_MAX;
- static int highWaterMark = 0;
+ PWaitAndSignal m(waterMarkMutex);
+
if (fd > highWaterMark) {
highWaterMark = fd;
lowWaterMark = fd;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/pwlib-1.10.4/version.h new/pwlib-1.10.7/version.h
--- old/pwlib-1.10.4/version.h 2007-02-05 09:31:52.000000000 +0100
+++ new/pwlib-1.10.7/version.h 2007-03-30 20:06:56.000000000 +0200
@@ -35,7 +35,7 @@
#define MAJOR_VERSION 1
#define MINOR_VERSION 10
#define BUILD_TYPE ReleaseCode
-#define BUILD_NUMBER 4
+#define BUILD_NUMBER 7
#endif // _PWLib_VERSION_H
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package opal
checked in at Tue Apr 24 23:33:30 CEST 2007.
--------
--- opal/opal.changes 2007-02-21 18:17:13.000000000 +0100
+++ /mounts/work_src_done/STABLE/opal/opal.changes 2007-04-24 23:32:16.399467000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 24 10:59:38 CDT 2007 - maw(a)suse.de
+
+- Update to version 2.2.8
+ - bugfix release
+
+-------------------------------------------------------------------
Old:
----
opal-2.2.5.diff
opal-2.2.5.tar.bz2
New:
----
opal-2.2.8.diff
opal-2.2.8.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ opal.spec ++++++
--- /var/tmp/diff_new_pack.O23226/_old 2007-04-24 23:32:37.000000000 +0200
+++ /var/tmp/diff_new_pack.O23226/_new 2007-04-24 23:32:37.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package opal (Version 2.2.5)
+# spec file for package opal (Version 2.2.8)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -16,7 +16,7 @@
URL: http://openh323.sourceforge.net/
License: MOZILLA PUBLIC LICENSE (MPL/NPL)
Group: System/Libraries
-Version: 2.2.5
+Version: 2.2.8
Release: 1
Source0: %{name}-%{version}.tar.bz2
Patch0: %{name}-%{version}.diff
@@ -83,6 +83,9 @@
%{_datadir}/opal/opal_inc.mak
%changelog
+* Tue Apr 24 2007 - maw(a)suse.de
+- Update to version 2.2.8
+ - bugfix release
* Wed Feb 14 2007 - kkeil(a)suse.de
- downgrade to stable 2.2.5 version
* Mon Oct 23 2006 - kkeil(a)suse.de
++++++ opal-2.2.5.diff -> opal-2.2.8.diff ++++++
++++++ opal-2.2.5.tar.bz2 -> opal-2.2.8.tar.bz2 ++++++
++++ 10585 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/opal-2.2.5/configure.ac new/opal-2.2.8/configure.ac
--- old/opal-2.2.5/configure.ac 2006-02-21 01:47:28.000000000 +0100
+++ new/opal-2.2.8/configure.ac 2007-03-10 17:47:03.000000000 +0100
@@ -60,6 +60,11 @@
AC_CHECK_FILE(/usr/include/ptlib.h, HAS_PTLIB=1)
if test "${HAS_PTLIB:-unset}" != "unset" ; then
AC_PATH_PROG(PTLIB_CONFIG, ptlib-config, , /usr/share/pwlib/make/)
+ else
+ AC_CHECK_FILE(${prefix}/include/ptlib.h, HAS_PTLIB=1)
+ if test "${HAS_PTLIB:-unset}" != "unset" ; then
+ AC_PATH_PROG(PTLIB_CONFIG, ptlib-config, , ${prefix}/bin)
+ fi
fi
fi
fi
@@ -85,6 +90,9 @@
if test "x$PWLIBDIR" = "x/usr/local" -o "x$PWLIBDIR" = "x/usr/"; then
PWLIBDIR="/usr/local/share/pwlib/"
fi
+if test "x$PWLIBDIR" = "x${prefix}"; then
+ PWLIBDIR="${prefix}/share/pwlib/"
+fi
echo "PWLib prefix set to.... $PWLIBDIR"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/opal-2.2.5/include/sip/sipep.h new/opal-2.2.8/include/sip/sipep.h
--- old/opal-2.2.5/include/sip/sipep.h 2007-01-15 23:16:42.000000000 +0100
+++ new/opal-2.2.8/include/sip/sipep.h 2007-03-27 22:23:22.000000000 +0200
@@ -25,6 +25,16 @@
* Contributor(s): ______________________________________.
*
* $Log: sipep.h,v $
+ * Revision 2.46.2.15 2007/03/27 20:23:22 dsandras
+ * Added Garbage collector. Make sure the transport is closed before
+ * deleting it. Better handling of SIPInfo objects.
+ *
+ * Revision 2.46.2.14 2007/03/10 16:48:21 dsandras
+ * Improved locking.
+ *
+ * Revision 2.46.2.13 2007/02/27 21:24:07 dsandras
+ * Added missing locking. Fixes Ekiga report #411438.
+ *
* Revision 2.46.2.12 2007/01/15 22:16:42 dsandras
* Backported patches improving stability from HEAD to Phobos.
*
@@ -307,10 +317,10 @@
{ return registrationAddress; }
virtual void AppendTransaction(SIPTransaction * transaction)
- { registrations.Append (transaction); }
+ { PWaitAndSignal m(registrationsMutex); registrations.Append (transaction); }
virtual void RemoveTransactions()
- { registrations.RemoveAll (); }
+ { PWaitAndSignal m(registrationsMutex); registrations.RemoveAll (); }
virtual BOOL IsRegistered()
{ return registered; }
@@ -371,6 +381,7 @@
SIPURL registrationAddress;
PString registrationID;
SIPTransactionList registrations;
+ PMutex registrationsMutex;
PTime registrationTime;
BOOL registered;
int expire;
@@ -948,7 +959,7 @@
/**
* Find the SIPInfo object with the specified callID
*/
- SIPInfo *FindSIPInfoByCallID (const PString & callID, PSafetyMode m)
+ PSafePtr<SIPInfo> FindSIPInfoByCallID (const PString & callID, PSafetyMode m)
{
for (PSafePtr<SIPInfo> info(*this, m); info != NULL; ++info)
if (callID == info->GetRegistrationID())
@@ -959,7 +970,7 @@
/**
* Find the SIPInfo object with the specified authRealm
*/
- SIPInfo *FindSIPInfoByAuthRealm (const PString & authRealm, const PString & userName, PSafetyMode m)
+ PSafePtr<SIPInfo> FindSIPInfoByAuthRealm (const PString & authRealm, const PString & userName, PSafetyMode m)
{
PIPSocket::Address realmAddress;
@@ -981,7 +992,7 @@
* or 6001(a)seconix.com when registering 6001(a)seconix.com to
* sip.seconix.com
*/
- SIPInfo *FindSIPInfoByUrl (const PString & url, SIP_PDU::Methods meth, PSafetyMode m)
+ PSafePtr<SIPInfo> FindSIPInfoByUrl (const PString & url, SIP_PDU::Methods meth, PSafetyMode m)
{
for (PSafePtr<SIPInfo> info(*this, m); info != NULL; ++info) {
if (SIPURL(url) == info->GetRegistrationAddress() && meth == info->GetMethod())
@@ -995,7 +1006,7 @@
* For example, in the above case, the name parameter
* could be "sip.seconix.com" or "seconix.com".
*/
- SIPInfo *FindSIPInfoByDomain (const PString & name, SIP_PDU::Methods meth, PSafetyMode m)
+ PSafePtr <SIPInfo> FindSIPInfoByDomain (const PString & name, SIP_PDU::Methods meth, PSafetyMode m)
{
OpalTransportAddress addr = name;
for (PSafePtr<SIPInfo> info(*this, m); info != NULL; ++info) {
@@ -1026,6 +1037,7 @@
protected:
PDECLARE_NOTIFIER(PThread, SIPEndPoint, TransportThreadMain);
PDECLARE_NOTIFIER(PTimer, SIPEndPoint, NATBindingRefresh);
+ PDECLARE_NOTIFIER(PTimer, SIPEndPoint, GarbageCollect);
PDECLARE_NOTIFIER(PTimer, SIPEndPoint, RegistrationRefresh);
static BOOL WriteSIPInfo(
@@ -1074,6 +1086,7 @@
RegistrationList activeSIPInfo;
PTimer registrationTimer; // Used to refresh the REGISTER and the SUBSCRIBE transactions.
+ PTimer garbageTimer;
SIPTransactionList messages;
SIPTransactionDict transactions;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/opal-2.2.5/opal_cfg.dxy new/opal-2.2.8/opal_cfg.dxy
--- old/opal-2.2.5/opal_cfg.dxy 2007-02-12 12:28:28.000000000 +0100
+++ new/opal-2.2.8/opal_cfg.dxy 2007-03-30 20:09:18.000000000 +0200
@@ -23,7 +23,7 @@
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = 2.2.5
+PROJECT_NUMBER = 2.2.8
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/opal-2.2.5/src/h323/h323.cxx new/opal-2.2.8/src/h323/h323.cxx
--- old/opal-2.2.5/src/h323/h323.cxx 2006-02-22 13:15:26.000000000 +0100
+++ new/opal-2.2.8/src/h323/h323.cxx 2007-03-15 00:08:09.000000000 +0100
@@ -24,6 +24,12 @@
* Contributor(s): ______________________________________.
*
* $Log: h323.cxx,v $
+ * Revision 2.97.2.3 2007/03/14 23:08:09 csoutheren
+ * Backport fix from head for H.323 problem with known payload types
+ *
+ * Revision 2.97.2.2 2007/03/10 16:47:04 dsandras
+ * Backported fix from HEAD.
+ *
* Revision 2.97.2.1 2006/02/22 12:15:26 csoutheren
* Backports from CVS head
*
@@ -3406,6 +3412,15 @@
// localCapability or remoteCapability structures.
if (OnCreateLogicalChannel(*channelCapability, dir, error)) {
if (channelToStart.SetInitialBandwidth()) {
+ {
+ H323_RealTimeChannel * rtp = dynamic_cast<H323_RealTimeChannel *>(&channelToStart);
+ if (rtp != NULL) {
+ RTP_DataFrame::PayloadTypes inpt = rtp->GetMediaStream()->GetMediaFormat().GetPayloadType();
+ RTP_DataFrame::PayloadTypes outpt = rtp->GetDynamicRTPPayloadType();
+ if ((inpt != outpt) && (outpt != RTP_DataFrame::IllegalPayloadType))
+ rtpPayloadMap.insert(RTP_DataFrame::PayloadMapType::value_type(inpt,outpt));
+ }
+ }
if (channelToStart.Open()) {
if (channelToStart.GetDirection() == H323Channel::IsTransmitter) {
transmitterMediaStream = ((H323UnidirectionalChannel &)channelToStart).GetMediaStream();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/opal-2.2.5/src/opal/call.cxx new/opal-2.2.8/src/opal/call.cxx
--- old/opal-2.2.5/src/opal/call.cxx 2007-01-15 23:16:43.000000000 +0100
+++ new/opal-2.2.8/src/opal/call.cxx 2007-03-10 17:48:21.000000000 +0100
@@ -25,6 +25,13 @@
* Contributor(s): ______________________________________.
*
* $Log: call.cxx,v $
+ * Revision 2.39.2.7 2007/03/10 16:48:21 dsandras
+ * Improved locking.
+ *
+ * Revision 2.39.2.6 2007/03/04 19:20:33 dsandras
+ * Do not use ReadWrite locks when not required. Fixes potential deadlocks
+ * in weird conditions.
+ *
* Revision 2.39.2.5 2007/01/15 22:16:43 dsandras
* Backported patches improving stability from HEAD to Phobos.
*
@@ -276,7 +283,7 @@
UnlockReadWrite();
- for (PSafePtr<OpalConnection> connection = connectionsActive; connection != NULL; ++connection)
+ for (PSafePtr<OpalConnection> connection(connectionsActive, PSafeReadOnly); connection != NULL; ++connection)
connection->Release(reason);
}
@@ -387,7 +394,7 @@
UnlockReadOnly();
if (ok && createdOne) {
- for (PSafePtr<OpalConnection> conn = connectionsActive; conn != NULL; ++conn)
+ for (PSafePtr<OpalConnection> conn(connectionsActive, PSafeReadOnly); conn != NULL; ++conn)
conn->StartMediaStreams();
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/opal-2.2.5/src/opal/patch.cxx new/opal-2.2.8/src/opal/patch.cxx
--- old/opal-2.2.5/src/opal/patch.cxx 2007-02-10 22:48:35.000000000 +0100
+++ new/opal-2.2.8/src/opal/patch.cxx 2007-03-02 11:18:43.000000000 +0100
@@ -25,6 +25,13 @@
* Contributor(s): ______________________________________.
*
* $Log: patch.cxx,v $
+ * Revision 2.19.2.10 2007/03/02 10:18:43 dsandras
+ * Temporarily commented out patch that breaks audio calls.
+ *
+ * Revision 2.19.2.9 2007/03/01 03:28:49 csoutheren
+ * Backport from head
+ * Ignore packets with no payload emitted by jitter buffer when no input available
+ *
* Revision 2.19.2.8 2007/02/10 21:48:35 dsandras
* Fixed potential deadlock if ReadPacket takes time to return or does not
* return. Thanks to Hannes Friederich for the proposal and the SUN Team
@@ -217,6 +224,7 @@
RTP_DataFrame emptyFrame(source.GetDataSize());
while (source.IsOpen()) {
+ PINDEX len = 0;
if (!source.ReadPacket(sourceFrame))
break;
@@ -227,11 +235,12 @@
break;
}
- FilterFrame(sourceFrame, source.GetMediaFormat());
-
- PINDEX len = sinks.GetSize();
- for (i = 0; i < len; i++)
- sinks[i].WriteFrame(sourceFrame); // Got write error, remove from sink list
+ //if (sourceFrame.GetPayloadSize() > 0) {
+ FilterFrame(sourceFrame, source.GetMediaFormat());
+ len = sinks.GetSize();
+ for (i = 0; i < len; i++)
+ sinks[i].WriteFrame(sourceFrame); // Got write error, remove from sink list
+ //}
inUse.Signal();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/opal-2.2.5/src/opal/transports.cxx new/opal-2.2.8/src/opal/transports.cxx
--- old/opal-2.2.5/src/opal/transports.cxx 2007-01-15 23:16:43.000000000 +0100
+++ new/opal-2.2.8/src/opal/transports.cxx 2007-03-29 09:36:31.000000000 +0200
@@ -25,6 +25,10 @@
* Contributor(s): ______________________________________.
*
* $Log: transports.cxx,v $
+ * Revision 2.57.2.2 2007/03/29 07:36:31 dsandras
+ * Backport from HEAD (fixed possible deadlock when getting a SIP retry
+ * before completion.
+ *
* Revision 2.57.2.1 2007/01/15 22:16:43 dsandras
* Backported patches improving stability from HEAD to Phobos.
*
@@ -1962,10 +1966,6 @@
BOOL OpalTransportUDP::SetLocalAddress(const OpalTransportAddress & newLocalAddress)
{
- PReadWaitAndSignal m(channelPointerMutex);
- if (connectSockets.IsEmpty())
- return OpalTransportIP::SetLocalAddress(newLocalAddress);
-
if (!IsCompatibleTransport(newLocalAddress))
return FALSE;
@@ -1973,6 +1973,9 @@
return FALSE;
PWaitAndSignal lock(connectSocketsMutex);
+ if (connectSockets.IsEmpty())
+ return OpalTransportIP::SetLocalAddress(newLocalAddress);
+
for (PINDEX i = 0; i < connectSockets.GetSize(); i++) {
PUDPSocket * socket = (PUDPSocket *)connectSockets.GetAt(i);
PIPSocket::Address ip;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/opal-2.2.5/src/sip/sipcon.cxx new/opal-2.2.8/src/sip/sipcon.cxx
--- old/opal-2.2.5/src/sip/sipcon.cxx 2007-01-15 23:16:43.000000000 +0100
+++ new/opal-2.2.8/src/sip/sipcon.cxx 2007-03-15 22:19:48.000000000 +0100
@@ -24,6 +24,10 @@
* Contributor(s): ______________________________________.
*
* $Log: sipcon.cxx,v $
+ * Revision 2.120.2.26 2007/03/15 21:19:48 dsandras
+ * Make sure lastTransportAddress is correctly initialized even when
+ * uncompliant SIP PDUs are received.
+ *
* Revision 2.120.2.25 2007/01/15 22:16:43 dsandras
* Backported patches improving stability from HEAD to Phobos.
*
@@ -675,7 +679,8 @@
else
transport = endpoint.CreateTransport(inviteTransport->GetLocalAddress(), TRUE);
- lastTransportAddress = transportAddress.GetHostAddress();
+ if (transport)
+ lastTransportAddress = transport->GetRemoteAddress();
originalInvite = NULL;
pduHandler = NULL;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/opal-2.2.5/src/sip/sipep.cxx new/opal-2.2.8/src/sip/sipep.cxx
--- old/opal-2.2.5/src/sip/sipep.cxx 2007-01-15 23:16:44.000000000 +0100
+++ new/opal-2.2.8/src/sip/sipep.cxx 2007-03-27 23:52:45.000000000 +0200
@@ -24,6 +24,25 @@
* Contributor(s): ______________________________________.
*
* $Log: sipep.cxx,v $
+ * Revision 2.97.2.36 2007/03/27 21:52:45 dsandras
+ * Added more PTRACE statements
+ *
+ * Revision 2.97.2.35 2007/03/27 20:23:22 dsandras
+ * Added Garbage collector. Make sure the transport is closed before
+ * deleting it. Better handling of SIPInfo objects.
+ *
+ * Revision 2.97.2.34 2007/03/17 14:59:41 dsandras
+ * Keep the transport open for a longer time when doing text conversations.
+ *
+ * Revision 2.97.2.33 2007/03/13 21:23:24 dsandras
+ * Backport from HEAD.
+ *
+ * Revision 2.97.2.32 2007/03/10 16:48:21 dsandras
+ * Improved locking.
+ *
+ * Revision 2.97.2.31 2007/02/27 21:24:06 dsandras
+ * Added missing locking. Fixes Ekiga report #411438.
+ *
* Revision 2.97.2.30 2007/01/15 22:16:44 dsandras
* Backported patches improving stability from HEAD to Phobos.
*
@@ -568,12 +587,16 @@
{
PWaitAndSignal m(transportMutex);
+ PTRACE(4,"SIPInfo\tWill delete SIPInfo " << registrationAddress);
if (registrarTransport) {
+
+ PTRACE(4,"SIPInfo\tWill delete transport " << *registrarTransport << " (deleting SIPInfo)");
+ registrarTransport->CloseWait ();
delete registrarTransport;
registrarTransport = NULL;
}
- registrations.RemoveAll();
+ RemoveTransactions();
}
@@ -585,6 +608,8 @@
// Only delete if we are refreshing
if (registrarTransport != NULL && HasExpired()) {
+ PTRACE(4,"SIPInfo\tWill delete transport " << *registrarTransport << " (expired)");
+ registrarTransport->CloseWait ();
delete registrarTransport;
registrarTransport = NULL;
}
@@ -716,6 +741,7 @@
void SIPMessageInfo::OnSuccess()
{
+ SetRegistered(TRUE);
}
void SIPMessageInfo::OnFailed(SIP_PDU::StatusCodes reason)
@@ -748,6 +774,9 @@
registrationTimer.SetNotifier(PCREATE_NOTIFIER(RegistrationRefresh));
registrationTimer.RunContinuous (PTimeInterval(0, 30));
+
+ garbageTimer.SetNotifier(PCREATE_NOTIFIER(GarbageCollect));
+ garbageTimer.RunContinuous (PTimeInterval(0, 2));
natBindingTimer.SetNotifier(PCREATE_NOTIFIER(NATBindingRefresh));
natBindingTimer.RunContinuous (natBindingTimeout);
@@ -760,22 +789,32 @@
SIPEndPoint::~SIPEndPoint()
{
- listeners.RemoveAll();
-
while (activeSIPInfo.GetSize()>0) {
- SIPURL url;
- SIPInfo *info = activeSIPInfo.GetAt(0);
- url = info->GetRegistrationAddress ();
- if (info->GetMethod() == SIP_PDU::Method_REGISTER && info->IsRegistered()) {
- Unregister(url.GetHostName(), url.GetUserName());
- info->SetRegistered(FALSE);
+
+ for (PSafePtr<SIPInfo> info(activeSIPInfo, PSafeReadOnly); info != NULL; ++info) {
+
+ SIPURL url = info->GetRegistrationAddress ();
+
+ if (info->GetMethod() == SIP_PDU::Method_REGISTER) {
+
+ if (info->IsRegistered() && info->GetExpire() > 0) {
+ Unregister(url.AsString(), url.AsString());
+ }
+ else if (!info->IsRegistered()){
+ info->SetExpire(-1);
+ }
+ }
+ else {
+ info->SetExpire(-1);
+ }
}
- else
- activeSIPInfo.Remove(info);
-
+
activeSIPInfo.DeleteObjectsToBeRemoved();
+ PThread::Current()->Sleep(10);
}
+ listeners.RemoveAll();
+
PWaitAndSignal m(transactionsMutex);
PTRACE(3, "SIP\tDeleted endpoint.");
}
@@ -813,7 +852,7 @@
do {
HandlePDU(*transport);
- } while (transport->IsOpen());
+ } while (transport->IsOpen() && !transport->bad() && !transport->eof());
PTRACE(2, "SIP\tRead thread finished.");
}
@@ -826,7 +865,7 @@
if (natMethod == None)
return;
- for (PSafePtr<SIPInfo> info(activeSIPInfo, PSafeReadWrite); info != NULL; ++info) {
+ for (PSafePtr<SIPInfo> info(activeSIPInfo, PSafeReadOnly); info != NULL; ++info) {
OpalTransport *transport = info->GetTransport();
if (transport && transport->SetRemoteAddress(info->GetRegistrarAddress())) {
@@ -1256,7 +1295,7 @@
}
// Try to find authentication information for the given call ID
- callid_info = activeSIPInfo.FindSIPInfoByCallID(response.GetMIME().GetCallID(), PSafeReadWrite);
+ callid_info = activeSIPInfo.FindSIPInfoByCallID(response.GetMIME().GetCallID(), PSafeReadOnly);
if (!callid_info)
return;
@@ -1273,7 +1312,7 @@
// Try to find authentication information for the requested realm
// That realm is specified when registering
- realm_info = activeSIPInfo.FindSIPInfoByAuthRealm(auth.GetAuthRealm(), auth.GetUsername().IsEmpty()?SIPURL(response.GetMIME().GetFrom()).GetUserName():auth.GetUsername(), PSafeReadWrite);
+ realm_info = activeSIPInfo.FindSIPInfoByAuthRealm(auth.GetAuthRealm(), auth.GetUsername().IsEmpty()?SIPURL(response.GetMIME().GetFrom()).GetUserName():auth.GetUsername(), PSafeReadOnly);
// No authentication information found for the realm,
// use what we have for the given CallID
@@ -1308,7 +1347,8 @@
// from the ones found for the given realm
if (callid_info->GetAuthentication().IsValid()
&& lastUsername == callid_info->GetAuthentication().GetUsername ()
- && lastNonce == callid_info->GetAuthentication().GetNonce ()) {
+ && lastNonce == callid_info->GetAuthentication().GetNonce ()
+ && !callid_info->IsRegistered()) {
PTRACE(1, "SIP\tAlready done REGISTER/SUBSCRIBE for " << proxyTrace << "Authentication Required");
callid_info->OnFailed(SIP_PDU::Failure_UnAuthorised);
return;
@@ -1358,10 +1398,16 @@
return;
}
- info = activeSIPInfo.FindSIPInfoByCallID(response.GetMIME().GetCallID(), PSafeReadWrite);
+ info = activeSIPInfo.FindSIPInfoByCallID(response.GetMIME().GetCallID(), PSafeReadOnly);
if (info == NULL)
return;
+
+ if (transaction.GetMethod() == SIP_PDU::Method_MESSAGE) {
+ info->OnSuccess();
+ return;
+ }
+
// reset the number of unsuccesful authentication attempts
info->SetAuthenticationAttempts(0);
@@ -1383,12 +1429,15 @@
if (info->GetAuthentication().GetAuthRealm().IsEmpty())
info->SetAuthRealm(transaction.GetURI().GetHostName());
+
+ info->OnSuccess();
}
- else
- activeSIPInfo.Remove(info);
+ else {
+ info->SetRegistered(FALSE);
+ info->OnSuccess();
- // Callback
- info->OnSuccess();
+ info->SetExpire(-1);
+ }
}
@@ -1414,7 +1463,7 @@
// A NOTIFY will have the same CallID than the SUBSCRIBE request
// it corresponds to
- info = activeSIPInfo.FindSIPInfoByCallID(pdu.GetMIME().GetCallID(), PSafeReadWrite);
+ info = activeSIPInfo.FindSIPInfoByCallID(pdu.GetMIME().GetCallID(), PSafeReadOnly);
if (info == NULL) {
// We should reject the NOTIFY here, but some proxies still use
@@ -1566,6 +1615,19 @@
}
+void SIPEndPoint::GarbageCollect(PTimer &, INT)
+{
+ for (PINDEX i = 0 ; i < activeSIPInfo.GetSize () ; i++) {
+
+ PSafePtr<SIPInfo> info = activeSIPInfo.GetAt (i, PSafeReadWrite);
+
+ if (info->GetExpire() == -1) {
+ activeSIPInfo.Remove(info); // Was invalid the last time, delete it
+ }
+ }
+}
+
+
void SIPEndPoint::RegistrationRefresh(PTimer &, INT)
{
SIPTransaction *request = NULL;
@@ -1574,46 +1636,41 @@
// Timer has elapsed
for (PINDEX i = 0 ; i < activeSIPInfo.GetSize () ; i++) {
- PSafePtr<SIPInfo> info = activeSIPInfo.GetAt (i);
-
- if (info->GetExpire() == -1) {
- activeSIPInfo.Remove(info); // Was invalid the last time, delete it
- }
- else {
+ PSafePtr<SIPInfo> info = activeSIPInfo.GetAt (i, PSafeReadOnly);
- // Need to refresh
- if (info->GetExpire() > 0
- && info->IsRegistered()
- && info->GetTransport() != NULL
- && info->GetMethod() != SIP_PDU::Method_MESSAGE
- && info->HasExpired()) {
- PTRACE(2, "SIP\tStarting REGISTER/SUBSCRIBE for binding refresh");
- infoTransport = info->GetTransport(); // Get current transport
- OpalTransportAddress registrarAddress = infoTransport->GetRemoteAddress();
- // Will update the transport if required. For example, if STUN
- // is used, and the external IP changed. Otherwise, OPAL would
- // keep registering the old IP.
- if (info->CreateTransport(registrarAddress)) {
- infoTransport = info->GetTransport();
- info->RemoveTransactions();
- info->SetExpire(info->GetExpire()*10/9);
- request = info->CreateTransaction(*infoTransport, FALSE);
-
- if (request->Start())
- info->AppendTransaction(request);
- else {
- delete request;
- PTRACE(1, "SIP\tCould not start REGISTER/SUBSCRIBE for binding refresh");
- info->SetExpire(-1); // Mark as Invalid
- }
- }
- else {
- PTRACE(1, "SIP\tCould not start REGISTER/SUBSCRIBE for binding refresh: Transport creation failed");
- info->SetExpire(-1); // Mark as Invalid
- }
+ // Need to refresh
+ if (info->GetExpire() > 0
+ && info->IsRegistered()
+ && info->GetTransport() != NULL
+ && info->GetMethod() != SIP_PDU::Method_MESSAGE
+ && info->HasExpired()) {
+ PTRACE(2, "SIP\tStarting REGISTER/SUBSCRIBE for binding refresh");
+ infoTransport = info->GetTransport(); // Get current transport
+ OpalTransportAddress registrarAddress = infoTransport->GetRemoteAddress();
+ // Will update the transport if required. For example, if STUN
+ // is used, and the external IP changed. Otherwise, OPAL would
+ // keep registering the old IP.
+ if (info->CreateTransport(registrarAddress)) {
+ infoTransport = info->GetTransport();
+ info->RemoveTransactions();
+ info->SetExpire(info->GetExpire()*10/9);
+ request = info->CreateTransaction(*infoTransport, FALSE);
+
+ if (request->Start())
+ info->AppendTransaction(request);
+ else {
+ delete request;
+ PTRACE(1, "SIP\tCould not start REGISTER/SUBSCRIBE for binding refresh");
+ info->SetExpire(-1); // Mark as Invalid
+ }
}
- else if (info->HasExpired())
- info->SetExpire(-1); // Mark as Invalid
+ else {
+ PTRACE(1, "SIP\tCould not start REGISTER/SUBSCRIBE for binding refresh: Transport creation failed");
+ info->SetExpire(-1); // Mark as Invalid
+ }
+ }
+ else if (info->HasExpired()) {
+ info->SetExpire(-1); // Mark as Invalid
}
}
@@ -1868,9 +1925,6 @@
return FALSE;
}
info->AppendTransaction(request);
-
- // Do this synchronously
- request->Wait ();
}
return TRUE;
@@ -2003,7 +2057,7 @@
BOOL SIPEndPoint::SendMessage (const SIPURL & url,
const PString & body)
{
- return TransmitSIPInfo(SIP_PDU::Method_MESSAGE, url.AsQuotedString(), url.GetUserName(), "", "", "", body);
+ return TransmitSIPInfo(SIP_PDU::Method_MESSAGE, url.AsQuotedString(), url.GetUserName(), "", "", "", body, 500);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/opal-2.2.5/src/sip/sippdu.cxx new/opal-2.2.8/src/sip/sippdu.cxx
--- old/opal-2.2.5/src/sip/sippdu.cxx 2007-01-15 23:16:44.000000000 +0100
+++ new/opal-2.2.8/src/sip/sippdu.cxx 2007-03-27 22:18:13.000000000 +0200
@@ -24,6 +24,9 @@
* Contributor(s): ______________________________________.
*
* $Log: sippdu.cxx,v $
+ * Revision 2.83.2.13 2007/03/27 20:18:13 dsandras
+ * Added missing mutex.
+ *
* Revision 2.83.2.12 2007/01/15 22:16:44 dsandras
* Backported patches improving stability from HEAD to Phobos.
*
@@ -2328,14 +2331,14 @@
if (connection != NULL) {
if (state != Terminated_Success) {
mutex.Signal();
-
connection->OnTransactionFailed(*this);
-
mutex.Wait();
}
}
else {
+ mutex.Signal();
endpoint.RemoveTransaction(this);
+ mutex.Wait();
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/opal-2.2.5/version.h new/opal-2.2.8/version.h
--- old/opal-2.2.5/version.h 2007-02-12 12:28:28.000000000 +0100
+++ new/opal-2.2.8/version.h 2007-03-30 20:09:18.000000000 +0200
@@ -37,7 +37,7 @@
#define MAJOR_VERSION 2
#define MINOR_VERSION 2
#define BUILD_TYPE ReleaseCode
-#define BUILD_NUMBER 5
+#define BUILD_NUMBER 8
#endif // _OPAL_VERSION_H
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package bbtools
checked in at Tue Apr 24 23:32:04 CEST 2007.
--------
--- bbtools/bbtools.changes 2007-04-23 15:47:34.000000000 +0200
+++ /mounts/work_src_done/STABLE/bbtools/bbtools.changes 2007-04-24 19:06:19.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 24 19:05:27 CEST 2007 - pcerny(a)suse.cz
+
+- fixed another comparision with string literal
+ (found in bbkeys-0.9.0 with gcc-4.2)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bbtools.spec ++++++
--- /var/tmp/diff_new_pack.M18617/_old 2007-04-24 23:30:54.000000000 +0200
+++ /var/tmp/diff_new_pack.M18617/_new 2007-04-24 23:30:54.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package bbtools (Version 2007.4.23)
+# spec file for package bbtools (Version 2007.4.24)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -16,7 +16,7 @@
Group: System/GUI/Other
Autoreqprov: on
Requires: blackbox
-Version: 2007.4.23
+Version: 2007.4.24
Release: 1
Summary: Tools for the Blackbox Window Manager
URL: http://bbtools.sourceforge.net/
@@ -147,6 +147,9 @@
/usr/share/bbkeys
%changelog
+* Tue Apr 24 2007 - pcerny(a)suse.cz
+- fixed another comparision with string literal
+ (found in bbkeys-0.9.0 with gcc-4.2)
* Mon Apr 23 2007 - hvogel(a)suse.de
- Update to next bugfix relase
* bbmail to 0.9.1
++++++ bbkeys-0.9.0-comparestrliteral.patch ++++++
--- /var/tmp/diff_new_pack.M18617/_old 2007-04-24 23:30:55.000000000 +0200
+++ /var/tmp/diff_new_pack.M18617/_new 2007-04-24 23:30:55.000000000 +0200
@@ -5,7 +5,18 @@
string mod = results[j];
- for (int i = 0; modifiers[i].str != ""; ++i) {
-+ for (int i = 0; modifiers[i].mask != 0; ++i) {
++ for (int i = 0; modifiers[i].str[0] != '\0'; ++i) {
if ( strcasecmp(modifiers[i].str, mod.c_str()) == 0 ) {
_mask |= modifiers[i].mask;
found = true;
+--- bbkeys-0.9.0/src/actions.cc
++++ bbkeys-0.9.0/src/actions.cc
+@@ -112,7 +112,7 @@
+ { "", Action::noaction }
+ };
+
+- for (int i = 0; actions[i].str != ""; ++i) {
++ for (int i = 0; actions[i].str[0] != '\0' ; ++i) {
+ if ( actions[i].act == _type) {
+ return actions[i].str;
+ }
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package initviocons
checked in at Tue Apr 24 23:30:50 CEST 2007.
--------
--- initviocons/initviocons.changes 2006-01-25 21:36:37.000000000 +0100
+++ /mounts/work_src_done/STABLE/initviocons/initviocons.changes 2007-04-24 20:49:09.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Apr 24 20:48:49 CEST 2007 - olh(a)suse.de
+
+- do not run initviocons on PS3, until the kernel fb is fixed
+
+-------------------------------------------------------------------
New:
----
initviocons.ps3-hack.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ initviocons.spec ++++++
--- /var/tmp/diff_new_pack.S17425/_old 2007-04-24 23:30:38.000000000 +0200
+++ /var/tmp/diff_new_pack.S17425/_new 2007-04-24 23:30:38.000000000 +0200
@@ -1,11 +1,11 @@
#
# spec file for package initviocons (Version 0.4)
#
-# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2007 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://bugs.opensuse.org
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
@@ -13,15 +13,16 @@
Name: initviocons
URL: http://www.iseries.de/
Version: 0.4
-Release: 305
-Summary: Terminal initialization for the iSeries virtual console
-License: GPL
+Release: 347
+Summary: Terminal Initialization for the iSeries Virtual Console
+License: GNU General Public License (GPL)
Group: System/Console
Autoreqprov: on
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: initviocons-%{version}.tar.bz2
Patch: initviocons-%{version}.dif
Patch1: initviocons.minimal-termsize.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+Patch3: initviocons.ps3-hack.patch
%description
Initviocons can be used on the iSeries platform to recognize terminal
@@ -43,6 +44,7 @@
%setup -n initviocons-%{version}
%patch0
%patch1 -p1
+%patch3 -p1
%build
./configure --prefix=/ --mandir=%{_mandir}
@@ -60,7 +62,9 @@
/bin/*
/usr/bin/*
-%changelog -n initviocons
+%changelog
+* Tue Apr 24 2007 - olh(a)suse.de
+- do not run initviocons on PS3, until the kernel fb is fixed
* Wed Jan 25 2006 - mls(a)suse.de
- converted neededforbuild to BuildRequires
* Sun Jan 08 2006 - olh(a)suse.de
++++++ initviocons.ps3-hack.patch ++++++
---
main.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
Index: initviocons-0.4/main.c
===================================================================
--- initviocons-0.4.orig/main.c
+++ initviocons-0.4/main.c
@@ -157,6 +157,18 @@ int main(int argc, char *argv[])
int cols = DEFAULT_COLS;
int lines = DEFAULT_ROWS;
char lines_s[4], cols_s[4];
+ char model[42];
+
+ fd = open("/proc/device-tree/model", O_RDONLY);
+ if (fd >=0) {
+ opt = read(fd, model, sizeof(model) - 1);
+ if (opt > 0) {
+ model[opt] = '\0';
+ if (strcmp("PLAYSTATION 3", model) == 0)
+ exit(0);
+ }
+ close(fd);
+ }
Debug = 0;
Quiet = 0;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package aaa_base
checked in at Tue Apr 24 23:30:34 CEST 2007.
--------
--- aaa_base/aaa_base.changes 2007-04-16 11:59:46.000000000 +0200
+++ /mounts/work_src_done/STABLE/aaa_base/aaa_base.changes 2007-04-24 17:22:36.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Apr 24 17:21:34 CEST 2007 - lnussel(a)suse.de
+
+- move boot.crypto to util-linux-crypto (#257884)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ aaa_base.spec ++++++
--- /var/tmp/diff_new_pack.R14917/_old 2007-04-24 23:29:56.000000000 +0200
+++ /var/tmp/diff_new_pack.R14917/_new 2007-04-24 23:29:56.000000000 +0200
@@ -19,7 +19,7 @@
PreReq: /usr/bin/sed /usr/bin/grep /bin/mv /bin/cat /bin/date /usr/bin/cmp /bin/fillup /sbin/insserv net-tools
Autoreqprov: on
Version: 10.3
-Release: 22
+Release: 25
Summary: SUSE Linux Base Package
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: aaa_base.tar.bz2
@@ -131,6 +131,8 @@
%defattr(-,root,root)
%changelog
+* Tue Apr 24 2007 - lnussel(a)suse.de
+- move boot.crypto to util-linux-crypto (#257884)
* Mon Apr 16 2007 - werner(a)suse.de
- Remove old Makefile check shorten boot time by 2 secs (#262676)
* Mon Mar 19 2007 - rguenther(a)suse.de
++++++ aaa_base.post ++++++
--- aaa_base/aaa_base.post 2007-03-19 17:03:26.000000000 +0100
+++ /mounts/work_src_done/STABLE/aaa_base/aaa_base.post 2007-04-24 17:21:26.000000000 +0200
@@ -90,7 +90,6 @@
# Initialize runlevel links
#
%{fillup_and_insserv -py boot.proc boot.localfs boot.swap boot.clock boot.ldconfig boot.ipconfig boot.klog boot.localnet halt random reboot single nfs}
-%{fillup_and_insserv -psy boot.crypto START_CRYPTO_FILESYSTEMS}
%{insserv_force_if_yast etc/init.d/boot.loadmodules etc/init.d/boot.cleanup etc/init.d/boot.rootfsck}
## powerfail probably needs empty header ...
++++++ aaa_base.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/aaa_base/etc/init.d/boot.crypto new/aaa_base/etc/init.d/boot.crypto
--- old/aaa_base/etc/init.d/boot.crypto 2007-01-29 15:41:06.000000000 +0100
+++ new/aaa_base/etc/init.d/boot.crypto 1970-01-01 01:00:00.000000000 +0100
@@ -1,670 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2001-2002 SuSE Linux AG, Nuernberg, Germany.
-# Copyright (c) 2006 SuSE LINUX Products GmbH, Germany.
-# All rights reserved.
-#
-# Author: Werner Fink <werner(a)suse.de>, 2001-2006
-# Chris Rivera <crivera(a)novell.com> 2006
-#
-# /etc/init.d/boot.crypto
-#
-### BEGIN INIT INFO
-# Provides: boot.crypto
-# Required-Start: boot.localfs boot.device-mapper
-# Should-Start:
-# Required-Stop:
-# Default-Start: B
-# Default-Stop:
-# Description: Enable crypto file systems before leaving boot phase
-### END INIT INFO
-
-# Determine the base and follow a runlevel link name.
-base=${0##*/}
-link=${base#*[SK][0-9][0-9]}
-
-. /etc/rc.status
-
-trap "echo" SIGINT SIGSEGV
-set +e
-
-# Redirect to real device (e.g. in case of boot logging)
-: ${CRYPTOTAB:=/etc/cryptotab}
-: ${CRYPTTAB:=/etc/crypttab}
-: ${TIMEOUT:=120}
-if test -z "$REDIRECT" ; then
- if (echo -n > /dev/tty) 2>/dev/null ; then
- REDIRECT=/dev/tty
- else
- REDIRECT=/dev/console
- fi
-fi
-
-has_losetup=0
-has_dmcrypt=0
-if test -s $CRYPTOTAB && type -p losetup &> /dev/null ; then
- has_losetup=1
-fi
-if test -s $CRYPTTAB && type -p cryptsetup &> /dev/null ; then
- modprobe -q dm-crypt && has_dmcrypt=1 || true
-fi
-test $has_losetup -ne 0 -o $has_dmcrypt -ne 0 || exit 0
-
-splash=""
-redirect ()
-{
- if test -e /proc/splash ; then
- read splash < /proc/splash
- echo verbose > /proc/splash
- fi
- otty=$(stty -g)
- stty $otty < $REDIRECT
- stty -nl -ixon ignbrk -brkint < $REDIRECT
- if test -x /etc/init.d/kbd -a -n "$RUNLEVEL" ; then
- /etc/init.d/kbd start < $REDIRECT > $REDIRECT 2>&1
- fi
-}
-
-restore ()
-{
- stty $otty < $REDIRECT;
- [[ "$splash" =~ silent ]] && echo silent > /proc/splash
-}
-
-ppid=0
-prmt=""
-setprompt ()
-{
- if test -t 1 -a "$TERM" != "raw" -a "$TERM" != "dumb" && stty size <&1 > /dev/null 2>&1
- then
- (
- trap "exit 0" SIGTERM
- trap "echo" SIGINT SIGSEGV
- usleep 10000
- while test $TIMEOUT -gt 0 ; do
- echo -en "\r${prmt}"
- sleep 2
- : $((TIMEOUT-=2))
- done
- ) & ppid=$!
- else
- usleep 10000
- echo -en "\r${prmt}"
- ppid=0
- fi
-}
-
-unsetprompt ()
-{
- local ret=$?
- test $ppid -gt 0 && kill -15 $ppid
- ppid=0
- return $ret
-}
-
-reverse ()
-{
- local _line
- while read -r _line ; do
- case "$_line" in \#*|"") continue ;; esac
- reverse
- echo "$_line"
- break
- done
-}
-
-start_cryptotab ()
-{
- local ret=0
- local stat=0
-
- echo "Activating crypto devices using $CRYPTOTAB ... "
- while read loopdev physdev access filesys crypto mopt info rest ; do
- case "$loopdev" in
- \#*|"") continue ;;
- esac
- #
- # Does the user want to skip current entry?
- #
- doskip=0
- #
- # Does the mount point exit?
- #
- if ! test -d $access ; then
- ret=1
- echo "${extd}${access}: No such directory${norm}"
- continue
- fi
- #
- # Seeking for crypto modules
- #
- case "$crypto" in
- twofish) modprobe loop_fish2 ;;
- twofishSL92) modprobe loop_fish2 ;;
- twofish[0-9]*) modprobe cryptoloop && modprobe twofish ;;
- esac
-
- if test $? -ne 0; then
- ret=1
- continue
- fi
- while true; do
- #
- # Restore virgin state
- #
- losetup -d $loopdev &> /dev/null || true
-
- #
- # Setting up loop device
- #
- if test -n "$info" ; then
- prmt="${extd}Please enter passphrase for \"$info\" ($physdev): ${norm}"
- else
- prmt="${extd}Please enter passphrase for $physdev: ${norm}"
- fi
- setprompt
- losetup -t $TIMEOUT -e $crypto $loopdev $physdev < $REDIRECT > $REDIRECT 2>&1
- stat=$?
- unsetprompt
-
- #
- # New losetup has different exit status for empty passphrase (5) and
- # to short passphrase (6), in last case let losetup retry to ask.
- #
- case "$stat" in
- 0) true ;;
- 5) sleep 1
- break ;;
- 6) sleep 1
- continue ;;
- *) ret=1
- continue 2 ;;
- esac
-
- #
- # Check if we've success
- #
- if mount -t $filesys -n -o ro $loopdev $access &> /dev/null ; then
- umount -n $access &> /dev/null || true
- break
- else
- umount -n $access &> /dev/null || true
- echo "${warn}An error occured. Maybe the wrong passphrase was"
- echo "entered or the file system on $physdev is corrupted.${norm}"
- while true ; do
- echo "${extd}Do you want to retry entering the passphrase or${norm}"
- echo -n "${extd}do you want to continue with a file system check?${norm}"
- read -p " ([${extd}yes${norm}]/${extd}no${norm}/${extd}check${norm}/) " prolo < $REDIRECT
- case "$prolo" in
- [yY][eE][sS]|[yY]|"")
- continue 2 ;;
- [nN][oO]|[nN])
- doskip=1
- break 2 ;;
- [Cc][hH][eE][Cc][kK]|[Cc])
- break 2 ;;
- esac
- done
- fi
- break
- done
- #
- # Does the user want to skip this entry?
- #
- if test $doskip -gt 0 ; then
- losetup -d $loopdev &> /dev/null || true
- continue
- fi
- #
- # Check for valid super blocks
- #
- case "$filesys" in
- ext[23]) tune2fs -l $loopdev &> /dev/null ;;
- reiserfs) debugreiserfs $loopdev &> /dev/null ;;
- *) true ;;
- esac
-
- if test $? -gt 0 ; then
- ret=1
- losetup -d $loopdev &> /dev/null || true
- continue
- fi
- #
- # Checking the structure on the loop device
- #
- fsck -a -t $filesys $loopdev
- if test $? -gt 1; then
- echo "fsck of $loopdev failed. Please repair manually."
- echo "${warn}Warning: do never try to repair if you have entered the wrong passphrase.${norm}"
- PS1="(repair filesystem) # "
- /sbin/sulogin $REDIRECT < $REDIRECT > $REDIRECT 2>&1
- sync
- fi
- #
- # Mounting loop device to mount point WITHOUT entry in /etc/mtab
- #
- case "$mopt" in
- default|"") mopt="" ;;
- esac
-
- mount -t $filesys -n ${mopt:+-o $mopt} $loopdev $access
- if test $? -gt 0 ; then
- ret=1
- losetup -d $loopdev &> /dev/null
- else
- #
- # Generate entry in /etc/mtab (to enable umount to run losetup -d)
- #
- loopopt="loop=${loopdev},encryption=${crypto}"
- case "$mopt" in
- default|"") mopt="${loopopt}" ;;
- *) mopt="${loopopt},${mopt}" ;;
- esac
- mount -t $filesys -f -o $mopt $physdev $access
- test $? -gt 0 && ret=1
- fi
- done < $CRYPTOTAB
- return $ret
-}
-
-start_crypttab ()
-{
- local ret=0
- echo "Activating crypto devices using $CRYPTTAB ... "
- while read name device keyfile options info fs_type rest; do
- case "$name" in
- \#*|"") continue ;;
- esac
-
- # skip mapped entries
- if test -b /dev/mapper/$name; then
- echo "Skipping mapped entry ${extd}$name${norm}."
- continue
- fi
-
- test "$keyfile" = "none" && keyfile=""
- test "$options" = "none" && options=""
-
- # make sure the keyfile exists
- if test -n "$keyfile" -a ! -e "$keyfile"; then
- echo "$keyfile does not exist, skipping"
- ret=1
- continue
- fi
-
- # parse the options field
- skip=""
- params=""
- makeswap=""
- maketmp=""
- loopdev=""
- while test -n "$options"; do
- arg=${options%%,*}
- options=${options##$arg}
- options=${options##,}
- param=${arg%%=*}
- value=${arg##$param=}
-
- case "$param" in
- cipher)
- params="$params -c $value"
- if test -z "$value" ; then
- echo $"$dst: no value for cipher option, skipping"
- skip="yes"
- fi
- ;;
- size)
- params="$params -s $value"
- if test -z "$value" ; then
- echo $"$dst: no value for size option, skipping"
- skip="yes"
- fi
- ;;
- hash)
- params="$params -h $value"
- if test -z "$value" ; then
- echo $"$dst: no value for hash option, skipping"
- skip="yes"
- fi
- ;;
- verify) params="$params -y" ;;
- swap) makeswap="yes" ;;
- tmp) maketmp="yes" ;;
- loop) loopdev="yes" ;;
- *) echo "unknown crypttab option: '$param'" ;;
- esac
- done
-
- if test "$skip" = "yes" ; then
- ret=1
- continue
- fi
-
- # load our crypto modules
- case "$params" in
- *aes*) modprobe aes ;;
- *twofish*) modprobe twofish ;;
- *) true ;;
- esac
-
- if test $? -ne 0; then
- ret=1
- continue
- fi
-
- # if loop was given then device is an image
- if test "$loopdev" = "yes"; then
- found_loop=0
- for i in `seq 0 7`; do
- if ! test -b "/dev/loop$i"; then
- continue
- fi
-
- /sbin/losetup "/dev/loop$i" $device &> /dev/null
- if test $? -eq 0; then
- found_loop=1
- device="/dev/loop$i"
- break
- fi
- done
-
- if test $found_loop -eq 0; then
- echo "Failed to find open loop device"
- ret=1
- continue
- fi
- fi
-
- # map and mount the luks devices
- if cryptsetup isLuks "$device" &> /dev/null; then
- if test -n "$info" ; then
- prmt="${extd}Please enter passphrase for \"$info\" $device ($name): ${norm}"
- else
- prmt="${extd}Please enter passphrase for $device ($name): ${norm}"
- fi
-
- setprompt
- /sbin/cryptsetup ${keyfile:+-d $keyfile} luksOpen "$device" "$name" < $REDIRECT &> $REDIRECT
- unsetprompt
- else
- # this is used for things like swap or other temp mappings
- /sbin/cryptsetup $params ${keyfile:+-d $keyfile} create "$name" "$device" <&1
- fi
-
- if test $? -ne 0; then
- if test "$loopdev" = "yes"; then
- /sbin/losetup -d $device
- fi
- ret=1
- continue
- fi
-
- # run mkfs if the tmp option was given
- if test "$maketmp" = "yes"; then
- echo "Creating filesystem on /dev/mapper/$name..."
- case "$fs_type" in
- reiserfs) /sbin/mkfs -t reiserfs /dev/mapper/$name &> /dev/null ;;
- ext2) /sbin/mkfs -t ext2 /dev/mapper/$name &> /dev/null ;;
- *) /sbin/mkfs -t ext3 /dev/mapper/$name &> /dev/null ;;
- esac
-
- if test $? -ne 0; then
- echo "Failed to create temporary file system."
- /sbin/cryptsetup luksClose $name &> /dev/null
-
- if test "$loopdev" = "yes"; then
- /sbin/losetup -d $device
- fi
- ret=1
- continue
- fi
- fi
-
- # check for super blocks
- case "$fs_type" in
- ext[23]) tune2fs -l /dev/mapper/$name &> /dev/null ;;
- reiserfs) debugreiserfs /dev/mapper/$name &> /dev/null ;;
- *) true ;;
- esac
-
- if test $? -ne 0; then
- echo "Failed to find valid super block"
- /sbin/cryptsetup luksClose $name &> /dev/null
- if test "$loopdev" = "yes"; then
- /sbin/losetup -d $device
- fi
- ret=1
- continue
- fi
-
- # run mkswap if necessary
- if test -b "/dev/mapper/$name" -a "$makeswap" = "yes"; then
- mkswap "/dev/mapper/$name" &> /dev/null
- test $? -ne 0 && ret=1
- else
- # mount the mapped device
- while true; do
- mount /dev/mapper/$name &> /dev/null
- if test $? -ne 0; then
- ret=1
- echo "${warn}An error occured while mounting /dev/mapper/$name.${norm}"
- if test "$fs_type" = "ext3" -o "$fs_type" = "ext2" -o "$fs_type" = "reiserfs"; then
- echo "${extd}Do you want to check the file system?${norm}"
- read -p " ([${extd}check${norm}]/${extd}skip${norm}/) " prolo < $REDIRECT
- case "$prolo" in
- [Cc][hH][eE][Cc][kK]|[Cc]|"")
- fsck -a -t $fs_type /dev/mapper/$name
- test $? -eq 0 && continue
- echo "file system check failed" ;;
- esac
- fi
-
- # unmap the device
- /sbin/cryptsetup luksClose $name &> /dev/null
- if test "$loopdev" = "yes"; then
- /sbin/losetup -d $device
- fi
- fi
-
- # set permissions for tmp dirs
- if test "$maketmp" = "yes"; then
- while read pdev pmnt rest; do
- case "$pdev" in
- /dev/mapper/$name) chmod 1777 $pmnt
- esac
- done < /proc/mounts
- unset pdev pmnt rest
- fi
-
- break
- done
- fi
- done < $CRYPTTAB
- return $ret
-}
-
-stop_cryptotab ()
-{
- local ret=0
- echo "Turning off crypto devices using $CRYPTOTAB ... "
- while read loopdev physdev access filesys crypto mopt rest ; do
- case "$loopdev" in
- \#*|"") continue ;;
- esac
- #
- # Umount loop device
- #
- umount $access
- test $? -gt 0 && ret=1
- #
- # If /etc/mtab is linked to /proc/mounts
- # we've to run losetup to detach loop device
- #
- if test -L /etc/mtab ; then
- losetup -d $loopdev
- test $? -gt 0 && ret=1
- fi
- done < <(reverse < $CRYPTOTAB)
- return $ret
-}
-
-stop_crypttab ()
-{
- ret=0
- echo "Turning off crypto devices using $CRYPTTAB ... "
- while read name device keyfile options info fs_type rest; do
- case "$name" in
- \#*|"") continue ;;
- esac
-
- # skip this entry if the device isn't mapped
- if ! test -b "/dev/mapper/$name"; then
- continue
- fi
-
- # unmount device
- case ",${options}," in
- *,swap,*) ;;
- *)
- umount "/dev/mapper/$name" &> /dev/null
- if test $? -gt 0 ; then
- ret=1
- continue
- fi
- esac
-
- # delete the loop device
- case "$options" in
- *loop*)
- while read line; do
- case "$line" in
- *\(${device}\)*) device=${line%%:*}
- esac
- done < <(/sbin/losetup -a)
- esac
-
- if cryptsetup isLuks "$device" &> /dev/null; then
- /sbin/cryptsetup luksClose "/dev/mapper/$name" &> /dev/null
- else
- /sbin/cryptsetup remove "/dev/mapper/$name" &> /dev/null
- fi
-
- case "$options" in
- *loop*) /sbin/losetup -d $device
- esac
-
- test $? -gt 0 && ret=1
- done < <(reverse < $CRYPTTAB)
- return $ret
-}
-
-#
-# Cutomize_{start,stop}_hook are for interactive usage only
-#
-cutomize_start_hook ()
-{
- local srv
-
- test "$base" != "$link" && return 0
- test -s /etc/sysconfig/boot.crypto || return 0
- . /etc/sysconfig/boot.crypto
-
- for srv in $TRY_RESTART_AT_START ; do
- test -n "$srv" || break
- test -x /etc/init.d/$srv || continue
- /etc/init.d/$srv try-restart
- done
-
- for srv in $RESTART_AT_START ; do
- test -n "$srv" || break
- test -x /etc/init.d/$srv || continue
- /etc/init.d/$srv restart
- done
-
- for srv in $RELOAD_AT_START ; do
- test -n "$srv" || break
- test -x /etc/init.d/$srv || continue
- /etc/init.d/$srv reload
- done
-}
-
-cutomize_stop_hook ()
-{
- local srv
-
- test "$base" != "$link" && return 0
- test -s /etc/sysconfig/boot.crypto || return 0
- . /etc/sysconfig/boot.crypto
-
- for srv in $TRY_RESTART_AT_STOP ; do
- test -n "$srv" || break
- test -x /etc/init.d/$srv || continue
- /etc/init.d/$srv try-restart
- done
-
- for srv in $RESTART_AT_STOP ; do
- test -n "$srv" || break
- test -x /etc/init.d/$srv || continue
- /etc/init.d/$srv restart
- done
-
- for srv in $RELOAD_AT_STOP ; do
- test -n "$srv" || break
- test -x /etc/init.d/$srv || continue
- /etc/init.d/$srv reload
- done
-}
-
-rc_reset
-case "$1" in
- start|b)
- redirect
- if test $has_losetup -ne 0; then
- start_cryptotab
- rc_status
- fi
-
- if test $has_dmcrypt -ne 0; then
- start_crypttab
- rc_status
- fi
-
- rc_status
- test $? -gt 0 && rc_failed 1 || true
- rc_status -v1
- restore
-
- cutomize_start_hook
- ;;
- stop)
- if test $has_losetup -ne 0; then
- stop_cryptotab
- rc_status
- fi
-
- if test $has_dmcrypt -ne 0; then
- stop_crypttab
- rc_status
- fi
-
- rc_status
- test $? -gt 0 && rc_failed 1 || true
- rc_status -v1
-
- cutomize_stop_hook
- ;;
- status)
- rc_failed 4
- rc_status -v
- ;;
- restart)
- $0 stop
- $0 start
- rc_status
- ;;
- *)
- echo "Usage: $0 {start|stop|status|restart}"
- exit 1
- ;;
-esac
-rc_exit
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package ekiga
checked in at Tue Apr 24 23:29:52 CEST 2007.
--------
--- ekiga/ekiga.changes 2007-03-08 13:39:46.000000000 +0100
+++ /mounts/work_src_done/STABLE/ekiga/ekiga.changes 2007-04-24 17:20:23.309803000 +0200
@@ -1,0 +2,8 @@
+Tue Apr 24 10:17:51 CDT 2007 - maw(a)suse.de
+
+- Update to version 2.0.9
+- Requires recent versions of opal and pwlib
+- Fixes for bugzilla.gnome.org #421801, #418991, #419996, #419017,
+ #399378, #413979, and #405085.
+
+-------------------------------------------------------------------
Old:
----
ekiga-2.0.5.diff
ekiga-2.0.5.tar.bz2
New:
----
ekiga-2.0.9.diff
ekiga-2.0.9.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ekiga.spec ++++++
--- /var/tmp/diff_new_pack.t14047/_old 2007-04-24 23:29:27.000000000 +0200
+++ /var/tmp/diff_new_pack.t14047/_new 2007-04-24 23:29:27.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package ekiga (Version 2.0.5)
+# spec file for package ekiga (Version 2.0.9)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -15,8 +15,8 @@
License: GNU General Public License (GPL)
Group: Productivity/Telephony/H323/Clients
Autoreqprov: on
-Version: 2.0.5
-Release: 4
+Version: 2.0.9
+Release: 1
Summary: A Gnome based SIP/H323 teleconferencing application
Source: %{name}-%{version}.tar.bz2
Patch: %{name}-%{version}.diff
@@ -100,6 +100,11 @@
/usr/share/dbus-1/services/*.service
%changelog
+* Tue Apr 24 2007 - maw(a)suse.de
+- Update to version 2.0.9
+- Requires recent versions of opal and pwlib
+- Fixes for bugzilla.gnome.org #421801, #418991, #419996, #419017,
+ [#399378], #413979, and #405085.
* Thu Mar 08 2007 - kkeil(a)suse.de
- new gconf2 schema installation
* Wed Feb 14 2007 - kkeil(a)suse.de
++++++ ekiga-2.0.5.diff -> ekiga-2.0.9.diff ++++++
++++++ ekiga-2.0.5.tar.bz2 -> ekiga-2.0.9.tar.bz2 ++++++
++++ 76227 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0