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
March 2007
- 1 participants
- 1426 discussions
Hello community,
here is the log from the commit of package pfmon
checked in at Sat Mar 3 14:32:57 CET 2007.
--------
--- arch/ia64/pfmon/pfmon.changes 2007-01-11 11:14:11.000000000 +0100
+++ /mounts/work_src_done/STABLE/pfmon/pfmon.changes 2007-03-02 17:37:10.000000000 +0100
@@ -1,0 +2,6 @@
+Fri Mar 2 17:24:06 CET 2007 - schwab(a)suse.de
+
+- Update to pfmon 3.2 snapshot 070206.
+- Fix sampling module list [#249923].
+
+-------------------------------------------------------------------
Old:
----
pfmon-3.2-061205.diff
pfmon-3.2-061205.tar.gz
New:
----
pfmon-3.2-070206.diff
pfmon-3.2-070206.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pfmon.spec ++++++
--- /var/tmp/diff_new_pack.XT8287/_old 2007-03-03 14:32:50.000000000 +0100
+++ /var/tmp/diff_new_pack.XT8287/_new 2007-03-03 14:32:50.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package pfmon (Version 3.2_061205)
+# spec file for package pfmon (Version 3.2_070206)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,9 +11,10 @@
# norootforbuild
Name: pfmon
+URL: http://perfmon2.sourceforge.net/
BuildRequires: binutils-devel libelf libpfm
Summary: Performance monitoring tool for Linux
-Version: 3.2_061205
+Version: 3.2_070206
Release: 1
%define pfmon_version %(echo %version | sed s/_/-/g)
Group: Development/Tools/Debuggers
@@ -56,7 +57,10 @@
/usr/bin/*
%{_mandir}/man*/*.gz
-%changelog -n pfmon
+%changelog
+* Fri Mar 02 2007 - schwab(a)suse.de
+- Update to pfmon 3.2 snapshot 070206.
+- Fix sampling module list [#249923].
* Thu Jan 11 2007 - schwab(a)suse.de
- Update to pfmon 3.2 snapshot 061205.
* Wed Jan 25 2006 - mls(a)suse.de
++++++ pfmon-3.2-061205.diff -> pfmon-3.2-070206.diff ++++++
--- arch/ia64/pfmon/pfmon-3.2-061205.diff 2007-01-11 10:38:37.000000000 +0100
+++ /mounts/work_src_done/STABLE/pfmon/pfmon-3.2-070206.diff 2007-03-02 16:54:44.000000000 +0100
@@ -9,6 +9,17 @@
$(SMPL_MOD_LIB) subdirs:
@set -e ; for d in $(DIRS) ; do $(MAKE) -C $$d all; done
+--- pfmon/pfmon_smpl.c
++++ pfmon/pfmon_smpl.c
+@@ -626,7 +626,7 @@
+ while (*p) {
+
+ if ( ((is22 == 0 && ((*p)->flags & PFMON_SMPL_MOD_FL_LEGACY)) ||( is22 && ((*p)->flags & PFMON_SMPL_MOD_FL_LEGACY) == 0))
+- || (pfmon_bitmask_isset((*p)->pmu_mask, type))) printf("[%s] ", (*p)->name);
++ && (pfmon_bitmask_isset((*p)->pmu_mask, type))) printf("[%s] ", (*p)->name);
+ p++;
+ }
+ printf("\n");
--- tests/Makefile
+++ tests/Makefile
@@ -51,7 +51,7 @@
++++++ pfmon-3.2-061205.tar.gz -> pfmon-3.2-070206.tar.gz ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pfmon-3.2-061205/pfmon/pfmon_core.c new/pfmon-3.2-070206/pfmon/pfmon_core.c
--- old/pfmon-3.2-061205/pfmon/pfmon_core.c 2006-12-04 17:13:25.000000000 +0100
+++ new/pfmon-3.2-070206/pfmon/pfmon_core.c 2007-02-06 21:52:02.000000000 +0100
@@ -375,9 +375,38 @@
pfmon_core_show_event_info(unsigned int idx)
{
pfmlib_event_t e;
+ unsigned int n, np, i;
+ char name[PFMON_MAX_EVTNAME_LEN];
+
+
memset(&e, 0, sizeof(e));
e.event = idx;
- printf("PEBS : %s\n", pfm_core_is_pebs(&e) ? "Yes" : "No");
+
+ pfm_get_num_event_masks(idx, &n);
+
+ printf("PEBS : ");
+
+ if (n) {
+ np = 0;
+ for(i=0; i < n; i++) {
+ e.num_masks = 1;
+ e.unit_masks[0] = i;
+ if (pfm_core_is_pebs(&e)) {
+ pfm_get_event_mask_name(idx, i, name, PFMON_MAX_EVTNAME_LEN);
+ printf("[%s] ", name);
+ np++;
+ }
+ }
+ if (np == 0)
+ puts("No");
+ else
+ putchar('\n');
+ } else {
+ if (pfm_core_is_pebs(&e))
+ puts("Yes");
+ else
+ puts("No");
+ }
}
/*
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pfmon-3.2-061205/pfmon/pfmon.h new/pfmon-3.2-070206/pfmon/pfmon.h
--- old/pfmon-3.2-061205/pfmon/pfmon.h 2006-12-04 17:13:25.000000000 +0100
+++ new/pfmon-3.2-070206/pfmon/pfmon.h 2007-02-06 21:52:02.000000000 +0100
@@ -623,6 +623,7 @@
extern int perfmon_debug(int m);
extern int extract_cache_size(unsigned int level, unsigned int type, unsigned long *size);
extern void pfmon_clone_sets(pfmon_event_set_t *list, pfmon_sdesc_t *sdesc);
+extern void pfmon_free_sets(pfmon_sdesc_t *sdesc);
extern void pfmon_dump_sets(void);
extern int pfmon_check_kernel_pmu(void);
extern void pfmon_get_version(void);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pfmon-3.2-061205/pfmon/pfmon_task.c new/pfmon-3.2-070206/pfmon/pfmon_task.c
--- old/pfmon-3.2-061205/pfmon/pfmon_task.c 2006-12-04 17:13:25.000000000 +0100
+++ new/pfmon-3.2-070206/pfmon/pfmon_task.c 2007-02-06 21:52:02.000000000 +0100
@@ -526,7 +526,6 @@
return 0;
}
-
/*
* allocates sdesc with accompanying ctx_arg area
*/
@@ -535,11 +534,9 @@
{
pfmon_sdesc_t *tmp;
- tmp = malloc(sizeof(pfmon_sdesc_t) + options.ctx_arg_size);
- if (tmp == NULL) fatal_error("cannot allocate sdesc\n");
-
- /* don't need to initialize ctx area, will be done via copy */
- memset(tmp, 0, sizeof(pfmon_sdesc_t));
+ tmp = calloc(1, sizeof(pfmon_sdesc_t) + options.ctx_arg_size);
+ if (tmp == NULL)
+ fatal_error("cannot allocate sdesc\n");
pthread_mutex_init(&tmp->lock, PTHREAD_MUTEX_TIMED_NP);
@@ -549,6 +546,7 @@
static void
pfmon_sdesc_free(pfmon_sdesc_t *t)
{
+ pfmon_free_sets(t);
free(t);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pfmon-3.2-061205/pfmon/pfmon_util.c new/pfmon-3.2-070206/pfmon/pfmon_util.c
--- old/pfmon-3.2-061205/pfmon/pfmon_util.c 2006-12-04 17:13:25.000000000 +0100
+++ new/pfmon-3.2-070206/pfmon/pfmon_util.c 2007-02-06 21:52:02.000000000 +0100
@@ -816,7 +816,7 @@
memset(phys_mask, 0, sizeof(phys_mask));
- for (i=0; i < PFMON_MAX_CPUS; i++) {
+ for (i=0; i < options.online_cpus; i++) {
if (pfmon_bitmask_isset(mask, i)) {
phys_cpu = pfmon_cpu_virt_to_phys(i);
if (phys_cpu == -1) {
@@ -919,6 +919,17 @@
sdesc->nsets = cnt;
}
+void
+pfmon_free_sets(pfmon_sdesc_t *sdesc)
+{
+ pfmon_event_set_t *set, *tmp;
+ for (set = sdesc->sets ; set; set = tmp) {
+ tmp = set->next;
+ free(set);
+ }
+ sdesc->sets = NULL;
+}
+
/*
* on IA-64 with perfmon-2.0, we used to get the information from /proc/perfmon
*/
@@ -1076,7 +1087,7 @@
{
int ret;
struct rlimit rlim_memlock;
- unsigned long max_entries, orig_smpl_entries;
+ unsigned long max_entries = 0, orig_smpl_entries = 0;
size_t pfm_avail, memlock_avail, mem_avail, pgsz;
pgsz = getpagesize();
@@ -1101,16 +1112,17 @@
mem_avail /= options.selected_cpus;
/* round down to multiple of page size */
- mem_avail -= hdr_sz + slack;
mem_avail /= pgsz;
mem_avail *= pgsz;
if (mem_avail < (hdr_sz + slack))
- max_entries = 0;
- else
- //max_entries = (mem_avail - hdr_sz - slack) / entry_sz;
- max_entries = (mem_avail) / entry_sz;
+ goto no_solution;
+
+ mem_avail -= hdr_sz + slack;
+ //max_entries = (mem_avail - hdr_sz - slack) / entry_sz;
+ max_entries = mem_avail / entry_sz;
+no_solution:
orig_smpl_entries = options.smpl_entries;
if (options.smpl_entries == 0) {
@@ -1119,7 +1131,7 @@
options.smpl_entries = max_entries;
}
- if (options.smpl_entries < orig_smpl_entries)
+ if (options.smpl_entries < orig_smpl_entries || orig_smpl_entries == 0)
warning("Sampling buffer entries limited to %lu due to lack of memory resource.\n"
"Check the locked memory limit with ulimit or limit.\n"
"Check the perfmon global buffer limit in /sys/kernel/perfmon/buffer_size_max.\n",
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pfmon-3.2-061205/tests/exectest.c new/pfmon-3.2-070206/tests/exectest.c
--- old/pfmon-3.2-061205/tests/exectest.c 2006-12-04 17:13:25.000000000 +0100
+++ new/pfmon-3.2-070206/tests/exectest.c 2007-02-06 21:52:02.000000000 +0100
@@ -22,91 +22,35 @@
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
+#include <stdlib.h>
+#include <inttypes.h>
-#ifdef __GNUC__
-extern inline void
-clear_psr_ac(void)
-{
- __asm__ __volatile__("rum psr.ac;;" ::: "memory" );
-}
-#elif defined(__ECC) && defined(__INTEL_COMPILER)
-#include <ia64intrin.h>
-#define clear_psr_ac() __rum(1<<3)
-#else
-#error "You need to define clear_psr_ac() for your compiler"
-#endif
-
-
-#define PFM_TEST_INVALID -1
-#define PFM_TEST_VALID 0
-
-
-static union {
- unsigned long l_tab[2];
- unsigned int i_tab[4];
- unsigned short s_tab[8];
- unsigned char c_tab[16];
-} __attribute__((__aligned__(32))) messy;
-
-
-/*
- * 1 load, 1 store both unaligned
- */
int
-do_two_una(unsigned long pace_count)
+noploop(uint64_t loop)
{
- unsigned int *l, v;
- unsigned long c = pace_count;
-
- static unsigned int called;
-
- called++;
- l = (unsigned int *)(messy.c_tab+1);
-
- if (((unsigned long)l & 0x1) == 0) {
- printf("Data is not unaligned, can't run test\n");
- return -1;
- }
+ unsigned int ret = 0;
- v = *l;
- while(c) c--; /* space the accesses */
- v++;
- *l = v;
+ while ( loop-- ) ret +=getpid();
- if (v != called) return -1;
-
- return c == 0 ? 0: -1;
-}
-
-int
-do_una_test(unsigned long count, unsigned long pace)
-{
- int ret;
-
- /* let the hardware do the unaligned access */
- clear_psr_ac();
-
- ret = 0;
- while (count-- && ret == 0) {
- ret = do_two_una(pace);
- }
return ret;
}
-
int
main(int argc, char **argv)
{
char **p, **q;
+ uint64_t loop;
/* we are done */
- if (argv[1] == NULL) return 0;
+ if (argc < 2)
+ return 0;
- printf("[%d] %s %s\n", getpid(), argv[0], argv[1]);
+ loop = strtoull(argv[1], NULL, 0);
- printf("expecting %lu misaligned loads\n", 1000UL);
+ printf("[%d] %s %s\n", getpid(), argv[0], argv[1]);
+ printf("%"PRIu64" iterations\n", loop);
- do_una_test(1000, 0);
+ noploop(loop);
/*
* preserve argv[0], shift the rest down
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pfmon-3.2-061205/tests/forkexectest.c new/pfmon-3.2-070206/tests/forkexectest.c
--- old/pfmon-3.2-061205/tests/forkexectest.c 2006-12-04 17:13:25.000000000 +0100
+++ new/pfmon-3.2-070206/tests/forkexectest.c 2007-02-06 21:52:02.000000000 +0100
@@ -24,110 +24,32 @@
#include <stdio.h>
#include <string.h>
#include <unistd.h>
+#include <inttypes.h>
#include <sys/wait.h>
-#ifdef __GNUC__
-extern inline void
-clear_psr_ac(void)
-{
- __asm__ __volatile__("rum psr.ac;;" ::: "memory" );
-}
-#elif defined(__ECC) && defined(__INTEL_COMPILER)
-#include <ia64intrin.h>
-#define clear_psr_ac() __rum(1<<3)
-#else
-#error "You need to define clear_psr_ac() for your compiler"
-#endif
-
-
-#define PFM_TEST_INVALID -1
-#define PFM_TEST_VALID 0
-
-
-static union {
- unsigned long l_tab[2];
- unsigned int i_tab[4];
- unsigned short s_tab[8];
- unsigned char c_tab[16];
-} __attribute__((__aligned__(32))) messy;
-
-
-/*
- * 1 load, 1 store both unaligned
- */
-int
-do_two_una(unsigned long pace_count)
-{
- unsigned int *l, v;
- unsigned long c = pace_count;
-
- static unsigned int called;
-
- called++;
- l = (unsigned int *)(messy.c_tab+1);
-
- if (((unsigned long)l & 0x1) == 0) {
- printf("Data is not unaligned, can't run test\n");
- return -1;
- }
-
- v = *l;
- while(c) c--;
- v++;
- *l = v;
-
- if (v != called) return -1;
-
- return c == 0 ? 0: -1;
-}
-
int
-do_una_test(unsigned long count, unsigned long pace)
+noploop(uint64_t loop)
{
- int ret;
+ unsigned int ret = 0;
- /* let the hardware do the unaligned access */
- clear_psr_ac();
+ while ( loop-- ) ret +=getpid();
- ret = 0;
- while (count-- && ret == 0) {
- ret = do_two_una(pace);
- }
return ret;
}
int
-do_test0(unsigned long loop)
-{
- return do_una_test(loop, 100);
-}
-
-int
-do_test1(unsigned long loop)
-{
- return do_una_test(loop, 10);
-}
-
-int
-do_test2(unsigned long loop)
-{
- return do_una_test(loop, 10);
-}
-
-
-int
main(int argc, char **argv)
{
- unsigned long loop;
+ uint64_t loop;
int nfork;
char *cmd;
char fake_cmd[128];
- loop = argc > 1 ? strtoul(argv[1], NULL, 0) : 1000;
+ loop = argc > 1 ? strtoull(argv[1], NULL, 0) : 1000;
nfork = argc > 2 ? atoi(argv[2]) : 0;
if (*argv[0] == '-') {
- do_test2(loop);
+ noploop(loop);
exit(0);
}
@@ -140,19 +62,16 @@
argv[0] = fake_cmd;
printf("creating %d additional process(es)\n", nfork);
-
- printf("expecting %lu misaligned loads for parent\n", loop);
- printf("expecting %lu misaligned loads for between fork and exec\n", loop>>1);
- printf("expecting %lu misaligned loads for exec\n", loop);
+ printf("%"PRIu64" iterations\n", loop);
while (nfork--) {
switch(fork()) {
case -1: perror("fork"); goto cleanup;
- case 0: do_test0(loop>>1);
+ case 0: noploop(loop);
execvp(cmd, argv); exit(1);
}
}
- do_test1(loop);
+ noploop(loop);
cleanup:
while(wait4(-1, NULL, 0 , NULL) > 0);
exit(0);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pfmon-3.2-061205/tests/forktest.c new/pfmon-3.2-070206/tests/forktest.c
--- old/pfmon-3.2-061205/tests/forktest.c 2006-12-04 17:13:25.000000000 +0100
+++ new/pfmon-3.2-070206/tests/forktest.c 2007-02-06 21:52:02.000000000 +0100
@@ -23,127 +23,38 @@
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
+#include <inttypes.h>
#include <sys/wait.h>
-#ifdef __GNUC__
-extern inline void
-clear_psr_ac(void)
-{
- __asm__ __volatile__("rum psr.ac;;" ::: "memory" );
-}
-#elif defined(__ECC) && defined(__INTEL_COMPILER)
-#include <ia64intrin.h>
-#define clear_psr_ac() __rum(1<<3)
-#else
-#error "You need to define clear_psr_ac() for your compiler"
-#endif
-
-
-#define PFM_TEST_INVALID -1
-#define PFM_TEST_VALID 0
-
-
-static union {
- unsigned long l_tab[2];
- unsigned int i_tab[4];
- unsigned short s_tab[8];
- unsigned char c_tab[16];
-} __attribute__((__aligned__(32))) messy;
-
-
-/*
- * 1 load, 1 store both unaligned
- */
int
-do_two_una(unsigned long pace_count)
+noploop(uint64_t loop)
{
- unsigned int *l, v;
- unsigned long c = pace_count;
-
- static unsigned int called;
+ unsigned int ret = 0;
- called++;
- l = (unsigned int *)(messy.c_tab+1);
-
- if (((unsigned long)l & 0x1) == 0) {
- printf("Data is not unaligned, can't run test\n");
- return -1;
- }
+ while ( loop-- ) ret +=getpid();
- v = *l;
- while(c) c--; /* space the accesses */
- v++;
- *l = v;
-
- if (v != called) return -1;
-
- return c == 0 ? 0: -1;
-}
-
-int
-do_una_test1(unsigned long pace)
-{
- return do_two_una(pace);
-}
-
-int
-do_una_test2(unsigned long pace)
-{
- return do_two_una(pace);
-}
-
-
-int
-do_una_test(unsigned long count, unsigned long pace)
-{
- int ret;
-
- /* let the hardware do the unaligned access */
- clear_psr_ac();
-
- ret = 0;
- while (count-- && ret == 0) {
- ret = count & 0x1 ? do_una_test1(pace) : do_una_test2(pace);
- }
return ret;
}
-
-
-int
-do_test1(unsigned long loop)
-{
- return do_una_test(loop, 0);
-}
-
-int
-do_test2(unsigned long loop)
-{
- return do_una_test(loop, 0);
-}
-
-
int
main(int argc, char **argv)
{
- unsigned long loop;
+ uint64_t loop;
int nfork;
- loop = argc > 1 ? strtoul(argv[1], NULL, 0) : 1000;
+ loop = argc > 1 ? strtoull(argv[1], NULL, 0) : 1000;
nfork = argc > 2 ? atoi(argv[2]) : 0;
printf("creating %d additional process(es)\n", nfork);
-
- printf("expecting %lu misaligned loads for parent\n", loop);
- printf("expecting %lu misaligned loads for each process\n", loop);
+ printf("%"PRIu64" iterations\n", loop);
while (nfork--) {
switch(fork()) {
case -1: perror("fork"); goto cleanup;
- case 0: do_test2(loop); exit(0);
+ case 0: noploop(loop); exit(0);
}
}
- do_test1(loop);
+ noploop(loop);
cleanup:
while(wait4(-1, NULL, 0 , NULL) > 0);
exit(0);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pfmon-3.2-061205/tests/Makefile new/pfmon-3.2-070206/tests/Makefile
--- old/pfmon-3.2-061205/tests/Makefile 2006-12-04 17:13:25.000000000 +0100
+++ new/pfmon-3.2-070206/tests/Makefile 2007-02-06 21:52:02.000000000 +0100
@@ -28,12 +28,12 @@
CFLAGS += -I$(TOPDIR)/pfmon -D_GNU_SOURCE
TARGETS= getpid noploop fpops exec saxpy saxpyf \
- linked_list
+ linked_list forktest forkexectest
+XTRA_TARGETS+=pthreadtest
-XTRA_TARGETS=pfdbg
+XTRA_TARGETS=pfdbg pthreadtest exectest forktest forkexectest
ifeq ($(ARCH),ia64)
-TARGETS +=una spectest specatest exectest forktest forkexectest unasig triggers itlb_test
-XTRA_TARGETS+=pthreadtest
+TARGETS +=una spectest specatest unasig triggers itlb_test
endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/pfmon-3.2-061205/tests/pthreadtest.c new/pfmon-3.2-070206/tests/pthreadtest.c
--- old/pfmon-3.2-061205/tests/pthreadtest.c 2006-12-04 17:13:25.000000000 +0100
+++ new/pfmon-3.2-070206/tests/pthreadtest.c 2007-02-06 21:52:02.000000000 +0100
@@ -24,98 +24,18 @@
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
-
-#ifdef __GNUC__
-extern inline void
-clear_psr_ac(void)
-{
- __asm__ __volatile__("rum psr.ac;;" ::: "memory" );
-}
-#elif defined(__ECC) && defined(__INTEL_COMPILER)
-#include <ia64intrin.h>
-#define clear_psr_ac() __rum(1<<3)
-#else
-#error "You need to define clear_psr_ac() for your compiler"
-#endif
-
-
-#define PFM_TEST_INVALID -1
-#define PFM_TEST_VALID 0
-
-
-static union {
- unsigned long l_tab[2];
- unsigned int i_tab[4];
- unsigned short s_tab[8];
- unsigned char c_tab[16];
-} __attribute__((__aligned__(32))) messy;
-
-
-/*
- * 1 load, 1 store both unaligned
- */
-int
-do_two_una(unsigned long pace_count)
-{
- unsigned int *l, v;
- unsigned long c = pace_count;
-
- static unsigned int called;
-
- called++;
- l = (unsigned int *)(messy.c_tab+1);
-
- if (((unsigned long)l & 0x1) == 0) {
- printf("Data is not unaligned, can't run test\n");
- return -1;
- }
-
- v = *l;
- while(c) c--; /* space the accesses */
- v++;
- *l = v;
-
- if (v != called) return -1;
-
- return c == 0 ? 0: -1;
-}
-
-int
-do_una_test(unsigned long count, unsigned long pace)
-{
- int ret;
-
- /* let the hardware do the unaligned access */
- clear_psr_ac();
-
- ret = 0;
- while (count-- && ret == 0) {
- ret = do_two_una(pace);
- printf("pid=%d count=%lu\n", getpid(), count);
- }
- return ret;
-}
-
-int
-do_test1(unsigned long loop)
-{
- return do_una_test(loop, 0);
-}
-
-int
-do_test2(unsigned long loop)
-{
- return do_una_test(loop, 0);
-}
-
-
+#include <inttypes.h>
+#include <sys/wait.h>
void
-launch_test2(void *data)
+noploop(void *data)
{
- unsigned long loop = *(unsigned long *)data;
+ uint64_t loop = *(uint64_t *)data;
+ unsigned int ret = 0;
int retval = 0;
- do_test2(loop);
+
+ while ( loop-- ) ret +=getpid();
+
pthread_exit((void *)&retval);
}
@@ -124,16 +44,15 @@
main(int argc, char **argv)
{
pthread_t *thread_list;
- unsigned long loop;
+ uint64_t loop;
int nt, nthreads = 0, ret;
- loop = argc > 1 ? strtoul(argv[1], NULL, 0) : 1000;
+ loop = argc > 1 ? strtoull(argv[1], NULL, 0) : 1000;
nt = argc > 2 ? atoi(argv[2]) : 0;
printf("creating %d thread(s)\n", nt);
- printf("expecting %lu misaligned loads for parent\n", loop);
- printf("expecting %lu misaligned loads for each thread (except manager)\n", loop);
+ printf("%"PRIu64" iterations\n", loop);
thread_list = malloc(nt*sizeof(pthread_t));
if (thread_list == NULL) {
@@ -142,11 +61,11 @@
}
while (nt--) {
- ret = pthread_create(&thread_list[nt], NULL, (void *(*)(void *))launch_test2, &loop);
+ ret = pthread_create(&thread_list[nt], NULL, (void *(*)(void *))noploop, &loop);
if (ret == -1) goto cleanup;
nthreads++;
}
- do_test1(loop);
+ noploop(&loop);
cleanup:
while(nthreads--) {
pthread_join(thread_list[nthreads], NULL);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-update
checked in at Sat Mar 3 14:32:42 CET 2007.
--------
--- yast2-update/yast2-update.changes 2007-02-26 09:36:21.000000000 +0100
+++ /mounts/work_src_done/NOARCH/yast2-update/yast2-update.changes 2007-03-02 16:29:51.000000000 +0100
@@ -1,0 +2,7 @@
+Thu Mar 1 15:13:11 CET 2007 - locilka(a)suse.cz
+
+- Added more logging because of bug #249791.
+- Better layout for "Select System or Partition to Boot" dialog.
+- 2.15.5
+
+-------------------------------------------------------------------
Old:
----
yast2-update-2.15.4.tar.bz2
New:
----
yast2-update-2.15.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-update.spec ++++++
--- /var/tmp/diff_new_pack.hc6582/_old 2007-03-03 14:32:33.000000000 +0100
+++ /var/tmp/diff_new_pack.hc6582/_new 2007-03-03 14:32:33.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-update (Version 2.15.4)
+# spec file for package yast2-update (Version 2.15.5)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
# norootforbuild
Name: yast2-update
-Version: 2.15.4
+Version: 2.15.5
Release: 1
License: GNU General Public License (GPL)
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-update-2.15.4.tar.bz2
+Source0: yast2-update-2.15.5.tar.bz2
prefix: /usr
BuildRequires: docbook-xsl-stylesheets doxygen libxslt perl-XML-Writer sgml-skel update-desktop-files yast2 yast2-add-on yast2-devtools yast2-packager yast2-testsuite yast2-xml
Requires: yast2
@@ -51,7 +51,7 @@
Jiri Srain <jsrain(a)suse.cz>
%prep
-%setup -n yast2-update-2.15.4
+%setup -n yast2-update-2.15.5
%build
%{prefix}/bin/y2tool y2autoconf
@@ -86,6 +86,10 @@
%doc %{prefix}/share/doc/packages/yast2-update
%changelog
+* Thu Mar 01 2007 - locilka(a)suse.cz
+- Added more logging because of bug #249791.
+- Better layout for "Select System or Partition to Boot" dialog.
+- 2.15.5
* Mon Feb 26 2007 - locilka(a)suse.cz
- Adding yast2-add-on to BuildRequires.
- Cleaning makefiles from vendor.desktop.
++++++ yast2-update-2.15.4.tar.bz2 -> yast2-update-2.15.5.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-update-2.15.4/src/include/rootpart.ycp new/yast2-update-2.15.5/src/include/rootpart.ycp
--- old/yast2-update-2.15.4/src/include/rootpart.ycp 2007-02-15 11:42:49.000000000 +0100
+++ new/yast2-update-2.15.5/src/include/rootpart.ycp 2007-03-01 15:54:12.000000000 +0100
@@ -145,7 +145,6 @@
");
term contents = `HBox (
- `HSpacing (2),
`VBox (
`VSpacing (1),
`HSpacing( 40 ), // force minimum width
@@ -169,8 +168,7 @@
// check box
_("&Show All Partitions"), false)),
`VSpacing (1)
- ),
- `HSpacing (2)
+ )
);
@@ -191,27 +189,35 @@
if (flavor == `boot_popup)
{
buttons = `HBox (
+ `HStretch (),
// pushbutton to (rightaway) boot the system selected above
`HWeight( 1, `PushButton(`id(`next), `opt(`default), _("&Boot")) ),
`HSpacing( 1 ),
- `HWeight( 1, `PushButton(`id(`cancel), Label::CancelButton() ) )
+ `HWeight( 1, `PushButton(`id(`cancel), Label::CancelButton() ) ),
+ `HStretch ()
);
}
- term full = `HBox (
- `VSpacing( 16 ), // force dialog height
- `VBox(
- `HSpacing( 30 ), // force help text width
- `RichText( help_text )
- ),
- `HSpacing( 3 ),
- `VBox(
- `VSpacing( 1 ),
- contents,
- buttons
- ),
- `HSpacing( 3 )
- );
+ term full = `MinHeight (
+ 16,
+ `HBox (
+ `HSquash (
+ `MinWidth (
+ 26,
+ `RichText (`opt(`vstretch), help_text)
+ )
+ ),
+ `HSpacing (2),
+ `VBox (
+ `MinHeight (
+ 15,
+ contents
+ ),
+ buttons
+ ),
+ `HSpacing (2)
+ )
+ );
UI::OpenDialog (full);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-update-2.15.4/src/modules/RootPart.ycp new/yast2-update-2.15.5/src/modules/RootPart.ycp
--- old/yast2-update-2.15.4/src/modules/RootPart.ycp 2007-02-15 11:42:50.000000000 +0100
+++ new/yast2-update-2.15.5/src/modules/RootPart.ycp 2007-03-01 15:13:38.000000000 +0100
@@ -6,7 +6,7 @@
* Purpose: Responsible for searching of root partitions and
* mounting of target partitions.
*
- * $Id: RootPart.ycp 36121 2007-02-14 09:13:08Z locilka $
+ * $Id: RootPart.ycp 36613 2007-03-01 14:13:35Z locilka $
*/
{
module "RootPart";
@@ -1148,9 +1148,20 @@
list <map> crtab = [];
read_fstab_and_cryptotab (fstab, crtab);
fstab = filter( map p, fstab, ``(p["file"]:""=="/"));
+
+ if (size(fstab[0,"spec"]:"") == 0) {
+ y2warning ("Cannot find / entry in fstab %1", fstab);
+ }
+
boolean ok = size(fstab[0,"spec"]:"")>0 &&
Storage::DeviceMatchFstab( p_dev,
fstab[0,"spec"]:"" );
+
+ // Why this doesn't match?
+ if (ok != true) {
+ y2warning ("Device does not match fstab: '%1' vs. '%2'", p_dev, fstab[0,"spec"]:"");
+ }
+
freshman[`valid] = ok;
// Get installed release name
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-update-2.15.4/VERSION new/yast2-update-2.15.5/VERSION
--- old/yast2-update-2.15.4/VERSION 2007-02-26 09:36:28.000000000 +0100
+++ new/yast2-update-2.15.5/VERSION 2007-03-02 16:29:56.000000000 +0100
@@ -1 +1 @@
-2.15.4
+2.15.5
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 openmotif
checked in at Sat Mar 3 14:32:38 CET 2007.
--------
--- openmotif/openmotif.changes 2007-01-17 18:15:02.000000000 +0100
+++ /mounts/work_src_done/STABLE/openmotif/openmotif.changes 2007-03-03 13:05:19.000000000 +0100
@@ -1,0 +2,5 @@
+Sat Mar 3 13:05:08 CET 2007 - aj(a)suse.de
+
+- /usr/share/xsessions is part of filesystems package now.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openmotif.spec ++++++
--- /var/tmp/diff_new_pack.Fh6304/_old 2007-03-03 14:32:31.000000000 +0100
+++ /var/tmp/diff_new_pack.Fh6304/_new 2007-03-03 14:32:31.000000000 +0100
@@ -18,7 +18,7 @@
%endif
BuildRequires: freetype2-devel pkgconfig update-desktop-files xorg-x11 xorg-x11-devel
Version: 2.3.0beta2
-Release: 42
+Release: 47
License: Other License(s), see package
Group: System/Libraries
Autoreqprov: on
@@ -161,7 +161,7 @@
%{_mandir}/man1/mwm.1.gz
%{_mandir}/man1/xmbind.1.gz
%{_mandir}/man4/*.gz
-/usr/share/xsessions
+/usr/share/xsessions/*
%files libs
%defattr(-, root, root)
@@ -182,7 +182,9 @@
%{_mandir}/man3/*.gz
%{_mandir}/man5/*.gz
-%changelog -n openmotif
+%changelog
+* Sat Mar 03 2007 - aj(a)suse.de
+- /usr/share/xsessions is part of filesystems package now.
* Wed Jan 17 2007 - schwab(a)suse.de
- Fix string compare.
* Fri Oct 13 2006 - schwab(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 openbox
checked in at Sat Mar 3 14:32:34 CET 2007.
--------
--- openbox/openbox.changes 2007-01-31 00:24:50.000000000 +0100
+++ /mounts/work_src_done/STABLE/openbox/openbox.changes 2007-03-03 13:12:17.000000000 +0100
@@ -1,0 +2,5 @@
+Sat Mar 3 13:12:07 CET 2007 - aj(a)suse.de
+
+- /usr/share/xsessions is part of filesystem now.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openbox.spec ++++++
--- /var/tmp/diff_new_pack.At5447/_old 2007-03-03 14:32:21.000000000 +0100
+++ /var/tmp/diff_new_pack.At5447/_new 2007-03-03 14:32:21.000000000 +0100
@@ -17,7 +17,7 @@
Provides: windowmanager
Autoreqprov: on
Version: 3.3.1
-Release: 31
+Release: 36
Summary: ICCCM and EWMH Compliant Window Manager with Very Few Dependencies
URL: http://icculus.org/openbox/
Source: %name-%version.tar.bz2
@@ -110,7 +110,7 @@
%_bindir/kdetrayproxy
%_bindir/gnome-panel-control
%_libdir/*.so.*
-%_datadir/xsessions
+%_datadir/xsessions/*
%dir /usr/share/gnome
/usr/share/gnome/wm-properties
%_datadir/%name
@@ -128,7 +128,9 @@
%_libdir/pkgconfig/*.pc
%_libdir/*.so
-%changelog -n openbox
+%changelog
+* Sat Mar 03 2007 - aj(a)suse.de
+- /usr/share/xsessions is part of filesystem now.
* Wed Jan 31 2007 - ro(a)suse.de
- GNOME moved to /usr
* Wed Sep 13 2006 - hvogel(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 kernel-source
checked in at Sat Mar 3 14:32:20 CET 2007.
--------
--- kernel-source/kernel-bigsmp.changes 2007-02-28 22:39:23.000000000 +0100
+++ /mounts/work_src_done/STABLE/kernel-source/kernel-bigsmp.changes 2007-03-02 18:08:39.090223000 +0100
@@ -1,0 +2,7 @@
+Thu Mar 1 20:05:16 CET 2007 - agruen(a)suse.de
+
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
+
+-------------------------------------------------------------------
kernel-debug.changes: same change
kernel-default.changes: same change
kernel-dummy.changes: same change
kernel-iseries64.changes: same change
kernel-kdump.changes: same change
kernel-ppc64.changes: same change
kernel-s390.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-um.changes: same change
kernel-vanilla.changes: same change
kernel-xen.changes: same change
kernel-xenpae.changes: same change
New:
----
needed_space_in_mb
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-bigsmp.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:27:58.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:27:58.000000000 +0100
@@ -39,7 +39,7 @@
%endif
Summary: Kernel with PAE Support
Version: 2.6.20
-Release: 7
+Release: 8
License: GNU General Public License (GPL)
Group: System/Kernel
Autoreqprov: on
@@ -136,9 +136,9 @@
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
%define tolerate_unknown_new_config_options 0
-# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15;
-# see scripts/kabi-checks)
-%define tolerate_kabi_changes 6
+# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15,
+# 31 is the maximum; see scripts/kabi-checks)
+%define tolerate_kabi_changes 31
%description
This kernel supports up to 64GB of main memory. It requires Physical
@@ -147,7 +147,7 @@
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.20.tar.bz2 ]; then
@@ -490,6 +490,10 @@
%files -f kernel.files
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:27:59.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:27:59.000000000 +0100
@@ -39,7 +39,7 @@
%endif
Summary: A Debug Version of the Kernel
Version: 2.6.20
-Release: 7
+Release: 8
License: GNU General Public License (GPL)
Group: System/Kernel
Autoreqprov: on
@@ -142,9 +142,9 @@
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
%define tolerate_unknown_new_config_options 0
-# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15;
-# see scripts/kabi-checks)
-%define tolerate_kabi_changes 6
+# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15,
+# 31 is the maximum; see scripts/kabi-checks)
+%define tolerate_kabi_changes 31
%description
This kernel has several debug facilities enabled that hurt performance.
@@ -152,7 +152,7 @@
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.20.tar.bz2 ]; then
@@ -495,6 +495,10 @@
%files -f kernel.files
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ kernel-default.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:27:59.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:27:59.000000000 +0100
@@ -39,7 +39,7 @@
%endif
Summary: The Standard Kernel for both Uniprocessor and Multiprocessor Systems
Version: 2.6.20
-Release: 7
+Release: 8
License: GNU General Public License (GPL)
Group: System/Kernel
Autoreqprov: on
@@ -164,16 +164,16 @@
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
%define tolerate_unknown_new_config_options 0
-# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15;
-# see scripts/kabi-checks)
-%define tolerate_kabi_changes 6
+# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15,
+# 31 is the maximum; see scripts/kabi-checks)
+%define tolerate_kabi_changes 31
%description
The standard kernel for both uniprocessor and multiprocessor systems.
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.20.tar.bz2 ]; then
@@ -516,6 +516,10 @@
%files -f kernel.files
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ kernel-dummy.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:27:59.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:27:59.000000000 +0100
@@ -15,7 +15,7 @@
URL: http://www.kernel.org/
Summary: Internal dummy package for synchronizing release numbers
Version: 2.6.20
-Release: 7
+Release: 8
License: GNU General Public License (GPL)
Group: System/Kernel
Autoreqprov: off
@@ -28,7 +28,7 @@
--------
Andreas Gruenbacher <agruen(a)suse.de>
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%install
@@ -41,6 +41,10 @@
/etc/dummy
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ kernel-iseries64.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:27:59.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:27:59.000000000 +0100
@@ -39,7 +39,7 @@
%endif
Summary: 64-Bit Kernel for iSeries
Version: 2.6.20
-Release: 7
+Release: 8
License: GNU General Public License (GPL)
Group: System/Kernel
Autoreqprov: on
@@ -139,16 +139,16 @@
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
%define tolerate_unknown_new_config_options 0
-# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15;
-# see scripts/kabi-checks)
-%define tolerate_kabi_changes 6
+# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15,
+# 31 is the maximum; see scripts/kabi-checks)
+%define tolerate_kabi_changes 31
%description
Standard 64-bit kernel for legacy IBM iSeries machines.
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.20.tar.bz2 ]; then
@@ -491,6 +491,10 @@
%files -f kernel.files
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ kernel-kdump.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:28:00.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:28:00.000000000 +0100
@@ -39,7 +39,7 @@
%endif
Summary: kernel for kdump
Version: 2.6.20
-Release: 7
+Release: 8
License: GNU General Public License (GPL)
Group: System/Kernel
Autoreqprov: on
@@ -145,9 +145,9 @@
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
%define tolerate_unknown_new_config_options 0
-# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15;
-# see scripts/kabi-checks)
-%define tolerate_kabi_changes 6
+# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15,
+# 31 is the maximum; see scripts/kabi-checks)
+%define tolerate_kabi_changes 31
%description
This kernel is intended for kdump. It can not be booted with a normal
@@ -157,7 +157,7 @@
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.20.tar.bz2 ]; then
@@ -500,6 +500,10 @@
%files -f kernel.files
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ kernel-ppc64.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:28:00.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:28:00.000000000 +0100
@@ -38,7 +38,7 @@
%endif
Summary: Kernel for ppc64 Systems
Version: 2.6.20
-Release: 7
+Release: 8
License: GNU General Public License (GPL), GNU Library General Public License v. 2.0 and 2.1 (LGPL)
Group: System/Kernel
Autoreqprov: on
@@ -140,9 +140,9 @@
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
%define tolerate_unknown_new_config_options 0
-# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15;
-# see scripts/kabi-checks)
-%define tolerate_kabi_changes 6
+# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15,
+# 31 is the maximum; see scripts/kabi-checks)
+%define tolerate_kabi_changes 31
%description
This package contains the kernel for:
@@ -162,7 +162,7 @@
Tom Gall <tom_gall(a)vnet.ibm.com>
see /usr/src/linux-pmac-benh/CREDITS for more details.
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.20.tar.bz2 ]; then
@@ -505,6 +505,10 @@
%files -f kernel.files
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ kernel-s390.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:28:00.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:28:00.000000000 +0100
@@ -39,7 +39,7 @@
%endif
Summary: The Standard Kernel
Version: 2.6.20
-Release: 5
+Release: 6
License: GNU General Public License (GPL)
Group: System/Kernel
Autoreqprov: on
@@ -136,16 +136,16 @@
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
%define tolerate_unknown_new_config_options 0
-# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15;
-# see scripts/kabi-checks)
-%define tolerate_kabi_changes 6
+# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15,
+# 31 is the maximum; see scripts/kabi-checks)
+%define tolerate_kabi_changes 31
%description
The standard kernel.
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.20.tar.bz2 ]; then
@@ -488,6 +488,10 @@
%files -f kernel.files
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:28:00.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:28:00.000000000 +0100
@@ -22,7 +22,7 @@
%endif
Summary: The Linux Kernel Sources
Version: 2.6.20
-Release: 7
+Release: 8
License: GNU General Public License (GPL)
Group: Development/Sources
Autoreqprov: off
@@ -106,7 +106,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.20.tar.bz2 ]; then
@@ -295,6 +295,10 @@
%files -f kernel-source.files
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:28:00.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:28:00.000000000 +0100
@@ -14,7 +14,7 @@
URL: http://www.kernel.org/
Summary: Kernel Symbol Versions (modversions)
Version: 2.6.20
-Release: 7
+Release: 8
License: GNU General Public License (GPL)
Group: Development/Sources
Autoreqprov: off
@@ -90,7 +90,7 @@
see /usr/src/linux/CREDITS for more details.
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%prep
echo "Architecture symbol(s):" %symbols
@@ -137,6 +137,10 @@
/lib/modules/*/modules.alias
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ kernel-um.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:28:01.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:28:01.000000000 +0100
@@ -39,7 +39,7 @@
%endif
Summary: The User Mode Linux kernel.
Version: 2.6.20
-Release: 7
+Release: 8
License: GNU General Public License (GPL)
Group: System/Kernel
Autoreqprov: on
@@ -141,9 +141,9 @@
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
%define tolerate_unknown_new_config_options 0
-# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15;
-# see scripts/kabi-checks)
-%define tolerate_kabi_changes 6
+# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15,
+# 31 is the maximum; see scripts/kabi-checks)
+%define tolerate_kabi_changes 31
%description
The User Mode Linux kernel.
@@ -153,7 +153,7 @@
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.20.tar.bz2 ]; then
@@ -496,6 +496,10 @@
%files -f kernel.files
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:28:01.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:28:01.000000000 +0100
@@ -39,7 +39,7 @@
%endif
Summary: The Standard Kernel - without any SUSE patches
Version: 2.6.20
-Release: 7
+Release: 8
License: GNU General Public License (GPL)
Group: System/Kernel
Autoreqprov: on
@@ -156,16 +156,16 @@
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
%define tolerate_unknown_new_config_options 0
-# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15;
-# see scripts/kabi-checks)
-%define tolerate_kabi_changes 6
+# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15,
+# 31 is the maximum; see scripts/kabi-checks)
+%define tolerate_kabi_changes 31
%description
The standard kernel - without any SUSE patches
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.20.tar.bz2 ]; then
@@ -508,6 +508,10 @@
%files -f kernel.files
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ kernel-xenpae.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:28:01.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:28:01.000000000 +0100
@@ -39,7 +39,7 @@
%endif
Summary: The Xen Kernel with PAE support
Version: 2.6.20
-Release: 7
+Release: 8
License: GNU General Public License (GPL)
Group: System/Kernel
Autoreqprov: on
@@ -134,9 +134,9 @@
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
%define tolerate_unknown_new_config_options 0
-# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15;
-# see scripts/kabi-checks)
-%define tolerate_kabi_changes 6
+# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15,
+# 31 is the maximum; see scripts/kabi-checks)
+%define tolerate_kabi_changes 31
%description
The Linux kernel for Xen paravirtualization with Physical Addressing
@@ -148,7 +148,7 @@
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.20.tar.bz2 ]; then
@@ -491,6 +491,10 @@
%files -f kernel.files
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ kernel-xen.spec ++++++
--- /var/tmp/diff_new_pack.aT7619/_old 2007-03-03 14:28:01.000000000 +0100
+++ /var/tmp/diff_new_pack.aT7619/_new 2007-03-03 14:28:01.000000000 +0100
@@ -39,7 +39,7 @@
%endif
Summary: The Xen Kernel
Version: 2.6.20
-Release: 7
+Release: 8
License: GNU General Public License (GPL)
Group: System/Kernel
Autoreqprov: on
@@ -139,9 +139,9 @@
# Will modules not listed in supported.conf abort the kernel build (0/1)?
%define supported_modules_check 0
%define tolerate_unknown_new_config_options 0
-# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15;
-# see scripts/kabi-checks)
-%define tolerate_kabi_changes 6
+# kABI change tolerance (default in maintenance should be 4, 6, 8 or 15,
+# 31 is the maximum; see scripts/kabi-checks)
+%define tolerate_kabi_changes 31
%description
The Linux kernel for Xen paravirtualization.
@@ -151,7 +151,7 @@
-Source Timestamp: 2007/02/28 13:03:07 UTC
+Source Timestamp: 2007/03/01 19:12:21 UTC
%prep
if ! [ -e %_sourcedir/linux-2.6.20.tar.bz2 ]; then
@@ -494,6 +494,10 @@
%files -f kernel.files
%changelog
+* Thu Mar 01 2007 - agruen(a)suse.de
+- scripts/kabi-checks: update so that this will also work with
+ additional columns in the symvers files. Bump tolerate_kabi_changes
+ to 31; we don't want the build to fail.
* Wed Feb 28 2007 - kraxel(a)suse.de
- patches.xen/add-console-use-vt: add console_use_vt.
* Wed Feb 28 2007 - kraxel(a)suse.de
++++++ build-source-timestamp ++++++
--- kernel-source/build-source-timestamp 2007-02-28 22:39:20.000000000 +0100
+++ /mounts/work_src_done/STABLE/kernel-source/build-source-timestamp 2007-03-02 18:08:31.511809000 +0100
@@ -1 +1 @@
-2007/02/28 13:03:07 UTC
+2007/03/01 19:12:21 UTC
++++++ config.tar.bz2 ++++++
++++++ kabi-checks ++++++
--- kernel-source/kabi-checks 2007-02-28 22:39:24.000000000 +0100
+++ /mounts/work_src_done/STABLE/kernel-source/kabi-checks 2007-03-02 18:08:42.403907000 +0100
@@ -159,13 +159,19 @@
}
filter_out_identical_symbols() {
- grep -v -P '^\S+ -(\S+) \S+ \+\1 \S+$'
+ # This expression works no matter how many columns the files have.
+ grep -v -P '^\S+ -(\S+)( \S+)+ \+\1( \S+)+$'
}
check_modified_symbols() {
declare -i RC=0 _rc
- while read symbol version1 source1 version2 source2; do
+ while read symbol tail; do
+ # Split in half no matter how many columns the files have.
+ set -- $tail ; half=$(($#/2+1))
+ version1=$1 ; version2=${!half} ; shift
+ source1=$1 ; source2=${!half} ; shift
+
case "$version1$version2" in
-\#*)
continue
++++++ kabi.tar.bz2 ++++++
++++++ novell-kmp.tar.bz2 ++++++
++++++ patches.arch.tar.bz2 ++++++
++++++ patches.drivers.tar.bz2 ++++++
++++++ patches.fixes.tar.bz2 ++++++
++++++ patches.rpmify.tar.bz2 ++++++
++++++ patches.suse.tar.bz2 ++++++
++++++ patches.uml.tar.bz2 ++++++
++++++ patches.xen.tar.bz2 ++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-ldap-server
checked in at Sat Mar 3 14:32:15 CET 2007.
--------
--- yast2-ldap-server/yast2-ldap-server.changes 2007-02-20 14:38:09.000000000 +0100
+++ /mounts/work_src_done/NOARCH/yast2-ldap-server/yast2-ldap-server.changes 2007-03-02 15:47:37.000000000 +0100
@@ -1,0 +2,9 @@
+Fri Mar 2 15:42:32 CET 2007 - rhafer(a)suse.de
+
+- Fixes for Bug #250228:
+ * Don't write duplicate Database sections into AutoYaST profiles
+ * Leave out default Server Certificate Settings as long as CA-Management
+ does not export its settings
+- Version 2.15.3
+
+-------------------------------------------------------------------
Old:
----
yast2-ldap-server-2.15.2.tar.bz2
New:
----
yast2-ldap-server-2.15.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-ldap-server.spec ++++++
--- /var/tmp/diff_new_pack.ph2403/_old 2007-03-03 14:32:08.000000000 +0100
+++ /var/tmp/diff_new_pack.ph2403/_new 2007-03-03 14:32:08.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-ldap-server (Version 2.15.2)
+# spec file for package yast2-ldap-server (Version 2.15.3)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
# norootforbuild
Name: yast2-ldap-server
-Version: 2.15.2
+Version: 2.15.3
Release: 1
License: GNU General Public License (GPL), X11/MIT
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-ldap-server-2.15.2.tar.bz2
+Source0: yast2-ldap-server-2.15.3.tar.bz2
prefix: /usr
BuildRequires: perl-XML-Writer pkg-config update-desktop-files yast2 yast2-core yast2-devtools
Requires: yast2 perl perl-gettext yast2-perl-bindings yast2-ca-management perl-X500-DN perl-Digest-SHA1 net-tools
@@ -34,7 +34,7 @@
Andreas Bauer <abauer(a)suse.de>
%prep
-%setup -n yast2-ldap-server-2.15.2
+%setup -n yast2-ldap-server-2.15.3
%build
%{prefix}/bin/y2tool y2autoconf
@@ -74,6 +74,12 @@
%doc %{prefix}/share/doc/packages/yast2-ldap-server
%changelog
+* Fri Mar 02 2007 - rhafer(a)suse.de
+- Fixes for Bug #250228:
+ * Don't write duplicate Database sections into AutoYaST profiles
+ * Leave out default Server Certificate Settings as long as CA-Management
+ does not export its settings
+- Version 2.15.3
* Tue Feb 20 2007 - mc(a)suse.de
- version 2.15.2
- add krb5ACLHack
++++++ yast2-ldap-server-2.15.2.tar.bz2 -> yast2-ldap-server-2.15.3.tar.bz2 ++++++
++++ 6427 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.15.2/configure.in new/yast2-ldap-server-2.15.3/configure.in
--- old/yast2-ldap-server-2.15.2/configure.in 2007-02-20 14:34:28.000000000 +0100
+++ new/yast2-ldap-server-2.15.3/configure.in 2007-03-02 15:44:50.000000000 +0100
@@ -1,9 +1,9 @@
dnl configure.in for yast2-ldap-server
dnl
-dnl -- This file is generated by y2autoconf 2.14.0 - DO NOT EDIT! --
+dnl -- This file is generated by y2autoconf 2.13.18 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-ldap-server, 2.15.2, http://bugs.opensuse.org/, yast2-ldap-server)
+AC_INIT(yast2-ldap-server, 2.15.3, http://bugs.opensuse.org/, yast2-ldap-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.15.2"
+VERSION="2.15.3"
RPMNAME="yast2-ldap-server"
MAINTAINER="Ralf Haferkamp <rhafer(a)suse.de>"
@@ -110,8 +110,6 @@
AC_MSG_ERROR(xgettext is missing; please install gettext-devel.)
fi
-Y2DEVTOOLS_PREFIX=`pkg-config --print-errors --variable=prefix yast2-devtools`
-AC_SUBST(Y2DEVTOOLS_PREFIX)
devtools_ybindir=`pkg-config --print-errors --variable=ybindir yast2-devtools`
devtools_yast2dir=`pkg-config --print-errors --variable=yast2dir yast2-devtools`
@@ -144,9 +142,6 @@
if test "$YCPC" = "false"; then
AC_MSG_ERROR([ycpc is not installed])
fi
-AC_CHECK_FILE($devtools_yast2dir/data/testsuite/Makefile.testsuite, [], [
- AC_MSG_WARN([yast2-testsuite.rpm is not installed])
-])
AC_CONFIG_FILES(Makefile agents/Makefile
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.15.2/Makefile.am new/yast2-ldap-server-2.15.3/Makefile.am
--- old/yast2-ldap-server-2.15.2/Makefile.am 2007-02-20 14:34:28.000000000 +0100
+++ new/yast2-ldap-server-2.15.3/Makefile.am 2007-03-02 15:44:51.000000000 +0100
@@ -7,7 +7,8 @@
#
#where devtools are
-Y2TOOL = $(Y2DEVTOOLS_PREFIX)/bin/y2tool
+PREFIX := $(shell pkg-config --print-errors --variable=prefix yast2-devtools)
+Y2TOOL = $(PREFIX)/bin/y2tool
VERSION = $(shell cat $(srcdir)/VERSION)
RPMNAME = $(shell cat $(srcdir)/RPMNAME)
@@ -19,7 +20,7 @@
# do we do Makefile.am for devtools? It is a little special...
IS_DEVTOOLS = $(findstring yast2-devtools,$(RPMNAME))
-DEVTOOLS_DIR = $(if $(IS_DEVTOOLS),$(srcdir)/devtools,$(Y2DEVTOOLS_PREFIX)/share/YaST2/data/devtools)
+DEVTOOLS_DIR = $(if $(IS_DEVTOOLS),$(srcdir)/devtools,$(PREFIX)/share/YaST2/data/devtools)
ALL_PACKAGES = $(DEVTOOLS_DIR)/admin/all-packages
LEGALESE_DIR = $(if $(HAS_YAST_LICENSE),$(DEVTOOLS_DIR)/admin/copyright/yast,$(DEVTOOLS_DIR)/admin/copyright/gpl)
@@ -33,7 +34,7 @@
AUTOMAKE_OPTIONS = foreign dist-bzip2
# where devtools instal m4 snippets
# argh, executed literally
-#ACLOCAL_AMFLAGS = -I $(Y2DEVTOOLS_PREFIX)/share/aclocal
+#ACLOCAL_AMFLAGS = -I $(PREFIX)/share/aclocal
ACLOCAL_AMFLAGS = -I `if test -d ./devtools/admin; then echo ./devtools/admin; else pkg-config --print-errors --variable=datadir yast2-devtools; fi`/aclocal
Makefile.am.common: $(DEVTOOLS_DIR)/admin/Makefile.am.common
@@ -66,7 +67,7 @@
# because the prerequisite is made here (not anymore!)
# and we don't want any paths in y2autoconf
# info '(autoconf)config.status Invocation'
-$(RPMNAME).pc: $(RPMNAME).pc.in config.status
+$(RPMNAME).pc: $(RPMNAME).pc.in
./config.status --file=$@:$<
if CREATE_PKGCONFIG_NOARCH
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.15.2/Makefile.am.common new/yast2-ldap-server-2.15.3/Makefile.am.common
--- old/yast2-ldap-server-2.15.2/Makefile.am.common 2007-02-20 14:34:28.000000000 +0100
+++ new/yast2-ldap-server-2.15.3/Makefile.am.common 2007-03-02 15:44:50.000000000 +0100
@@ -29,19 +29,7 @@
dist-hook: check-syntax
-CHECK_SYNTAX = true
check-syntax: $(client_DATA) $(ycpchook)
- @if test "$(client_DATA)"; then \
- if $(CHECK_SYNTAX); then \
- TO_CHECK="$(filter %.ycp,$^)"; \
- echo "Checking syntax of $${TO_CHECK}"; \
- if ! $(YCPC) -qE -M. -I. $(YCPCFLAGS) $${TO_CHECK}; then \
- echo "Failed. Disable by 'make ... CHECK_SYNTAX=false' at your own risk"; \
- exit 1; \
- fi; \
- else \
- echo "Syntax check disabled"; \
- fi; \
- fi
+ if test "$(client_DATA)"; then $(bindir)/ycpc -qE -M. -I. $(YCPCFLAGS) $(filter %.ycp,$^) || exit 1; fi
-include .dep
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.15.2/src/LdapServer.pm new/yast2-ldap-server-2.15.3/src/LdapServer.pm
--- old/yast2-ldap-server-2.15.2/src/LdapServer.pm 2007-02-20 14:29:20.000000000 +0100
+++ new/yast2-ldap-server-2.15.3/src/LdapServer.pm 2007-03-02 15:36:45.000000000 +0100
@@ -4,7 +4,7 @@
# Summary: LdapServer settings, input and output functions
# Authors: Andreas Bauer <abauer(a)suse.de>
#
-# $Id: LdapServer.pm 35892 2007-02-06 10:47:33Z rhafer $
+# $Id: LdapServer.pm 36661 2007-03-02 14:36:44Z rhafer $
#
# Representation of the configuration of ldap-server.
# Input and output routines.
@@ -903,12 +903,14 @@
}
my @database_tmp_new = ();
foreach my $db (@$dbListNEW) {
- foreach my $key (keys %{$databaseNEW->{$db}}) {
- if (! defined $databaseNEW->{$db}->{$key} ) {
- delete $databaseNEW->{$db}->{$key};
+ if (! grep( /^$db$/, @$dbList) ){
+ foreach my $key (keys %{$databaseNEW->{$db}}) {
+ if (! defined $databaseNEW->{$db}->{$key} ) {
+ delete $databaseNEW->{$db}->{$key};
+ }
}
+ push @database_tmp_new, $databaseNEW->{$db};
}
- push @database_tmp_new, $databaseNEW->{$db};
}
if (scalar(@database_tmp_new) > 0) {
push @{$hash->{database}}, @database_tmp_new;
@@ -916,8 +918,10 @@
$hash->{allowList} = $allowList;
$hash->{loglevel} = $loglevel;
if($configureCommonServerCertificate) {
- $hash->{commonServerCertificateAvailable} = $commonServerCertificateAvailable;
- $hash->{configureCommonServerCertificate} = $configureCommonServerCertificate;
+#### CA-Management has no real support for AutoYaST-Cloning. So don't export
+# commonServerCert CA-Settings for now.
+# $hash->{commonServerCertificateAvailable} = $commonServerCertificateAvailable;
+# $hash->{configureCommonServerCertificate} = $configureCommonServerCertificate;
} elsif( ( scalar keys %$importCertificates ) > 0 ) {
$hash->{importCertificates} = $importCertificates;
} else {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-ldap-server-2.15.2/VERSION new/yast2-ldap-server-2.15.3/VERSION
--- old/yast2-ldap-server-2.15.2/VERSION 2007-02-20 14:32:41.000000000 +0100
+++ new/yast2-ldap-server-2.15.3/VERSION 2007-03-02 15:42:23.000000000 +0100
@@ -1 +1 @@
-2.15.2
+2.15.3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package mediawiki
checked in at Sat Mar 3 14:32:13 CET 2007.
--------
--- mediawiki/mediawiki.changes 2007-01-15 11:21:38.000000000 +0100
+++ /mounts/work_src_done/STABLE/mediawiki/mediawiki.changes 2007-03-02 16:02:38.000000000 +0100
@@ -1,0 +2,13 @@
+Fri Mar 2 15:53:08 CET 2007 - anicka(a)suse.cz
+
+- update to 1.9.3
+ * Fix a remaining raw use of REQUEST_URI in history
+ * Fix a database error in Special:Recentchangeslinked
+ when using the PostgreSQL database.
+ * Add 'charset' to Content-Type headers on various HTTP error
+ responses to forestall additional UTF-7-autodetect XSS issues.
+ This fixes an issue with the Ajax interface error message on
+ MSIE when $wgUseAjax is enabled (not default configuration);
+ * Trackback responses now specify XML content type
+
+-------------------------------------------------------------------
Old:
----
mediawiki-1.9.0.tar.bz2
New:
----
mediawiki-1.9.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mediawiki.spec ++++++
--- /var/tmp/diff_new_pack.F31955/_old 2007-03-03 14:31:53.000000000 +0100
+++ /var/tmp/diff_new_pack.F31955/_new 2007-03-03 14:31:53.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package mediawiki (Version 1.9.0)
+# spec file for package mediawiki (Version 1.9.3)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -17,7 +17,7 @@
URL: http://www.mediawiki.org
Requires: mod_php_any php-session php-gettext php-zlib php-mysql ImageMagick-Magick++ tetex cjk-latex
Autoreqprov: on
-Version: 1.9.0
+Version: 1.9.3
Release: 1
Summary: A Web-Based Collaborative Editing Environment
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -102,7 +102,17 @@
%attr(-, root, www) %{mediawiki_path}/AdminSettings.sample
%attr(-, root, www) %{mediawiki_path}/config
-%changelog -n mediawiki
+%changelog
+* Fri Mar 02 2007 - anicka(a)suse.cz
+- update to 1.9.3
+ * Fix a remaining raw use of REQUEST_URI in history
+ * Fix a database error in Special:Recentchangeslinked
+ when using the PostgreSQL database.
+ * Add 'charset' to Content-Type headers on various HTTP error
+ responses to forestall additional UTF-7-autodetect XSS issues.
+ This fixes an issue with the Ajax interface error message on
+ MSIE when $wgUseAjax is enabled (not default configuration);
+ * Trackback responses now specify XML content type
* Mon Jan 15 2007 - anicka(a)suse.cz
- update to 1.9.0
* major quarterly release
++++++ mediawiki-1.9.0.tar.bz2 -> mediawiki-1.9.3.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/config/index.php new/mediawiki-1.9.3/config/index.php
--- old/mediawiki-1.9.0/config/index.php 2007-01-10 21:38:12.000000000 +0100
+++ new/mediawiki-1.9.3/config/index.php 2007-02-21 03:20:32.000000000 +0100
@@ -551,7 +551,7 @@
$conf->RightsUrl = "http://www.gnu.org/copyleft/fdl.html";
$conf->RightsText = "GNU Free Documentation License 1.2";
$conf->RightsCode = "gfdl";
- $conf->RightsIcon = '${wgStylePath}/common/images/gnu-fdl.png';
+ $conf->RightsIcon = '${wgScriptPath}/skins/common/images/gnu-fdl.png';
} elseif( $conf->License == "none" ) {
$conf->RightsUrl = $conf->RightsText = $conf->RightsCode = $conf->RightsIcon = "";
} else {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/img_auth.php new/mediawiki-1.9.3/img_auth.php
--- old/mediawiki-1.9.0/img_auth.php 2007-01-10 21:38:39.000000000 +0100
+++ new/mediawiki-1.9.3/img_auth.php 2007-02-21 03:20:43.000000000 +0100
@@ -49,6 +49,7 @@
function wfForbidden() {
header( 'HTTP/1.0 403 Forbidden' );
+ header( 'Content-Type: text/html; charset=utf-8' );
print
"<html><body>
<h1>Access denied</h1>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/AjaxDispatcher.php new/mediawiki-1.9.3/includes/AjaxDispatcher.php
--- old/mediawiki-1.9.0/includes/AjaxDispatcher.php 2007-01-10 21:38:09.000000000 +0100
+++ new/mediawiki-1.9.3/includes/AjaxDispatcher.php 2007-02-21 03:20:31.000000000 +0100
@@ -54,15 +54,15 @@
wfProfileIn( __METHOD__ );
if (! in_array( $this->func_name, $wgAjaxExportList ) ) {
- header( 'Status: 400 Bad Request', true, 400 );
- print "unknown function " . htmlspecialchars( (string) $this->func_name );
+ wfHttpError( 400, 'Bad Request',
+ "unknown function " . (string) $this->func_name );
} else {
try {
$result = call_user_func_array($this->func_name, $this->args);
if ( $result === false || $result === NULL ) {
- header( 'Status: 500 Internal Error', true, 500 );
- echo "{$this->func_name} returned no data";
+ wfHttpError( 500, 'Internal Error',
+ "{$this->func_name} returned no data" );
}
else {
if ( is_string( $result ) ) {
@@ -75,8 +75,8 @@
} catch (Exception $e) {
if (!headers_sent()) {
- header( 'Status: 500 Internal Error', true, 500 );
- print $e->getMessage();
+ wfHttpError( 500, 'Internal Error',
+ $e->getMessage() );
} else {
print $e->getMessage();
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/api/ApiFormatBase.php new/mediawiki-1.9.3/includes/api/ApiFormatBase.php
--- old/mediawiki-1.9.0/includes/api/ApiFormatBase.php 2007-01-10 21:38:03.000000000 +0100
+++ new/mediawiki-1.9.3/includes/api/ApiFormatBase.php 2007-02-21 03:20:28.000000000 +0100
@@ -81,7 +81,7 @@
if (is_null($mime))
return; // skip any initialization
- header("Content-Type: $mime; charset=utf-8;");
+ header("Content-Type: $mime; charset=utf-8");
if ($isHtml) {
?>
@@ -170,7 +170,7 @@
}
public static function getBaseVersion() {
- return __CLASS__ . ': $Id: ApiFormatBase.php 17374 2006-11-03 06:53:47Z yurik $';
+ return __CLASS__ . ': $Id: ApiFormatBase.php 19434 2007-01-18 02:04:11Z brion $';
}
}
@@ -226,7 +226,7 @@
}
public function getVersion() {
- return __CLASS__ . ': $Id: ApiFormatBase.php 17374 2006-11-03 06:53:47Z yurik $';
+ return __CLASS__ . ': $Id: ApiFormatBase.php 19434 2007-01-18 02:04:11Z brion $';
}
}
?>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/api/ApiQueryRevisions.php new/mediawiki-1.9.3/includes/api/ApiQueryRevisions.php
--- old/mediawiki-1.9.0/includes/api/ApiQueryRevisions.php 2007-01-10 21:38:03.000000000 +0100
+++ new/mediawiki-1.9.3/includes/api/ApiQueryRevisions.php 2007-02-21 03:20:28.000000000 +0100
@@ -177,7 +177,7 @@
// Ensure that all revisions are shown as '<rev>' elements
$result = $this->getResult();
if ($result->getIsRawMode()) {
- $data = $result->getData();
+ $data =& $result->getData();
foreach ($data['query']['pages'] as & $page) {
if (is_array($page) && array_key_exists('revisions', $page)) {
$result->setIndexedTagName($page['revisions'], 'rev');
@@ -262,7 +262,7 @@
}
public function getVersion() {
- return __CLASS__ . ': $Id: ApiQueryRevisions.php 17374 2006-11-03 06:53:47Z yurik $';
+ return __CLASS__ . ': $Id: ApiQueryRevisions.php 19434 2007-01-18 02:04:11Z brion $';
}
}
?>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/DefaultSettings.php new/mediawiki-1.9.3/includes/DefaultSettings.php
--- old/mediawiki-1.9.0/includes/DefaultSettings.php 2007-01-10 21:38:10.000000000 +0100
+++ new/mediawiki-1.9.3/includes/DefaultSettings.php 2007-02-21 03:20:31.000000000 +0100
@@ -32,7 +32,7 @@
$wgConf = new SiteConfiguration;
/** MediaWiki version number */
-$wgVersion = '1.9.0';
+$wgVersion = '1.9.3';
/** Name of the site. It must be changed in LocalSettings.php */
$wgSitename = 'MediaWiki';
@@ -1096,7 +1096,7 @@
* to ensure that client-side caches don't keep obsolete copies of global
* styles.
*/
-$wgStyleVersion = '42';
+$wgStyleVersion = '42b';
# Server-side caching:
@@ -2237,7 +2237,7 @@
MEDIATYPE_VIDEO, //all plain video formats
"image/svg", //svg (only needed if inline rendering of svg is not supported)
"application/pdf", //PDF files
- #"application/x-shockwafe-flash", //flash/shockwave movie
+ #"application/x-shockwave-flash", //flash/shockwave movie
);
/**
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/DjVuImage.php new/mediawiki-1.9.3/includes/DjVuImage.php
--- old/mediawiki-1.9.0/includes/DjVuImage.php 2007-01-10 21:38:11.000000000 +0100
+++ new/mediawiki-1.9.3/includes/DjVuImage.php 2007-02-21 03:20:32.000000000 +0100
@@ -216,7 +216,8 @@
function retrieveMetaData() {
global $wgDjvuToXML;
if ( isset( $wgDjvuToXML ) ) {
- $cmd = $wgDjvuToXML . ' --without-anno --without-text ' . $this->mFilename;
+ $cmd = $wgDjvuToXML . ' --without-anno --without-text ' .
+ wfEscapeShellArg( $this->mFilename );
$xml = wfShellExec( $cmd );
} else {
$xml = null;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/EditPage.php new/mediawiki-1.9.3/includes/EditPage.php
--- old/mediawiki-1.9.0/includes/EditPage.php 2007-01-10 21:38:09.000000000 +0100
+++ new/mediawiki-1.9.3/includes/EditPage.php 2007-02-21 03:20:31.000000000 +0100
@@ -1765,7 +1765,7 @@
function livePreview() {
global $wgOut;
$wgOut->disable();
- header( 'Content-type: text/xml' );
+ header( 'Content-type: text/xml; charset=utf-8' );
header( 'Cache-control: no-cache' );
# FIXME
echo $this->getPreviewText( );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/Exception.php new/mediawiki-1.9.3/includes/Exception.php
--- old/mediawiki-1.9.0/includes/Exception.php 2007-01-10 21:38:11.000000000 +0100
+++ new/mediawiki-1.9.3/includes/Exception.php 2007-02-21 03:20:32.000000000 +0100
@@ -54,10 +54,11 @@
}
function getLogMessage() {
+ global $wgRequest;
$file = $this->getFile();
$line = $this->getLine();
$message = $this->getMessage();
- return "{$_SERVER['REQUEST_URI']} Exception from line $line of $file: $message";
+ return $wgRequest->getRequestURL() . " Exception from line $line of $file: $message";
}
function reportHTML() {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/GlobalFunctions.php new/mediawiki-1.9.3/includes/GlobalFunctions.php
--- old/mediawiki-1.9.0/includes/GlobalFunctions.php 2007-01-10 21:38:09.000000000 +0100
+++ new/mediawiki-1.9.3/includes/GlobalFunctions.php 2007-02-21 03:20:31.000000000 +0100
@@ -230,7 +230,7 @@
$forward .= ' anon';
$log = sprintf( "%s\t%04.3f\t%s\n",
gmdate( 'YmdHis' ), $elapsed,
- urldecode( $_SERVER['REQUEST_URI'] . $forward ) );
+ urldecode( $wgRequest->getRequestURL() . $forward ) );
if ( '' != $wgDebugLogFile && ( $wgRequest->getVal('action') != 'raw' || $wgDebugRawPage ) ) {
error_log( $log . $prof, 3, $wgDebugLogFile );
}
@@ -1078,7 +1078,7 @@
header( "Status: $code $label" );
$wgOut->sendCacheControl();
- header( 'Content-type: text/html' );
+ header( 'Content-type: text/html; charset=utf-8' );
print "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">".
"<html><head><title>" .
htmlspecialchars( $label ) .
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/Image.php new/mediawiki-1.9.3/includes/Image.php
--- old/mediawiki-1.9.0/includes/Image.php 2007-01-10 21:38:09.000000000 +0100
+++ new/mediawiki-1.9.3/includes/Image.php 2007-02-21 03:20:31.000000000 +0100
@@ -2271,7 +2271,7 @@
# Check for files uploaded prior to DJVU support activation
# They have a '0' in their metadata field.
#
- if ( $this->metadata == '0' ) {
+ if ( $this->metadata == '0' || $this->metadata == '' ) {
$deja = new DjVuImage( $this->imagePath );
$this->metadata = $deja->retrieveMetaData();
$this->purgeMetadataCache();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/Metadata.php new/mediawiki-1.9.3/includes/Metadata.php
--- old/mediawiki-1.9.0/includes/Metadata.php 2007-01-10 21:38:10.000000000 +0100
+++ new/mediawiki-1.9.3/includes/Metadata.php 2007-02-21 03:20:32.000000000 +0100
@@ -81,7 +81,7 @@
return false;
} else {
$wgOut->disable();
- header( "Content-type: {$rdftype}" );
+ header( "Content-type: {$rdftype}; charset=utf-8" );
$wgOut->sendCacheControl();
return true;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/OutputPage.php new/mediawiki-1.9.3/includes/OutputPage.php
--- old/mediawiki-1.9.0/includes/OutputPage.php 2007-01-10 21:38:09.000000000 +0100
+++ new/mediawiki-1.9.3/includes/OutputPage.php 2007-02-21 03:20:31.000000000 +0100
@@ -561,6 +561,7 @@
$this->sendCacheControl();
+ $wgRequest->response()->header("Content-Type: text/html; charset=utf-8");
if( $wgDebugRedirects ) {
$url = htmlspecialchars( $this->mRedirect );
print "<html>\n<head>\n<title>Redirect</title>\n</head>\n<body>\n";
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/Skin.php new/mediawiki-1.9.3/includes/Skin.php
--- old/mediawiki-1.9.0/includes/Skin.php 2007-01-10 21:38:10.000000000 +0100
+++ new/mediawiki-1.9.3/includes/Skin.php 2007-02-21 03:20:32.000000000 +0100
@@ -783,13 +783,6 @@
function printableLink() {
global $wgOut, $wgFeedClasses, $wgRequest;
- $baseurl = $_SERVER['REQUEST_URI'];
- if( strpos( '?', $baseurl ) == false ) {
- $baseurl .= '?';
- } else {
- $baseurl .= '&';
- }
- $baseurl = htmlspecialchars( $baseurl );
$printurl = $wgRequest->escapeAppendQuery( 'printable=yes' );
$s = "<a href=\"$printurl\">" . wfMsg( 'printableversion' ) . '</a>';
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/SpecialRecentchangeslinked.php new/mediawiki-1.9.3/includes/SpecialRecentchangeslinked.php
--- old/mediawiki-1.9.0/includes/SpecialRecentchangeslinked.php 2007-01-10 21:38:09.000000000 +0100
+++ new/mediawiki-1.9.3/includes/SpecialRecentchangeslinked.php 2007-02-21 03:20:31.000000000 +0100
@@ -73,7 +73,7 @@
$GROUPBY = "
GROUP BY rc_cur_id,rc_namespace,rc_title,
rc_user,rc_comment,rc_user_text,rc_timestamp,rc_minor,
- rc_new, rc_id, rc_this_oldid, rc_last_oldid, rc_bot, rc_patrolled, rc_type
+ rc_new, rc_id, rc_this_oldid, rc_last_oldid, rc_bot, rc_patrolled, rc_type, rc_old_len, rc_new_len
" . ($uid ? ",wl_user" : "") . "
ORDER BY rc_timestamp DESC
LIMIT {$limit}";
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/StreamFile.php new/mediawiki-1.9.3/includes/StreamFile.php
--- old/mediawiki-1.9.0/includes/StreamFile.php 2007-01-10 21:38:10.000000000 +0100
+++ new/mediawiki-1.9.3/includes/StreamFile.php 2007-02-21 03:20:31.000000000 +0100
@@ -7,7 +7,7 @@
if ( !$stat ) {
header( 'HTTP/1.0 404 Not Found' );
header( 'Cache-Control: no-cache' );
- header( 'Content-Type: text/html' );
+ header( 'Content-Type: text/html; charset=utf-8' );
$encFile = htmlspecialchars( $fname );
$encScript = htmlspecialchars( $_SERVER['SCRIPT_NAME'] );
echo "<html><body>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/WebRequest.php new/mediawiki-1.9.3/includes/WebRequest.php
--- old/mediawiki-1.9.0/includes/WebRequest.php 2007-01-10 21:38:09.000000000 +0100
+++ new/mediawiki-1.9.3/includes/WebRequest.php 2007-02-21 03:20:31.000000000 +0100
@@ -314,7 +314,20 @@
* @return string
*/
function getRequestURL() {
- $base = $_SERVER['REQUEST_URI'];
+ if( isset( $_SERVER['REQUEST_URI'] ) ) {
+ $base = $_SERVER['REQUEST_URI'];
+ } elseif( isset( $_SERVER['SCRIPT_NAME'] ) ) {
+ // Probably IIS; doesn't set REQUEST_URI
+ $base = $_SERVER['SCRIPT_NAME'];
+ if( isset( $_SERVER['QUERY_STRING'] ) && $_SERVER['QUERY_STRING'] != '' ) {
+ $base .= '?' . $_SERVER['QUERY_STRING'];
+ }
+ } else {
+ // This shouldn't happen!
+ throw new MWException( "Web server doesn't provide either " .
+ "REQUEST_URI or SCRIPT_NAME. Report details of your " .
+ "web server configuration to http://bugzilla.wikimedia.org/" );
+ }
if( $base{0} == '/' ) {
return $base;
} else {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/includes/Wiki.php new/mediawiki-1.9.3/includes/Wiki.php
--- old/mediawiki-1.9.0/includes/Wiki.php 2007-01-10 21:38:09.000000000 +0100
+++ new/mediawiki-1.9.3/includes/Wiki.php 2007-02-21 03:20:31.000000000 +0100
@@ -118,7 +118,7 @@
* Initialize the object to be known as $wgArticle for special cases
*/
function initializeSpecialCases ( &$title, &$output, $request ) {
-
+ global $wgRequest;
wfProfileIn( 'MediaWiki::initializeSpecialCases' );
$search = $this->getVal('Search');
@@ -151,8 +151,7 @@
$targetUrl = $title->getFullURL();
// Redirect to canonical url, make it a 301 to allow caching
global $wgServer, $wgUsePathInfo;
- if( isset( $_SERVER['REQUEST_URI'] ) &&
- $targetUrl == $wgServer . $_SERVER['REQUEST_URI'] ) {
+ if( $targetUrl == $wgRequest->getFullRequestURL() ) {
$message = "Redirect loop detected!\n\n" .
"This means the wiki got confused about what page was " .
"requested; this sometimes happens when moving a wiki " .
@@ -423,7 +422,8 @@
}
break;
case 'history':
- if( $_SERVER['REQUEST_URI'] == $title->getInternalURL( 'action=history' ) ) {
+ global $wgRequest;
+ if( $wgRequest->getFullRequestURL() == $title->getInternalURL( 'action=history' ) ) {
$output->setSquidMaxage( $this->getVal( 'SquidMaxage' ) );
}
$history = new PageHistory( $article );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/index.php new/mediawiki-1.9.3/index.php
--- old/mediawiki-1.9.0/index.php 2007-01-10 21:38:39.000000000 +0100
+++ new/mediawiki-1.9.3/index.php 2007-02-21 03:20:43.000000000 +0100
@@ -14,6 +14,11 @@
$action = $wgRequest->getVal( 'action', 'view' );
$title = $wgRequest->getVal( 'title' );
+$wgTitle = $mediaWiki->checkInitialQueries( $title,$action,$wgOut, $wgRequest, $wgContLang );
+if ($wgTitle == NULL) {
+ unset( $wgTitle );
+}
+
#
# Send Ajax requests to the Ajax dispatcher.
#
@@ -26,10 +31,6 @@
exit;
}
-$wgTitle = $mediaWiki->checkInitialQueries( $title,$action,$wgOut, $wgRequest, $wgContLang );
-if ($wgTitle == NULL) {
- unset( $wgTitle );
-}
wfProfileOut( 'main-misc-setup' );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/languages/messages/MessagesAr.php new/mediawiki-1.9.3/languages/messages/MessagesAr.php
--- old/mediawiki-1.9.0/languages/messages/MessagesAr.php 2007-01-10 21:38:37.000000000 +0100
+++ new/mediawiki-1.9.3/languages/messages/MessagesAr.php 2007-02-21 03:20:42.000000000 +0100
@@ -406,7 +406,7 @@
'noemailtext' => 'لم يحدد هذا المستخدم عنوان بريد إلكتروني صحيح،
أو طلب عدم إستلام الرسائل من المستخدمين الآخرين.',
'noemailtitle' => 'لا يوجد عنوان بريد إلكتروني',
-'noexactmatch' => 'لا يوجد صفحة بنفس العنوان، حاول البحث بشكل مفصل أكثر من خلال إستعمال صندوق البحث أدناه. بإمكانك أيضاً إنشاء [[:1|صفحة جديدة]] بالعنوان الذي طلبته.',
+'noexactmatch' => 'لا يوجد صفحة بنفس العنوان، حاول البحث بشكل مفصل أكثر من خلال إستعمال صندوق البحث أدناه. بإمكانك أيضاً إنشاء [[:$1|صفحة جديدة]] بالعنوان الذي طلبته.',
'nohistory' => 'لا يوجد تاريخ للتغييرات لهذه الصفحة.',
'nolinkshere' => 'لا يوجد صفحات تصل لهذه الصفحة.',
'nolinkstoimage' => 'لا يوجد صفحات تصل لهذه الصورة.',
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/languages/messages/MessagesHe.php new/mediawiki-1.9.3/languages/messages/MessagesHe.php
--- old/mediawiki-1.9.0/languages/messages/MessagesHe.php 2007-01-10 21:38:37.000000000 +0100
+++ new/mediawiki-1.9.3/languages/messages/MessagesHe.php 2007-02-21 03:20:42.000000000 +0100
@@ -344,7 +344,7 @@
'privacy' => 'מדיניות הפרטיות',
'privacypage' => '{{ns:project}}:מדיניות הפרטיות',
'errorpagetitle' => 'שגיאה',
-'returnto' => 'חזרו לדף $1.',
+'returnto' => 'חזרה לדף $1.',
'tagline' => 'מתוך {{SITENAME}}',
'search' => 'חיפוש',
'searchbutton' => 'חיפוש',
@@ -616,7 +616,7 @@
'link_sample' => 'קישור',
'link_tip' => 'קישור פנימי',
'extlink_sample' => 'http://www.example.com כותרת הקישור לתצוגה',
-'extlink_tip' => 'קישור חיצוני (כולל קידומת http מלאה',
+'extlink_tip' => 'קישור חיצוני (כולל קידומת http מלאה)',
'headline_sample' => 'כותרת',
'headline_tip' => 'כותרת – דרגה 2',
'math_sample' => 'formula',
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/maintenance/Doxyfile new/mediawiki-1.9.3/maintenance/Doxyfile
--- old/mediawiki-1.9.0/maintenance/Doxyfile 2007-01-10 21:37:49.000000000 +0100
+++ new/mediawiki-1.9.3/maintenance/Doxyfile 2007-02-21 03:20:14.000000000 +0100
@@ -133,7 +133,7 @@
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
-EXCLUDE_PATTERNS =
+EXCLUDE_PATTERNS = LocalSettings.php AdminSettings.php
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/maintenance/storage/compressOld.inc new/mediawiki-1.9.3/maintenance/storage/compressOld.inc
--- old/mediawiki-1.9.0/maintenance/storage/compressOld.inc 2007-01-10 21:37:44.000000000 +0100
+++ new/mediawiki-1.9.3/maintenance/storage/compressOld.inc 2007-02-21 03:20:07.000000000 +0100
@@ -284,8 +284,8 @@
# Store the stub objects
for ( $j = 1; $j < $thisChunkSize; $j++ ) {
- # Skip if not compressing
- if ( $stubs[$j] !== false ) {
+ # Skip if not compressing and don't overwrite the first revision
+ if ( $stubs[$j] !== false && $revs[$i + $j]->rev_text_id != $primaryOldid ) {
$dbw->update( 'text',
array( /* SET */
'old_text' => serialize($stubs[$j]),
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/maintenance/updaters.inc new/mediawiki-1.9.3/maintenance/updaters.inc
--- old/mediawiki-1.9.0/maintenance/updaters.inc 2007-01-10 21:37:49.000000000 +0100
+++ new/mediawiki-1.9.3/maintenance/updaters.inc 2007-02-21 03:20:14.000000000 +0100
@@ -35,7 +35,6 @@
array( 'langlinks', 'patch-langlinks.sql' ),
array( 'querycache_info', 'patch-querycacheinfo.sql' ),
array( 'filearchive', 'patch-filearchive.sql' ),
- array( 'redirect', 'patch-redirect.sql' ),
array( 'querycachetwo', 'patch-querycachetwo.sql' ),
);
@@ -43,7 +42,6 @@
# table field patch file (in maintenance/archives)
array( 'ipblocks', 'ipb_id', 'patch-ipblocks.sql' ),
array( 'ipblocks', 'ipb_expiry', 'patch-ipb_expiry.sql' ),
- array( 'ipblocks', 'ipb_enable_autoblock', 'patch-ipb_optional_autoblock.sql' ),
array( 'recentchanges', 'rc_type', 'patch-rc_type.sql' ),
array( 'recentchanges', 'rc_ip', 'patch-rc_ip.sql' ),
array( 'recentchanges', 'rc_id', 'patch-rc_id.sql' ),
@@ -66,6 +64,7 @@
array( 'ipblocks', 'ipb_range_start', 'patch-ipb_range_start.sql' ),
array( 'site_stats', 'ss_images', 'patch-ss_images.sql' ),
array( 'ipblocks', 'ipb_anon_only', 'patch-ipb_anon_only.sql' ),
+ array( 'ipblocks', 'ipb_enable_autoblock', 'patch-ipb_optional_autoblock.sql' ),
array( 'user', 'user_newpass_time','patch-user_newpass_time.sql' ),
array( 'user', 'user_editcount', 'patch-user_editcount.sql' ),
);
@@ -902,7 +901,9 @@
do_page_random_update(); flush();
do_rc_indices_update(); flush();
-
+
+ add_table( 'redirect', 'patch-redirect.sql' );
+
do_backlinking_indices_update(); flush();
echo "Deleting old default messages..."; flush();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/RELEASE-NOTES new/mediawiki-1.9.3/RELEASE-NOTES
--- old/mediawiki-1.9.0/RELEASE-NOTES 2007-01-10 21:38:39.000000000 +0100
+++ new/mediawiki-1.9.3/RELEASE-NOTES 2007-02-21 03:20:43.000000000 +0100
@@ -3,6 +3,87 @@
Security reminder: MediaWiki does not require PHP's register_globals
setting since version 1.2.0. If you have it on, turn it *off* if you can.
+== MediaWiki 1.9.3 ==
+
+February 20, 2007
+
+This is a security and bug-fix update to the Winter 2007 quarterly release.
+Minor compatibility fixes for IIS and PostgreSQL are included.
+
+An XSS injection vulnerability based on Microsoft Internet Explorer's UTF-7
+charset autodetection was located in the AJAX support module, affecting MSIE
+users on MediaWiki 1.6.x and up when the optional setting $wgUseAjax is
+enabled.
+
+If you are using an extension based on the optional Ajax module,
+either disable it or upgrade to a version containing the fix:
+
+* 1.9: fixed in 1.9.3
+* 1.8: fixed in 1.8.4
+* 1.7: fixed in 1.7.3
+* 1.6: fixed in 1.6.10
+
+There is no known danger in the default configuration, with $wgUseAjax off.
+
+* (bug 8992) Fix a remaining raw use of REQUEST_URI in history
+* (bug 8984) Fix a database error in Special:Recentchangeslinked
+ when using the PostgreSQL database.
+* Add 'charset' to Content-Type headers on various HTTP error responses
+ to forestall additional UTF-7-autodetect XSS issues. PHP sends only
+ 'text/html' by default when the script didn't specify more details,
+ which some inconsiderate browsers consider a license to autodetect
+ the deadly, hard-to-escape UTF-7.
+ This fixes an issue with the Ajax interface error message on MSIE when
+ $wgUseAjax is enabled (not default configuration); this UTF-7 variant
+ on a previously fixed attack vector was discovered by Moshe BA from BugSec:
+ http://www.bugsec.com/articles.php?Security=24
+* Trackback responses now specify XML content type
+
+
+== MediaWiki 1.9.2 ==
+
+February 4, 2007
+
+This is a bug-fix update that fixes some installation and other minor
+issues with the 1.9.1 release as well as a security issue which was
+introduced in the 1.9 branch.
+
+JavaScript code which regenerated the "sortable tables" feature did
+not properly sanitize input, leading to an HTML injection vulnerability.
+
+* (bug 8774) Fix path for GNU FDL rights icon on new installs
+* (bug 8819) Fix full path disclosure with skins dependencies
+* (bug 4268) Fixed data-loss bug in compressOld batch text compression
+ affecting pages which had null edits (move, protect, etc) as second
+ edit in a batch group. Isolated and patched by Travis Derouin.
+* Security fix for sortable tables JavaScript
+
+
+== MediaWiki 1.9.1 ==
+
+January 24, 2007
+
+This is a bug-fix update that fixes some installation and upgrade issues
+with the original 1.9.0 release.
+
+* (bug 3000) Fall back to SCRIPT_NAME plus QUERY_STRING when REQUEST_URI is
+ not available, as on IIS with PHP-CGI
+* Security fix for DjVu images. (Only affects servers where .djvu file
+ uploads are enabled and $wgDjvuToXML is set.)
+* (bug 8638) Fix update from 1.4 and earlier
+* (bug 8641) Fix order of updates to ipblocks table for updates from <=1.7
+* (bug 8673) Minor fix for web service API content-type header
+* Fix API revision list on PHP 5.2.1; bad reference assignment
+* Fixed up the AjaxSearch
+* Exclude settings files when generating documentation. That could
+ expose the database user and password to remote users.
+* ar: fix the 'create a new page' on search page when no exact match found
+* Correct tooltip accesskey hint for Opera on the Macintosh
+ (uses Shift-Esc-, not Ctrl-).
+* (bug 8719) Firefox release notes lie! Fix tooltips for Firefox 2 on x11;
+ accesskeys default settings appear to be same as Windows.
+
+
== MediaWiki 1.9 ==
January 10, 2007
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/skins/Chick.deps.php new/mediawiki-1.9.3/skins/Chick.deps.php
--- old/mediawiki-1.9.0/skins/Chick.deps.php 2007-01-10 21:37:58.000000000 +0100
+++ new/mediawiki-1.9.3/skins/Chick.deps.php 2007-02-21 03:20:22.000000000 +0100
@@ -5,6 +5,9 @@
// changed on a subsequent page view.
// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
+if ( ! defined( 'MEDIAWIKI' ) )
+ die( 1 );
+
require_once('includes/SkinTemplate.php');
require_once('MonoBook.php');
-?>
\ No newline at end of file
+?>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/skins/common/sorttable.js new/mediawiki-1.9.3/skins/common/sorttable.js
--- old/mediawiki-1.9.0/skins/common/sorttable.js 2007-01-10 21:37:58.000000000 +0100
+++ new/mediawiki-1.9.3/skins/common/sorttable.js 2007-02-21 03:20:22.000000000 +0100
@@ -55,9 +55,8 @@
// We have a first row: assume it's the header, and make its contents clickable links
for (var i=0;i<firstRow.cells.length;i++) {
var cell = firstRow.cells[i];
- var txt = ts_getInnerText(cell);
if (cell.className != "unsortable" && cell.className.indexOf("unsortable") == -1) {
- cell.innerHTML = txt+' <a href="#" class="sortheader" onclick="ts_resortTable(this);return false;"><span class="sortarrow"><img src="'+ image_path + image_none + '" alt="↓"/></span></a>';
+ cell.innerHTML += ' <a href="#" class="sortheader" onclick="ts_resortTable(this);return false;"><span class="sortarrow"><img src="'+ image_path + image_none + '" alt="↓"/></span></a>';
}
}
if (alternate_row_colors) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/skins/common/wikibits.js new/mediawiki-1.9.3/skins/common/wikibits.js
--- old/mediawiki-1.9.0/skins/common/wikibits.js 2007-01-10 21:37:58.000000000 +0100
+++ new/mediawiki-1.9.3/skins/common/wikibits.js 2007-02-21 03:20:22.000000000 +0100
@@ -484,14 +484,12 @@
}
var pref;
- if (is_safari || navigator.userAgent.toLowerCase().indexOf('mac') + 1
+ if (is_opera) {
+ pref = 'shift-esc-';
+ } else if (is_safari || navigator.userAgent.toLowerCase().indexOf('mac') + 1
|| navigator.userAgent.toLowerCase().indexOf('konqueror') + 1 ) {
pref = 'control-';
- } else if (is_opera) {
- pref = 'shift-esc-';
- } else if (is_ff2_x11) {
- pref = 'ctrl-shift-';
- } else if (is_ff2_win) {
+ } else if (is_ff2_win || is_ff2_x11) {
pref = 'alt-shift-';
} else {
pref = 'alt-';
@@ -855,7 +853,7 @@
function sortableTables() {
if (getElementsByClassName(document, "table", "sortable").length != 0) {
- document.write('<script type="text/javascript" src="'+stylepath+'/common/sorttable.js"></script>');
+ document.write('<script type="text/javascript" src="'+stylepath+'/common/sorttable.js?1"></script>');
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/skins/MonoBook.deps.php new/mediawiki-1.9.3/skins/MonoBook.deps.php
--- old/mediawiki-1.9.0/skins/MonoBook.deps.php 2007-01-10 21:37:58.000000000 +0100
+++ new/mediawiki-1.9.3/skins/MonoBook.deps.php 2007-02-21 03:20:22.000000000 +0100
@@ -5,5 +5,8 @@
// changed on a subsequent page view.
// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
+if ( ! defined( 'MEDIAWIKI' ) )
+ die( 1 );
+
require_once('includes/SkinTemplate.php');
-?>
\ No newline at end of file
+?>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/skins/MySkin.deps.php new/mediawiki-1.9.3/skins/MySkin.deps.php
--- old/mediawiki-1.9.0/skins/MySkin.deps.php 2007-01-10 21:37:58.000000000 +0100
+++ new/mediawiki-1.9.3/skins/MySkin.deps.php 2007-02-21 03:20:22.000000000 +0100
@@ -5,6 +5,9 @@
// changed on a subsequent page view.
// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
+if ( ! defined( 'MEDIAWIKI' ) )
+ die( 1 );
+
require_once('includes/SkinTemplate.php');
require_once('MonoBook.php');
-?>
\ No newline at end of file
+?>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/skins/Simple.deps.php new/mediawiki-1.9.3/skins/Simple.deps.php
--- old/mediawiki-1.9.0/skins/Simple.deps.php 2007-01-10 21:37:58.000000000 +0100
+++ new/mediawiki-1.9.3/skins/Simple.deps.php 2007-02-21 03:20:22.000000000 +0100
@@ -5,6 +5,9 @@
// changed on a subsequent page view.
// see http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
+if ( ! defined( 'MEDIAWIKI' ) )
+ die( 1 );
+
require_once('includes/SkinTemplate.php');
require_once('MonoBook.php');
-?>
\ No newline at end of file
+?>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/thumb.php new/mediawiki-1.9.3/thumb.php
--- old/mediawiki-1.9.0/thumb.php 2007-01-10 21:38:39.000000000 +0100
+++ new/mediawiki-1.9.3/thumb.php 2007-02-21 03:20:43.000000000 +0100
@@ -74,7 +74,7 @@
$badtitle = wfMsg( 'badtitle' );
$badtitletext = wfMsg( 'badtitletext' );
header( 'Cache-Control: no-cache' );
- header( 'Content-Type: text/html' );
+ header( 'Content-Type: text/html; charset=utf-8' );
echo "<html><head>
<title>$badtitle</title>
<body>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/mediawiki-1.9.0/trackback.php new/mediawiki-1.9.3/trackback.php
--- old/mediawiki-1.9.0/trackback.php 2007-01-10 21:38:39.000000000 +0100
+++ new/mediawiki-1.9.3/trackback.php 2007-02-21 03:20:43.000000000 +0100
@@ -12,6 +12,7 @@
*
*/
function XMLsuccess() {
+ header("Content-Type: application/xml; charset=utf-8");
echo "
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<response>
@@ -23,6 +24,7 @@
function XMLerror($err = "Invalid request.") {
header("HTTP/1.0 400 Bad Request");
+ header("Content-Type: application/xml; charset=utf-8");
echo "
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<response>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-firewall
checked in at Sat Mar 3 14:31:53 CET 2007.
--------
--- yast2-firewall/yast2-firewall.changes 2007-02-22 17:35:15.000000000 +0100
+++ /mounts/work_src_done/NOARCH/yast2-firewall/yast2-firewall.changes 2007-03-02 13:38:15.000000000 +0100
@@ -1,0 +2,24 @@
+Fri Mar 2 13:37:56 CET 2007 - locilka(a)suse.cz
+
+- Adding forgotten handling of `cancel in the Summary dialog
+ (bugzilla #249777).
+- 2.15.3
+
+-------------------------------------------------------------------
+Wed Feb 28 15:31:25 CET 2007 - locilka(a)suse.cz
+
+- Check and install SuSEfirewall2 package when reading the
+ configuration. Supported in yast2-2.15.15 and later (#245506).
+- Disabling possibility to configure firewall in Installation in
+ Network proposal when SuSEfirewall2 package is not installed.
+
+-------------------------------------------------------------------
+Tue Feb 27 14:28:21 CET 2007 - locilka(a)suse.cz
+
+- Added support for Firewall Custom Rules (FATE #120042,
+ FATE #100068). Supported settings are: Source Network, Source
+ Port, Protocol, and Destination Port.
+- Added new testsuite.
+- 2.15.2
+
+-------------------------------------------------------------------
Old:
----
yast2-firewall-2.15.1.tar.bz2
New:
----
yast2-firewall-2.15.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-firewall.spec ++++++
--- /var/tmp/diff_new_pack.m28949/_old 2007-03-03 14:31:11.000000000 +0100
+++ /var/tmp/diff_new_pack.m28949/_new 2007-03-03 14:31:11.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-firewall (Version 2.15.1)
+# spec file for package yast2-firewall (Version 2.15.3)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,15 +11,17 @@
# norootforbuild
Name: yast2-firewall
-Version: 2.15.1
+Version: 2.15.3
Release: 1
License: GNU General Public License (GPL)
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-firewall-2.15.1.tar.bz2
+Source0: yast2-firewall-2.15.3.tar.bz2
prefix: /usr
BuildRequires: perl-XML-Writer update-desktop-files yast2 yast2-devtools yast2-testsuite
-Requires: yast2 >= 2.13.70
+# SuSEFirewallExpertRules::DeleteRuleID()
+# SuSEFirewall::SuSEFirewallIsInstalled()
+Requires: yast2 >= 2.15.15
Provides: yast2-config-firewall
Obsoletes: yast2-config-firewall
Provides: yast2-trans-firewall
@@ -39,7 +41,7 @@
Lukas Ocilka <locilka(a)suse.de>
%prep
-%setup -n yast2-firewall-2.15.1
+%setup -n yast2-firewall-2.15.3
%build
%{prefix}/bin/y2tool y2autoconf
@@ -73,6 +75,21 @@
%doc %{prefix}/share/doc/packages/yast2-firewall
%changelog
+* Fri Mar 02 2007 - locilka(a)suse.cz
+- Adding forgotten handling of `cancel in the Summary dialog
+ (bugzilla #249777).
+- 2.15.3
+* Wed Feb 28 2007 - locilka(a)suse.cz
+- Check and install SuSEfirewall2 package when reading the
+ configuration. Supported in yast2-2.15.15 and later (#245506).
+- Disabling possibility to configure firewall in Installation in
+ Network proposal when SuSEfirewall2 package is not installed.
+* Tue Feb 27 2007 - locilka(a)suse.cz
+- Added support for Firewall Custom Rules (FATE #120042,
+ FATE #100068). Supported settings are: Source Network, Source
+ Port, Protocol, and Destination Port.
+- Added new testsuite.
+- 2.15.2
* Thu Feb 22 2007 - locilka(a)suse.cz
- Fixed and unified icons in dialogs.
- 2.15.1
++++++ yast2-firewall-2.15.1.tar.bz2 -> yast2-firewall-2.15.3.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-firewall-2.15.1/configure new/yast2-firewall-2.15.3/configure
--- old/yast2-firewall-2.15.1/configure 2007-02-22 17:35:48.000000000 +0100
+++ new/yast2-firewall-2.15.3/configure 2007-02-27 12:46:33.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for yast2-firewall 2.15.0.
+# Generated by GNU Autoconf 2.60 for yast2-firewall 2.15.1.
#
# Report bugs to <http://bugs.opensuse.org/>.
#
@@ -559,8 +559,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-firewall'
PACKAGE_TARNAME='yast2-firewall'
-PACKAGE_VERSION='2.15.0'
-PACKAGE_STRING='yast2-firewall 2.15.0'
+PACKAGE_VERSION='2.15.1'
+PACKAGE_STRING='yast2-firewall 2.15.1'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1181,7 +1181,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-firewall 2.15.0 to adapt to many kinds of systems.
+\`configure' configures yast2-firewall 2.15.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1252,7 +1252,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-firewall 2.15.0:";;
+ short | recursive ) echo "Configuration of yast2-firewall 2.15.1:";;
esac
cat <<\_ACEOF
@@ -1330,7 +1330,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-firewall configure 2.15.0
+yast2-firewall configure 2.15.1
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1344,7 +1344,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-firewall $as_me 2.15.0, which was
+It was created by yast2-firewall $as_me 2.15.1, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -2145,7 +2145,7 @@
# Define the identity of the package.
PACKAGE='yast2-firewall'
- VERSION='2.15.0'
+ VERSION='2.15.1'
cat >>confdefs.h <<_ACEOF
@@ -2372,7 +2372,7 @@
-VERSION="2.15.0"
+VERSION="2.15.1"
RPMNAME="yast2-firewall"
MAINTAINER="Lukas Ocilka <locilka(a)suse.cz>"
@@ -3258,7 +3258,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-firewall $as_me 2.15.0, which was
+This file was extended by yast2-firewall $as_me 2.15.1, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3301,7 +3301,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-firewall config.status 2.15.0
+yast2-firewall config.status 2.15.1
configured by $0, generated by GNU Autoconf 2.60,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-firewall-2.15.1/configure.in new/yast2-firewall-2.15.3/configure.in
--- old/yast2-firewall-2.15.1/configure.in 2007-02-22 17:35:43.000000000 +0100
+++ new/yast2-firewall-2.15.3/configure.in 2007-02-27 12:46:28.000000000 +0100
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.14.0 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-firewall, 2.15.0, http://bugs.opensuse.org/, yast2-firewall)
+AC_INIT(yast2-firewall, 2.15.1, http://bugs.opensuse.org/, yast2-firewall)
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.15.0"
+VERSION="2.15.1"
RPMNAME="yast2-firewall"
MAINTAINER="Lukas Ocilka <locilka(a)suse.cz>"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-firewall-2.15.1/src/complex.ycp new/yast2-firewall-2.15.3/src/complex.ycp
--- old/yast2-firewall-2.15.1/src/complex.ycp 2006-10-09 17:16:04.000000000 +0200
+++ new/yast2-firewall-2.15.3/src/complex.ycp 2007-02-28 15:33:33.000000000 +0100
@@ -4,7 +4,7 @@
* Summary: Complex dialogs definitions
* Authors: Michal Svec <msvec(a)suse.cz>
*
- * $Id: complex.ycp 33291 2006-10-09 15:15:59Z locilka $
+ * $Id: complex.ycp 36581 2007-02-28 14:33:32Z locilka $
*/
{
@@ -15,6 +15,8 @@
import "SuSEFirewall";
import "Wizard";
import "Confirm";
+ import "Report";
+ import "Message";
include "firewall/helps.ycp";
@@ -33,6 +35,10 @@
// reading firewall settings
boolean ret = SuSEFirewall::Read();
+ if (!ret) {
+ Report::Error(Message::CannotContinueWithoutPackagesInstalled());
+ return `abort;
+ }
// testing for other firewall running
if (SuSEFirewall::IsOtherFirewallRunning()) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-firewall-2.15.1/src/dialogs.ycp new/yast2-firewall-2.15.3/src/dialogs.ycp
--- old/yast2-firewall-2.15.1/src/dialogs.ycp 2007-02-22 17:35:24.000000000 +0100
+++ new/yast2-firewall-2.15.3/src/dialogs.ycp 2007-03-02 13:38:26.000000000 +0100
@@ -4,7 +4,7 @@
* Summary: Configuration dialogs and workflow
* Authors: Lukas Ocilka <locilka(a)suse.cz>
*
- * $Id: dialogs.ycp 36416 2007-02-22 16:35:23Z locilka $
+ * $Id: dialogs.ycp 36654 2007-03-02 12:38:24Z locilka $
*
* Configuration dialogs and workflow.
* Both Expert and Simple.
@@ -133,6 +133,14 @@
//"store" : NoStoreNeeded,
"help" : HelpForDialog("masquerade-redirect-table"),
],
+ "CustomRules" : $[
+ "widget" : `custom,
+ "custom_widget" : `VBox(),
+ "init" : InitCustomRules,
+ "handle" : HandleCustomRules,
+ // "store" : NoStoreNeeded,
+ "help" : HelpForDialog("custom-rules"),
+ ]
];
// TRANSLATORS: Part of dialog caption
@@ -222,6 +230,16 @@
"tree_item_label" : _("Logging Level"),
"widget_names" : [ "DisableBackButton", "LoggingLevel" ]
],
+ "custom_rules" : $[
+ "contents" : `VBox (
+ CustomFirewallRules()
+ ),
+ // TRANSLATORS: part of dialog caption
+ "caption" : firewall_caption + ": " + _("Custom Rules"),
+ // TRANSLATORS: tree menu item
+ "tree_item_label" : _("Custom Rules"),
+ "widget_names" : [ "DisableBackButton", "CustomRules" ]
+ ]
];
map<symbol,any> functions = $[
@@ -230,7 +248,7 @@
symbol RunFirewallDialogs () {
list<string> simple_dialogs = [ "start_up", "interfaces", "allowed_services",
- "masquerading", "broadcast_simple", "ipsec_support", "logging_level" ];
+ "masquerading", "broadcast_simple", "ipsec_support", "logging_level", "custom_rules" ];
return DialogTree::ShowAndRun ($[
"ids_order" : simple_dialogs,
@@ -266,7 +284,12 @@
if (ret == `back || ret == `next) break;
- if (ret == `abort && AbortDialog() == true) break;
+ // bugzilla #249777, `cancel == [x] (Closing YaST UI).
+ if ((ret == `abort || ret == `cancel) && AbortDialog() == true) {
+ // ret is evaluated by the dialog sequencer
+ ret = `abort;
+ break;
+ }
}
return ret;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-firewall-2.15.1/src/firewall_proposal.ycp new/yast2-firewall-2.15.3/src/firewall_proposal.ycp
--- old/yast2-firewall-2.15.1/src/firewall_proposal.ycp 2006-12-04 16:42:41.000000000 +0100
+++ new/yast2-firewall-2.15.3/src/firewall_proposal.ycp 2007-02-28 17:15:18.000000000 +0100
@@ -4,7 +4,7 @@
* Summary: Firewall configuration proposal
* Authors: Lukas Ocilka <locilka(a)suse.cz>
*
- * $Id: firewall_proposal.ycp 34735 2006-12-04 15:42:36Z locilka $
+ * $Id: firewall_proposal.ycp 36585 2007-02-28 15:47:34Z locilka $
*/
{
@@ -21,6 +21,7 @@
import "Popup";
import "Progress";
import "ProductFeatures";
+import "Report";
include "firewall/helps.ycp";
@@ -30,11 +31,21 @@
// run this only once
if (!SuSEFirewallProposal::GetProposalInitialized()) {
- // variables from control file
- y2milestone("Default firewall values: enable_firewall=%1, enable_ssh=%2",
- ProductFeatures::GetBooleanFeature ("globals", "enable_firewall"), ProductFeatures::GetBooleanFeature ("globals", "firewall_enable_ssh"));
- SuSEFirewall::SetEnableService(ProductFeatures::GetBooleanFeature ("globals", "enable_firewall"));
- SuSEFirewall::SetStartService (ProductFeatures::GetBooleanFeature ("globals", "enable_firewall"));
+ // Package must be installed
+ if (SuSEFirewall::SuSEFirewallIsInstalled()) {
+ // variables from control file
+ y2milestone("Default firewall values: enable_firewall=%1, enable_ssh=%2",
+ ProductFeatures::GetBooleanFeature ("globals", "enable_firewall"), ProductFeatures::GetBooleanFeature ("globals", "firewall_enable_ssh"));
+ SuSEFirewall::SetEnableService(ProductFeatures::GetBooleanFeature ("globals", "enable_firewall"));
+ SuSEFirewall::SetStartService (ProductFeatures::GetBooleanFeature ("globals", "enable_firewall"));
+ // Package is missing
+ } else {
+ // variables from control file
+ y2milestone("Default firewall values: enable_firewall=%1, enable_ssh=%2",
+ false, false);
+ SuSEFirewall::SetEnableService(false);
+ SuSEFirewall::SetStartService (false);
+ }
SuSEFirewallProposal::SetProposalInitialized(true);
@@ -87,8 +98,15 @@
* one of these actions is called
*/
+ // Package SuSEfirewall2 is not installed
+ if (! SuSEFirewall::SuSEFirewallIsInstalled()) {
+ // TRANSLATORS: message popup
+ Report::Message (_("Firewall configuration cannot be changed.
+SuSEfirewall2 package is not installed."));
+ ret = $[ "workflow_sequence" : `next ];
+
// Enable firewall
- if (chosen_id == "firewall--enable_firewall_in_proposal") {
+ } else if (chosen_id == "firewall--enable_firewall_in_proposal") {
y2milestone("Firewall enabled by a single-click");
SuSEFirewall::SetEnableService(true);
SuSEFirewall::SetStartService(true);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-firewall-2.15.1/src/generalfunctions.ycp new/yast2-firewall-2.15.3/src/generalfunctions.ycp
--- old/yast2-firewall-2.15.1/src/generalfunctions.ycp 2006-10-09 15:55:37.000000000 +0200
+++ new/yast2-firewall-2.15.3/src/generalfunctions.ycp 2007-02-27 14:30:52.000000000 +0100
@@ -4,7 +4,7 @@
* Summary: General Handling Functions
* Authors: Lukas Ocilka <locilka(a)suse.cz>
*
- * $Id: generalfunctions.ycp 20777 2005-01-17 12:31:36Z locilka $
+ * $Id: generalfunctions.ycp 36538 2007-02-27 13:30:50Z locilka $
*/
{
textdomain "firewall";
@@ -46,7 +46,7 @@
y2error("Port name/number must be defined");
return nil;
}
- // if port is a port number, find port number
+ // if port is a port name, find port number
if (regexpmatch(port_to_be_checked, "^[0123456789]+$")) {
list <string> port_aliases = PortAliases::GetListOfServiceAliases(port_to_be_checked);
// clear port name
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-firewall-2.15.1/src/helps.ycp new/yast2-firewall-2.15.3/src/helps.ycp
--- old/yast2-firewall-2.15.1/src/helps.ycp 2006-12-04 16:42:41.000000000 +0100
+++ new/yast2-firewall-2.15.3/src/helps.ycp 2007-02-27 14:30:52.000000000 +0100
@@ -6,7 +6,7 @@
* Summary: Firewall dialogs helps
* Authors: Lukas Ocilka <locilka(a)suse.cz>
*
- * $Id: helps.ycp 34735 2006-12-04 15:42:36Z locilka $
+ * $Id: helps.ycp 36538 2007-02-27 13:30:50Z locilka $
*
* File includes helps for yast2-firewall dialogs.
*/
@@ -184,6 +184,57 @@
"installation_proposal" : _("<p><b><big>Firewall</big></b><br />
Firewall is a defensive mechanism that protects your computer from network attacks.</p>"),
+ // TRANSLATORS: general help for Custom Rules 1/5
+ "custom-rules" : _("<p><b><big>Custom Rules</big></b><br>
+Here yoy can set special firewall rules that allow new connections
+matching these rules.<p>") +
+
+ // TRANSLATORS: general help for Custom Rules 2/5
+ _("<p><b>Source Network</b><br>
+Network or IP where the connection comes from,
+e.g., <tt>192.168.0.1</tt> or <tt>192.168.0.0/255.255.255.0</tt>
+or <tt>192.168.0.0/24</tt> or <tt>0/0</tt> (which means <tt>all</tt>).<p>") +
+
+ // TRANSLATORS: general help for Custom Rules 3/5
+ _("<p><b>Protocol</b><br>
+Protocol used by that packet. Special protocol <tt>RPC</tt> is used for
+RPC services.<p>") +
+
+ // TRANSLATORS: general help for Custom Rules 4/5
+ _("<p><b>Destination Port</b><br>
+Port name, port number or range of ports that are allowed to be
+accessed, e.g., <tt>smtp</tt> or <tt>25</tt> or <tt>100:110</tt>.
+In case of <tt>RPC</tt> protocol, use the RPC service name.
+This entry is optional.<p>") +
+
+ // TRANSLATORS: general help for Custom Rules 5/5
+ _("<p><b>Source Port</b><br>
+Port name, port number or range of ports where the packet
+originates from. This entry is optional.<p>"),
+
+ // TRANSLATORS: help for Custom Rules - Adding new rule 1/4
+ "custom-rules-popup" : _("<p><b>Source Network</b><br>
+Network or IP where the connection comes from,
+e.g., <tt>192.168.0.1</tt> or <tt>192.168.0.0/255.255.255.0</tt>
+or <tt>192.168.0.0/24</tt> or <tt>0/0</tt> (which means <tt>all</tt>).<p>") +
+
+ // TRANSLATORS: help for Custom Rules - Adding new rule 2/4
+ _("<p><b>Protocol</b><br>
+Protocol used by that packet. Special protocol <tt>RPC</tt> is used for
+RPC services.<p>") +
+
+ // TRANSLATORS: help for Custom Rules - Adding new rule 3/4
+ _("<p><b>Destination Port</b><br>
+Port name, port number or range of ports that are allowed to be
+accessed, e.g., <tt>smtp</tt> or <tt>25</tt> or <tt>100:110</tt>.
+In case of <tt>RPC</tt> protocol, use the RPC service name.
+This entry is optional.<p>") +
+
+ // TRANSLATORS: help for Custom Rules - Adding new rule 4/4
+ _("<p><b>Source Port</b><br>
+Port name, port number or range of ports where the packet
+originates from. This entry is optional.<p>"),
+
];
string HelpForDialog (string identification) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-firewall-2.15.1/src/subdialogs.ycp new/yast2-firewall-2.15.3/src/subdialogs.ycp
--- old/yast2-firewall-2.15.1/src/subdialogs.ycp 2006-10-09 17:16:04.000000000 +0200
+++ new/yast2-firewall-2.15.3/src/subdialogs.ycp 2007-02-27 14:30:52.000000000 +0100
@@ -4,7 +4,7 @@
* Summary: Configuration screens
* Authors: Lukas Ocilka <locilka(a)suse.cz>
*
- * $Id: subdialogs.ycp 33291 2006-10-09 15:15:59Z locilka $
+ * $Id: subdialogs.ycp 36538 2007-02-27 13:30:50Z locilka $
*
* Configuration dialogs divided into smaller logic groups.
* Both Expert and Simple.
@@ -77,7 +77,8 @@
// TRANSLATORS: push button
`PushButton(`id("change_firewall_interface"), _("&Change...")),
// TRANSLATORS: push button
- `PushButton(`id("user_defined_firewall_interface"), _("C&ustom..."))
+ `PushButton(`id("user_defined_firewall_interface"), _("C&ustom...")),
+ `HStretch ()
)
)
);
@@ -281,11 +282,10 @@
_("Source Port")
), []
),
- `VSquash (
- `HBox (
- `PushButton(`id("add_redirect_to_masquerade"), Label::AddButton()),
- `PushButton(`id("remove_redirect_to_masquerade"), Label::RemoveButton())
- )
+ `HBox (
+ `PushButton(`id("add_redirect_to_masquerade"), Label::AddButton()),
+ `PushButton(`id("remove_redirect_to_masquerade"), Label::RemoveButton()),
+ `HStretch()
)
)
);
@@ -426,11 +426,10 @@
_("Redir. to Port")
), []
),
- `VSquash (
- `HBox (
- `PushButton(`id("add_redirect_to_masquerade"), Label::AddButton()),
- `PushButton(`id("remove_redirect_to_masquerade"), Label::RemoveButton())
- )
+ `HBox (
+ `PushButton(`id("add_redirect_to_masquerade"), Label::AddButton()),
+ `PushButton(`id("remove_redirect_to_masquerade"), Label::RemoveButton()),
+ `HStretch()
)
)
);
@@ -807,7 +806,7 @@
*/
/**
- * Only for Exper configuration
+ * Only for Expert configuration
*
* term AdvancedSecuritySettings () {
* term dialog = `Frame (
@@ -885,71 +884,62 @@
* }
*/
-/**
- * Only for Expert configuration
- *
- * term CustomFirewallRules () {
- * term dialog = `Frame (
- * _("Custom Allowed Rules"),
- * `VBox (
- * `Table (
- * `header (
- * _("Source Network"),
- * _("Protocol"),
- * _("Port")
- * ),
- * // FIXME: fake items
- * [
- * `item(`id("1"), "189.12.35.0/24", "tcp", "ssh"),
- * `item(`id("2"), "147.25.136.9", "tcp", "ssh"),
- * `item(`id("3"), "145.8.0.0/20", "tcp", "domain"),
- * `item(`id("3"), "145.8.0.0/20", "udp", "domain")
- * ]
- * ),
- * `VSquash (
- * `HBox (
- * `PushButton(`id("add_custom_rule"), Label::AddButton()),
- * `PushButton(`id("remove_custom_rule"), Label::RemoveButton())
- * )
- * )
- * )
- * );
- *
- * return dialog;
- * }
- */
+ term CustomFirewallRules () {
+ term dialog = `Frame (
+ _("Custom Allowed Rules"),
+ `VBox (
+ `Left (`ComboBox (`id("custom_rules_firewall_zone"), `opt(`notify),
+ // TRANSLATORS: combo box
+ _("Firewall &Zone"), GetZonesListedItems() )
+ ),
-/**
- * Only for Expert configuration
- *
- * term AddCustomFirewallRule () {
- * term dialog = `Frame (
- * _("Add New Allowing Rule"),
- * `VBox (
- * `HBox (
- * `TextEntry(`id("add_source_network"), _("Source Network")),
- * `HSquash (
- * `ComboBox (`id("add_protocol"), _("Protocol"), [
- * `item( `id("tcp"), "tcp"),
- * `item( `id("udp"), "udp"),
- * `item( `id("icmp"), "icmp"),
- * ])
- * ),
- * `HSquash (
- * `TextEntry (`id("add_destination_port"), _("Port"))
- * )
- * ),
- * `VSpacing(1),
- * `HBox (
- * `PushButton(`id("ok"), Label::AddButton()),
- * `PushButton(`id("cancel"), Label::CancelButton())
- * )
- * )
- * );
- *
- * return dialog;
- * }
- */
+ `VSpacing ( 1 ),
+
+ `Table (
+ `id ("custom_rules_table"),
+ `header (
+ _("Source Network"),
+ _("Protocol"),
+ _("Destination Port"),
+ _("Source Port")
+ ),
+ []
+ ),
+ `HBox (
+ `PushButton(`id("add_custom_rule"), Label::AddButton()),
+ `PushButton(`id("remove_custom_rule"), Label::RemoveButton()),
+ `HStretch ()
+ )
+ )
+ );
+
+ return dialog;
+ }
+
+ term AddCustomFirewallRule () {
+ return `VBox (
+ `Frame (
+ _("Add New Allowing Rule"),
+ `VBox (
+ `TextEntry(`id("add_source_network"), _("Source &Network")),
+ `Left (`ComboBox (`id("add_protocol"), _("&Protocol"), [
+ `item( `id("tcp"), SuSEFirewall::GetProtocolTranslatedName("tcp")),
+ `item( `id("udp"), SuSEFirewall::GetProtocolTranslatedName("udp")),
+ `item( `id("_rpc_"), SuSEFirewall::GetProtocolTranslatedName("_rpc_")),
+ ])),
+ `TextEntry (`id("add_destination_port"), _("&Destination Port (Optional)")),
+ `TextEntry (`id("add_source_port"), _("&Source Port (Optional)"))
+ )
+ ),
+
+ `VSpacing(1),
+
+ `HBox (
+ `PushButton(`id("ok"), Label::AddButton()),
+ `PushButton(`id("cancel"), Label::CancelButton())
+ )
+ );
+ }
// local helper function for Summary
string HTMLWrong (string emphasize_string) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-firewall-2.15.1/src/uifunctions.ycp new/yast2-firewall-2.15.3/src/uifunctions.ycp
--- old/yast2-firewall-2.15.1/src/uifunctions.ycp 2007-02-22 17:35:24.000000000 +0100
+++ new/yast2-firewall-2.15.3/src/uifunctions.ycp 2007-02-27 14:58:06.000000000 +0100
@@ -4,7 +4,7 @@
* Summary: Configuration dialogs handling functions
* Authors: Lukas Ocilka <locilka(a)suse.cz>
*
- * $Id: uifunctions.ycp 36416 2007-02-22 16:35:23Z locilka $
+ * $Id: uifunctions.ycp 36543 2007-02-27 13:58:04Z locilka $
*
* Configuration dialogs handling.
* Both Expert and Simple.
@@ -15,6 +15,7 @@
import "Confirm";
import "SuSEFirewall";
import "SuSEFirewallServices";
+ import "SuSEFirewallExpertRules";
import "PortAliases";
import "Popup";
import "Address";
@@ -22,6 +23,8 @@
import "Report";
import "Label";
import "Mode";
+ import "IP";
+ import "Netmask";
include "firewall/generalfunctions.ycp";
include "firewall/helps.ycp";
@@ -48,6 +51,57 @@
*
*/
+ /**
+ * Checks the network entry which can be defined in several formats.
+ *
+ * @example
+ * CheckNetwork ("192.168.0.1") -> true
+ * CheckNetwork ("192.168.0.0/20") -> true
+ * CheckNetwork ("192.168.0.0/255.255.255.0") -> true
+ * CheckNetwork ("0/0") -> true
+ */
+ boolean CheckNetwork (string network) {
+ boolean ret = nil;
+
+ if (network == nil || network == "") {
+ ret = false;
+
+ } else if (network == "0/0") {
+ ret = true;
+
+ // 192.168.0.1, 0.8.55.999
+ } else if (regexpmatch(network, "^[0123456789\.]+$")) {
+ ret = IP::Check4 (network);
+
+ // 192.168.0.0/20, 0.8.55/158
+ } else if (regexpmatch(network, "^[0123456789\.]+/[0123456789]+$")) {
+ string network_ip = regexpsub (network, "^([0123456789\.]+)/[0123456789]+$", "\\1");
+ string network_mask = regexpsub (network, "^[0123456789\.]+/([0123456789]+)$", "\\1");
+
+ ret = (IP::Check4 (network_ip) && Netmask::Check4 (network_mask));
+
+ // 192.168.0.0/255.255.255.0, 0.8.55/10.258.12
+ } else if (regexpmatch(network, "^[0123456789\.]+/[0123456789\.]+$")) {
+ string network_ip = regexpsub (network, "^([0123456789\.]+)/[0123456789\.]+$", "\\1");
+ string network_mask = regexpsub (network, "^[0123456789\.]+/([0123456789\.]+)$", "\\1");
+
+ ret = (IP::Check4 (network_ip) && Netmask::Check4 (network_mask));
+ }
+
+ if (ret != true && ! Mode::testsuite()) {
+ // TRANSLATORS: error message, %1 represents the erroneous network definition
+ Report::Error (sformat (_("Invalid network definition '%1'.
+Network can be defined as an IP or IP with slash and netmask.
+
+For instance: 192.168.0.1
+or 192.168.0.0/20
+or 192.168.0.0/255.255.255.0
+or 0/0"), network));
+ }
+
+ return ret;
+ }
+
// UI Functions
/**
@@ -384,6 +438,15 @@
}
}
+ boolean CheckPortNameDefinition (string port_name) {
+ if (PortAliases::IsAllowedPortName(port_name)) {
+ return true;
+ } else {
+ Report::Error (PortAliases::AllowedPortNameOrNumber());
+ return false;
+ }
+ }
+
/**
* Function checks list of ports if they exist (are known).
*
@@ -826,6 +889,32 @@
return true;
}
+ string UserReadablePortName (string port, string protocol) {
+ if (port == "") return "";
+ if (port == nil) return nil;
+
+ protocol = tolower (protocol);
+ // Do not seek port number for RPC services
+ if (protocol == "rpc" || protocol == "_rpc_") return port;
+
+ // number
+ if (regexpmatch (port, "^[0123456789]+$")) {
+ string port_name = GetPortName (port);
+ // port name must be known and not the same as defined yet
+ if (port_name != nil && port_name != port) {
+ port = sformat("%1 (%2)", port_name, port);
+ }
+ // not a port range
+ } else if (! regexpmatch (port, "^[0123456789]+:[0123456789]+$")) {
+ string port_number = GetPortNumber (port);
+ if (port_number != nil && port_number != port) {
+ port = sformat("%1 (%2)", port, port_number);
+ }
+ }
+
+ return port;
+ }
+
void RedrawRedirectToMasqueradedIPTable() {
list <term> items = [];
@@ -838,11 +927,7 @@
// printing port names rather then port numbers
foreach (string key, [ "req_port", "to_port" ], {
- string port_name = GetPortName(rule[key]:"");
- // port name must be known and not the same as defined yet
- if (port_name!=nil && port_name!=rule[key]:"") {
- rule[key] = sformat("%1 (%2)", port_name, rule[key]:"");
- }
+ rule[key] = UserReadablePortName (rule[key]:"", rule["protocol"]:"");
});
items = add (items,
@@ -859,12 +944,13 @@
row_id = row_id + 1;
});
- UI::ChangeWidget(`id("table_redirect_masq"), `Items, items);
+ UI::ChangeWidget (`id("table_redirect_masq"), `Items, items);
}
void HandlePopupAddRedirectToMasqueradedIPRule () {
UI::OpenDialog(all_popup_definition, AddRedirectToMasqueradedIPRule());
+ UI::SetFocus (`id("add_source_network"));
boolean ret_value = false;
@@ -1056,4 +1142,164 @@
SuSEFirewall::SetEnableService(new_state);
SuSEFirewall::SetStartService(new_state);
}
+
+ string customrules_current_zone = nil;
+
+ void RedrawCustomRules (string current_zone) {
+ if (current_zone == nil || ! contains (SuSEFirewall::GetKnownFirewallZones(), current_zone)) {
+ y2error("Unknown zone '%1'", current_zone);
+ return nil;
+ }
+
+ list <map <string, string> > rules = SuSEFirewallExpertRules::GetListOfAcceptRules (current_zone);
+
+ // some rules are already defined
+ if (size(rules) > 0) {
+ integer counter = -1;
+ list <term> items = maplist (map <string, string> one_rule, rules, {
+ counter = counter + 1;
+ return `item (
+ `id (counter),
+ one_rule["network"]:"",
+ SuSEFirewall::GetProtocolTranslatedName (one_rule["protocol"]:""),
+ UserReadablePortName (one_rule["dport"]:"", one_rule["protocol"]:""),
+ UserReadablePortName (one_rule["sport"]:"", "")
+ );
+ });
+
+ items = sort (term aa, term bb, items, ``(aa[1]:"" < bb[1]:""));
+
+ UI::ChangeWidget (`id ("custom_rules_table"), `Items, items);
+ UI::ChangeWidget (`id ("remove_custom_rule"), `Enabled, true);
+
+ // no rules defined
+ } else {
+ UI::ChangeWidget (`id ("custom_rules_table"), `Items, []);
+ UI::ChangeWidget (`id ("remove_custom_rule"), `Enabled, false);
+ }
+ }
+
+ void InitCustomRules (string key) {
+ SetFirewallIcon();
+
+ // set the default once, EXT is the first one
+ if (customrules_current_zone == nil) {
+ foreach (string one_zone, (list <string>) union (SuSEFirewall::GetKnownFirewallZones(), ["EXT"]), {
+ // at least one interface in the zone
+ if (size (SuSEFirewall::GetInterfacesInZoneSupportingAnyFeature(one_zone)) > 0)
+ customrules_current_zone = one_zone;
+ });
+ // nothing found, set the default manually
+ if (customrules_current_zone == nil)
+ customrules_current_zone = "EXT";
+ }
+
+ UI::ChangeWidget (`id ("custom_rules_firewall_zone"), `Value, customrules_current_zone);
+
+ RedrawCustomRules (customrules_current_zone);
+ }
+
+ void DeleteSelectedCustomRule (string selected_zone, integer current_item) {
+ if (SuSEFirewallExpertRules::DeleteRuleID (selected_zone, current_item)) {
+ RedrawCustomRules (selected_zone);
+ UI::ChangeWidget (`id("custom_rules_table"), `SelectedItem, 0);
+ }
+ }
+
+ boolean CheckPortNameOrNumber (string port) {
+ // port number
+ if (regexpmatch(port, "^[0123456789]+$")) {
+ return CheckPortNumberDefinition (tointeger (port), port);
+ // not a port range
+ } else if (! regexpmatch(port, "^[0123456789]+:[0123456789]+$")) {
+ return CheckPortNameDefinition (port);
+ }
+ }
+
+ boolean HandlePopupAddCustomRule (string selected_zone) {
+ UI::OpenDialog (all_popup_definition,
+ `HBox (
+ `MinWidth (
+ 30,
+ `RichText (HelpForDialog ("custom-rules-popup"))
+ ),
+ AddCustomFirewallRule()
+ )
+ );
+ UI::SetFocus (`id("add_source_network"));
+
+ boolean ret_value = false;
+
+ while (true) {
+ any ret = UI::UserInput();
+
+ if (ret == "cancel") {
+ break;
+ } else if (ret == "ok") {
+ if (!CheckExistency("add_source_network")) continue;
+ if (!CheckExistency("add_protocol")) continue;
+
+ string add_source_network = (string) UI::QueryWidget(`id("add_source_network"), `Value);
+ string add_protocol = (string) UI::QueryWidget(`id("add_protocol"), `Value);
+ string add_destination_port = (string) UI::QueryWidget(`id("add_destination_port"), `Value);
+ string add_source_port = (string) UI::QueryWidget(`id("add_source_port"), `Value);
+
+ // network is mandatory
+ if (add_source_network == "" || ! CheckNetwork (add_source_network)) {
+ UI::SetFocus (`id ("add_source_network"));
+ continue;
+ }
+ // destination port is optional
+ if (add_destination_port != "" && ! CheckPortNameOrNumber (add_destination_port)) {
+ UI::SetFocus (`id ("add_destination_port"));
+ continue;
+ }
+ // source port is optional
+ if (add_source_port != "" && ! CheckPortNameOrNumber (add_source_port)) {
+ UI::SetFocus (`id ("add_source_port"));
+ continue;
+ }
+
+ SuSEFirewallExpertRules::AddNewAcceptRule (
+ selected_zone,
+ $[
+ "network" : add_source_network,
+ "protocol" : add_protocol,
+ "dport" : add_destination_port,
+ "sport" : add_source_port
+ ]
+ );
+
+ ret_value = true;
+ break;
+ }
+ }
+
+ UI::CloseDialog();
+
+ return ret_value;
+ }
+
+ symbol HandleCustomRules (string key, map event) {
+ any ret = event["ID"]:nil;
+
+ string selected_zone = (string) UI::QueryWidget (`id ("custom_rules_firewall_zone"), `Value);
+
+ if (ret == "custom_rules_firewall_zone") {
+ customrules_current_zone = selected_zone;
+ RedrawCustomRules (selected_zone);
+ } else if (ret == "add_custom_rule") {
+ if (HandlePopupAddCustomRule (selected_zone)) {
+ RedrawCustomRules (selected_zone);
+ }
+ } else if (ret == "remove_custom_rule") {
+ integer current_item = (integer) UI::QueryWidget(`id("custom_rules_table"), `CurrentItem);
+
+ if (current_item != nil && Confirm::DeleteSelected()) {
+ DeleteSelectedCustomRule (selected_zone, current_item);
+ }
+ }
+
+ return nil;
+ }
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-firewall-2.15.1/testsuite/tests/Functions.out new/yast2-firewall-2.15.3/testsuite/tests/Functions.out
--- old/yast2-firewall-2.15.1/testsuite/tests/Functions.out 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-firewall-2.15.3/testsuite/tests/Functions.out 2007-02-27 14:56:44.000000000 +0100
@@ -0,0 +1,21 @@
+Read .target.tmpdir nil
+Log Failed to set temporary directory: nil
+Dir .product.features.section: []
+Dump
+Dump == Checking Functions ==
+Return true
+Return true
+Return true
+Return true
+Return true
+Return true
+Return true
+Return true
+Return true
+Return true
+Return false
+Return false
+Return false
+Return false
+Return false
+Dump
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-firewall-2.15.1/testsuite/tests/Functions.ycp new/yast2-firewall-2.15.3/testsuite/tests/Functions.ycp
--- old/yast2-firewall-2.15.1/testsuite/tests/Functions.ycp 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-firewall-2.15.3/testsuite/tests/Functions.ycp 2007-02-27 12:44:49.000000000 +0100
@@ -0,0 +1,39 @@
+{
+ include "testsuite.ycp";
+
+ include "firewall/subdialogs.ycp";
+ include "firewall/uifunctions.ycp";
+
+ map READ = $[
+ "target" : $[
+ "tmpdir" : "/tmp",
+ ],
+ ];
+ map WRITE = $[];
+ map EXECUTE = $[];
+
+ TESTSUITE_INIT([READ, WRITE, EXECUTE], nil);
+
+ DUMP ("");
+
+ DUMP ("== Checking Functions ==");
+
+ TEST (``(CheckNetwork("192.168.0.1")), [READ, WRITE, EXECUTE], nil);
+ TEST (``(CheckNetwork("192.168.0.255")), [READ, WRITE, EXECUTE], nil);
+ TEST (``(CheckNetwork("192.168.0.1/20")), [READ, WRITE, EXECUTE], nil);
+ TEST (``(CheckNetwork("192.168.0.255/32")), [READ, WRITE, EXECUTE], nil);
+ TEST (``(CheckNetwork("192.168.0.1/255.240.0.0")), [READ, WRITE, EXECUTE], nil);
+ TEST (``(CheckNetwork("192.168.0.255/255.255.255.255")), [READ, WRITE, EXECUTE], nil);
+ TEST (``(CheckNetwork("192.168.0.1/0")), [READ, WRITE, EXECUTE], nil);
+ TEST (``(CheckNetwork("172.55.0.0/1")), [READ, WRITE, EXECUTE], nil);
+ TEST (``(CheckNetwork("0/0")), [READ, WRITE, EXECUTE], nil);
+ TEST (``(CheckNetwork("255.255.255.255/255.255.255.255")), [READ, WRITE, EXECUTE], nil);
+
+ TEST (``(CheckNetwork("172.55.0.0/33")), [READ, WRITE, EXECUTE], nil);
+ TEST (``(CheckNetwork("256.168.0.255")), [READ, WRITE, EXECUTE], nil);
+ TEST (``(CheckNetwork("172.55.0.0/125.85.5.5")), [READ, WRITE, EXECUTE], nil);
+ TEST (``(CheckNetwork("192.168.0.255/5.5.5")), [READ, WRITE, EXECUTE], nil);
+ TEST (``(CheckNetwork("192.168.0.255/255.255.0.255")), [READ, WRITE, EXECUTE], nil);
+
+ DUMP ("");
+}
\ No newline at end of file
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-firewall-2.15.1/VERSION new/yast2-firewall-2.15.3/VERSION
--- old/yast2-firewall-2.15.1/VERSION 2007-02-22 17:36:31.000000000 +0100
+++ new/yast2-firewall-2.15.3/VERSION 2007-02-28 15:33:15.000000000 +0100
@@ -1 +1 @@
-2.15.1
+2.15.3
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package linux-kernel-headers
checked in at Sat Mar 3 14:31:45 CET 2007.
--------
--- linux-kernel-headers/linux-kernel-headers.changes 2007-03-02 05:12:01.000000000 +0100
+++ /mounts/work_src_done/STABLE/linux-kernel-headers/linux-kernel-headers.changes 2007-03-02 15:20:13.611405000 +0100
@@ -1,0 +2,5 @@
+Fri Mar 2 14:51:56 CET 2007 - pbaudis(a)suse.cz
+
+- Fix in-tarball paths
+
+-------------------------------------------------------------------
@@ -4,0 +10 @@
+- All architectures are included now
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ linux-kernel-headers.spec ++++++
--- /var/tmp/diff_new_pack.O27948/_old 2007-03-03 14:31:06.000000000 +0100
+++ /var/tmp/diff_new_pack.O27948/_new 2007-03-03 14:31:06.000000000 +0100
@@ -15,7 +15,7 @@
Summary: Linux Kernel Headers
Group: Development/Libraries/C and C++
Version: 2.6.20
-Release: 1
+Release: 2
URL: http://www.kernel.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Provides: kernel-headers
@@ -121,7 +121,10 @@
%changelog
* Fri Mar 02 2007 - pbaudis(a)suse.cz
+- Fix in-tarball paths
+* Fri Mar 02 2007 - pbaudis(a)suse.cz
- Update to match kernel 2.6.20
+- All architectures are included now
* Fri Nov 17 2006 - pbaudis(a)suse.cz
- Update to match kernel 2.6.18.2
* Sat Oct 28 2006 - olh(a)suse.de
++++++ kernel-headers-2.6.20.tar.bz2 ++++++
++++ 1329560 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 suseRegister
checked in at Sat Mar 3 14:31:04 CET 2007.
--------
--- suseRegister/suseRegister.changes 2007-02-23 16:28:29.000000000 +0100
+++ /mounts/work_src_done/NOARCH/suseRegister/suseRegister.changes 2007-03-02 19:18:01.850730000 +0100
@@ -1,0 +2,13 @@
+Fri Mar 2 19:17:56 CET 2007 - mc(a)suse.de
+
+- fix fillURL
+
+-------------------------------------------------------------------
+Fri Mar 2 17:14:09 CET 2007 - mc(a)suse.de
+
+- workaround zypper delete problems
+ [#219770]
+- create a copy of the cache and do a rollback, when
+ configureZMD failed
+
+-------------------------------------------------------------------
New:
----
zypper_wrap
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ suseRegister.spec ++++++
--- /var/tmp/diff_new_pack.i26734/_old 2007-03-03 14:30:59.000000000 +0100
+++ /var/tmp/diff_new_pack.i26734/_new 2007-03-03 14:30:59.000000000 +0100
@@ -12,7 +12,7 @@
Name: suseRegister
Version: 1.2
-Release: 23
+Release: 25
Summary: Registration Tool
Group: Productivity/Other
License: GNU General Public License (GPL)
@@ -20,6 +20,7 @@
Source1: suseRegister.init
Source2: suse-trigger-register.cron
Source3: suseRegister.NetworkManager
+Source4: zypper_wrap
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: curl
Requires: perl-XML-Parser
@@ -54,6 +55,9 @@
%install
make DESTDIR=$RPM_BUILD_ROOT BINDIR=%{_bindir} SYSCONFIGDIR=%{_sysconfdir} install
+install -m 755 $RPM_SOURCE_DIR/zypper_wrap $RPM_BUILD_ROOT/usr/lib/suseRegister/bin/
+ln -s /usr/lib/suseRegister/bin/zypper_wrap $RPM_BUILD_ROOT/usr/lib/suseRegister/bin/zypp_sa
+ln -s /usr/lib/suseRegister/bin/zypper_wrap $RPM_BUILD_ROOT/usr/lib/suseRegister/bin/zypp_sd
%if %{sles_version} > 0
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/cron.monthly/
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/init.d
@@ -91,6 +95,13 @@
%endif
%changelog
+* Fri Mar 02 2007 - mc(a)suse.de
+- fix fillURL
+* Fri Mar 02 2007 - mc(a)suse.de
+- workaround zypper delete problems
+ [#219770]
+- create a copy of the cache and do a rollback, when
+ configureZMD failed
* Fri Feb 23 2007 - mc(a)suse.de
- fix alias handling of manualy added URLs [#248230]
* Thu Feb 22 2007 - mc(a)suse.de
++++++ suseRegister-1.2.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/suseRegister-1.2/SRPrivate.pm new/suseRegister-1.2/SRPrivate.pm
--- old/suseRegister-1.2/SRPrivate.pm 2007-02-23 15:41:39.000000000 +0100
+++ new/suseRegister-1.2/SRPrivate.pm 2007-03-02 19:17:17.000000000 +0100
@@ -6,6 +6,7 @@
use XML::Writer;
use Data::Dumper;
use File::Temp qw(tempfile);
+use File::Copy;
use Sys::Syslog;
use IPC::Open3;
use Fcntl qw(:DEFAULT);
@@ -1386,24 +1387,13 @@
elsif($ctx->{zmdConfig}->{$service}->{type} eq "nu" ||
$ctx->{zmdConfig}->{$service}->{type} eq "rce")
{
- my $secret = "";
- open(SEC, "< $ctx->{SECRET_FILE}") or do {
- logPrintExit("Cannot open file $ctx->{SECRET_FILE}: $!\n", 12);
- };
- while(<SEC>)
- {
- $secret .= $_;
- }
- close SEC;
-
foreach my $u (keys %{$ctx->{zmdConfig}->{$service}->{catalog}})
{
- my $curi = URI->new($ctx->{zmdConfig}->{$service}->{catalog}->{$u}->{url});
- print $curi->as_string."\n" if($ctx->{debug});
- $curi->userinfo($ctx->{guid}.":$secret");
- $curi->query_form(alias => $u);
-
- print XMLD $curi->as_string."\n";
+ my $url = fillURL($ctx, $ctx->{zmdConfig}->{$service}->{catalog}->{$u}->{url},
+ {alias => $u});
+ print stripURL($ctx, $url)."\n" if($ctx->{debug});
+
+ print XMLD "$url\n";
syslog("info", "dumpfile write(nu):".$u);
}
}
@@ -1438,6 +1428,12 @@
mkdir "/var/cache/SuseRegister/";
}
+ # make a backup of the old cache file
+ if(-e $ctx->{zmdcache})
+ {
+ copy($ctx->{zmdcache}, $ctx->{zmdcache}.".old");
+ }
+
open(OUT, "> ".$ctx->{zmdcache}) or return logPrintReturn($ctx, "Cannot open cache file '$ctx->{zmdcache}': $!", 12);
print OUT $zmdconfig;
close OUT;
@@ -1705,6 +1701,13 @@
# try to drop the headline
next if($num eq "#");
# the line --+------+------+... will not appear here
+
+ my $strURL = stripURL($ctx, $uri);
+ if($strURL eq "")
+ {
+ return logPrintReturn($ctx, "Missing URL\n", 14);
+ }
+ $uri = $strURL;
print STDERR "Found $num, $stat, $type, $name, $uri\n" if($ctx->{debug} >= 2);
@@ -1938,7 +1941,8 @@
my $regcode = shift || undef;
my $msg = "";
-
+ my $code = 0;
+
$ctx->{timeindent}++;
my $t0 = [gettimeofday] if($ctx->{time});
print STDERR indent($ctx)."START: zyppServiceAdd\n" if($ctx->{time});
@@ -1956,54 +1960,108 @@
{
return logPrintReturn($ctx, "Invalid type", 14);
}
-
- my @rugArgs = ("sa");
-
- push @rugArgs, "$url";
-
- if(defined $id)
+
+ # zypper is not ready for this; use the wrapper instead
+ if(0)
{
- push @rugArgs, $id;
+ my @rugArgs = ("sa");
+
+ push @rugArgs, "$url";
+
+ if(defined $id)
+ {
+ push @rugArgs, $id;
+ }
+ else
+ {
+ # zypper requires a alias name. Use the hostname as fallback
+ my $u = URI->new($url);
+ push @rugArgs, $u->host;
+ }
+
+ print STDERR "zypper add service command: $ctx->{zypper} ".join(" ",@rugArgs)."\n" if($ctx->{debug} >= 1);
+
+ my $pid = open3(\*IN, \*OUT, \*ERR, $ctx->{zypper}, @rugArgs) or do {
+ return logPrintReturn($ctx, "Cannot execute $ctx->{zypper} ".join(" ", @rugArgs).": $!\n",13);
+ };
+
+ while (<OUT>)
+ {
+ $msg .= "$_";
+ }
+ #chomp($msg) if(defined $msg && $msg ne "");
+ while (<ERR>)
+ {
+ $msg .= "$_";
+ }
+ close OUT;
+ close ERR;
+ close IN;
+ waitpid $pid, 0;
+
+ $code = ($?>>8);
+ if($code != 0)
+ {
+ $code += 30;
+ }
+ else
+ {
+ $msg = "";
+ }
}
else
{
- # zypper requires a alias name. Use the url as fallback
- my $u = URI->new($url);
- push @rugArgs, $u->host;
- }
-
- print STDERR "zypper add service command: $ctx->{zypper} ".join(" ",@rugArgs)."\n" if($ctx->{debug} >= 1);
-
- my $pid = open3(\*IN, \*OUT, \*ERR, $ctx->{zypper}, @rugArgs) or do {
- return logPrintReturn($ctx, "Cannot execute $ctx->{zypper} ".join(" ", @rugArgs).": $!\n",13);
- };
+ if(! -x "/usr/lib/suseRegister/bin/zypp_sa")
+ {
+ return (0,"");
+ }
- while (<OUT>)
- {
- $msg .= "$_";
- }
- #chomp($msg) if(defined $msg && $msg ne "");
- while (<ERR>)
- {
- $msg .= "$_";
- }
- close OUT;
- close ERR;
- close IN;
- waitpid $pid, 0;
+ my @rugArgs = ("$url");
+
+ if(defined $id)
+ {
+ push @rugArgs, $id;
+ }
+ else
+ {
+ # zypper requires a alias name. Use the hostname as fallback
+ my $u = URI->new($url);
+ push @rugArgs, $u->host;
+ }
- my $code = ($?>>8);
- if($code != 0)
- {
- $code += 30;
- }
- else
- {
- $msg = "";
+ print STDERR "zypper add service command: /usr/lib/suseRegister/bin/zypp_sa ".join(" ",@rugArgs)."\n" if($ctx->{debug} >= 1);
+
+ my $pid = open3(\*IN, \*OUT, \*ERR, "/usr/lib/suseRegister/bin/zypp_sa", @rugArgs) or do {
+ return logPrintReturn($ctx, "Cannot execute /usr/lib/suseRegister/bin/zypp_sa ".join(" ", @rugArgs).": $!\n",13);
+ };
+
+ while (<OUT>)
+ {
+ $msg .= "$_";
+ }
+ #chomp($msg) if(defined $msg && $msg ne "");
+ while (<ERR>)
+ {
+ $msg .= "$_";
+ }
+ close OUT;
+ close ERR;
+ close IN;
+ waitpid $pid, 0;
+
+ $code = ($?>>8);
+ if($code != 0)
+ {
+ $code += 30;
+ }
+ else
+ {
+ $msg = "";
+ }
}
print STDERR "Add service failed($code): $msg\n" if($ctx->{debug} && $code != 0);
-
+
print STDERR indent($ctx)."END: zyppServiceAdd:".(tv_interval($t0))."\n" if($ctx->{time});
$ctx->{timeindent}--;
@@ -2359,7 +2417,8 @@
my $ctx = shift;
my $id = shift || undef;
my $msg = "";
-
+ my $code = 0;
+
$ctx->{timeindent}++;
my $t0 = [gettimeofday] if($ctx->{time});
print STDERR indent($ctx)."START: zyppServiceDelete\n" if($ctx->{time});
@@ -2369,43 +2428,87 @@
return logPrintReturn($ctx, "Missing Identifirer", 14);
}
- if($ctx->{nozypp} || !$ctx->{zypperInstalled} || $ctx->{nozypper})
+ # zypper is not ready for this; we use a wrapper
+ if(0)
{
- return (0,"");
- }
-
- my @rugArgs = ("sd", "$id");
-
- print STDERR "zypp service delete command: $ctx->{zypper} ".join(" ",@rugArgs)."\n" if($ctx->{debug} >= 1);
-
- my $pid = open3(\*IN, \*OUT, \*ERR, $ctx->{zypper}, @rugArgs) or do {
- logPrintReturn($ctx, "Cannot execute $ctx->{zypper} ".join(" ", @rugArgs).": $!\n",13);
- };
+ if($ctx->{nozypp} || !$ctx->{zypperInstalled} || $ctx->{nozypper})
+ {
+ return (0,"");
+ }
+
+ my @rugArgs = ("sd", "$id");
+
+ print STDERR "zypp service delete command: $ctx->{zypper} ".join(" ",@rugArgs)."\n" if($ctx->{debug} >= 1);
+
+ my $pid = open3(\*IN, \*OUT, \*ERR, $ctx->{zypper}, @rugArgs) or do {
+ logPrintReturn($ctx, "Cannot execute $ctx->{zypper} ".join(" ", @rugArgs).": $!\n",13);
+ };
+
+ while (<OUT>)
+ {
+ $msg .= "$_";
+ }
+ #chomp($msg) if(defined $msg && $msg ne "");
+ while (<ERR>)
+ {
+ $msg .= "$_";
+ }
+ close OUT;
+ close ERR;
+ close IN;
+ waitpid $pid, 0;
+
+ $code = ($?>>8);
+ if($code != 0)
+ {
+ $code += 30;
+ }
+ else
+ {
+ $msg = "";
+ }
- while (<OUT>)
- {
- $msg .= "$_";
- }
- #chomp($msg) if(defined $msg && $msg ne "");
- while (<ERR>)
- {
- $msg .= "$_";
- }
- close OUT;
- close ERR;
- close IN;
- waitpid $pid, 0;
-
- my $code = ($?>>8);
- if($code != 0)
- {
- $code += 30;
}
else
{
- $msg = "";
+ if($ctx->{nozypp} || ! -x "/usr/lib/suseRegister/bin/zypp_sd" || $ctx->{nozypper})
+ {
+ return (0,"");
+ }
+
+ my @rugArgs = ("--loose-auth", "--loose-query", "$id");
+
+ print STDERR "zypp service delete command: /usr/lib/suseRegister/bin/zypp_sd ".join(" ",@rugArgs)."\n" if($ctx->{debug} >= 1);
+
+ my $pid = open3(\*IN, \*OUT, \*ERR, "/usr/lib/suseRegister/bin/zypp_sd", @rugArgs) or do {
+ logPrintReturn($ctx, "Cannot execute /usr/lib/suseRegister/bin/zypp_sd ".join(" ", @rugArgs).": $!\n",13);
+ };
+
+ while (<OUT>)
+ {
+ $msg .= "$_";
+ }
+ #chomp($msg) if(defined $msg && $msg ne "");
+ while (<ERR>)
+ {
+ $msg .= "$_";
+ }
+ close OUT;
+ close ERR;
+ close IN;
+ waitpid $pid, 0;
+
+ $code = ($?>>8);
+ if($code != 0)
+ {
+ $code += 30;
+ }
+ else
+ {
+ $msg = "";
+ }
}
-
+
print STDERR "Delete service failed($code): $msg\n" if($ctx->{debug} && $code != 0);
print STDERR indent($ctx)."END: zyppServiceDelete:".(tv_interval($t0))."\n" if($ctx->{time});
@@ -2541,4 +2644,75 @@
return $ind;
}
+sub stripURL
+{
+ my $ctx = shift;
+ my $url = shift || "";
+
+ if($url eq "")
+ {
+ return "";
+ }
+
+ my $uri = URI->new($url);
+
+ if($uri->scheme eq "http" ||
+ $uri->scheme eq "https" )
+ {
+ # delete user/password from url
+ $uri->userinfo(undef);
+ }
+
+ # delete all query parameter from the url
+ $uri->query(undef);
+
+ return $uri->as_string;
+}
+
+sub fillURL
+{
+ my $ctx = shift;
+ my $url = shift || "";
+ my $queryparams = shift || undef;
+
+ if($url eq "")
+ {
+ return "";
+ }
+
+ my $secret = "";
+ open(SEC, "< $ctx->{SECRET_FILE}") or do {
+ logPrintReturn("Cannot open file $ctx->{SECRET_FILE}: $!\n", 12);
+ return "";
+ };
+ while(<SEC>)
+ {
+ $secret .= $_;
+ }
+ close SEC;
+
+ my $uri = URI->new($url);
+
+ if($uri->scheme eq "http" ||
+ $uri->scheme eq "https" )
+ {
+ # add user/password to url
+ $uri->userinfo($ctx->{guid}.":$secret");
+ }
+
+ if(! defined $queryparams || $queryparams eq "")
+ {
+ # delete the query paramter
+ $uri->query(undef);
+ }
+ else
+ {
+ # add query parameter
+ $uri->query_form($queryparams);
+ }
+
+ return $uri->as_string;
+}
+
+
1;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/suseRegister-1.2/suse_register new/suseRegister-1.2/suse_register
--- old/suseRegister-1.2/suse_register 2007-02-23 15:41:39.000000000 +0100
+++ new/suseRegister-1.2/suse_register 2007-03-02 19:17:17.000000000 +0100
@@ -16,7 +16,7 @@
use Time::HiRes qw(gettimeofday tv_interval);
use Sys::Syslog;
use SUSE::SuseRegister;
-
+use File::Copy;
my $time = 0;
my $programStartTime = [gettimeofday];
@@ -429,6 +429,8 @@
SUSE::SuseRegister::configureZMD($ctx);
if($ctx->{errorcode} != 0)
{
+ # cache rollback
+ copy($ctx->{zmdcache}.".old", $ctx->{zmdcache});
logPrintExit($ctx, $ctx->{errormsg}, $ctx->{errorcode});
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/suseRegister-1.2/SuseRegister.pm new/suseRegister-1.2/SuseRegister.pm
--- old/suseRegister-1.2/SuseRegister.pm 2007-02-23 15:41:39.000000000 +0100
+++ new/suseRegister-1.2/SuseRegister.pm 2007-03-02 19:17:17.000000000 +0100
@@ -1,4 +1,3 @@
-
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -1052,10 +1051,21 @@
deleteCatalog($ctx, $name, $taskList->{$service}->{catalog}->{$name});
if($ctx->{errorcode} != 0)
{
- $lastcode = $ctx->{errorcode};
- $lastmsg = $ctx->{errormsg};
- $ctx->{errorcode} = 0;
- $ctx->{errormsg} = "";
+ if(exists $ctx->{lastZmdConfig}->{$service}->{catalog}->{$name} &&
+ ! exists $ctx->{zmdConfig}->{$service}->{catalog}->{$name} &&
+ ! exists $ctx->{currentSources}->{$service}->{catalog}->{$name})
+ {
+ # maybe the catalog is really not there; we do not set an error here
+ $ctx->{errorcode} = 0;
+ $ctx->{errormsg} = "";
+ }
+ else
+ {
+ $lastcode = $ctx->{errorcode};
+ $lastmsg = $ctx->{errormsg};
+ $ctx->{errorcode} = 0;
+ $ctx->{errormsg} = "";
+ }
}
}
elsif($taskList->{$service}->{catalog}->{$name}->{task} eq "r")
@@ -1710,22 +1720,10 @@
# first add it with zypp if url is available
if(exists $catalog->{url})
{
- # a rug catalog is from NU service and needs auth data
- my $secret = "";
- open(SEC, "< $ctx->{SECRET_FILE}") or do {
- logPrintExit("Cannot open file $ctx->{SECRET_FILE}: $!\n", 12);
- };
- while(<SEC>)
- {
- $secret .= $_;
- }
- close SEC;
-
- my $curi = URI->new($catalog->{url});
- $curi->userinfo($ctx->{guid}.":$secret");
+ my $url = SUSE::SRPrivate::fillURL($ctx, $catalog->{url}, undef);
# A rug catalog is a zypp service - so call zyppServiceAdd
- ($code, $msg) = SUSE::SRPrivate::zyppServiceAdd($ctx, $curi->as_string, "zypp", $name);
+ ($code, $msg) = SUSE::SRPrivate::zyppServiceAdd($ctx, $url, "zypp", $name);
if($code != 0)
{
$lastcode = $code;
@@ -1992,20 +1990,18 @@
return SUSE::SRPrivate::logPrintError($ctx, "Invalid Catalog", 14);
return 14;
}
-
- # first add it with zypp if url is available
- if(exists $catalog->{url})
- {
- # A rug catalog is a zypp service - so call zyppServiceDelete
- ($code, $msg) = SUSE::SRPrivate::zyppServiceDelete($ctx, $catalog->{url});
- }
+ # first delete it with zypp if url is available
+
+ # A rug catalog is a zypp service - so call zyppServiceDelete
+ ($code, $msg) = SUSE::SRPrivate::zyppServiceDelete($ctx, $name);
- if($code != 0)
+ if($code != 0 && exists $catalog->{url})
{
- # try again with the alias
+ # try with the URL
# A rug catalog is a zypp service - so call zyppServiceDelete
- ($code, $msg) = SUSE::SRPrivate::zyppServiceDelete($ctx, $name);
+ ($code, $msg) = SUSE::SRPrivate::zyppServiceDelete($ctx, $catalog->{url});
+
if($code != 0)
{
$lastcode = $code;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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