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
July 2006
- 2 participants
- 704 discussions
Hello community,
here is the log from the commit of package microcode_ctl
checked in at Sun Jul 30 11:57:27 CEST 2006.
--------
--- arch/i386/microcode_ctl/microcode_ctl.changes 2006-02-28 18:20:16.000000000 +0100
+++ microcode_ctl/microcode_ctl.changes 2006-07-28 21:30:57.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 21:30:39 CEST 2006 - garloff(a)suse.de
+
+- microcode_ctl-1.14: Latest microcode from intel.
+
+-------------------------------------------------------------------
@@ -5 +10 @@
- linefeeds in microcode.dat.
+ linefeeds in microcode.dat [#141543].
Old:
----
microcode_ctl-1.13.tar.bz2
New:
----
microcode_ctl-1.14.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ microcode_ctl.spec ++++++
--- /var/tmp/diff_new_pack.mGz2Ss/_old 2006-07-30 11:57:20.000000000 +0200
+++ /var/tmp/diff_new_pack.mGz2Ss/_new 2006-07-30 11:57:20.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package microcode_ctl (Version 1.13)
+# spec file for package microcode_ctl (Version 1.14)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -17,9 +17,9 @@
Group: Hardware/Other
Autoreqprov: on
Summary: Microcode Updates for Intel CPUs
-Version: 1.13
-Release: 4
-%define tarver 1.13
+Version: 1.14
+Release: 1
+%define tarver 1.14
Source0: microcode_ctl-%{tarver}.tar.bz2
Source1: microcode.init
#Source2: intel-ia32microcode-05Jan2006.txt.bz2
@@ -77,9 +77,11 @@
%doc README Changelog
%changelog -n microcode_ctl
+* Fri Jul 28 2006 - garloff(a)suse.de
+- microcode_ctl-1.14: Latest microcode from intel.
* Tue Feb 28 2006 - garloff(a)suse.de
- Resubmit with new tarball: Upstream packager had screwed up
- linefeeds in microcode.dat.
+ linefeeds in microcode.dat [#141543].
* Wed Jan 25 2006 - mls(a)suse.de
- converted neededforbuild to BuildRequires
* Mon Jan 23 2006 - garloff(a)suse.de
++++++ microcode_ctl-1.13.tar.bz2 -> microcode_ctl-1.14.tar.bz2 ++++++
++++ 31718 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 gnome-filesystem
checked in at Sun Jul 30 11:56:59 CEST 2006.
--------
--- GNOME/gnome-filesystem/gnome-filesystem.changes 2006-07-21 22:00:14.000000000 +0200
+++ gnome-filesystem/gnome-filesystem.changes 2006-07-28 20:01:59.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 20:01:52 CEST 2006 - gekker(a)suse.de
+
+- Add ur locale
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-filesystem.spec ++++++
--- /var/tmp/diff_new_pack.9Ev0gj/_old 2006-07-30 11:56:57.000000000 +0200
+++ /var/tmp/diff_new_pack.9Ev0gj/_new 2006-07-30 11:56:57.000000000 +0200
@@ -18,7 +18,7 @@
PreReq: coreutils
Summary: GNOME Directory Layout
Version: 0.1
-Release: 262
+Release: 264
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -331,6 +331,8 @@
/opt/gnome/share/locale/ug/LC_MESSAGES \
/opt/gnome/share/locale/uk \
/opt/gnome/share/locale/uk/LC_MESSAGES \
+/opt/gnome/share/locale/ur \
+/opt/gnome/share/locale/ur/LC_MESSAGES \
/opt/gnome/share/locale/urd \
/opt/gnome/share/locale/urd/LC_MESSAGES \
/opt/gnome/share/locale/uz \
@@ -672,6 +674,8 @@
%ghost /opt/gnome/share/mime/subclasses
%changelog -n gnome-filesystem
+* Fri Jul 28 2006 - gekker(a)suse.de
+- Add ur locale
* Fri Jul 21 2006 - gekker(a)suse.de
- Add bn_IN and dz locales
* Thu Jul 20 2006 - rml(a)suse.de
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 ddrescue
checked in at Sun Jul 30 11:56:35 CEST 2006.
--------
--- ddrescue/ddrescue.changes 2006-05-22 21:03:24.000000000 +0200
+++ ddrescue/ddrescue.changes 2006-07-29 13:42:59.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Jul 29 00:39:45 CEST 2006 - garloff(a)suse.de
+
+- Update to dd_rescue-1.12:
+ * Option -b: Log bad blocks to ASCII file
+ * Option -y: Change fsync frequency (performance)
+
+-------------------------------------------------------------------
Old:
----
dd_rescue-1.11.tar.gz
New:
----
dd_rescue-1.12.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ddrescue.spec ++++++
--- /var/tmp/diff_new_pack.7po39h/_old 2006-07-30 11:56:27.000000000 +0200
+++ /var/tmp/diff_new_pack.7po39h/_new 2006-07-30 11:56:27.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package ddrescue (Version 1.11_0.0.6)
+# spec file for package ddrescue (Version 1.12_0.0.6)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,10 +11,10 @@
# norootforbuild
Name: ddrescue
-%define ddrescuever 1.11
+%define ddrescuever 1.12
%define ddrhelpver 0.0.6
-Version: 1.11_0.0.6
-Release: 16
+Version: 1.12_0.0.6
+Release: 1
License: GPL
Group: System/Base
Provides: dd_rescue
@@ -69,6 +69,10 @@
rm -rf $RPM_BUILD_DIR/dd_rescue
%changelog -n ddrescue
+* Sat Jul 29 2006 - garloff(a)suse.de
+- Update to dd_rescue-1.12:
+ * Option -b: Log bad blocks to ASCII file
+ * Option -y: Change fsync frequency (performance)
* Mon May 22 2006 - schwab(a)suse.de
- Don't strip binaries.
* Wed Jan 25 2006 - mls(a)suse.de
++++++ dd_rescue-1.11.tar.gz -> dd_rescue-1.12.tar.gz ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dd_rescue/Makefile new/dd_rescue/Makefile
--- old/dd_rescue/Makefile 2004-10-22 09:38:03.000000000 +0200
+++ new/dd_rescue/Makefile 2006-07-23 13:47:50.000000000 +0200
@@ -1,8 +1,8 @@
# Makefile for dd_rescue
# (c) garloff(a)suse.de, 99/10/09, GNU GPL
-# $Id: Makefile,v 1.17 2004/10/18 11:28:18 garloff Exp $
+# $Id: Makefile,v 1.18 2006/07/23 11:47:50 garloff Exp $
-VERSION = 1.11
+VERSION = 1.12
DESTDIR =
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dd_rescue/dd_rescue.c new/dd_rescue/dd_rescue.c
--- old/dd_rescue/dd_rescue.c 2005-02-14 01:47:10.000000000 +0100
+++ new/dd_rescue/dd_rescue.c 2006-07-23 13:47:50.000000000 +0200
@@ -26,7 +26,7 @@
# define VERSION "(unknown)"
#endif
-#define ID "$Id: dd_rescue.c,v 1.50 2005/02/14 00:39:44 garloff Exp $"
+#define ID "$Id: dd_rescue.c,v 1.52 2006/07/23 11:47:50 garloff Exp $"
#ifndef SOFTBLOCKSIZE
# define SOFTBLOCKSIZE 65536
@@ -55,11 +55,11 @@
#include <sys/time.h>
#include <sys/stat.h>
-int softbs, hardbs;
+int softbs, hardbs, syncfreq;
int maxerr, nrerr, reverse, dotrunc, abwrerr, sparse, nosparse;
int verbose, quiet, interact, force;
void* buf;
-char *lname, *iname, *oname;
+char *lname, *iname, *oname, *bbname = NULL;
off_t ipos, opos, xfer, lxfer, sxfer, fxfer, maxxfer;
int ides, odes, identical, pres;
@@ -178,17 +178,21 @@
100.0*(cl-startclock)/(CLOCKS_PER_SEC*t1));
}
-void printstatus(FILE* const file1, FILE* const file2,
+void printstatus(FILE* const file1, FILE* const file2,
const int bs, const int sync)
{
float t1, t2;
clock_t cl;
- int err = 0;
+
+ if (file1 == stderr || file1 == stdout)
+ fprintf(file1, "%s%s%s", up, up, up);
+ if (file2 == stderr || file2 == stdout)
+ fprintf(file2, "%s%s%s", up, up, up);
if (sync) {
- err = fsync(odes);
+ int err = fsync(odes);
if (err)
- fplog(stderr, "dd_rescue: (warning): %s (%.1fk): %s!\n",
+ fplog(stderr, "dd_rescue: (warning): %s (%.1fk): %s! \n",
oname, (float)ipos/1024, strerror(errno));
}
@@ -197,11 +201,6 @@
t2 = difftimetv(¤ttime, &lasttime);
cl = clock();
- if (file1 == stderr || file1 == stdout)
- fprintf(file1, "%s%s%s", up, up, up);
- if (file2 == stderr || file2 == stdout)
- fprintf(file2, "%s%s%s", up, up, up);
-
if (file1)
doprint(file1, bs, cl, t1, t2, sync);
if (file2)
@@ -212,6 +211,17 @@
}
}
+void savebb( int block )
+{
+ fplog(stderr, "Bad block: %d\n", block);
+
+ if( bbname == NULL )
+ return;
+ FILE *bbfile = fopen(bbname,"a");
+ fprintf(bbfile,"%d\n",block);
+ fclose(bbfile);
+}
+
void printreport()
{
/* report */
@@ -398,6 +408,7 @@
*/
}
}
+ savebb(ipos/bs);
fxfer += toread; xfer += toread;
if (reverse) {
ipos -= toread; opos -= toread;
@@ -489,10 +500,11 @@
}
} /* rd > 0 */
} /* errno */
- if (!quiet && !(xfer % (16*softbs)) && (xfer % (512*softbs)))
+
+ if (syncfreq && !(xfer % (syncfreq*softbs)))
+ printstatus((quiet? 0: stderr), 0, bs, 1);
+ else if (!quiet && !(xfer % (16*softbs)))
printstatus(stderr, 0, bs, 0);
- if (!quiet && !(xfer % (512*softbs)))
- printstatus(stderr, 0, bs, 1);
} /* remain */
return errs;
}
@@ -555,29 +567,31 @@
void printhelp()
{
printversion();
- fprintf(stderr, "dd_rescue copies data from one file (or block device) to another\n");
+ fprintf(stderr, "dd_rescue copies data from one file (or block device) to another.\n");
fprintf(stderr, "USAGE: dd_rescue [options] infile outfile\n");
fprintf(stderr, "Options: -s ipos start position in input file (default=0),\n");
- fprintf(stderr, " -S opos start position in output file (def=ipos);\n");
+ fprintf(stderr, " -S opos start position in output file (def=ipos),\n");
fprintf(stderr, " -b softbs block size for copy operation (def=%i),\n", SOFTBLOCKSIZE );
- fprintf(stderr, " -B hardbs fallback block size in case of errs (def=%i);\n", HARDBLOCKSIZE );
- fprintf(stderr, " -e maxerr exit after maxerr errors (def=0=infinite);\n");
- fprintf(stderr, " -m maxxfer maximum amount of data to be transfered (def=0=inf);\n");
- fprintf(stderr, " -l logfdile name of a file to log errors and summary to (def=\"\");\n");
- fprintf(stderr, " -r reverse direction copy (def=forward);\n");
- fprintf(stderr, " -t truncate output file (def=no);\n");
+ fprintf(stderr, " -B hardbs fallback block size in case of errs (def=%i),\n", HARDBLOCKSIZE );
+ fprintf(stderr, " -e maxerr exit after maxerr errors (def=0=infinite),\n");
+ fprintf(stderr, " -m maxxfer maximum amount of data to be transfered (def=0=inf),\n");
+ fprintf(stderr, " -y syncfrq frequency of fsync calls on outfile (def=512*softbs),\n");
+ fprintf(stderr, " -l logfile name of a file to log errors and summary to (def=\"\"),\n");
+ fprintf(stderr, " -o bbfile name of a file to log bad blocks numbers (def=\"\"),\n");
+ fprintf(stderr, " -r reverse direction copy (def=forward),\n");
+ fprintf(stderr, " -t truncate output file (def=no),\n");
#ifdef O_DIRECT
- fprintf(stderr, " -d/D use O_DIRECT for input/output (def=no);\n");
+ fprintf(stderr, " -d/D use O_DIRECT for input/output (def=no),\n");
#endif
- fprintf(stderr, " -w abort on Write errors (def=no);\n");
+ fprintf(stderr, " -w abort on Write errors (def=no),\n");
fprintf(stderr, " -a spArse file writing (def=no),\n");
- fprintf(stderr, " -A Always write blocks, zeroed if err (def=no);\n");
- fprintf(stderr, " -i interactive: ask before overwriting data (def=no);\n");
- fprintf(stderr, " -f force: skip some sanity checks (def=no);\n");
- fprintf(stderr, " -p preserve: preserve ownership / perms (def=no)\n");
+ fprintf(stderr, " -A Always write blocks, zeroed if err (def=no),\n");
+ fprintf(stderr, " -i interactive: ask before overwriting data (def=no),\n");
+ fprintf(stderr, " -f force: skip some sanity checks (def=no),\n");
+ fprintf(stderr, " -p preserve: preserve ownership / perms (def=no),\n");
fprintf(stderr, " -q quiet operation,\n");
- fprintf(stderr, " -v verbose operation;\n");
- fprintf(stderr, " -V display version and exit;\n");
+ fprintf(stderr, " -v verbose operation,\n");
+ fprintf(stderr, " -V display version and exit,\n");
fprintf(stderr, " -h display this help and exit.\n");
fprintf(stderr, "Note: Sizes may be given in units b(=512), k(=1024), M(=1024^2) or G(1024^3) bytes\n");
fprintf(stderr, "This program is useful to rescue data in case of I/O errors, because\n");
@@ -618,6 +632,7 @@
int main(int argc, char* argv[])
{
int c;
+ off_t syncsz = -1;
void **mp = (void **) &buf;
/* defaults */
@@ -632,7 +647,7 @@
ides = -1; odes = -1; logfd = 0; nrerr = 0; buf = 0;
i_chr = 0; o_chr = 0;
- while ((c = getopt(argc, argv, ":rtfihqvVwaAdDpb:B:m:e:s:S:l:")) != -1) {
+ while ((c = getopt(argc, argv, ":rtfihqvVwaAdDpb:B:m:e:s:S:l:o:y:")) != -1) {
switch (c) {
case 'r': reverse = 1; break;
case 't': dotrunc = O_TRUNC; break;
@@ -654,9 +669,11 @@
case 'B': hardbs = (int)readint(optarg); break;
case 'm': maxxfer = readint(optarg); break;
case 'e': maxerr = (int)readint(optarg); break;
+ case 'y': syncsz = readint(optarg); break;
case 's': ipos = readint(optarg); break;
case 'S': opos = readint(optarg); break;
case 'l': lname = optarg; break;
+ case 'o': bbname = optarg; break;
case ':': fplog (stderr, "dd_rescue: (fatal): option %c requires an argument!\n", optopt);
printhelp();
exit(11); break;
@@ -712,6 +729,14 @@
cleanup(); exit(15);
}
+ /* Set sync frequency */
+ if (syncsz == -1)
+ syncfreq = 512;
+ else if (syncsz == 0)
+ syncfreq = 0;
+ else
+ syncfreq = (syncsz + softbs - 1) / softbs;
+
/* Have those been set by cmdline params? */
if (ipos == (off_t)-1)
ipos = 0;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dd_rescue/log new/dd_rescue/log
--- old/dd_rescue/log 1970-01-01 01:00:00.000000000 +0100
+++ new/dd_rescue/log 2006-07-23 13:46:39.000000000 +0200
@@ -0,0 +1,90 @@
+dd_rescue: (warning): /dev/null (32768.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (65536.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (98304.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (131072.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (163840.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (196608.0k): Invalid argument!
+dd_rescue: (fatal): Caught signal 2 "Interrupt". Exiting!
+Summary for /dev/hda -> /dev/null:
+dd_rescue: (warning): /dev/null (198400.0k): Invalid argument!
+dd_rescue: (info): ipos: 198400.0k, opos: 198400.0k, xferd: 198400.0k
+ errs: 0, errxfer: 0.0k, succxfer: 198400.0k
+ +curr.rate: 32103kB/s, avg.rate: 48395kB/s, avg.load: 1.5%
+dd_rescue: (warning): /dev/null (198400.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (32768.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (65536.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (98304.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (131072.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (163840.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (196608.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (229376.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (262144.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (294912.0k): Invalid argument!
+dd_rescue: (fatal): Caught signal 2 "Interrupt". Exiting!
+Summary for /dev/hda -> /dev/null:
+dd_rescue: (warning): /dev/null (303552.0k): Invalid argument!
+dd_rescue: (info): ipos: 303552.0k, opos: 303552.0k, xferd: 303552.0k
+ errs: 0, errxfer: 0.0k, succxfer: 303552.0k
+ +curr.rate: 34834kB/s, avg.rate: 106847kB/s, avg.load: 9.2%
+dd_rescue: (warning): /dev/null (303552.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (32768.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (65536.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (98304.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (131072.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (163840.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (196608.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (229376.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (262144.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (294912.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (327680.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (360448.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (393216.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (425984.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (458752.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (491520.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (524288.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (557056.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (589824.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (622592.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (655360.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (688128.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (720896.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (753664.0k): Invalid argument!
+dd_rescue: (fatal): Caught signal 2 "Interrupt". Exiting!
+Summary for /dev/hda -> /dev/null:
+dd_rescue: (warning): /dev/null (769984.0k): Invalid argument!
+dd_rescue: (info): ipos: 769984.0k, opos: 769984.0k, xferd: 769984.0k
+ errs: 0, errxfer: 0.0k, succxfer: 769984.0k
+ +curr.rate: 34889kB/s, avg.rate: 62911kB/s, avg.load: 4.2%
+dd_rescue: (warning): /dev/null (769984.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (32768.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (65536.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (98304.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (131072.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (163840.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (196608.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (229376.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (262144.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (294912.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (327680.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (360448.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (393216.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (425984.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (458752.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (491520.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (524288.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (557056.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (589824.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (622592.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (655360.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (688128.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (720896.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (753664.0k): Invalid argument!
+dd_rescue: (warning): /dev/null (786432.0k): Invalid argument!
+dd_rescue: (fatal): Caught signal 2 "Interrupt". Exiting!
+Summary for /dev/hda -> /dev/null:
+dd_rescue: (warning): /dev/null (796928.0k): Invalid argument!
+dd_rescue: (info): ipos: 796928.0k, opos: 796928.0k, xferd: 796928.0k
+ errs: 0, errxfer: 0.0k, succxfer: 796928.0k
+ +curr.rate: 34187kB/s, avg.rate: 51593kB/s, avg.load: 3.3%
+dd_rescue: (warning): /dev/null (796928.0k): Invalid argument!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 compiz
checked in at Sun Jul 30 11:56:22 CEST 2006.
--------
--- compiz/compiz.changes 2006-06-29 13:44:54.000000000 +0200
+++ compiz/compiz.changes 2006-07-28 18:07:39.000000000 +0200
@@ -1,0 +2,9 @@
+Fri Jul 28 17:55:52 CEST 2006 - dreveman(a)suse.de
+
+- Fix lotus client issue with compiz configuring windows before
+ being managed. bnc 195409.
+- Motif hint update to work around lotus client issue. bnc 195409.
+- Scale algorithm update to make lotus client windows not show up
+ in top left corner. bnc 195409.
+
+-------------------------------------------------------------------
New:
----
compiz-mwm-func.diff
compiz-update-attrib-fix.diff
new-scale-algo.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ compiz.spec ++++++
--- /var/tmp/diff_new_pack.RlMQd5/_old 2006-07-30 11:56:13.000000000 +0200
+++ /var/tmp/diff_new_pack.RlMQd5/_new 2006-07-30 11:56:13.000000000 +0200
@@ -18,7 +18,7 @@
Requires: libpng libdrm gconf2 gtk2 gnome-desktop control-center2 libsvg libsvg-cairo libwnck xgl-hardware-list >= 060526
Autoreqprov: on
Version: cvs_060621
-Release: 2
+Release: 3
Summary: OpenGL window and compositing manager.
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 x86_64 ppc ppc64 ia64
@@ -38,6 +38,9 @@
Patch8: gnome-xgl-settings-i18n-more.patch
Patch9: gnome-xgl-settings-i18n-fixes.patch
Patch10: compiz-broken-Mesa-decl.patch
+Patch11: compiz-mwm-func.diff
+Patch12: new-scale-algo.diff
+Patch13: compiz-update-attrib-fix.diff
%description
Compiz is an OpenGL compositing manager that use
@@ -63,6 +66,9 @@
patch -d compiz-0.0.13 -p0 < $RPM_SOURCE_DIR/java-config-notify.diff
patch -d compiz-0.0.13 -p0 < $RPM_SOURCE_DIR/184483-2.diff
patch -d compiz-0.0.13 -p1 < $RPM_SOURCE_DIR/compiz-broken-Mesa-decl.patch
+patch -d compiz-0.0.13 -p1 < $RPM_SOURCE_DIR/compiz-mwm-func.diff
+patch -d compiz-0.0.13 -p1 < $RPM_SOURCE_DIR/new-scale-algo.diff
+patch -d compiz-0.0.13 -p1 < $RPM_SOURCE_DIR/compiz-update-attrib-fix.diff
patch -d gnome-xgl* -p0 < $RPM_SOURCE_DIR/gnome-xgl-settings-install.patch
patch -d gnome-xgl* -p0 < $RPM_SOURCE_DIR/gnome-xgl-settings-i18n.patch
patch -d gnome-xgl* -p1 < $RPM_SOURCE_DIR/gnome-xgl-settings-i18n-more.patch
@@ -154,6 +160,12 @@
/etc/opt/gnome/gconf/schemas/compiz.schemas
%changelog -n compiz
+* Fri Jul 28 2006 - dreveman(a)suse.de
+- Fix lotus client issue with compiz configuring windows before
+ being managed. bnc 195409.
+- Motif hint update to work around lotus client issue. bnc 195409.
+- Scale algorithm update to make lotus client windows not show up
+ in top left corner. bnc 195409.
* Thu Jun 29 2006 - mhopf(a)suse.de
- Added patch for compiling against broken GLX_EXT_texture_from_pixmap
declaration in Mesa's glx.h
++++++ compiz-mwm-func.diff ++++++
--- a/include/compiz.h
+++ b/include/compiz.h
@@ -129,6 +129,19 @@ #define CompWindowActionFullscreenMask
#define CompWindowActionCloseMask (1 << 7)
#define CompWindowActionShadeMask (1 << 8)
+#define MwmFuncAll (1L << 0)
+#define MwmFuncResize (1L << 1)
+#define MwmFuncMove (1L << 2)
+#define MwmFuncIconify (1L << 3)
+#define MwmFuncMaximize (1L << 4)
+#define MwmFuncClose (1L << 5)
+
+#define MwmDecorHandle (1L << 2)
+#define MwmDecorTitle (1L << 3)
+#define MwmDecorMenu (1L << 4)
+#define MwmDecorMinimize (1L << 5)
+#define MwmDecorMaximize (1L << 6)
+
#define MwmDecorAll (1L << 0)
#define MwmDecorBorder (1L << 1)
#define MwmDecorHandle (1L << 2)
@@ -1635,6 +1648,7 @@ struct _CompWindow {
unsigned int actions;
unsigned int protocols;
unsigned int mwmDecor;
+ unsigned int mwmFunc;
Bool invisible;
Bool destroyed;
Bool damaged;
@@ -1745,9 +1759,11 @@ getWindowType (CompDisplay *display,
void
recalcWindowType (CompWindow *w);
-unsigned int
-getMwmDecor (CompDisplay *display,
- Window id);
+void
+getMwmHints (CompDisplay *display,
+ Window id,
+ unsigned int *func,
+ unsigned int *decor);
unsigned int
getProtocols (CompDisplay *display,
diff --git a/src/event.c b/src/event.c
index 66cc598..d34a5a9 100644
--- a/src/event.c
+++ b/src/event.c
@@ -1537,8 +1537,9 @@ #define EV_KEY_COMMAND(num) \
w = findWindowAtDisplay (d, event->xproperty.window);
if (w)
{
- w->mwmDecor = getMwmDecor (d, w->id);
+ getMwmHints (d, w->id, &w->mwmFunc, &w->mwmDecor);
+ recalcWindowActions (w);
updateWindowAttributes (w, FALSE);
}
}
diff --git a/src/window.c b/src/window.c
index 3f6108b..33945d6 100644
--- a/src/window.c
+++ b/src/window.c
@@ -37,6 +37,7 @@ #include <stdint.h>
#include <compiz.h>
+#define MwmHintsFunctions (1L << 0)
#define MwmHintsDecorations (1L << 1)
#define PropMotifWmHintElements 3
@@ -608,6 +609,27 @@ recalcWindowActions (CompWindow *w)
CompWindowActionMaximizeVertMask |
CompWindowActionFullscreenMask);
+ if (!(w->mwmFunc & MwmFuncAll))
+ {
+ if (!(w->mwmFunc & MwmFuncResize))
+ actions &= ~(CompWindowActionResizeMask |
+ CompWindowActionMaximizeHorzMask |
+ CompWindowActionMaximizeVertMask |
+ CompWindowActionFullscreenMask);
+
+ if (!(w->mwmFunc & MwmFuncMove))
+ actions &= ~(CompWindowActionMoveMask |
+ CompWindowActionMaximizeHorzMask |
+ CompWindowActionMaximizeVertMask |
+ CompWindowActionFullscreenMask);
+
+ if (!(w->mwmFunc & MwmFuncIconify))
+ actions &= ~CompWindowActionMinimizeMask;
+
+ if (!(w->mwmFunc & MwmFuncClose))
+ actions &= ~CompWindowActionCloseMask;
+ }
+
if (actions != w->actions)
{
w->actions = actions;
@@ -709,15 +731,19 @@ recalcWindowType (CompWindow *w)
}
}
-unsigned int
-getMwmDecor (CompDisplay *display,
- Window id)
+void
+getMwmHints (CompDisplay *display,
+ Window id,
+ unsigned int *func,
+ unsigned int *decor)
{
Atom actual;
int result, format;
unsigned long n, left;
MwmHints *mwmHints;
- unsigned int decor = MwmDecorAll;
+
+ *func = MwmFuncAll;
+ *decor = MwmDecorAll;
result = XGetWindowProperty (display->display, id, display->mwmHintsAtom,
0L, 20L, FALSE, display->mwmHintsAtom,
@@ -729,13 +755,14 @@ getMwmDecor (CompDisplay *display,
if (n >= PropMotifWmHintElements)
{
if (mwmHints->flags & MwmHintsDecorations)
- decor = mwmHints->decorations;
+ *decor = mwmHints->decorations;
+
+ if (mwmHints->flags & MwmHintsFunctions)
+ *func = mwmHints->functions;
}
XFree (mwmHints);
}
-
- return decor;
}
unsigned int
@@ -1528,6 +1555,7 @@ addWindow (CompScreen *screen,
w->scaled = FALSE;
w->mwmDecor = MwmDecorAll;
+ w->mwmFunc = MwmFuncAll;
w->syncAlarm = None;
w->syncCounter = 0;
@@ -1672,7 +1700,8 @@ addWindow (CompScreen *screen,
recalcWindowType (w);
- w->mwmDecor = getMwmDecor (w->screen->display, w->id);
+ getMwmHints (w->screen->display, w->id, &w->mwmFunc, &w->mwmDecor);
+
w->protocols = getProtocols (w->screen->display, w->id);
recalcWindowActions (w);
--- a/plugins/place.c
+++ b/plugins/place.c
@@ -709,6 +709,12 @@ placeWindow (CompWindow *window,
break;
}
+ /* don't run placement algorithm on windows that can't be moved */
+ if (!(window->actions & CompWindowActionMoveMask))
+ {
+ goto done_no_constraints;
+ }
+
if (window->type & CompWindowTypeFullscreenMask)
{
x = x0;
++++++ compiz-update-attrib-fix.diff ++++++
--- a/src/window.c
+++ b/src/window.c
@@ -3327,7 +3327,7 @@ updateWindowAttributes (CompWindow *w,
XWindowChanges xwc;
int mask;
- if (w->attrib.override_redirect)
+ if (w->attrib.override_redirect || !w->managed)
return;
if (w->state & CompWindowStateShadedMask)
++++++ new-scale-algo.diff ++++++
--- a/plugins/compiz.schemas.in.in
+++ b/plugins/compiz.schemas.in.in
@@ -2376,7 +2376,7 @@
<applyto>/apps/compiz/plugins/scale/screen0/options/spacing</applyto>
<owner>compiz</owner>
<type>int</type>
- <default>25</default>
+ <default>10</default>
<locale name="C">
<short>Spacing</short>
<long>
--- a/plugins/scale.c
+++ b/plugins/scale.c
@@ -38,7 +38,7 @@ #define WIN_Y(w) ((w)->attrib.y - (w)->i
#define WIN_W(w) ((w)->width + (w)->input.left + (w)->input.right)
#define WIN_H(w) ((w)->height + (w)->input.top + (w)->input.bottom)
-#define SCALE_SPACING_DEFAULT 25
+#define SCALE_SPACING_DEFAULT 10
#define SCALE_SPACING_MIN 0
#define SCALE_SPACING_MAX 250
@@ -117,8 +117,9 @@ #define SCALE_ICON_DEFAULT (iconOverlayS
static int displayPrivateIndex;
typedef struct _ScaleSlot {
- int x1, y1, x2, y2;
- int line;
+ int x1, y1, x2, y2;
+ int filled;
+ float scale;
} ScaleSlot;
#define SCALE_DISPLAY_OPTION_INITIATE 0
@@ -174,17 +175,11 @@ typedef struct _ScaleScreen {
int slotsSize;
int nSlots;
- int *line;
- int lineSize;
- int nLine;
-
/* only used for sorting */
CompWindow **windows;
int windowsSize;
int nWindows;
- GLfloat scale;
-
Bool darkenBack;
GLushort opacity;
@@ -196,9 +191,13 @@ typedef struct _ScaleScreen {
typedef struct _ScaleWindow {
ScaleSlot *slot;
+ int sid;
+ int distance;
+
GLfloat xVelocity, yVelocity, scaleVelocity;
GLfloat scale;
GLfloat tx, ty;
+ float delta;
Bool adjust;
} ScaleWindow;
@@ -575,15 +574,25 @@ scalePaintWindow (CompWindow *w,
break;
}
- ds = 1.0f - ss->scale;
- if (ds)
+ if (sw->slot)
{
- sAttrib.opacity =
- (fabs (1.0f - sw->scale) * sAttrib.opacity) / ds;
+ sw->delta =
+ fabs (sw->slot->x1 - w->serverX) +
+ fabs (sw->slot->y1 - w->serverY) +
+ fabs (1.0f - sw->slot->scale) * 500.0f;
}
- else if (!sw->slot)
+
+ if (sw->delta)
{
- sAttrib.opacity = 0;
+ ds =
+ fabs (sw->tx) +
+ fabs (sw->ty) +
+ fabs (1.0f - sw->scale) * 500.0f;
+
+ if (ds > sw->delta)
+ ds = sw->delta;
+
+ sAttrib.opacity = (ds * sAttrib.opacity) / sw->delta;
}
mask |= PAINT_WINDOW_TRANSLUCENT_MASK;
@@ -624,193 +633,226 @@ scalePaintWindow (CompWindow *w,
}
static int
-compareWindows (const void *elem1,
- const void *elem2)
+compareWindowsDistance (const void *elem1,
+ const void *elem2)
{
CompWindow *w1 = *((CompWindow **) elem1);
CompWindow *w2 = *((CompWindow **) elem2);
- return w2->activeNum - w1->activeNum;
+ SCALE_SCREEN (w1->screen);
+
+ return
+ GET_SCALE_WINDOW (w1, ss)->distance -
+ GET_SCALE_WINDOW (w2, ss)->distance;
}
-/* TODO: Place window thumbnails at smarter positions */
-static Bool
-layoutThumbs (CompScreen *s)
+static void
+layoutSlots (CompScreen *s)
{
- CompWindow *w;
- int i, j, y2;
- int cx, cy;
- int lineLength, itemsPerLine;
- float scaleW, scaleH;
- int totalWidth, totalHeight;
+ int i, j, x, y, width, height, lines, n;
SCALE_SCREEN (s);
- cx = cy = ss->nWindows = 0;
+ ss->nSlots = 0;
- for (w = s->windows; w; w = w->next)
- {
- SCALE_WINDOW (w);
+ lines = sqrt (ss->nWindows + 1);
- if (sw->slot)
- sw->adjust = TRUE;
+ y = s->workArea.y + ss->spacing;
+ height = (s->workArea.height - (lines + 1) * ss->spacing) / lines;
- sw->slot = 0;
+ for (i = 0; i < lines; i++)
+ {
+ n = MIN (ss->nWindows - ss->nSlots,
+ ceilf ((float) ss->nWindows / lines));
- if (!isScaleWin (w))
- continue;
+ x = s->workArea.x + ss->spacing;
+ width = (s->workArea.width - (n + 1) * ss->spacing) / n;
- if (ss->windowsSize <= ss->nWindows)
+ for (j = 0; j < n; j++)
{
- ss->windows = realloc (ss->windows,
- sizeof (CompWindow *) * (ss->nWindows + 32));
- if (!ss->windows)
- return FALSE;
+ ss->slots[ss->nSlots].x1 = x;
+ ss->slots[ss->nSlots].y1 = y;
+ ss->slots[ss->nSlots].x2 = x + width;
+ ss->slots[ss->nSlots].y2 = y + height;
- ss->windowsSize = ss->nWindows + 32;
+ ss->slots[ss->nSlots].filled = FALSE;
+
+ x += width + ss->spacing;
+
+ ss->nSlots++;
}
- ss->windows[ss->nWindows++] = w;
+ y += height + ss->spacing;
}
+}
- if (ss->nWindows == 0)
- return FALSE;
-
- qsort (ss->windows, ss->nWindows, sizeof (CompWindow *), compareWindows);
+static void
+findBestSlots (CompScreen *s)
+{
+ CompWindow *w;
+ int i, j, d, d0 = 0;
+ float sx, sy, cx, cy;
- itemsPerLine = (sqrt (ss->nWindows) * s->width) / s->height;
- if (itemsPerLine < 1)
- itemsPerLine = 1;
+ SCALE_SCREEN (s);
- if (ss->lineSize <= ss->nWindows / itemsPerLine + 1)
+ for (i = 0; i < ss->nWindows; i++)
{
- ss->line = realloc (ss->line, sizeof (int) *
- (ss->nWindows / itemsPerLine + 2));
- if (!ss->line)
- return FALSE;
+ w = ss->windows[i];
- ss->lineSize = ss->nWindows / itemsPerLine + 2;
- }
+ SCALE_WINDOW (w);
- totalWidth = totalHeight = 0;
+ if (sw->slot)
+ continue;
- ss->line[0] = 0;
- ss->nLine = 1;
- lineLength = itemsPerLine;
+ sw->sid = 0;
+ sw->distance = MAXSHORT;
- if (ss->slotsSize <= ss->nWindows)
- {
- ss->slots = realloc (ss->slots, sizeof (ScaleSlot) *
- (ss->nWindows + 1));
- if (!ss->slots)
- return FALSE;
+ for (j = 0; j < ss->nSlots; j++)
+ {
+ if (!ss->slots[j].filled)
+ {
+ sx = (ss->slots[j].x2 + ss->slots[j].x1) / 2;
+ sy = (ss->slots[j].y2 + ss->slots[j].y1) / 2;
+
+ cx = w->serverX + w->width / 2;
+ cy = w->serverY + w->height / 2;
+
+ cx -= sx;
+ cy -= sy;
+
+ d = sqrt (cx * cx + cy * cy);
+ if (d0 + d < sw->distance)
+ {
+ sw->sid = j;
+ sw->distance = d0 + d;
+ }
+ }
+ }
- ss->slotsSize = ss->nWindows + 1;
+ d0 += sw->distance;
}
- ss->nSlots = 0;
+}
+
+static Bool
+fillInWindows (CompScreen *s)
+{
+ CompWindow *w;
+ int i, width, height;
+ float sx, sy, cx, cy;
+
+ SCALE_SCREEN (s);
for (i = 0; i < ss->nWindows; i++)
{
- SCALE_WINDOW (ss->windows[i]);
-
w = ss->windows[i];
- /* find a good place between other elements */
- for (j = 0; j < ss->nSlots; j++)
- {
- y2 = ss->slots[j].y2 + ss->spacing + WIN_H (w);
- if (w->width < ss->slots[j].x2 - ss->slots[j].x1 &&
- y2 <= ss->line[ss->slots[j].line])
- break;
- }
+ SCALE_WINDOW (w);
- /* otherwise append or start a new line */
- if (j == ss->nSlots)
+ if (!sw->slot)
{
- if (lineLength < itemsPerLine)
- {
- lineLength++;
+ if (ss->slots[sw->sid].filled)
+ return TRUE;
- ss->slots[ss->nSlots].x1 = cx;
- ss->slots[ss->nSlots].y1 = cy;
- ss->slots[ss->nSlots].x2 = cx + WIN_W (w);
- ss->slots[ss->nSlots].y2 = cy + WIN_H (w);
- ss->slots[ss->nSlots].line = ss->nLine - 1;
+ sw->slot = &ss->slots[sw->sid];
- ss->line[ss->nLine - 1] = MAX (ss->line[ss->nLine - 1],
- ss->slots[ss->nSlots].y2);
- }
- else
- {
- lineLength = 1;
+ width = w->width + w->input.left + w->input.right;
+ height = w->height + w->input.top + w->input.bottom;
- cx = ss->spacing;
- cy = ss->line[ss->nLine - 1] + ss->spacing;
+ sx = (float) (sw->slot->x2 - sw->slot->x1) / width;
+ sy = (float) (sw->slot->y2 - sw->slot->y1) / height;
- ss->slots[ss->nSlots].x1 = cx;
- ss->slots[ss->nSlots].y1 = cy;
- ss->slots[ss->nSlots].x2 = cx + WIN_W (w);
- ss->slots[ss->nSlots].y2 = cy + WIN_H (w);
- ss->slots[ss->nSlots].line = ss->nLine - 1;
+ sw->slot->scale = MIN (MIN (sx, sy), 1.0f);
- ss->line[ss->nLine] = ss->slots[ss->nSlots].y2;
+ sx = w->width * sw->slot->scale;
+ sy = w->height * sw->slot->scale;
+ cx = (sw->slot->x1 + sw->slot->x2) / 2;
+ cy = (sw->slot->y1 + sw->slot->y2) / 2;
- ss->nLine++;
- }
+ cx += (w->input.left - w->input.right) * sw->slot->scale;
+ cy += (w->input.top - w->input.bottom) * sw->slot->scale;
- if (ss->slots[ss->nSlots].y2 > totalHeight)
- totalHeight = ss->slots[ss->nSlots].y2;
+ sw->slot->x1 = cx - sx / 2;
+ sw->slot->y1 = cy - sy / 2;
+ sw->slot->x2 = cx + sx / 2;
+ sw->slot->y2 = cy + sy / 2;
+
+ sw->slot->filled = TRUE;
+
+ sw->adjust = TRUE;
}
- else
+ }
+
+ return FALSE;
+}
+
+static Bool
+layoutThumbs (CompScreen *s)
+{
+ CompWindow *w;
+ int i;
+
+ SCALE_SCREEN (s);
+
+ ss->nWindows = 0;
+
+ /* add windows scale list, top most window first */
+ for (w = s->reverseWindows; w; w = w->prev)
+ {
+ SCALE_WINDOW (w);
+
+ if (sw->slot)
+ sw->adjust = TRUE;
+
+ sw->slot = 0;
+
+ if (!isScaleWin (w))
+ continue;
+
+ if (ss->windowsSize <= ss->nWindows)
{
- ss->slots[ss->nSlots].x1 = ss->slots[j].x1;
- ss->slots[ss->nSlots].y1 = ss->slots[j].y2 + ss->spacing;
- ss->slots[ss->nSlots].x2 = ss->slots[ss->nSlots].x1 + WIN_W (w);
- ss->slots[ss->nSlots].y2 = ss->slots[ss->nSlots].y1 + WIN_H (w);
- ss->slots[ss->nSlots].line = ss->slots[j].line;
+ ss->windows = realloc (ss->windows,
+ sizeof (CompWindow *) * (ss->nWindows + 32));
+ if (!ss->windows)
+ return FALSE;
- ss->slots[j].line = 0;
+ ss->windowsSize = ss->nWindows + 32;
}
- cx = ss->slots[ss->nSlots].x2;
- if (cx > totalWidth)
- totalWidth = cx;
+ ss->windows[ss->nWindows++] = w;
+ }
- cx += ss->spacing;
+ if (ss->nWindows == 0)
+ return FALSE;
- sw->slot = &ss->slots[ss->nSlots];
- sw->adjust = TRUE;
+ if (ss->slotsSize < ss->nWindows)
+ {
+ ss->slots = realloc (ss->slots, sizeof (ScaleSlot) * ss->nWindows);
+ if (!ss->slots)
+ return FALSE;
- ss->nSlots++;
+ ss->slotsSize = ss->nWindows;
}
- totalWidth += ss->spacing;
- totalHeight += ss->spacing;
+ /* create a grid of slots */
+ layoutSlots (s);
+
+ do
+ {
+ /* find most appropriate slots for windows */
+ findBestSlots (s);
- scaleW = (float) s->workArea.width / totalWidth;
- scaleH = (float) s->workArea.height / totalHeight;
+ /* sort windows, window with closest distance to a slot first */
+ qsort (ss->windows, ss->nWindows, sizeof (CompWindow *),
+ compareWindowsDistance);
- ss->scale = MIN (MIN (scaleH, scaleW), 1.0f);
+ } while (fillInWindows (s));
for (i = 0; i < ss->nWindows; i++)
{
SCALE_WINDOW (ss->windows[i]);
if (sw->slot)
- {
- ss->slots[i].y1 += ss->windows[i]->input.top;
- ss->slots[i].x1 += ss->windows[i]->input.left;
- ss->slots[i].y2 += ss->windows[i]->input.top;
- ss->slots[i].x2 += ss->windows[i]->input.left;
- ss->slots[i].y1 = (float) ss->slots[i].y1 * ss->scale;
- ss->slots[i].x1 = (float) ss->slots[i].x1 * ss->scale;
- ss->slots[i].y2 = (float) ss->slots[i].y2 * ss->scale;
- ss->slots[i].x2 = (float) ss->slots[i].x2 * ss->scale;
- ss->slots[i].x1 += s->workArea.x;
- ss->slots[i].y1 += s->workArea.y;
- ss->slots[i].x2 += s->workArea.x;
- ss->slots[i].y2 += s->workArea.y;
- }
+ sw->adjust = TRUE;
}
return TRUE;
@@ -822,14 +864,13 @@ adjustScaleVelocity (CompWindow *w)
float dx, dy, ds, adjust, amount;
float x1, y1, scale;
- SCALE_SCREEN (w->screen);
SCALE_WINDOW (w);
if (sw->slot)
{
x1 = sw->slot->x1;
y1 = sw->slot->y1;
- scale = ss->scale;
+ scale = sw->slot->scale;
}
else
{
@@ -1522,11 +1563,6 @@ scaleInitScreen (CompPlugin *p,
ss->windows = 0;
ss->windowsSize = 0;
- ss->line = 0;
- ss->lineSize = 0;
-
- ss->scale = 1.0f;
-
ss->spacing = SCALE_SPACING_DEFAULT;
ss->speed = SCALE_SPEED_DEFAULT;
@@ -1579,9 +1615,6 @@ scaleFiniScreen (CompPlugin *p,
if (ss->slotsSize)
free (ss->slots);
- if (ss->lineSize)
- free (ss->line);
-
if (ss->windowsSize)
free (ss->windows);
@@ -1606,6 +1639,7 @@ scaleInitWindow (CompPlugin *p,
sw->adjust = FALSE;
sw->xVelocity = sw->yVelocity = 0.0f;
sw->scaleVelocity = 1.0f;
+ sw->delta = 1.0f;
w->privates[ss->windowPrivateIndex].ptr = sw;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 LibVNCServer
checked in at Sun Jul 30 11:54:56 CEST 2006.
--------
--- LibVNCServer/LibVNCServer.changes 2006-06-19 13:33:28.000000000 +0200
+++ LibVNCServer/LibVNCServer.changes 2006-07-28 21:25:20.000000000 +0200
@@ -1,0 +2,15 @@
+Fri Jul 28 19:14:22 CEST 2006 - garloff(a)suse.de
+
+- Update to version 0.8.2:
+ * Support for VNC protocol version 3.8.
+ * Many UltraVNC encodings and features added: FileTransfer,
+ SetSingleWindow, ServerInput, TextChat, UltraZip, etc.
+ * Support for PalmVNC and UltraVNC style 1/n server-side scaling.
+ * Improved Statistics reporting.
+ * KeyboardLedState encoding.
+ * LibVNCClient and x11vnc enhancements.
+ * Many bugs and leaks fixed.
+ * CVE-2006-2450 fix is already included, drop patch.
+- Use -allinput in x11vnc_ssh script.
+
+-------------------------------------------------------------------
Old:
----
LibVNCServer-0.8.tar.bz2
sectype-list
New:
----
LibVNCServer-0.8.2.tar.bz2
uinput-warn
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ LibVNCServer.spec ++++++
--- /var/tmp/diff_new_pack.H9oAXe/_old 2006-07-30 11:54:43.000000000 +0200
+++ /var/tmp/diff_new_pack.H9oAXe/_new 2006-07-30 11:54:43.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package LibVNCServer (Version 0.8)
+# spec file for package LibVNCServer (Version 0.8.2)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -15,7 +15,7 @@
License: GPL
Group: Development/Libraries/X11
Autoreqprov: on
-Version: 0.8
+Version: 0.8.2
Release: 1
Summary: VNC Development Library
URL: http://libvncserver.sf.net/
@@ -28,7 +28,7 @@
Patch6: stack-check
Patch7: redef-keysym
Patch8: uninit-warn
-Patch9: sectype-list
+Patch10: uinput-warn
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -60,7 +60,7 @@
%patch6 -p1
%patch7 -p1
%patch8 -p1
-%patch9 -p1
+%patch10 -p1
# aclocal; autoheader; automake --add-missing --copy; autoconf
# ./configure --enable-maintainer-mode
# sh ./autogen.sh
@@ -100,6 +100,18 @@
%doc x11vnc/README.x11vnc x11vnc/misc
%changelog -n LibVNCServer
+* Fri Jul 28 2006 - garloff(a)suse.de
+- Update to version 0.8.2:
+ * Support for VNC protocol version 3.8.
+ * Many UltraVNC encodings and features added: FileTransfer,
+ SetSingleWindow, ServerInput, TextChat, UltraZip, etc.
+ * Support for PalmVNC and UltraVNC style 1/n server-side scaling.
+ * Improved Statistics reporting.
+ * KeyboardLedState encoding.
+ * LibVNCClient and x11vnc enhancements.
+ * Many bugs and leaks fixed.
+ * CVE-2006-2450 fix is already included, drop patch.
+- Use -allinput in x11vnc_ssh script.
* Mon Jun 19 2006 - garloff(a)suse.de
- Update to version 0.8.
- Enable -fstack-protector for auth relevant files.
++++++ LibVNCServer-0.8.tar.bz2 -> LibVNCServer-0.8.2.tar.bz2 ++++++
++++ 53386 lines of diff (skipped)
++++++ LibVNCServer-LINUX.diff ++++++
--- /var/tmp/diff_new_pack.H9oAXe/_old 2006-07-30 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.H9oAXe/_new 2006-07-30 11:54:44.000000000 +0200
@@ -2,7 +2,7 @@
===================================================================
--- configure.ac.orig
+++ configure.ac
-@@ -383,9 +383,10 @@ AC_CHECK_FUNCS([ftime gethostbyname geth
+@@ -470,9 +470,10 @@ AC_CHECK_FUNCS([ftime gethostbyname geth
AC_CHECK_LIB(cygipc,shmget)
AM_CONDITIONAL(CYGIPC, test "$HAVE_CYGIPC" = "true")
++++++ filetransfer-overflow.diff ++++++
--- /var/tmp/diff_new_pack.H9oAXe/_old 2006-07-30 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.H9oAXe/_new 2006-07-30 11:54:44.000000000 +0200
@@ -1,8 +1,8 @@
-Index: libvncserver/libvncserver/tightvnc-filetransfer/filetransfermsg.c
+Index: LibVNCServer-0.8.2/libvncserver/tightvnc-filetransfer/filetransfermsg.c
===================================================================
---- libvncserver.orig/libvncserver/tightvnc-filetransfer/filetransfermsg.c
-+++ libvncserver/libvncserver/tightvnc-filetransfer/filetransfermsg.c
-@@ -389,9 +389,9 @@ CreateFileDownloadErrMsg(char* reason, u
+--- LibVNCServer-0.8.2.orig/libvncserver/tightvnc-filetransfer/filetransfermsg.c
++++ LibVNCServer-0.8.2/libvncserver/tightvnc-filetransfer/filetransfermsg.c
+@@ -392,9 +392,9 @@ CreateFileDownloadErrMsg(char* reason, u
FileTransferMsg
CreateFileDownloadZeroSizeDataMsg(unsigned long mTime)
{
++++++ patch-libvnc-0215.l ++++++
--- /var/tmp/diff_new_pack.H9oAXe/_old 2006-07-30 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.H9oAXe/_new 2006-07-30 11:54:44.000000000 +0200
@@ -1,169 +1,23 @@
-Index: LibVNCServer-0.8/libvncserver/main.c
+Index: LibVNCServer-0.8.2/libvncserver/main.c
===================================================================
---- LibVNCServer-0.8.orig/libvncserver/main.c
-+++ LibVNCServer-0.8/libvncserver/main.c
-@@ -919,9 +919,10 @@ rfbProcessEvents(rfbScreenInfoPtr screen
+--- LibVNCServer-0.8.2.orig/libvncserver/main.c
++++ LibVNCServer-0.8.2/libvncserver/main.c
+@@ -1054,16 +1054,17 @@ rfbProcessEvents(rfbScreenInfoPtr screen
+ {
+ rfbClientIteratorPtr i;
+ rfbClientPtr cl,clPrev;
+ struct timeval tv;
++ unsigned int rep = 0;
+ rfbBool result=FALSE;
+ extern rfbClientIteratorPtr
+ rfbGetClientIteratorWithClosed(rfbScreenInfoPtr rfbScreen);
if(usec<0)
usec=screen->deferUpdateTime*1000;
- rfbCheckFds(screen,usec);
-+ while (rfbCheckFds(screen,usec))
-+ ;
++ while (rfbCheckFds(screen,usec) && ++rep < 16);
rfbHttpCheckFds(screen);
#ifdef CORBA
corbaCheckFds(screen);
#endif
-Index: LibVNCServer-0.8/libvncserver/sockets.c
-===================================================================
---- LibVNCServer-0.8.orig/libvncserver/sockets.c
-+++ LibVNCServer-0.8/libvncserver/sockets.c
-@@ -212,9 +212,9 @@ void rfbShutdownSockets(rfbScreenInfoPtr
- * RFB server code will be called (rfbNewClientConnection,
- * rfbProcessClientMessage, etc).
- */
-
--void
-+int
- rfbCheckFds(rfbScreenInfoPtr rfbScreen,long usec)
- {
- int nfds;
- fd_set fds;
-@@ -236,49 +236,49 @@ rfbCheckFds(rfbScreenInfoPtr rfbScreen,l
- tv.tv_sec = 0;
- tv.tv_usec = usec;
- nfds = select(rfbScreen->maxFd + 1, &fds, NULL, NULL /* &fds */, &tv);
- if (nfds == 0) {
-- return;
-+ return 0;
- }
- if (nfds < 0) {
- #ifdef WIN32
- errno = WSAGetLastError();
- #endif
- if (errno != EINTR)
- rfbLogPerror("rfbCheckFds: select");
-- return;
-+ return 0;
- }
-
- if (rfbScreen->listenSock != -1 && FD_ISSET(rfbScreen->listenSock, &fds)) {
-
- if ((sock = accept(rfbScreen->listenSock,
- (struct sockaddr *)&addr, &addrlen)) < 0) {
- rfbLogPerror("rfbCheckFds: accept");
-- return;
-+ return 0;
- }
-
- #ifndef WIN32
- if (fcntl(sock, F_SETFL, O_NONBLOCK) < 0) {
- rfbLogPerror("rfbCheckFds: fcntl");
- closesocket(sock);
-- return;
-+ return 0;
- }
- #endif
-
- if (setsockopt(sock, IPPROTO_TCP, TCP_NODELAY,
- (char *)&one, sizeof(one)) < 0) {
- rfbLogPerror("rfbCheckFds: setsockopt");
- closesocket(sock);
-- return;
-+ return 0;
- }
-
- #ifdef USE_LIBWRAP
- if(!hosts_ctl("vnc",STRING_UNKNOWN,inet_ntoa(addr.sin_addr),
- STRING_UNKNOWN)) {
- rfbLog("Rejected connection from client %s\n",
- inet_ntoa(addr.sin_addr));
- closesocket(sock);
-- return;
-+ return 0;
- }
- #endif
-
- rfbLog("Got connection from client %s\n", inet_ntoa(addr.sin_addr));
-@@ -286,9 +286,9 @@ rfbCheckFds(rfbScreenInfoPtr rfbScreen,l
- rfbNewClient(rfbScreen,sock);
-
- FD_CLR(rfbScreen->listenSock, &fds);
- if (--nfds == 0)
-- return;
-+ return 0;
- }
-
- if ((rfbScreen->udpSock != -1) && FD_ISSET(rfbScreen->udpSock, &fds)) {
- if(!rfbScreen->udpClient)
-@@ -311,9 +311,9 @@ rfbCheckFds(rfbScreenInfoPtr rfbScreen,l
- if (connect(rfbScreen->udpSock,
- (struct sockaddr *)&addr, addrlen) < 0) {
- rfbLogPerror("rfbCheckFds: UDP: connect");
- rfbDisconnectUDPSock(rfbScreen);
-- return;
-+ return 0;
- }
-
- rfbNewUDPConnection(rfbScreen,rfbScreen->udpSock);
- }
-@@ -322,9 +322,9 @@ rfbCheckFds(rfbScreenInfoPtr rfbScreen,l
- }
-
- FD_CLR(rfbScreen->udpSock, &fds);
- if (--nfds == 0)
-- return;
-+ return 0;
- }
-
- i = rfbGetClientIterator(rfbScreen);
- while((cl = rfbClientIteratorNext(i))) {
-@@ -333,8 +333,9 @@ rfbCheckFds(rfbScreenInfoPtr rfbScreen,l
- if (FD_ISSET(cl->sock, &fds) && FD_ISSET(cl->sock, &(rfbScreen->allFds)))
- rfbProcessClientMessage(cl);
- }
- rfbReleaseClientIterator(i);
-+ return 1;
- }
-
-
- void
-Index: LibVNCServer-0.8/rfb/rfb.h
-===================================================================
---- LibVNCServer-0.8.orig/rfb/rfb.h
-+++ LibVNCServer-0.8/rfb/rfb.h
-@@ -562,9 +562,9 @@ extern void rfbDisconnectUDPSock(rfbScre
- extern void rfbCloseClient(rfbClientPtr cl);
- extern int rfbReadExact(rfbClientPtr cl, char *buf, int len);
- extern int rfbReadExactTimeout(rfbClientPtr cl, char *buf, int len,int timeout);
- extern int rfbWriteExact(rfbClientPtr cl, const char *buf, int len);
--extern void rfbCheckFds(rfbScreenInfoPtr rfbScreen,long usec);
-+extern int rfbCheckFds(rfbScreenInfoPtr rfbScreen,long usec);
- extern int rfbConnect(rfbScreenInfoPtr rfbScreen, char* host, int port);
- extern int rfbConnectToTcpAddr(char* host, int port);
- extern int rfbListenOnTCPPort(int port, in_addr_t iface);
- extern int rfbListenOnUDPPort(int port, in_addr_t iface);
-Index: LibVNCServer-0.8/x11vnc/util.c
-===================================================================
---- LibVNCServer-0.8.orig/x11vnc/util.c
-+++ LibVNCServer-0.8/x11vnc/util.c
-@@ -403,16 +403,18 @@ void rfbPE(long usec) {
- }
- }
-
- void rfbCFD(long usec) {
-+ unsigned int rep = 0;
- if (! screen) {
- return;
- }
- if (usec > USEC_MAX) {
- usec = USEC_MAX;
- }
- if (! use_threads) {
-- rfbCheckFds(screen, usec);
-+ while (rfbCheckFds(screen, usec) && ++rep < 64)
-+ ;
- }
- }
-
- double rect_overlap(int x1, int y1, int x2, int y2, int X1, int Y1,
++++++ redef-keysym ++++++
--- /var/tmp/diff_new_pack.H9oAXe/_old 2006-07-30 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.H9oAXe/_new 2006-07-30 11:54:44.000000000 +0200
@@ -1,8 +1,8 @@
-Index: LibVNCServer-0.8/rfb/keysym.h
+Index: LibVNCServer-0.8.2/rfb/keysym.h
===================================================================
---- LibVNCServer-0.8.orig/rfb/keysym.h
-+++ LibVNCServer-0.8/rfb/keysym.h
-@@ -51,15 +51,29 @@ SOFTWARE.
+--- LibVNCServer-0.8.2.orig/rfb/keysym.h
++++ LibVNCServer-0.8.2/rfb/keysym.h
+@@ -50,15 +50,29 @@ SOFTWARE.
******************************************************************/
@@ -39,7 +39,7 @@
/* $TOG: keysymdef.h /main/25 1997/06/21 10:54:51 kaleb $ */
/***********************************************************
-@@ -111,11 +125,13 @@ ARISING OUT OF OR IN CONNECTION WITH THE
+@@ -110,11 +124,13 @@ ARISING OUT OF OR IN CONNECTION WITH THE
SOFTWARE.
******************************************************************/
@@ -55,7 +55,7 @@
* TTY Functions, cleverly chosen to map to ascii, for convenience of
* programming, but could have been arbitrary (at the cost of lookup
* tables in client code.
-@@ -331,9 +347,9 @@ SOFTWARE.
+@@ -330,9 +346,9 @@ SOFTWARE.
* ISO 9995 Function and Modifier Keys
* Byte 3 = 0xFE
*/
@@ -66,7 +66,7 @@
#define XK_ISO_Level2_Latch 0xFE02
#define XK_ISO_Level3_Shift 0xFE03
#define XK_ISO_Level3_Latch 0xFE04
-@@ -446,9 +462,9 @@ SOFTWARE.
+@@ -445,9 +461,9 @@ SOFTWARE.
* 3270 Terminal Keys
* Byte 3 = 0xFD
*/
@@ -77,7 +77,7 @@
#define XK_3270_FieldMark 0xFD02
#define XK_3270_Right2 0xFD03
#define XK_3270_Left2 0xFD04
-@@ -483,9 +499,9 @@ SOFTWARE.
+@@ -482,9 +498,9 @@ SOFTWARE.
/*
* Latin 1
* Byte 3 = 0
@@ -88,7 +88,7 @@
#define XK_exclam 0x021
#define XK_quotedbl 0x022
#define XK_numbersign 0x023
-@@ -687,9 +703,9 @@ SOFTWARE.
+@@ -686,9 +702,9 @@ SOFTWARE.
* Latin 2
* Byte 3 = 1
*/
@@ -99,7 +99,7 @@
#define XK_breve 0x1a2
#define XK_Lstroke 0x1a3
#define XK_Lcaron 0x1a5
-@@ -752,9 +768,9 @@ SOFTWARE.
+@@ -751,9 +767,9 @@ SOFTWARE.
* Latin 3
* Byte 3 = 2
*/
@@ -110,7 +110,7 @@
#define XK_Hcircumflex 0x2a6
#define XK_Iabovedot 0x2a9
#define XK_Gbreve 0x2ab
-@@ -783,9 +799,9 @@ SOFTWARE.
+@@ -782,9 +798,9 @@ SOFTWARE.
* Latin 4
* Byte 3 = 3
*/
@@ -121,7 +121,7 @@
#define XK_kappa 0x3a2 /* deprecated */
#define XK_Rcedilla 0x3a3
#define XK_Itilde 0x3a5
-@@ -827,9 +843,9 @@ SOFTWARE.
+@@ -826,9 +842,9 @@ SOFTWARE.
* Katakana
* Byte 3 = 4
*/
@@ -132,7 +132,7 @@
#define XK_kana_fullstop 0x4a1
#define XK_kana_openingbracket 0x4a2
#define XK_kana_closingbracket 0x4a3
-@@ -905,9 +921,9 @@ SOFTWARE.
+@@ -904,9 +920,9 @@ SOFTWARE.
* Arabic
* Byte 3 = 5
*/
@@ -143,7 +143,7 @@
#define XK_Arabic_semicolon 0x5bb
#define XK_Arabic_question_mark 0x5bf
#define XK_Arabic_hamza 0x5c1
-@@ -962,9 +978,9 @@ SOFTWARE.
+@@ -961,9 +977,9 @@ SOFTWARE.
/*
* Cyrillic
* Byte 3 = 6
@@ -154,7 +154,7 @@
#define XK_Macedonia_gje 0x6a2
#define XK_Cyrillic_io 0x6a3
#define XK_Ukrainian_ie 0x6a4
-@@ -1077,9 +1093,9 @@ SOFTWARE.
+@@ -1076,9 +1092,9 @@ SOFTWARE.
* Greek
* Byte 3 = 7
*/
@@ -165,7 +165,7 @@
#define XK_Greek_EPSILONaccent 0x7a2
#define XK_Greek_ETAaccent 0x7a3
#define XK_Greek_IOTAaccent 0x7a4
-@@ -1159,9 +1175,9 @@ SOFTWARE.
+@@ -1158,9 +1174,9 @@ SOFTWARE.
* Technical
* Byte 3 = 8
*/
@@ -176,7 +176,7 @@
#define XK_topleftradical 0x8a2
#define XK_horizconnector 0x8a3
#define XK_topintegral 0x8a4
-@@ -1216,9 +1232,9 @@ SOFTWARE.
+@@ -1215,9 +1231,9 @@ SOFTWARE.
* Special
* Byte 3 = 9
*/
@@ -187,7 +187,7 @@
#define XK_soliddiamond 0x9e0
#define XK_checkerboard 0x9e1
#define XK_ht 0x9e2
-@@ -1248,9 +1264,9 @@ SOFTWARE.
+@@ -1247,9 +1263,9 @@ SOFTWARE.
* Publishing
* Byte 3 = a
*/
@@ -198,7 +198,7 @@
#define XK_enspace 0xaa2
#define XK_em3space 0xaa3
#define XK_em4space 0xaa4
-@@ -1339,9 +1355,9 @@ SOFTWARE.
+@@ -1338,9 +1354,9 @@ SOFTWARE.
* APL
* Byte 3 = b
*/
@@ -209,7 +209,7 @@
#define XK_rightcaret 0xba6
#define XK_downcaret 0xba8
#define XK_upcaret 0xba9
-@@ -1366,9 +1382,9 @@ SOFTWARE.
+@@ -1365,9 +1381,9 @@ SOFTWARE.
* Hebrew
* Byte 3 = c
*/
@@ -220,7 +220,7 @@
#define XK_hebrew_aleph 0xce0
#define XK_hebrew_bet 0xce1
#define XK_hebrew_beth 0xce1 /* deprecated */
-@@ -1414,9 +1430,9 @@ SOFTWARE.
+@@ -1413,9 +1429,9 @@ SOFTWARE.
* Thai
* Byte 3 = d
*/
@@ -231,7 +231,7 @@
#define XK_Thai_khokhai 0xda2
#define XK_Thai_khokhuat 0xda3
#define XK_Thai_khokhwai 0xda4
-@@ -1506,9 +1522,9 @@ SOFTWARE.
+@@ -1505,9 +1521,9 @@ SOFTWARE.
* Korean
* Byte 3 = e
*/
++++++ stack-check ++++++
--- /var/tmp/diff_new_pack.H9oAXe/_old 2006-07-30 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.H9oAXe/_new 2006-07-30 11:54:44.000000000 +0200
@@ -1,10 +1,10 @@
-Index: LibVNCServer-0.8/libvncserver/Makefile.am
+Index: LibVNCServer-0.8.2/libvncserver/Makefile.am
===================================================================
---- LibVNCServer-0.8.orig/libvncserver/Makefile.am
-+++ LibVNCServer-0.8/libvncserver/Makefile.am
+--- LibVNCServer-0.8.2.orig/libvncserver/Makefile.am
++++ LibVNCServer-0.8.2/libvncserver/Makefile.am
@@ -1,5 +1,5 @@
--AM_CFLAGS=-g -Wall
-+AM_CFLAGS=-g -Wall $(CFLAGS_$@)
+-AM_CFLAGS=-g -Wall -I $(top_srcdir)
++AM_CFLAGS=-g -Wall -I $(top_srcdir) $(CFLAGS_$@)
if WITH_TIGHTVNC_FILETRANSFER
TIGHTVNCFILETRANSFERHDRS=tightvnc-filetransfer/filelistinfo.h \
@@ -20,26 +20,28 @@
LIB_SRCS = main.c rfbserver.c rfbregion.c auth.c sockets.c \
stats.c corre.c hextile.c rre.c translate.c cutpaste.c \
httpd.c cursor.c font.c \
- draw.c selbox.c d3des.c vncauth.c cargs.c \
-Index: LibVNCServer-0.8/x11vnc/Makefile.am
+ draw.c selbox.c d3des.c vncauth.c cargs.c minilzo.c ultra.c scale.c \
+Index: LibVNCServer-0.8.2/x11vnc/Makefile.am
===================================================================
---- LibVNCServer-0.8.orig/x11vnc/Makefile.am
-+++ LibVNCServer-0.8/x11vnc/Makefile.am
+--- LibVNCServer-0.8.2.orig/x11vnc/Makefile.am
++++ LibVNCServer-0.8.2/x11vnc/Makefile.am
@@ -1,5 +1,5 @@
--AM_CFLAGS = -I ..
-+AM_CFLAGS = -I .. $(CFLAGS_$@)
+-AM_CFLAGS = -I $(top_srcdir)
++AM_CFLAGS = -I $(top_srcdir) $(CFLAGS_$@)
LDADD = ../libvncserver/libvncserver.a @WSOCKLIB@
SUBDIRS = misc
DIST_SUBDIRS = misc
-@@ -10,8 +10,10 @@ EXTRA_DIST=ChangeLog README tkx11vnc $(m
+@@ -10,8 +10,12 @@ EXTRA_DIST=ChangeLog README tkx11vnc $(m
if CYGIPC
LD_CYGIPC=-lcygipc
endif
+CFLAGS_connections.o = $(CFLAGS) -fstack-protector
++CFLAGS_uinput.o = $(CFLAGS) -fstack-protector
++CFLAGS_userinput.o = $(CFLAGS) -fstack-protector
+
if HAVE_X
bin_PROGRAMS=x11vnc
- x11vnc_SOURCES = 8to24.c cleanup.c connections.c cursor.c gui.c help.c inet.c keyboard.c options.c pointer.c rates.c remote.c scan.c screen.c selection.c solid.c user.c userinput.c util.c win_utils.c x11vnc.c x11vnc_defs.c xdamage.c xevents.c xinerama.c xkb_bell.c xrandr.c xrecord.c xwrappers.c 8to24.h allowed_input_t.h blackout_t.h cleanup.h connections.h cursor.h enums.h gui.h help.h inet.h keyboard.h options.h params.h pointer.h rates.h remote.h scan.h screen.h scrollevent_t.h selection.h solid.h tkx11vnc.h user.h userinput.h util.h win_utils.h winattr_t.h x11vnc.h xdamage.h xevents.h xinerama.h xkb_bell.h xrandr.h xrecord.h xwrappers.h
+ x11vnc_SOURCES = 8to24.c cleanup.c connections.c cursor.c gui.c help.c inet.c keyboard.c linuxfb.c options.c pm.c pointer.c rates.c remote.c scan.c screen.c selection.c solid.c sslcmds.c sslhelper.c uinput.c unixpw.c user.c userinput.c util.c v4l.c win_utils.c x11vnc.c x11vnc_defs.c xdamage.c xevents.c xinerama.c xkb_bell.c xrandr.c xrecord.c xwrappers.c 8to24.h allowed_input_t.h blackout_t.h cleanup.h connections.h cursor.h enums.h gui.h help.h inet.h keyboard.h linuxfb.h options.h params.h pm.h pointer.h rates.h remote.h scan.h screen.h scrollevent_t.h selection.h solid.h sslcmds.h sslhelper.h ssltools.h tkx11vnc.h uinput.h unixpw.h user.h userinput.h util.h v4l.h win_utils.h winattr_t.h x11vnc.h xdamage.h xevents.h xinerama.h xkb_bell.h xrandr.h xrecord.h xwrappers.h
INCLUDES=@X_CFLAGS@
++++++ uinput-warn ++++++
Index: LibVNCServer-0.8.2/x11vnc/uinput.c
===================================================================
--- LibVNCServer-0.8.2.orig/x11vnc/uinput.c
+++ LibVNCServer-0.8.2/x11vnc/uinput.c
@@ -6,8 +6,9 @@
#include "xinerama.h"
#include "screen.h"
#include "pointer.h"
#include "allowed_input_t.h"
+#include "keyboard.h"
#if LIBVNCSERVER_HAVE_SYS_IOCTL_H
#if LIBVNCSERVER_HAVE_LINUX_INPUT_H
#if LIBVNCSERVER_HAVE_LINUX_UINPUT_H
@@ -282,8 +283,9 @@ void set_uinput_reset(int ms) {
}
int set_uinput_always(int a) {
uinput_always = a;
+ return a;
}
char *get_uinput_accel(void) {
return uinput_accel_str;
++++++ uninit-warn ++++++
--- /var/tmp/diff_new_pack.H9oAXe/_old 2006-07-30 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.H9oAXe/_new 2006-07-30 11:54:44.000000000 +0200
@@ -1,8 +1,8 @@
-Index: LibVNCServer-0.8/x11vnc/8to24.c
+Index: LibVNCServer-0.8.2/x11vnc/8to24.c
===================================================================
---- LibVNCServer-0.8.orig/x11vnc/8to24.c
-+++ LibVNCServer-0.8/x11vnc/8to24.c
-@@ -1421,9 +1421,9 @@ static void transform_rect(sraRect rect,
+--- LibVNCServer-0.8.2.orig/x11vnc/8to24.c
++++ LibVNCServer-0.8.2/x11vnc/8to24.c
+@@ -1439,9 +1439,9 @@ static void transform_rect(sraRect rect,
int do_getimage = xgetimage_8to24;
int line, n_off, j, h, w;
@@ -13,7 +13,7 @@
if (db24 > 1) fprintf(stderr, "transform %4d %4d %4d %4d cm: %d\n", rect.x1, rect.y1, rect.x2, rect.y2, cm);
-@@ -1484,9 +1484,10 @@ if (db24 > 1) fprintf(stderr, "transform
+@@ -1504,9 +1504,10 @@ if (db24 > 1) fprintf(stderr, "transform
xo = rect.x1 - xo;
yo = rect.y1 - yo;
++++++ x11vnc-thread-auth.diff ++++++
--- /var/tmp/diff_new_pack.H9oAXe/_old 2006-07-30 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.H9oAXe/_new 2006-07-30 11:54:44.000000000 +0200
@@ -1,8 +1,8 @@
-Index: LibVNCServer-0.8/x11vnc/x11vnc.c
+Index: LibVNCServer-0.8.2/x11vnc/x11vnc.c
===================================================================
---- LibVNCServer-0.8.orig/x11vnc/x11vnc.c
-+++ LibVNCServer-0.8/x11vnc/x11vnc.c
-@@ -380,8 +380,40 @@ if (0 && dt > 0.0) fprintf(stderr, "dt:
+--- LibVNCServer-0.8.2.orig/x11vnc/x11vnc.c
++++ LibVNCServer-0.8.2/x11vnc/x11vnc.c
+@@ -393,8 +393,40 @@ if (0 && dt > 0.0) fprintf(stderr, "dt:
return msec;
}
@@ -13,7 +13,7 @@
+ * main loop prior to it being initialized properly. So wait.
+ * It's polling :-(
+ */
-+static void wait_for_client()
++static void _mt_wait_for_client()
+{
+ time_t start = time(0);
+ while (!client_count) {
@@ -43,13 +43,13 @@
* main x11vnc loop: polls, checks for events, iterate libvncserver, etc.
*/
static void watch_loop(void) {
-@@ -390,8 +422,9 @@ static void watch_loop(void) {
- time_t start = time(0);
+@@ -403,8 +435,9 @@ static void watch_loop(void) {
+ time_t start = time(NULL);
if (use_threads) {
rfbRunEventLoop(screen, -1, TRUE);
-+ wait_for_client();
++ _mt_wait_for_client();
}
while (1) {
-
+ char msg[] = "new client: %s taking unixpw client off hold.\n";
++++++ x11vnc_ssh ++++++
--- LibVNCServer/x11vnc_ssh 2005-12-30 20:58:05.000000000 +0100
+++ LibVNCServer/x11vnc_ssh 2006-07-28 19:49:57.000000000 +0200
@@ -17,7 +17,7 @@
if [ "$host" = "$1" ]; then disp=0; fi
# You can add -threads here if it works stable enough for you
-cmd="x11vnc -display :$disp -localhost -rfbauth ~/.vnc/passwd $2"
+cmd="x11vnc -display :$disp -localhost -allinput -rfbauth ~/.vnc/passwd $2"
enc="copyrect tight hextile zlib corre rre raw"
port=4
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 epplet-base
checked in at Fri Jul 28 16:06:07 CEST 2006.
--------
--- epplet-base/epplet-base.changes 2006-07-12 15:27:18.000000000 +0200
+++ /work/users/ro/STABLE/epplet-base/epplet-base.changes 2006-07-28 15:43:58.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 15:43:49 CEST 2006 - ro(a)suse.de
+
+- added Mesa-devel to BuildRequires
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ epplet-base.spec ++++++
--- /var/tmp/diff_new_pack.vww0kd/_old 2006-07-28 16:06:03.000000000 +0200
+++ /var/tmp/diff_new_pack.vww0kd/_new 2006-07-28 16:06:03.000000000 +0200
@@ -11,13 +11,13 @@
# norootforbuild
Name: epplet-base
-BuildRequires: esound-devel gcc-c++ giflib-devel gtk-devel imlib-devel imlib2-devel jpeg libpng-devel libtiff-devel tiff
+BuildRequires: Mesa-devel esound-devel freeglut-devel gcc-c++ giflib-devel gtk-devel imlib-devel imlib2-devel jpeg libpng-devel libtiff-devel tiff
License: GPL
Group: System/GUI/Other
Autoreqprov: on
Summary: Applets for the Enlightenment Window Manager
Version: 0.9
-Release: 1
+Release: 2
Source: epplets-%{version}.tar.bz2
Patch: epplets-unsuficient_include.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -74,6 +74,8 @@
%{_prefix}/X11R6/share/e16/epplet_data
%changelog -n epplet-base
+* Fri Jul 28 2006 - ro(a)suse.de
+- added Mesa-devel to BuildRequires
* Wed Jul 12 2006 - pnemec(a)suse.cz
- updated to version 0.9
cleaned specs and configs
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 openmotif22-libs
checked in at Fri Jul 28 16:03:08 CEST 2006.
--------
--- openmotif22-libs/openmotif22-libs.changes 2006-07-03 15:50:21.000000000 +0200
+++ openmotif22-libs/openmotif22-libs.changes 2006-07-28 15:53:48.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 15:52:07 CEST 2006 - schwab(a)suse.de
+
+- Fix building with Xorg7.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openmotif22-libs.spec ++++++
--- /var/tmp/diff_new_pack.8RCQLS/_old 2006-07-28 16:01:27.000000000 +0200
+++ /var/tmp/diff_new_pack.8RCQLS/_new 2006-07-28 16:01:27.000000000 +0200
@@ -11,9 +11,14 @@
# norootforbuild
Name: openmotif22-libs
-BuildRequires: xorg-x11 xorg-x11-devel
+%{expand:%%global _prefix %(pkg-config --variable prefix x11 || echo /usr/X11R6)}
+%if "%_prefix" == "/usr/X11R6"
+%define _mandir %_prefix/man
+%define _datadir %_prefix/lib
+%endif
+BuildRequires: pkgconfig xorg-x11 xorg-x11-devel
Version: 2.2.4
-Release: 1
+Release: 2
License: Other License(s), see package
Group: System/Libraries
Autoreqprov: on
@@ -60,23 +65,22 @@
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -O1"
%endif
./configure CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \
- --libdir=/usr/X11R6/%{_lib} \
- --datadir=/usr/X11R6/lib \
- --mandir=/usr/X11R6/man
+ --prefix=%{_prefix} --libdir=%{_libdir} \
+ --datadir=%{_datadir} --mandir=%{_mandir}
# Not parallel safe
make
%install
make install DESTDIR="$RPM_BUILD_ROOT"
# remove everything not packaged
-rm -rf $RPM_BUILD_ROOT/usr/X11R6/man
-rm -f $RPM_BUILD_ROOT/usr/X11R6/%_lib/lib*.a
-rm -f $RPM_BUILD_ROOT/usr/X11R6/%_lib/lib*.la
-rm -f $RPM_BUILD_ROOT/usr/X11R6/%_lib/lib*.so
-rm -rf $RPM_BUILD_ROOT/usr/X11R6/lib/X11
-rm -rf $RPM_BUILD_ROOT/usr/X11R6/lib/Xm
-rm -rf $RPM_BUILD_ROOT/usr/X11R6/include
-rm -rf $RPM_BUILD_ROOT/usr/X11R6/bin
+rm -rf $RPM_BUILD_ROOT%{_mandir}
+rm -f $RPM_BUILD_ROOT%_libdir/lib*.a
+rm -f $RPM_BUILD_ROOT%_libdir/lib*.la
+rm -f $RPM_BUILD_ROOT%_libdir/lib*.so
+rm -rf $RPM_BUILD_ROOT%{_datadir}/X11
+rm -rf $RPM_BUILD_ROOT%{_datadir}/Xm
+rm -rf $RPM_BUILD_ROOT%{_prefix}/include
+rm -rf $RPM_BUILD_ROOT%{_prefix}/bin
%post -p /sbin/ldconfig
@@ -87,8 +91,10 @@
%files
%defattr(-, root, root)
-/usr/X11R6/%{_lib}/*.so.*
+%{_libdir}/*.so.*
%changelog -n openmotif22-libs
+* Fri Jul 28 2006 - schwab(a)suse.de
+- Fix building with Xorg7.
* Mon Jul 03 2006 - schwab(a)suse.de
- OpenMotif 2.2.4 libraries.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 fox
checked in at Fri Jul 28 16:00:17 CEST 2006.
--------
--- fox/fox.changes 2006-04-26 16:05:22.000000000 +0200
+++ /work/users/ro/STABLE/fox/fox.changes 2006-07-28 15:44:34.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 15:44:25 CEST 2006 - ro(a)suse.de
+
+- added Mesa-devel to BuildRequires
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fox.spec ++++++
--- /var/tmp/diff_new_pack.GDmFw3/_old 2006-07-28 15:59:32.000000000 +0200
+++ /var/tmp/diff_new_pack.GDmFw3/_new 2006-07-28 15:59:32.000000000 +0200
@@ -13,13 +13,13 @@
Name: fox
URL: http://www.fox-toolkit.org/
Version: 1.6.4
-Release: 2
+Release: 3
Summary: Shared Libraries for the FOX Toolkit
Group: Development/Languages/C and C++
License: LGPL
Source: %{name}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: bzip2 gcc-c++ libjpeg-devel libpng-devel libtiff-devel xorg-x11-devel zlib-devel
+BuildRequires: Mesa-devel bzip2 gcc-c++ libjpeg-devel libpng-devel libtiff-devel xorg-x11-devel zlib-devel
Autoreqprov: on
%description
@@ -123,7 +123,6 @@
%{__make} %{?_smp_mflags}
%install
-
%makeinstall
%{__mv} %{buildroot}%{_datadir}/doc/fox-* rpmdocs
@@ -167,6 +166,8 @@
%doc %{_mandir}/man1/shutterbug*
%changelog -n fox
+* Fri Jul 28 2006 - ro(a)suse.de
+- added Mesa-devel to BuildRequires
* Wed Apr 26 2006 - lrupp(a)suse.de
- new source 1.6.4 from upstream - package is alive again ;-)
* Mon Jun 23 2003 - pthomas(a)suse.de
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 xfsprogs
checked in at Fri Jul 28 15:38:28 CEST 2006.
--------
--- xfsprogs/xfsprogs.changes 2006-07-27 16:29:01.000000000 +0200
+++ /work/users/ro/STABLE/xfsprogs/xfsprogs.changes 2006-07-28 15:37:52.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Jul 28 15:37:41 CEST 2006 - ro(a)suse.de
+
+- fix file list (remove pl locale directory)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xfsprogs.spec ++++++
--- /var/tmp/diff_new_pack.kP7s17/_old 2006-07-28 15:37:59.000000000 +0200
+++ /var/tmp/diff_new_pack.kP7s17/_new 2006-07-28 15:37:59.000000000 +0200
@@ -13,7 +13,7 @@
Name: xfsprogs
BuildRequires: e2fsprogs-devel
Version: 2.8.4_1
-Release: 1
+Release: 2
%define ver 2.8.4-1
Conflicts: xfsdump < 2.0.0
Autoreqprov: on
@@ -130,7 +130,7 @@
printf ("%attr(0777,root,root) %s\n", $3); }'
}
set +x
-files < "$DIST_INSTALL" | egrep -v -e "^%%dir.*/sbin$" -e "^%%dir.*/man[58]$" -e "^%%dir.*/lib(64)?$" > files.rpm
+files < "$DIST_INSTALL" | egrep -v -e "^%%dir.*/sbin$" -e "^%%dir.*/man[58]$" -e "^%%dir.*/lib(64)?$" -e "^%%dir.*/usr/share/locale" > files.rpm
files < "$DIST_INSTALL_DEV" | egrep -v -e "^%%dir.*/lib(64)?$" -e "^%%dir.*/man3$" > filesdevel.rpm
set -x
@@ -150,6 +150,8 @@
%defattr(-,root,root,755)
%changelog -n xfsprogs
+* Fri Jul 28 2006 - ro(a)suse.de
+- fix file list (remove pl locale directory)
* Thu Jul 27 2006 - mjancar(a)suse.cz
- update to 2.8.4
* Fix a situation where xfs_growfs can fail to match a block
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 yast2-dns-server
checked in at Fri Jul 28 15:36:47 CEST 2006.
--------
--- yast2-dns-server/yast2-dns-server.changes 2006-07-27 09:15:47.000000000 +0200
+++ yast2-dns-server/yast2-dns-server.changes 2006-07-28 12:52:44.000000000 +0200
@@ -1,0 +2,18 @@
+Fri Jul 28 08:47:05 CEST 2006 - locilka(a)suse.cz
+
+- Optimized PunycodeToUnicode translations using DocodeDomainNames
+ function from DnsServerPunycode module (speeding up).
+- Added forward zone handling into the Install-Wizard Sequence.
+- Added help for forward zone.
+- Adjusted full support for viewing, adding, removing and changing
+ all DNS records (NSs, MXs, other Records) in Master Zone dialogs.
+- Deleting the zone must be confirmed.
+- 2.13.15
+
+-------------------------------------------------------------------
+Thu Jul 27 15:15:34 CEST 2006 - locilka(a)suse.cz
+
+- Added cache of already converted strings unicode->punycode,
+ punycode->unicode. Cache size is limited.
+
+-------------------------------------------------------------------
Old:
----
yast2-dns-server-2.13.14.tar.bz2
New:
----
yast2-dns-server-2.13.15.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-dns-server.spec ++++++
--- /var/tmp/diff_new_pack.luCzfH/_old 2006-07-28 15:36:42.000000000 +0200
+++ /var/tmp/diff_new_pack.luCzfH/_new 2006-07-28 15:36:42.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-dns-server (Version 2.13.14)
+# spec file for package yast2-dns-server (Version 2.13.15)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
# norootforbuild
Name: yast2-dns-server
-Version: 2.13.14
+Version: 2.13.15
Release: 1
License: GPL
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-dns-server-2.13.14.tar.bz2
+Source0: yast2-dns-server-2.13.15.tar.bz2
prefix: /usr
BuildRequires: perl-Digest-SHA1 perl-X500-DN perl-XML-Writer update-desktop-files yast2 yast2-devtools yast2-ldap-client yast2-perl-bindings yast2-testsuite
Requires: yast2 /usr/bin/host perl-gettext yast2-perl-bindings bind-utils yast2-ldap perl-X500-DN perl-Digest-SHA1 perl-Parse-RecDescent yast2-ldap-client
@@ -33,7 +33,7 @@
Jiri Srain <jsrain(a)suse.cz>
%prep
-%setup -n yast2-dns-server-2.13.14
+%setup -n yast2-dns-server-2.13.15
%build
%{prefix}/bin/y2tool y2autoconf
@@ -76,6 +76,18 @@
%doc %{prefix}/share/doc/packages/yast2-dns-server
%changelog -n yast2-dns-server
+* Fri Jul 28 2006 - locilka(a)suse.cz
+- Optimized PunycodeToUnicode translations using DocodeDomainNames
+ function from DnsServerPunycode module (speeding up).
+- Added forward zone handling into the Install-Wizard Sequence.
+- Added help for forward zone.
+- Adjusted full support for viewing, adding, removing and changing
+ all DNS records (NSs, MXs, other Records) in Master Zone dialogs.
+- Deleting the zone must be confirmed.
+- 2.13.15
+* Thu Jul 27 2006 - locilka(a)suse.cz
+- Added cache of already converted strings unicode->punycode,
+ punycode->unicode. Cache size is limited.
* Thu Jul 27 2006 - locilka(a)suse.cz
- Fixed testsuites because of changes in yast2-pam.
- Adjusted master-zone dialog to show Punycode records in their
++++++ yast2-dns-server-2.13.14.tar.bz2 -> yast2-dns-server-2.13.15.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-dns-server-2.13.14/VERSION new/yast2-dns-server-2.13.15/VERSION
--- old/yast2-dns-server-2.13.14/VERSION 2006-07-27 08:31:37.000000000 +0200
+++ new/yast2-dns-server-2.13.15/VERSION 2006-07-28 12:23:40.000000000 +0200
@@ -1 +1 @@
-2.13.14
+2.13.15
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-dns-server-2.13.14/configure new/yast2-dns-server-2.13.15/configure
--- old/yast2-dns-server-2.13.14/configure 2006-07-27 10:17:51.000000000 +0200
+++ new/yast2-dns-server-2.13.15/configure 2006-07-28 12:34:10.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for yast2-dns-server 2.13.14.
+# Generated by GNU Autoconf 2.59 for yast2-dns-server 2.13.15.
#
# Report bugs to <http://bugs.opensuse.org/>.
#
@@ -269,8 +269,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-dns-server'
PACKAGE_TARNAME='yast2-dns-server'
-PACKAGE_VERSION='2.13.14'
-PACKAGE_STRING='yast2-dns-server 2.13.14'
+PACKAGE_VERSION='2.13.15'
+PACKAGE_STRING='yast2-dns-server 2.13.15'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -728,7 +728,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures yast2-dns-server 2.13.14 to adapt to many kinds of systems.
+\`configure' configures yast2-dns-server 2.13.15 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -795,7 +795,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-dns-server 2.13.14:";;
+ short | recursive ) echo "Configuration of yast2-dns-server 2.13.15:";;
esac
cat <<\_ACEOF
@@ -908,7 +908,7 @@
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-yast2-dns-server configure 2.13.14
+yast2-dns-server configure 2.13.15
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@@ -922,7 +922,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2-dns-server $as_me 2.13.14, which was
+It was created by yast2-dns-server $as_me 2.13.15, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1652,7 +1652,7 @@
# Define the identity of the package.
PACKAGE='yast2-dns-server'
- VERSION='2.13.14'
+ VERSION='2.13.15'
cat >>confdefs.h <<_ACEOF
@@ -1863,7 +1863,7 @@
-VERSION="2.13.14"
+VERSION="2.13.15"
RPMNAME="yast2-dns-server"
MAINTAINER="Lukas Ocilka <locilka(a)suse.cz>"
@@ -2693,7 +2693,7 @@
} >&5
cat >&5 <<_CSEOF
-This file was extended by yast2-dns-server $as_me 2.13.14, which was
+This file was extended by yast2-dns-server $as_me 2.13.15, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -2748,7 +2748,7 @@
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-dns-server config.status 2.13.14
+yast2-dns-server config.status 2.13.15
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-dns-server-2.13.14/configure.in new/yast2-dns-server-2.13.15/configure.in
--- old/yast2-dns-server-2.13.14/configure.in 2006-07-27 10:17:47.000000000 +0200
+++ new/yast2-dns-server-2.13.15/configure.in 2006-07-28 12:34:05.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.13.19 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-dns-server, 2.13.14, http://bugs.opensuse.org/, yast2-dns-server)
+AC_INIT(yast2-dns-server, 2.13.15, http://bugs.opensuse.org/, yast2-dns-server)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -17,7 +17,7 @@
AM_INIT_AUTOMAKE(tar-ustar) dnl searches for some needed programs
dnl Important YaST2 variables
-VERSION="2.13.14"
+VERSION="2.13.15"
RPMNAME="yast2-dns-server"
MAINTAINER="Lukas Ocilka <locilka(a)suse.cz>"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-dns-server-2.13.14/src/DnsServerPunycode.ycp new/yast2-dns-server-2.13.15/src/DnsServerPunycode.ycp
--- old/yast2-dns-server-2.13.14/src/DnsServerPunycode.ycp 2006-07-26 16:26:41.000000000 +0200
+++ new/yast2-dns-server-2.13.15/src/DnsServerPunycode.ycp 2006-07-27 16:36:32.000000000 +0200
@@ -18,6 +18,134 @@
string tmp_dir = nil;
+ // string, matching this regexp, is not cached
+ string not_cached_regexp = "^[0123456789\.]*$";
+
+ //
+ // Encoded string in cache has the same index
+ // as its Decoded format in the second list.
+ //
+
+ // list of encoded strings to be cached (Punycode or Unicode)
+ list <string> cache_encoded = [];
+ // list of decoded strings to be cached (Unicode or Punycode)
+ list <string> cache_decoded = [];
+
+ integer current_cache_index = 0;
+
+ // cached amount of data should be controled
+ integer current_cache_size = 0;
+ integer maximum_cache_size = 32768;
+
+ /**
+ * Returns the maximum cache size (sum of already converted
+ * strings).
+ *
+ * @return integer maximum_cache_size
+ * @see SetMaximumCacheSize()
+ */
+ global define integer GetMaximumCacheSize () {
+ return maximum_cache_size;
+ }
+
+ /**
+ * Offers to set the maximum cache size (sum of already
+ * converted strings).
+ *
+ * @param integer new_max_size
+ * @see GetMaximumCacheSize()
+ */
+ global define void SetMaximumCacheSize (integer new_max_size) {
+ if (new_max_size != nil) {
+ maximum_cache_size = new_max_size;
+ } else {
+ y2error("Cannot set MaximumCacheSize to nil!");
+ }
+ }
+
+ /**
+ * Adds new cache records for encoded and decoded strings.
+ *
+ * @params string decoded
+ * @params string encoded
+ */
+ define void CreateNewCacheRecord (string decoded, string encoded) {
+ // Erroneous cache record
+ if (decoded == nil || encoded == nil) return;
+
+ // Already cached
+ if (contains(cache_decoded, decoded)) return;
+
+ integer decoded_size = size(decoded);
+ integer encoded_size = size(encoded);
+
+ // Do not store this record if the cache would exceed maximum
+ if ((current_cache_size + decoded_size + encoded_size) > maximum_cache_size) return;
+
+ current_cache_size = current_cache_size + decoded_size + encoded_size;
+ cache_decoded[current_cache_index] = decoded;
+ cache_encoded[current_cache_index] = encoded;
+ current_cache_index = current_cache_index + 1;
+ }
+
+ /**
+ * Returns string encoded in Punycode if it has been
+ * already cached. Returns nil if not found.
+ *
+ * @param string decoded_string (Unicode)
+ * @return string encoded_string (Punycode)
+ */
+ define string GetEncodedCachedString (string decoded_string) {
+ string ret = nil;
+
+ // numbers and empty strings are not converted
+ if (regexpmatch(decoded_string, not_cached_regexp)) {
+ return decoded_string;
+ }
+
+ integer counter = -1;
+ // searching through decoded strings to find the index
+ foreach (string cached_string, cache_decoded, {
+ counter = counter + 1;
+ if (cached_string == decoded_string) {
+ // returning encoded representation
+ ret = cache_encoded[counter]:nil;
+ break;
+ }
+ });
+
+ return ret;
+ }
+
+ /**
+ * Returns string encoded in Punycode if it has been
+ * already cached. Returns nil if not found.
+ *
+ * @param string encoded_string (Punycode)
+ * @return string decoded_string (Unicode)
+ */
+ define string GetDecodedCachedString (string encoded_string) {
+ string ret = nil;
+
+ // numbers and empty strings are not converted
+ if (regexpmatch(encoded_string, not_cached_regexp)) {
+ return encoded_string;
+ }
+
+ integer counter = -1;
+ // searching through encoded strings to find the index
+ foreach (string cached_string, cache_encoded, {
+ counter = counter + 1;
+ if (cached_string == encoded_string) {
+ // returning decoded representation
+ ret = cache_decoded[counter]:nil;
+ break;
+ }
+ });
+
+ return ret;
+ }
+
/**
* Returns the current temporary directory.
* Lazy loading for the initialization is used.
@@ -30,26 +158,90 @@
return tmp_dir;
}
+ /**
+ * Function takes the list of strings and returns them in the converted
+ * format. Unicode to Punycode or Punycode to Unicode (param to_punycode).
+ * It uses a cache of already-converted strings.
+ */
define list <string> ConvertBackAndForth (list <string> strings_in, boolean to_punycode) {
- string tmp_in = GetTmpDirectory() + "/tmp-idnconv-in.ycp";
- string tmp_out = GetTmpDirectory() + "/tmp-idnconv-out.ycp";
-
+ // list of returned strings
list <string> strings_out = [];
- SCR::Write(.target.ycp, tmp_in, strings_in);
- string convert_command = sformat("/usr/bin/idnconv %1 %2 > %3",
- (to_punycode ? "":"-reverse"), tmp_in, tmp_out
- );
- if ((integer) SCR::Execute(.target.bash, convert_command) != 0) {
- y2error("Conversion failed!");
- } else {
- strings_out = (list <string>) SCR::Read(.target.ycp, tmp_out);
- // Parsing the YCP file failed
- if (strings_out == nil) {
- y2error("Erroneous YCP file: %1", SCR::Read(.target.string, tmp_out));
+ // Some (or maybe all) strings needn't be cached
+ list <string> not_cached = [];
+
+ // Check the cache for already entered strings
+ integer current_index = -1;
+ map <string, string> test_cached = listmap (string string_in, strings_in, {
+ string string_out = nil;
+
+ // Numbers, IPs and empty strings are not converted
+ if (regexpmatch(string_in, not_cached_regexp)) {
+ string_out = string_in;
+ } else {
+ if (to_punycode) {
+ string_out = GetEncodedCachedString(string_in);
+ } else {
+ string_out = GetDecodedCachedString(string_in);
+ }
+ }
+
+ if (string_out == nil) {
+ current_index = current_index + 1;
+ not_cached[current_index] = string_in;
+ }
+
+ return $[string_in : string_out];
+ });
+
+ list <string> converted_not_cached = [];
+
+ // There is something not cached, converting them at once
+ if (not_cached != []) {
+ string tmp_in = GetTmpDirectory() + "/tmp-idnconv-in.ycp";
+ string tmp_out = GetTmpDirectory() + "/tmp-idnconv-out.ycp";
+
+ SCR::Write(.target.ycp, tmp_in, not_cached);
+ string convert_command = sformat(
+ "/usr/bin/idnconv %1 %2 > %3",
+ (to_punycode ? "":"-reverse"), tmp_in, tmp_out
+ );
+
+ if ((integer) SCR::Execute(.target.bash, convert_command) != 0) {
+ y2error("Conversion failed!");
+ } else {
+ converted_not_cached = (list <string>) SCR::Read(.target.ycp, tmp_out);
+ // Parsing the YCP file failed
+ if (converted_not_cached == nil) {
+ y2error("Erroneous YCP file: %1", SCR::Read(.target.string, tmp_out));
+ }
}
}
-
+
+ // Listing through the given list and adjusting the return list
+ current_index = -1;
+ integer found_index = -1;
+ foreach (string string_in, strings_in, {
+ current_index = current_index + 1;
+
+ // Already cached string
+ if (test_cached[string_in]:nil != nil) {
+ strings_out[current_index] = test_cached[string_in]:"";
+
+ // Recently converted strings
+ } else {
+ found_index = found_index + 1;
+ strings_out[current_index] = converted_not_cached[found_index]:"";
+
+ // Adding converted strings to cache
+ if (to_punycode) {
+ CreateNewCacheRecord(string_in, converted_not_cached[found_index]:"");
+ } else {
+ CreateNewCacheRecord(converted_not_cached[found_index]:"", string_in);
+ }
+ }
+ });
+
return strings_out;
}
@@ -112,4 +304,73 @@
"."
);
}
+
+ /**
+ * Decodes the list of domain names to their Unicode representation.
+ * This function is similar to DecodePunycodes but it works with every
+ * string as a domain name (that means every domain name is parsed
+ * by dots and separately evaluated).
+ *
+ * @param list <string> encoded_domain_names
+ * @return list <string> decoded_domain_names
+ *
+ * @example
+ * DocodeDomainNames(["mx1.example.org", "xp3.example.org.", "xn--ala-qma83eb.org.example."])
+ * -> ["mx1.example.org", "xp3.example.org.", "žížala.org.example."]
+ */
+ global define list <string> DocodeDomainNames (list <string> encoded_domain_names) {
+ list <string> decoded_domain_names = [];
+ list <string> strings_to_decode = [];
+
+ // $[0 : [0, 2], 1 : [3, 5]]
+ map <integer, list <integer> > backward_map_of_conversion = $[];
+
+ integer current_domain_index = -1;
+ integer current_domain_item = 0;
+
+ // parsing all domain names one by one
+ foreach (string one_domain_name, encoded_domain_names, {
+ current_domain_index = current_domain_index + 1;
+ integer start = current_domain_item;
+
+ // parsing the domain name by dots
+ foreach (string domain_item, splitstring(one_domain_name, "."), {
+ strings_to_decode[current_domain_item] = domain_item;
+ current_domain_item = current_domain_item + 1;
+ });
+ // creating backward index
+ backward_map_of_conversion[current_domain_index] = [start, (current_domain_item-1)];
+ });
+
+ // Transformating strings to the decoded format
+ strings_to_decode = DnsServerPunycode::DecodePunycodes(strings_to_decode);
+
+ current_domain_index = -1;
+ foreach (string one_encoded, encoded_domain_names, {
+ current_domain_index = current_domain_index + 1;
+
+ // Where the current string starts and ends
+ integer current = backward_map_of_conversion[current_domain_index, 0]:nil;
+ integer end = backward_map_of_conversion[current_domain_index, 1]:nil;
+
+ // error?
+ if (current == nil || end == nil) {
+ y2error("Cannot find start/end for %1 in %2",
+ one_encoded, backward_map_of_conversion[current_domain_index]:nil
+ );
+ decoded_domain_names[current_domain_index] = one_encoded;
+ } else {
+ // create a list of items of the current domain (translated)
+ list <string> decoded_domain = [];
+ while (current <= end) {
+ decoded_domain = add(decoded_domain, strings_to_decode[current]:"");
+ current = current + 1;
+ }
+ // create a domain name from these strings
+ decoded_domain_names[current_domain_index] = mergestring(decoded_domain, ".");
+ }
+ });
+
+ return decoded_domain_names;
+ }
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-dns-server-2.13.14/src/dialog-main.ycp new/yast2-dns-server-2.13.15/src/dialog-main.ycp
--- old/yast2-dns-server-2.13.14/src/dialog-main.ycp 2006-07-26 17:04:21.000000000 +0200
+++ new/yast2-dns-server-2.13.15/src/dialog-main.ycp 2006-07-28 12:24:05.000000000 +0200
@@ -5,7 +5,7 @@
* Authors: Jiri Srain <jsrain(a)suse.cz>
* Lukas Ocilka <lukas.ocilka(a)suse.cz>
*
- * $Id: dialog-main.ycp 32011 2006-07-26 15:05:52Z locilka $
+ * $Id: dialog-main.ycp 32043 2006-07-28 10:25:33Z locilka $
*/
{
@@ -1385,9 +1385,20 @@
}
void RedrawZonesListWidget () {
+ // Translating of all zone names at once
+ list <string> encoded_zone_names = maplist (map z, zones, {
+ return z["zone"]:"";
+ });
+ list <string> decoded_zone_names = DnsServerPunycode::DocodeDomainNames(encoded_zone_names);
integer index = -1;
+ // Creating map $[encoded:decoded]
+ map <string, string> enc_to_dec = listmap (string enc_zone, encoded_zone_names, {
+ index = index + 1;
+ return $[enc_zone : decoded_zone_names[index]:""];
+ });
- list items = maplist (map z, zones, ``{
+ index = -1;
+ list <term> items = maplist (map z, zones, ``{
index = index + 1;
string zone_name = z["zone"]:"";
@@ -1418,10 +1429,15 @@
y2warning("Unknown zone type %1", type_trans);
}
- return `item (`id (index), DnsServerPunycode::DecodeDomainName(zone_name), type_trans);
+ return `item (`id (index), enc_to_dec[zone_name]:zone_name, type_trans);
});
- items = filter (any i, items, ``(i != `item ()));
+ // Filtering out empty items
+ items = filter (term i, items, { return i != `item(); });
+
+ // Sorting by the zone name (might have different sorting than UI)
+ items = sort (term x, term y, items, ``(x[1]:"" < y[1]:""));
+
UI::ChangeWidget (`id ("zones_list_table"), `Items, items);
UI::SetFocus (`id ("zones_list_table"));
UI::ChangeWidget (`id ("delete_zone"), `Enabled, size (items) > 0);
@@ -1453,6 +1469,9 @@
if (ret == "delete_zone")
{
+ // Confirm deleting zone
+ if (!Confirm::DeleteSelected()) return nil;
+
zones[index] = nil;
zones = filter (map z, zones, ``(z != nil));
DnsServer::StoreZones (zones);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-dns-server-2.13.14/src/dialog-masterzone.ycp new/yast2-dns-server-2.13.15/src/dialog-masterzone.ycp
--- old/yast2-dns-server-2.13.14/src/dialog-masterzone.ycp 2006-07-27 10:17:29.000000000 +0200
+++ new/yast2-dns-server-2.13.15/src/dialog-masterzone.ycp 2006-07-28 12:24:05.000000000 +0200
@@ -5,7 +5,7 @@
* Authors: Jiri Srain <jiri.srain(a)suse.cz>,
* Lukas Ocilka <lukas.ocilka(a)suse.cz>
*
- * $Id: dialog-masterzone.ycp 32017 2006-07-27 08:19:03Z locilka $
+ * $Id: dialog-masterzone.ycp 32043 2006-07-28 10:25:33Z locilka $
*/
{
@@ -74,6 +74,8 @@
return true;
}
+// zone ACL -->
+
/**
* Dialog Tab - Zone Editor - Basics
* @return term for Get_ZoneEditorTab()
@@ -184,6 +186,10 @@
(boolean)UI::QueryWidget (`id ("enable_zone_transport"), `Value));
}
+// <-- zone ACL
+
+// --> zone Basic
+
/**
* Initialize the tab of the dialog
*/
@@ -274,6 +280,11 @@
ZoneAclHandle (event);
return nil;
}
+
+// <-- zone Basic
+
+// --> zone NS
+
/**
* Dialog Tab - Zone Editor - Name Servers
* @return term for Get_ZoneEditorTab()
@@ -316,19 +327,23 @@
}
void RedrawNsListWidget () {
- UI::ReplaceWidget (`id ("name_server_list_rp"), `SelectionBox (
- `id ("name_server_list"),
- // selection box label
- _("Na&me Server List"),
- current_zone_ns));
+ UI::ReplaceWidget (
+ `id ("name_server_list_rp"),
+ `SelectionBox (
+ `id ("name_server_list"),
+ // selection box label
+ _("Na&me Server List"),
+ DnsServerPunycode::DocodeDomainNames(current_zone_ns)
+ )
+ );
}
-/**
- * Setting ValidChars for dialog
- */
-void ValidCharsNsListWidget () {
- UI::ChangeWidget( `id ("add_name_server"), `ValidChars, Hostname::ValidCharsFQ);
-}
+///**
+// * Setting ValidChars for dialog
+// */
+//void ValidCharsNsListWidget () {
+// UI::ChangeWidget( `id ("add_name_server"), `ValidChars, Hostname::ValidCharsFQ);
+//}
/**
* Initialize the tab of the dialog
@@ -342,9 +357,9 @@
));
current_zone_ns = maplist (map r, records, ``(r["value"]:""));
current_zone_ns = filter (string z, current_zone_ns, ``(z != ""));
- current_zone_ns = DnsServerPunycode::DecodePunycodes(current_zone_ns);
+
RedrawNsListWidget ();
- ValidCharsNsListWidget ();
+ //ValidCharsNsListWidget ();
}
/**
@@ -378,8 +393,12 @@
{
string zn = current_zone["zone"]:"" + ".";
- string new_ns = (string)
+ // NS is converted to the Punycode first
+ string new_ns_entered = (string)
UI::QueryWidget (`id ("add_name_server"), `Value);
+ string new_ns = DnsServerPunycode::EncodeDomainName(new_ns_entered);
+ y2milestone("New NS: %1", new_ns);
+
string check_ns = new_ns;
if (regexpmatch (check_ns, "^.*\\.$"))
check_ns = regexpsub (check_ns, "^(.*)\\.$", "\\1");
@@ -428,6 +447,10 @@
return nil;
}
+// <-- zone NS
+
+// --> zone MX
+
/**
* Dialog Tab - Zone Editor - Mail Servers
* @return term for Get_ZoneEditorTab()
@@ -487,31 +510,33 @@
}
void RedrawMxListWidget () {
- // get the map of zone mail servers
- list <map <string, string> > zone_mx_servers = DnsServerAPI::GetZoneMailServers(current_zone["zone"]:"");
- // create a list of mail servers to be used by Punycode and convert them
- list <string> mx_addresses = maplist(map <string, string> one_address, zone_mx_servers, {
- return one_address["name"]:"";
- });
- mx_addresses = DnsServerPunycode::DecodePunycodes(mx_addresses);
-
+ list <string> zone_mx_decoded = DnsServerPunycode::DocodeDomainNames(current_zone_mx);
+
integer index = -1;
// create term items using already translated strings
- list <term> items = maplist (map <string, string> one_address, zone_mx_servers, {
+ list <term> items = maplist (string one_mx, zone_mx_decoded, {
+ string one_address_name = one_mx;
+ one_address_name = regexpsub(one_address_name, "^[0123456789]+[ \t]+(.*)$", "\\1");
+
+ string one_priority = one_mx;
+ one_priority = regexpsub(one_priority, "^([0123456789]+)[ \t]+.*$", "\\1");
+
index = index + 1;
- return `item (`id (index), mx_addresses[index]:one_address["name"]:"", one_address["priority"]:"");
+ return `item (`id (index), one_address_name, one_priority);
});
+
+ items = sort (term x, term y, items, ``(x[1]:"" < y[2]:""));
// initialize the widget content
UI::ChangeWidget (`id ("mail_server_list"), `Items, items);
}
-/**
- * Setting ValidChars for dialog
- */
-void ValidCharsMxListTab () {
- UI::ChangeWidget( `id ("add_mail_server"), `ValidChars, Hostname::ValidCharsFQ);
-}
+///**
+// * Setting ValidChars for dialog
+// */
+//void ValidCharsMxListTab () {
+// UI::ChangeWidget( `id ("add_mail_server"), `ValidChars, Hostname::ValidCharsFQ);
+//}
/**
* Initialize the tab of the dialog
@@ -525,8 +550,8 @@
));
current_zone_mx = maplist (map r, records, ``(r["value"]:""));
current_zone_mx = filter (string z, current_zone_mx, ``(z != ""));
+
RedrawMxListWidget ();
- ValidCharsMxListTab ();
}
/**
@@ -558,8 +583,10 @@
if (ret == "add_mx")
{
- string new_mx = (string)
+ string new_mx_decoded = (string)
UI::QueryWidget (`id ("add_mail_server"), `Value);
+ string new_mx = DnsServerPunycode::EncodeDomainName(new_mx_decoded);
+
integer prio = (integer)UI::QueryWidget (`id ("add_priority"), `Value);
// maximal priority is 65535
if (prio > 65535) {
@@ -607,11 +634,11 @@
}
new_mx = sformat ("%1 %2", prio, new_mx);
+ y2milestone("New MX: %1", new_mx);
HandleNsupdate($["type":"MX", "key":zn, "value":new_mx],"add");
- current_zone_mx
- = add (current_zone_mx, new_mx);
+ current_zone_mx = add (current_zone_mx, new_mx);
RedrawMxListWidget ();
}
else if (ret == "delete_mx")
@@ -630,6 +657,10 @@
return nil;
}
+// <-- zone MX
+
+// --> zone SOA
+
/**
* Dialog Tab - Zone Editor - Zone Settings
* @return term for Get_ZoneEditorTab()
@@ -827,6 +858,10 @@
return true;
}
+// <-- zone SOA
+
+// --> zone RECORDS
+
/**
* Dialog Tab - Zone Editor - Records
* @return term for Get_ZoneEditorTab()
@@ -1000,7 +1035,6 @@
*/
void InitZoneRecordsTab () {
RedrawZonesTable ();
- // ValidCharsZoneRecordsTab ();
}
/**
@@ -1019,6 +1053,7 @@
string type = (string) record["type"]:"";
string key = (string) record["key"]:"";
string val = (string) record["val"]:"";
+
if (regexpmatch (key, "^.*\\.$"))
key = regexpsub (key, "^(.*)\\.$", "\\1");
if (regexpmatch (val, "^.*\\.$"))
@@ -1153,12 +1188,16 @@
integer r = (integer)
UI::QueryWidget (`id ("records_list"), `CurrentItem );
- string key = (string)
- UI::QueryWidget (`id ("add_record_name"), `Value);
string type = (string)
UI::QueryWidget (`id ("add_record_type"), `Value);
- string val = (string)
- UI::QueryWidget (`id ("add_record_val"), `Value);
+
+ // translating new record key and val
+ string key = DnsServerPunycode::EncodeDomainName(
+ (string) UI::QueryWidget (`id ("add_record_name"), `Value)
+ );
+ string val = DnsServerPunycode::EncodeDomainName(
+ (string) UI::QueryWidget (`id ("add_record_val"), `Value)
+ );
string zone = current_zone["zone"]:"";
string decoded_zone = DnsServerPunycode::DecodeDomainName(zone);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-dns-server-2.13.14/src/helps.ycp new/yast2-dns-server-2.13.15/src/helps.ycp
--- old/yast2-dns-server-2.13.14/src/helps.ycp 2006-07-24 15:11:08.000000000 +0200
+++ new/yast2-dns-server-2.13.15/src/helps.ycp 2006-07-28 12:24:05.000000000 +0200
@@ -5,7 +5,7 @@
* Authors: Jiri Srain <jiri.srain(a)suse.cz>,
* Lukas Ocilka <lukas.ocilka(a)suse.cz>
*
- * $Id: helps.ycp 31967 2006-07-24 13:12:35Z locilka $
+ * $Id: helps.ycp 32043 2006-07-28 10:25:33Z locilka $
*/
{
@@ -475,8 +475,15 @@
attempts to transfer the zone. At least one ACL must be defined
to allow zone transports.</p>"),
-// forward zone help text
-"forward_zone" : _("FIXME: !!!!!!!!!!!")
+ // forward zone help text 1/2
+"forward_zone" : _("<p><big><b>Forward DNS Zone</b></big><br>
+This type of DNS zone only forwards DNS queries to forwarders
+defined in it.</p>") +
+
+ // forward zone help text 2/2
+_("<p>If there are no forwarders defined, all DNS queries
+for the respective zone are denied, because there is no DNS
+server to which should be that query forwarded.</p>"),
];
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-dns-server-2.13.14/src/wizards.ycp new/yast2-dns-server-2.13.15/src/wizards.ycp
--- old/yast2-dns-server-2.13.14/src/wizards.ycp 2006-07-24 15:11:08.000000000 +0200
+++ new/yast2-dns-server-2.13.15/src/wizards.ycp 2006-07-28 12:24:05.000000000 +0200
@@ -5,7 +5,7 @@
* Authors: Jiri Srain <jsrain(a)suse.cz>
* Lukas Ocilka <locilka(a)suse.cz>
*
- * $Id: wizards.ycp 31967 2006-07-24 13:12:35Z locilka $
+ * $Id: wizards.ycp 32043 2006-07-28 10:25:33Z locilka $
*/
{
@@ -25,7 +25,6 @@
"master_zone_tab" : ``(runMasterZoneTabDialog ()),
"slave_zone_tab" : ``(runSlaveZoneTabDialog ()),
"stub_zone_tab" : ``(runStubZoneTabDialog ()),
- // FIXME: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
"forward_zone_tab" : ``(runForwardZoneTabDialog ()),
];
@@ -77,7 +76,7 @@
"master_zone_tab" : ``(runMasterZoneTabDialog ()),
"slave_zone_tab" : ``(runSlaveZoneTabDialog ()),
"stub_zone_tab" : ``(runStubZoneTabDialog ()),
- // FIXME: .........
+ "forward_zone_tab" : ``(runForwardZoneTabDialog ()),
];
map sequence = $[
@@ -105,6 +104,7 @@
`master : "master_zone_tab",
`slave : "slave_zone_tab",
`stub : "stub_zone_tab",
+ `forward : "forward_zone_tab",
],
"master_zone_tab" : $[
`abort : `abort,
@@ -118,6 +118,10 @@
`abort : `abort,
`next : "zones",
],
+ "forward_zone_tab" : $[
+ `abort : `abort,
+ `next : "zones",
+ ],
];
symbol ret = Sequencer::Run(aliases, sequence);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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