From fedora-cvs-commits at redhat.com Wed Jun 1 05:13:57 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 01:13:57 -0400 Subject: rpms/kernel/FC-4 kernel-2.6.spec, 1.1368, 1.1369 linux-2.6.11-compile-fixes.patch, 1.20, 1.21 linux-2.6.12rc-ac-ide-fixes.patch, 1.4, 1.5 Message-ID: <200506010513.j515Dvhe022006@cvs.devel.redhat.com> Author: davej Update of /cvs/dist/rpms/kernel/FC-4 In directory cvs.devel.redhat.com:/tmp/cvs-serv21991 Modified Files: kernel-2.6.spec linux-2.6.11-compile-fixes.patch linux-2.6.12rc-ac-ide-fixes.patch Log Message: Fix up ALI IDE regression (#157175) Index: kernel-2.6.spec =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-4/kernel-2.6.spec,v retrieving revision 1.1368 retrieving revision 1.1369 diff -u -r1.1368 -r1.1369 --- kernel-2.6.spec 30 May 2005 22:22:15 -0000 1.1368 +++ kernel-2.6.spec 1 Jun 2005 05:13:54 -0000 1.1369 @@ -1267,6 +1267,9 @@ %endif %changelog +* Wed Jun 1 2005 Dave Jones +- Fix up ALI IDE regression. (#157175) + * Mon May 30 2005 Dave Jones - Fix up VIA IRQ quirk. linux-2.6.11-compile-fixes.patch: char/agp/hp-agp.c | 3 +-- firmware/pcdp.c | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) Index: linux-2.6.11-compile-fixes.patch =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-4/linux-2.6.11-compile-fixes.patch,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- linux-2.6.11-compile-fixes.patch 30 May 2005 21:32:32 -0000 1.20 +++ linux-2.6.11-compile-fixes.patch 1 Jun 2005 05:13:54 -0000 1.21 @@ -34,14 +34,14 @@ # #define PCDP_CONSOLE 0 # #define PCDP_DEBUG 1 # #define PCDP_CONSOLE_OUTPUT 2 ---- linux-2.6.11/include/linux/acpi.h~ 2005-05-28 22:37:06.000000000 -0400 -+++ linux-2.6.11/include/linux/acpi.h 2005-05-28 22:37:26.000000000 -0400 -@@ -25,6 +25,8 @@ - #ifndef _LINUX_ACPI_H - #define _LINUX_ACPI_H - -+#include -+ - #ifdef CONFIG_ACPI - - #ifndef _LINUX +#--- linux-2.6.11/include/linux/acpi.h~ 2005-05-28 22:37:06.000000000 -0400 +#+++ linux-2.6.11/include/linux/acpi.h 2005-05-28 22:37:26.000000000 -0400 +#@@ -25,6 +25,8 @@ +# #ifndef _LINUX_ACPI_H +# #define _LINUX_ACPI_H +# +#+#include +#+ +# #ifdef CONFIG_ACPI +# +# #ifndef _LINUX linux-2.6.12rc-ac-ide-fixes.patch: 2/drivers/ide/ide-disk.c | 2 linux-2.6.11/include/linux/ide.h | 3 linux-2.6.12rc3-minoride/drivers/cdrom/cdrom.c | 3 linux-2.6.12rc3-minoride/drivers/ide/Kconfig | 13 linux-2.6.12rc3-minoride/drivers/ide/Makefile | 2 linux-2.6.12rc3-minoride/drivers/ide/arm/icside.c | 6 linux-2.6.12rc3-minoride/drivers/ide/cris/ide-v10.c | 6 linux-2.6.12rc3-minoride/drivers/ide/ide-cd.c | 135 ++ linux-2.6.12rc3-minoride/drivers/ide/ide-default.c | 108 ++ linux-2.6.12rc3-minoride/drivers/ide/ide-disk.c | 58 - linux-2.6.12rc3-minoride/drivers/ide/ide-dma.c | 13 linux-2.6.12rc3-minoride/drivers/ide/ide-floppy.c | 16 linux-2.6.12rc3-minoride/drivers/ide/ide-io.c | 65 + linux-2.6.12rc3-minoride/drivers/ide/ide-iops.c | 165 ++- linux-2.6.12rc3-minoride/drivers/ide/ide-pnp.c | 7 linux-2.6.12rc3-minoride/drivers/ide/ide-probe.c | 9 linux-2.6.12rc3-minoride/drivers/ide/ide-proc.c | 176 ++- linux-2.6.12rc3-minoride/drivers/ide/ide-tape.c | 16 linux-2.6.12rc3-minoride/drivers/ide/ide-taskfile.c | 12 linux-2.6.12rc3-minoride/drivers/ide/ide.c | 489 +++++++-- linux-2.6.12rc3-minoride/drivers/ide/legacy/ide-cs.c | 28 linux-2.6.12rc3-minoride/drivers/ide/pci/Makefile | 2 linux-2.6.12rc3-minoride/drivers/ide/pci/alim15x3.c | 2 linux-2.6.12rc3-minoride/drivers/ide/pci/cs5520.c | 11 linux-2.6.12rc3-minoride/drivers/ide/pci/delkin_cb.c | 140 ++ linux-2.6.12rc3-minoride/drivers/ide/pci/generic.c | 86 + linux-2.6.12rc3-minoride/drivers/ide/pci/hpt366.c | 474 ++++----- linux-2.6.12rc3-minoride/drivers/ide/pci/it821x.c | 812 ++++++++++++++++ linux-2.6.12rc3-minoride/drivers/ide/pci/ns87415.c | 2 linux-2.6.12rc3-minoride/drivers/ide/pci/pdc202xx_old.c | 2 linux-2.6.12rc3-minoride/drivers/ide/pci/sgiioc4.c | 4 linux-2.6.12rc3-minoride/drivers/ide/pci/siimage.c | 8 linux-2.6.12rc3-minoride/drivers/ide/pci/sl82c105.c | 2 linux-2.6.12rc3-minoride/drivers/ide/pci/trm290.c | 7 linux-2.6.12rc3-minoride/drivers/ide/ppc/pmac.c | 6 linux-2.6.12rc3-minoride/drivers/ide/setup-pci.c | 83 + linux-2.6.12rc3-minoride/drivers/macintosh/mediabay.c | 5 linux-2.6.12rc3-minoride/drivers/scsi/ide-scsi.c | 4 linux-2.6.12rc3-minoride/drivers/scsi/nsp32.h | 1 linux-2.6.12rc3-minoride/include/asm-i386/ide.h | 14 linux-2.6.12rc3-minoride/include/linux/ide.h | 47 linux-2.6.12rc3-minoride/include/linux/pci_ids.h | 5 42 files changed, 2420 insertions(+), 629 deletions(-) Index: linux-2.6.12rc-ac-ide-fixes.patch =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-4/linux-2.6.12rc-ac-ide-fixes.patch,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- linux-2.6.12rc-ac-ide-fixes.patch 18 May 2005 06:55:54 -0000 1.4 +++ linux-2.6.12rc-ac-ide-fixes.patch 1 Jun 2005 05:13:54 -0000 1.5 @@ -5194,3 +5194,15 @@ extern int ide_register_driver(ide_driver_t *driver); extern void ide_unregister_driver(ide_driver_t *driver); extern int ide_register_subdriver(ide_drive_t *, ide_driver_t *); +--- 1/drivers/ide/ide-disk.c~ 2005-05-28 13:48:47.000000000 +0100 ++++ 2/drivers/ide/ide-disk.c 2005-05-28 13:48:47.000000000 +0100 +@@ -500,7 +500,7 @@ + set_max, sectors_to_MB(set_max)); + + /* Some maxtor support LBA48 but do not accept LBA48 set max... */ +- if (lba48 || set_max < (1ULL << 28)) ++ if (lba48 && set_max >= (1ULL << 28)) + set_max = idedisk_set_max_address_ext(drive, set_max); + else + set_max = idedisk_set_max_address(drive, set_max); + From fedora-cvs-commits at redhat.com Wed Jun 1 05:49:45 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 01:49:45 -0400 Subject: rpms/kernel/FC-3 linux-2.6.11-exec-shield.patch, NONE, 1.1 kernel-2.6.spec, 1.839, 1.840 Message-ID: <200506010549.j515njAc021040@cvs.devel.redhat.com> Author: davej Update of /cvs/dist/rpms/kernel/FC-3 In directory cvs.devel.redhat.com:/tmp/cvs-serv21025 Modified Files: kernel-2.6.spec Added Files: linux-2.6.11-exec-shield.patch Log Message: exec-shield improvements. linux-2.6.11-exec-shield.patch: arch/i386/kernel/asm-offsets.c | 1 arch/i386/kernel/cpu/common.c | 6 + arch/i386/kernel/entry.S | 8 + arch/i386/kernel/process.c | 69 +++++++++++++++ arch/i386/kernel/signal.c | 5 - arch/i386/kernel/smp.c | 3 arch/i386/kernel/sysenter.c | 50 +++++++++++ arch/i386/kernel/traps.c | 44 ++++++++++ arch/i386/kernel/vsyscall-sysenter.S | 6 - arch/i386/kernel/vsyscall.lds.S | 4 arch/i386/mm/init.c | 6 + arch/i386/mm/mmap.c | 13 ++ arch/ia64/ia32/binfmt_elf32.c | 2 arch/x86_64/ia32/ia32_binfmt.c | 2 arch/x86_64/mm/Makefile | 2 arch/x86_64/mm/mmap.c | 95 +++++++++++++++++++++ drivers/char/random.c | 33 +++++++ fs/binfmt_elf.c | 152 ++++++++++++++++++++++++++--------- fs/exec.c | 6 + fs/proc/array.c | 8 + fs/proc/base.c | 4 fs/proc/task_mmu.c | 25 +++++ include/asm-i386/desc.h | 14 +++ include/asm-i386/elf.h | 42 ++++++--- include/asm-i386/mmu.h | 6 + include/asm-i386/pgalloc.h | 1 include/asm-i386/processor.h | 8 + include/asm-i386/thread_info.h | 1 include/asm-ia64/pgalloc.h | 4 include/asm-ppc/pgalloc.h | 5 + include/asm-ppc64/pgalloc.h | 5 + include/asm-s390/pgalloc.h | 4 include/asm-sparc/pgalloc.h | 4 include/asm-sparc64/pgalloc.h | 4 include/asm-x86_64/pgalloc.h | 7 + include/asm-x86_64/processor.h | 9 ++ include/linux/mm.h | 9 +- include/linux/random.h | 3 include/linux/resource.h | 5 - include/linux/sched.h | 11 ++ include/linux/sysctl.h | 4 kernel/signal.c | 38 ++++++++ kernel/sysctl.c | 57 +++++++++++++ mm/mmap.c | 104 ++++++++++++++++++++++- mm/mprotect.c | 5 - mm/mremap.c | 4 46 files changed, 811 insertions(+), 87 deletions(-) --- NEW FILE linux-2.6.11-exec-shield.patch --- --- linux/fs/binfmt_elf.c.orig +++ linux/fs/binfmt_elf.c @@ -46,7 +46,7 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs); static int load_elf_library(struct file*); -static unsigned long elf_map (struct file *, unsigned long, struct elf_phdr *, int, int); +static unsigned long elf_map (struct file *, unsigned long, struct elf_phdr *, int, int, unsigned long); extern int dump_fpu (struct pt_regs *, elf_fpregset_t *); #ifndef elf_addr_t @@ -165,20 +165,8 @@ create_elf_tables(struct linux_binprm *b if (k_platform) { size_t len = strlen(k_platform) + 1; -#ifdef CONFIG_X86_HT - /* - * In some cases (e.g. Hyper-Threading), we want to avoid L1 - * evictions by the processes running on the same package. One - * thing we can do is to shuffle the initial stack for them. - * - * The conditionals here are unneeded, but kept in to make the - * code behaviour the same as pre change unless we have - * hyperthreaded processors. This should be cleaned up - * before 2.6 - */ - - if (smp_num_siblings > 1) - STACK_ALLOC(p, ((current->pid % 64) << 7)); +#ifdef __HAVE_ARCH_ALIGN_STACK + p = (unsigned long)arch_align_stack((unsigned long)p); #endif u_platform = (elf_addr_t __user *)STACK_ALLOC(p, len); if (__copy_to_user(u_platform, k_platform, len)) @@ -291,20 +279,59 @@ create_elf_tables(struct linux_binprm *b #ifndef elf_map static unsigned long elf_map(struct file *filep, unsigned long addr, - struct elf_phdr *eppnt, int prot, int type) + struct elf_phdr *eppnt, int prot, int type, + unsigned long total_size) { unsigned long map_addr; + unsigned long size = eppnt->p_filesz + ELF_PAGEOFFSET(eppnt->p_vaddr); + unsigned long off = eppnt->p_offset - ELF_PAGEOFFSET(eppnt->p_vaddr); + + addr = ELF_PAGESTART(addr); + size = ELF_PAGEALIGN(size); down_write(¤t->mm->mmap_sem); - map_addr = do_mmap(filep, ELF_PAGESTART(addr), - eppnt->p_filesz + ELF_PAGEOFFSET(eppnt->p_vaddr), prot, type, - eppnt->p_offset - ELF_PAGEOFFSET(eppnt->p_vaddr)); + + /* + * total_size is the size of the ELF (interpreter) image. + * The _first_ mmap needs to know the full size, otherwise + * randomization might put this image into an overlapping + * position with the ELF binary image. (since size < total_size) + * So we first map the 'big' image - and unmap the remainder at + * the end. (which unmap is needed for ELF images with holes.) + */ + if (total_size) { + total_size = ELF_PAGEALIGN(total_size); + map_addr = do_mmap(filep, addr, total_size, prot, type, off); + if (!BAD_ADDR(map_addr)) + do_munmap(current->mm, map_addr+size, total_size-size); + } else + map_addr = do_mmap(filep, addr, size, prot, type, off); + up_write(¤t->mm->mmap_sem); - return(map_addr); + + return map_addr; } #endif /* !elf_map */ +static inline unsigned long total_mapping_size(struct elf_phdr *cmds, int nr) +{ + int i, first_idx = -1, last_idx = -1; + + for (i = 0; i < nr; i++) + if (cmds[i].p_type == PT_LOAD) { + last_idx = i; + if (first_idx == -1) + first_idx = i; + } + + if (first_idx == -1) + return 0; + + return cmds[last_idx].p_vaddr + cmds[last_idx].p_memsz - + ELF_PAGESTART(cmds[first_idx].p_vaddr); +} + /* This is much more generalized than the library routine read function, so we keep this separate. Technically the library read function is only provided so that we can read a.out libraries that have @@ -312,7 +339,8 @@ static unsigned long elf_map(struct file static unsigned long load_elf_interp(struct elfhdr * interp_elf_ex, struct file * interpreter, - unsigned long *interp_load_addr) + unsigned long *interp_load_addr, + unsigned long no_base) { struct elf_phdr *elf_phdata; struct elf_phdr *eppnt; @@ -320,6 +348,7 @@ static unsigned long load_elf_interp(str int load_addr_set = 0; unsigned long last_bss = 0, elf_bss = 0; unsigned long error = ~0UL; + unsigned long total_size; int retval, i, size; /* First of all, some simple consistency checks */ @@ -358,6 +387,10 @@ static unsigned long load_elf_interp(str goto out_close; } + total_size = total_mapping_size(elf_phdata, interp_elf_ex->e_phnum); + if (!total_size) + goto out_close; + eppnt = elf_phdata; for (i=0; ie_phnum; i++, eppnt++) { if (eppnt->p_type == PT_LOAD) { @@ -372,8 +405,11 @@ static unsigned long load_elf_interp(str vaddr = eppnt->p_vaddr; if (interp_elf_ex->e_type == ET_EXEC || load_addr_set) elf_type |= MAP_FIXED; + else if (no_base && interp_elf_ex->e_type == ET_DYN) + load_addr = -vaddr; - map_addr = elf_map(interpreter, load_addr + vaddr, eppnt, elf_prot, elf_type); + map_addr = elf_map(interpreter, load_addr + vaddr, eppnt, elf_prot, elf_type, total_size); + total_size = 0; error = map_addr; if (BAD_ADDR(map_addr)) goto out_close; @@ -520,7 +556,7 @@ static int load_elf_binary(struct linux_ unsigned long reloc_func_desc = 0; char passed_fileno[6]; struct files_struct *files; - int have_pt_gnu_stack, executable_stack = EXSTACK_DEFAULT; + int have_pt_gnu_stack, executable_stack, relocexec, old_relocexec = current->flags & PF_RELOCEXEC; unsigned long def_flags = 0; struct { struct elfhdr elf_ex; @@ -676,6 +712,8 @@ static int load_elf_binary(struct linux_ } elf_ppnt = elf_phdata; + executable_stack = EXSTACK_DEFAULT; + for (i = 0; i < loc->elf_ex.e_phnum; i++, elf_ppnt++) if (elf_ppnt->p_type == PT_GNU_STACK) { if (elf_ppnt->p_flags & PF_X) @@ -686,6 +724,24 @@ static int load_elf_binary(struct linux_ } have_pt_gnu_stack = (i < loc->elf_ex.e_phnum); + relocexec = 0; + + if (current->personality == PER_LINUX) + switch (exec_shield) { + case 1: + if (executable_stack == EXSTACK_DISABLE_X) { + current->flags |= PF_RELOCEXEC; + relocexec = PF_RELOCEXEC; + } + break; + + case 2: + executable_stack = EXSTACK_DISABLE_X; + current->flags |= PF_RELOCEXEC; + relocexec = PF_RELOCEXEC; + break; + } + /* Some simple consistency checks for the interpreter */ if (elf_interpreter) { interpreter_type = INTERPRETER_ELF | INTERPRETER_AOUT; @@ -738,6 +794,16 @@ static int load_elf_binary(struct linux_ retval = flush_old_exec(bprm); if (retval) goto out_free_dentry; + current->flags |= relocexec; + +#ifdef __i386__ + /* + * Turn off the CS limit completely if exec-shield disabled or + * NX active: + */ + if (!exec_shield || executable_stack != EXSTACK_DISABLE_X || nx_enabled) + arch_add_exec_range(current->mm, -1); +#endif /* Discard our unneeded old files struct */ if (files) { @@ -757,7 +823,8 @@ static int load_elf_binary(struct linux_ /* Do this immediately, since STACK_TOP as used in setup_arg_pages may depend on the personality. */ SET_PERSONALITY(loc->elf_ex, ibcs2_interpreter); - if (elf_read_implies_exec(loc->elf_ex, executable_stack)) + if (exec_shield != 2 && + elf_read_implies_exec(loc->elf_ex, executable_stack)) current->personality |= READ_IMPLIES_EXEC; arch_pick_mmap_layout(current->mm); @@ -774,10 +841,10 @@ static int load_elf_binary(struct linux_ current->mm->start_stack = bprm->p; + /* Now we do a little grungy work by mmaping the ELF image into - the correct location in memory. At this point, we assume that - the image should be loaded at fixed address, not at a variable - address. */ + the correct location in memory. + */ for(i = 0, elf_ppnt = elf_phdata; i < loc->elf_ex.e_phnum; i++, elf_ppnt++) { int elf_prot = 0, elf_flags; @@ -821,16 +888,16 @@ static int load_elf_binary(struct linux_ elf_flags = MAP_PRIVATE|MAP_DENYWRITE|MAP_EXECUTABLE; vaddr = elf_ppnt->p_vaddr; - if (loc->elf_ex.e_type == ET_EXEC || load_addr_set) { + if (loc->elf_ex.e_type == ET_EXEC || load_addr_set) elf_flags |= MAP_FIXED; - } else if (loc->elf_ex.e_type == ET_DYN) { - /* Try and get dynamic programs out of the way of the default mmap - base, as well as whatever program they might try to exec. This - is because the brk will follow the loader, and is not movable. */ + else if (loc->elf_ex.e_type == ET_DYN) +#ifdef __i386__ + load_bias = 0; +#else load_bias = ELF_PAGESTART(ELF_ET_DYN_BASE - vaddr); - } +#endif - error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt, elf_prot, elf_flags); + error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt, elf_prot, elf_flags, 0); if (BAD_ADDR(error)) { send_sig(SIGKILL, current, 0); goto out_free_dentry; @@ -907,7 +974,8 @@ static int load_elf_binary(struct linux_ else elf_entry = load_elf_interp(&loc->interp_elf_ex, interpreter, - &interp_load_addr); + &interp_load_addr, + load_bias); if (BAD_ADDR(elf_entry)) { printk(KERN_ERR "Unable to load interpreter %.128s\n", elf_interpreter); @@ -931,6 +999,14 @@ static int load_elf_binary(struct linux_ set_binfmt(&elf_format); + /* + * Map the vsyscall trampoline. This address is then passed via + * AT_SYSINFO. + */ +#ifdef __HAVE_ARCH_VSYSCALL + map_vsyscall(); +#endif + compute_creds(bprm); current->flags &= ~PF_FORKNOEXEC; create_elf_tables(bprm, &loc->elf_ex, (interpreter_type == INTERPRETER_AOUT), @@ -944,6 +1020,10 @@ static int load_elf_binary(struct linux_ current->mm->end_data = end_data; current->mm->start_stack = bprm->p; +#ifdef __HAVE_ARCH_RANDOMIZE_BRK + if (current->flags & PF_RELOCEXEC) + randomize_brk(elf_brk); +#endif if (current->personality & MMAP_PAGE_ZERO) { /* Why this, you ask??? Well SVr4 maps page 0 as read-only, and some applications "depend" upon this behavior. @@ -999,6 +1079,8 @@ out_free_fh: } out_free_ph: kfree(elf_phdata); + current->flags &= ~PF_RELOCEXEC; + current->flags |= old_relocexec; goto out; } --- linux/fs/proc/base.c.orig +++ linux/fs/proc/base.c @@ -128,7 +128,7 @@ static struct pid_entry tgid_base_stuff[ E(PROC_TGID_CMDLINE, "cmdline", S_IFREG|S_IRUGO), E(PROC_TGID_STAT, "stat", S_IFREG|S_IRUGO), E(PROC_TGID_STATM, "statm", S_IFREG|S_IRUGO), - E(PROC_TGID_MAPS, "maps", S_IFREG|S_IRUGO), + E(PROC_TGID_MAPS, "maps", S_IFREG|S_IRUSR), E(PROC_TGID_MEM, "mem", S_IFREG|S_IRUSR|S_IWUSR), E(PROC_TGID_CWD, "cwd", S_IFLNK|S_IRWXUGO), E(PROC_TGID_ROOT, "root", S_IFLNK|S_IRWXUGO), @@ -158,7 +158,7 @@ static struct pid_entry tid_base_stuff[] E(PROC_TID_CMDLINE, "cmdline", S_IFREG|S_IRUGO), E(PROC_TID_STAT, "stat", S_IFREG|S_IRUGO), E(PROC_TID_STATM, "statm", S_IFREG|S_IRUGO), - E(PROC_TID_MAPS, "maps", S_IFREG|S_IRUGO), + E(PROC_TID_MAPS, "maps", S_IFREG|S_IRUSR), E(PROC_TID_MEM, "mem", S_IFREG|S_IRUSR|S_IWUSR), E(PROC_TID_CWD, "cwd", S_IFLNK|S_IRWXUGO), E(PROC_TID_ROOT, "root", S_IFLNK|S_IRWXUGO), --- linux/fs/proc/array.c.orig +++ linux/fs/proc/array.c @@ -376,8 +376,12 @@ static int do_task_stat(struct task_stru ppid = pid_alive(task) ? task->group_leader->real_parent->tgid : 0; read_unlock(&tasklist_lock); - if (!whole || num_threads<2) - wchan = get_wchan(task); + if (!whole || num_threads<2) { + wchan = 0; + if (current->uid == task->uid || current->euid == task->uid || + capable(CAP_SYS_NICE)) + wchan = get_wchan(task); + } if (!whole) { min_flt = task->min_flt; maj_flt = task->maj_flt; --- linux/fs/proc/task_mmu.c.orig +++ linux/fs/proc/task_mmu.c @@ -21,13 +21,23 @@ char *task_mem(struct mm_struct *mm, cha "VmStk:\t%8lu kB\n" "VmExe:\t%8lu kB\n" "VmLib:\t%8lu kB\n" - "VmPTE:\t%8lu kB\n", + "VmPTE:\t%8lu kB\n" + "StaBrk:\t%08lx kB\n" + "Brk:\t%08lx kB\n" + "StaStk:\t%08lx kB\n" + , (mm->total_vm - mm->reserved_vm) << (PAGE_SHIFT-10), mm->locked_vm << (PAGE_SHIFT-10), mm->rss << (PAGE_SHIFT-10), data << (PAGE_SHIFT-10), mm->stack_vm << (PAGE_SHIFT-10), text, lib, - (PTRS_PER_PTE*sizeof(pte_t)*mm->nr_ptes) >> 10); + (PTRS_PER_PTE*sizeof(pte_t)*mm->nr_ptes) >> 10, + mm->start_brk, mm->brk, mm->start_stack); +#if __i386__ + if (!nx_enabled) + buffer += sprintf(buffer, + "ExecLim:\t%08lx\n", mm->context.exec_limit); +#endif return buffer; } @@ -79,6 +89,9 @@ out: static int show_map(struct seq_file *m, void *v) { +#ifdef __i386__ + struct task_struct *task = m->private; +#endif struct vm_area_struct *map = v; struct file *file = map->vm_file; int flags = map->vm_flags; @@ -97,7 +110,13 @@ static int show_map(struct seq_file *m, map->vm_end, flags & VM_READ ? 'r' : '-', flags & VM_WRITE ? 'w' : '-', - flags & VM_EXEC ? 'x' : '-', + (flags & VM_EXEC +#ifdef __i386__ + || (!nx_enabled && + (map->vm_start < task->mm->context.exec_limit)) +#endif + ) + ? 'x' : '-', flags & VM_MAYSHARE ? 's' : 'p', map->vm_pgoff << PAGE_SHIFT, MAJOR(dev), MINOR(dev), ino, &len); --- linux/fs/exec.c.orig +++ linux/fs/exec.c @@ -400,7 +400,12 @@ int setup_arg_pages(struct linux_binprm while (i < MAX_ARG_PAGES) bprm->page[i++] = NULL; #else +#ifdef __HAVE_ARCH_ALIGN_STACK + stack_base = arch_align_stack(stack_top - MAX_ARG_PAGES*PAGE_SIZE); + stack_base = PAGE_ALIGN(stack_base); +#else stack_base = stack_top - MAX_ARG_PAGES * PAGE_SIZE; +#endif bprm->p += stack_base; mm->arg_start = bprm->p; arg_size = stack_top - (PAGE_MASK & (unsigned long) mm->arg_start); @@ -877,6 +882,7 @@ int flush_old_exec(struct linux_binprm * tcomm[i] = '\0'; set_task_comm(current, tcomm); + current->flags &= ~PF_RELOCEXEC; flush_thread(); if (bprm->e_uid != current->euid || bprm->e_gid != current->egid || --- linux/mm/mprotect.c.orig +++ linux/mm/mprotect.c @@ -22,6 +22,7 @@ #include #include +#include #include #include @@ -145,7 +146,7 @@ mprotect_fixup(struct vm_area_struct *vm struct mm_struct * mm = vma->vm_mm; unsigned long oldflags = vma->vm_flags; long nrpages = (end - start) >> PAGE_SHIFT; - unsigned long charged = 0; + unsigned long charged = 0, old_end = vma->vm_end; pgprot_t newprot; pgoff_t pgoff; int error; @@ -209,6 +210,8 @@ success: */ vma->vm_flags = newflags; vma->vm_page_prot = newprot; + if (oldflags & VM_EXEC) + arch_remove_exec_range(current->mm, old_end); change_protection(vma, start, end, newprot); __vm_stat_account(mm, oldflags, vma->vm_file, -nrpages); __vm_stat_account(mm, newflags, vma->vm_file, nrpages); --- linux/mm/mremap.c.orig +++ linux/mm/mremap.c @@ -412,8 +412,8 @@ unsigned long do_mremap(unsigned long ad if (vma->vm_flags & VM_MAYSHARE) map_flags |= MAP_SHARED; - new_addr = get_unmapped_area(vma->vm_file, 0, new_len, - vma->vm_pgoff, map_flags); + new_addr = get_unmapped_area_prot(vma->vm_file, 0, new_len, + vma->vm_pgoff, map_flags, vma->vm_flags & VM_EXEC); ret = new_addr; if (new_addr & ~PAGE_MASK) goto out; --- linux/mm/mmap.c.orig +++ linux/mm/mmap.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -335,6 +336,8 @@ static inline void __vma_link_list(struct mm_struct *mm, struct vm_area_struct *vma, struct vm_area_struct *prev, struct rb_node *rb_parent) { + if (vma->vm_flags & VM_EXEC) + arch_add_exec_range(mm, vma->vm_end); if (prev) { vma->vm_next = prev->vm_next; prev->vm_next = vma; @@ -439,6 +442,8 @@ __vma_unlink(struct mm_struct *mm, struc rb_erase(&vma->vm_rb, &mm->mm_rb); if (mm->mmap_cache == vma) mm->mmap_cache = prev; + if (vma->vm_flags & VM_EXEC) + arch_remove_exec_range(mm, vma->vm_end); } /* @@ -744,6 +749,8 @@ struct vm_area_struct *vma_merge(struct } else /* cases 2, 5, 7 */ vma_adjust(prev, prev->vm_start, end, prev->vm_pgoff, NULL); + if (prev->vm_flags & VM_EXEC) + arch_add_exec_range(mm, prev->vm_end); return prev; } @@ -915,7 +922,7 @@ unsigned long do_mmap_pgoff(struct file /* Obtain the address to map to. we verify (or select) it and ensure * that it represents a valid section of the address space. */ - addr = get_unmapped_area(file, addr, len, pgoff, flags); + addr = get_unmapped_area_prot(file, addr, len, pgoff, flags, prot & PROT_EXEC); if (addr & ~PAGE_MASK) return addr; @@ -1311,9 +1318,10 @@ void arch_unmap_area_topdown(struct vm_a area->vm_mm->free_area_cache = area->vm_end; } + unsigned long -get_unmapped_area(struct file *file, unsigned long addr, unsigned long len, - unsigned long pgoff, unsigned long flags) +get_unmapped_area_prot(struct file *file, unsigned long addr, unsigned long len, + unsigned long pgoff, unsigned long flags, int exec) { if (flags & MAP_FIXED) { unsigned long ret; @@ -1328,7 +1327,10 @@ get_unmapped_area_prot(struct file *file if (!(flags & MAP_FIXED)) { unsigned long (*get_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); - get_area = current->mm->get_unmapped_area; + if (exec && current->mm->get_unmapped_exec_area) + get_area = current->mm->get_unmapped_exec_area; + else + get_area = current->mm->get_unmapped_area; if (file && file->f_op && file->f_op->get_unmapped_area) get_area = file->f_op->get_unmapped_area; addr = get_area(file, addr, len, pgoff, flags); @@ -1359,7 +1361,71 @@ get_unmapped_area_prot(struct file *file return addr; } -EXPORT_SYMBOL(get_unmapped_area); +EXPORT_SYMBOL(get_unmapped_area_prot); + +#define SHLIB_BASE 0x00111000 + +unsigned long arch_get_unmapped_exec_area(struct file *filp, unsigned long addr0, + unsigned long len0, unsigned long pgoff, unsigned long flags) +{ + unsigned long addr = addr0, len = len0; + struct mm_struct *mm = current->mm; + struct vm_area_struct *vma; + unsigned long tmp; + + if (len > TASK_SIZE) + return -ENOMEM; + + if (!addr && !(flags & MAP_FIXED)) + addr = randomize_range(SHLIB_BASE, 0x01000000, len); + + if (addr) { + addr = PAGE_ALIGN(addr); + vma = find_vma(mm, addr); + if (TASK_SIZE - len >= addr && + (!vma || addr + len <= vma->vm_start)) { + return addr; + } + } + + addr = SHLIB_BASE; + + for (vma = find_vma(mm, addr); ; vma = vma->vm_next) { + /* At this point: (!vma || addr < vma->vm_end). */ + if (TASK_SIZE - len < addr) { + return -ENOMEM; + } + if (!vma || addr + len <= vma->vm_start) { + /* + * Must not let a PROT_EXEC mapping get into the + * brk area: + */ + if (addr + len > mm->brk) + goto failed; + + /* + * Up until the brk area we randomize addresses + * as much as possible: + */ + if (addr >= 0x01000000) { + tmp = randomize_range(0x01000000, mm->brk, len); + vma = find_vma(mm, tmp); + if (TASK_SIZE - len >= tmp && + (!vma || tmp + len <= vma->vm_start)) + return tmp; + } + /* + * Ok, randomization didnt work out - return + * the result of the linear search: + */ + return addr; + } + addr = vma->vm_end; + } + +failed: + return current->mm->get_unmapped_area(filp, addr0, len0, pgoff, flags); +} /* Look up the first VMA which satisfies addr < vm_end, NULL if none. */ struct vm_area_struct * find_vma(struct mm_struct * mm, unsigned long addr) @@ -1423,6 +1501,14 @@ out: return prev ? prev->vm_next : vma; } +static int over_stack_limit(unsigned long sz) +{ + if (sz < EXEC_STACK_BIAS) + return 0; + return (sz - EXEC_STACK_BIAS) > + current->signal->rlim[RLIMIT_STACK].rlim_cur; +} + /* * Verify that the stack growth is acceptable and * update accounting. This is shared with both the @@ -1438,7 +1524,7 @@ static int acct_stack_growth(struct vm_a return -ENOMEM; /* Stack limit test */ - if (size > rlim[RLIMIT_STACK].rlim_cur) + if (over_stack_limit(size)) return -ENOMEM; /* mlock limit tests */ @@ -1780,10 +1866,14 @@ int split_vma(struct mm_struct * mm, str if (new->vm_ops && new->vm_ops->open) new->vm_ops->open(new); - if (new_below) + if (new_below) { + unsigned long old_end = vma->vm_end; + vma_adjust(vma, addr, vma->vm_end, vma->vm_pgoff + ((addr - new->vm_start) >> PAGE_SHIFT), new); - else + if (vma->vm_flags & VM_EXEC) + arch_remove_exec_range(mm, old_end); + } else vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new); return 0; @@ -2003,6 +2093,7 @@ void exit_mmap(struct mm_struct *mm) mm->rss = 0; mm->total_vm = 0; mm->locked_vm = 0; + arch_flush_exec_range(mm); spin_unlock(&mm->page_table_lock); --- linux/kernel/signal.c.orig +++ linux/kernel/signal.c @@ -1176,6 +1176,37 @@ kill_proc_info(int sig, struct siginfo * return error; } +int print_fatal_signals = 0; + +static void print_fatal_signal(struct pt_regs *regs, int signr) +{ + printk("%s/%d: potentially unexpected fatal signal %d.\n", + current->comm, current->pid, signr); + +#ifdef __i386__ + printk("code at %08lx: ", regs->eip); + { + int i; + for (i = 0; i < 16; i++) { + unsigned char insn; + + __get_user(insn, (unsigned char *)(regs->eip + i)); + printk("%02x ", insn); + } + } +#endif + printk("\n"); + show_regs(regs); +} + +static int __init setup_print_fatal_signals(char *str) +{ + get_option (&str, &print_fatal_signals); + + return 1; +} + +__setup("print-fatal-signals=", setup_print_fatal_signals); /* * kill_something_info() interprets pid in interesting ways just like kill(2). @@ -1827,6 +1858,11 @@ relock: if (!signr) break; /* will return 0 */ + if ((signr == SIGSEGV) && print_fatal_signals) { + spin_unlock_irq(¤t->sighand->siglock); + print_fatal_signal(regs, signr); + spin_lock_irq(¤t->sighand->siglock); + } if ((current->ptrace & PT_PTRACED) && signr != SIGKILL) { ptrace_signal_deliver(regs, cookie); @@ -1922,6 +1958,8 @@ relock: * Anything else is fatal, maybe with a core dump. */ current->flags |= PF_SIGNALED; + if (print_fatal_signals) + print_fatal_signal(regs, signr); if (sig_kernel_coredump(signr)) { /* * If it was able to dump core, this kills all --- linux/kernel/sysctl.c.orig +++ linux/kernel/sysctl.c @@ -72,6 +72,29 @@ extern int proc_unknown_nmi_panic(ctl_ta void __user *, size_t *, loff_t *); #endif +extern unsigned int vdso_enabled; + +int exec_shield = 2; +int exec_shield_randomize = 1; + +static int __init setup_exec_shield(char *str) +{ + get_option (&str, &exec_shield); + + return 1; +} + +__setup("exec-shield=", setup_exec_shield); + +static int __init setup_exec_shield_randomize(char *str) +{ + get_option (&str, &exec_shield_randomize); + + return 1; +} + +__setup("exec-shield-randomize=", setup_exec_shield_randomize); + /* this is needed for the proc_dointvec_minmax for [fs_]overflow UID and GID */ static int maxolduid = 65535; static int minolduid; @@ -273,6 +296,40 @@ static ctl_table kern_table[] = { .proc_handler = &proc_dointvec, }, { + .ctl_name = KERN_EXEC_SHIELD, + .procname = "exec-shield", + .data = &exec_shield, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, + { + .ctl_name = KERN_EXEC_SHIELD_RAND, + .procname = "exec-shield-randomize", + .data = &exec_shield_randomize, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, + { + .ctl_name = KERN_PRINT_FATAL, + .procname = "print-fatal-signals", + .data = &print_fatal_signals, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, +#if __i386__ + { + .ctl_name = KERN_VDSO, + .procname = "vdso", + .data = &vdso_enabled, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, +#endif + { .ctl_name = KERN_CORE_USES_PID, .procname = "core_uses_pid", .data = &core_uses_pid, --- linux/arch/x86_64/mm/mmap.c.orig +++ linux/arch/x86_64/mm/mmap.c @@ -0,0 +1,95 @@ +/* + * linux/arch/x86-64/mm/mmap.c + * + * flexible mmap layout support + * + * Copyright 2003-2004 Red Hat Inc., Durham, North Carolina. + * All Rights Reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * + * Started by Ingo Molnar + */ + +#include +#include +#include + +/* + * Top of mmap area (just below the process stack). + * + * Leave an at least ~128 MB hole. + */ +#define MIN_GAP (128*1024*1024) +#define MAX_GAP (TASK_SIZE/6*5) + +static inline unsigned long mmap_base(void) +{ + unsigned long gap = current->signal->rlim[RLIMIT_STACK].rlim_cur; + + if (gap < MIN_GAP) + gap = MIN_GAP; + else if (gap > MAX_GAP) + gap = MAX_GAP; + + return TASK_SIZE - (gap & PAGE_MASK); +} + +static inline int mmap_is_legacy(void) +{ + /* + * Force standard allocation for 64 bit programs. + */ + if (!test_thread_flag(TIF_IA32)) + return 1; + + if (current->personality & ADDR_COMPAT_LAYOUT) + return 1; + + if (current->signal->rlim[RLIMIT_STACK].rlim_cur == RLIM_INFINITY) + return 1; + + return sysctl_legacy_va_layout; +} + +/* + * This function, called very early during the creation of a new + * process VM image, sets up which VM layout function to use: + */ +void arch_pick_mmap_layout(struct mm_struct *mm) +{ + /* + * Fall back to the standard layout if the personality + * bit is set, or if the expected stack growth is unlimited: + */ + if (mmap_is_legacy()) { + mm->mmap_base = TASK_UNMAPPED_BASE; + mm->get_unmapped_area = arch_get_unmapped_area; + mm->unmap_area = arch_unmap_area; + } else { + mm->mmap_base = mmap_base(); + mm->get_unmapped_area = arch_get_unmapped_area_topdown; + mm->unmap_area = arch_unmap_area_topdown; + } +} + +unsigned long arch_align_stack(unsigned long sp) +{ + if (current->flags & PF_RELOCEXEC) + sp -= ((get_random_int() % 65536) << 4); + return sp & ~0xf; +} + --- linux/arch/x86_64/mm/Makefile.orig +++ linux/arch/x86_64/mm/Makefile @@ -2,7 +2,7 @@ # Makefile for the linux x86_64-specific parts of the memory manager. # -obj-y := init.o fault.o ioremap.o extable.o pageattr.o +obj-y := init.o fault.o ioremap.o extable.o pageattr.o mmap.o obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o obj-$(CONFIG_DISCONTIGMEM) += numa.o obj-$(CONFIG_K8_NUMA) += k8topology.o --- linux/arch/x86_64/ia32/ia32_binfmt.c.orig +++ linux/arch/x86_64/ia32/ia32_binfmt.c @@ -395,7 +395,7 @@ int setup_arg_pages(struct linux_binprm } static unsigned long -elf32_map (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int prot, int type) +elf32_map (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int prot, int type, unsigned long unused) { unsigned long map_addr; struct task_struct *me = current; --- linux/arch/ia64/ia32/binfmt_elf32.c.orig +++ linux/arch/ia64/ia32/binfmt_elf32.c @@ -272,7 +272,7 @@ elf32_set_personality (void) } static unsigned long -elf32_map (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int prot, int type) +elf32_map (struct file *filep, unsigned long addr, struct elf_phdr *eppnt, int prot, int type, unsigned long unused) { unsigned long pgoff = (eppnt->p_vaddr) & ~IA32_PAGE_MASK; --- linux/arch/i386/mm/mmap.c.orig +++ linux/arch/i386/mm/mmap.c @@ -26,6 +26,7 @@ #include #include +#include /* * Top of mmap area (just below the process stack). @@ -38,13 +39,17 @@ static inline unsigned long mmap_base(struct mm_struct *mm) { unsigned long gap = current->signal->rlim[RLIMIT_STACK].rlim_cur; + unsigned long random_factor = 0; + + if (current->flags & PF_RELOCEXEC) + random_factor = get_random_int() % (1024*1024); if (gap < MIN_GAP) gap = MIN_GAP; else if (gap > MAX_GAP) gap = MAX_GAP; - return TASK_SIZE - (gap & PAGE_MASK); + return PAGE_ALIGN(TASK_SIZE - gap - random_factor); } /* @@ -57,15 +62,17 @@ void arch_pick_mmap_layout(struct mm_str * Fall back to the standard layout if the personality * bit is set, or if the expected stack growth is unlimited: */ - if (sysctl_legacy_va_layout || + if ((exec_shield != 2) && (sysctl_legacy_va_layout || (current->personality & ADDR_COMPAT_LAYOUT) || - current->signal->rlim[RLIMIT_STACK].rlim_cur == RLIM_INFINITY) { + current->signal->rlim[RLIMIT_STACK].rlim_cur == RLIM_INFINITY)) { mm->mmap_base = TASK_UNMAPPED_BASE; mm->get_unmapped_area = arch_get_unmapped_area; mm->unmap_area = arch_unmap_area; } else { mm->mmap_base = mmap_base(mm); mm->get_unmapped_area = arch_get_unmapped_area_topdown; + if (current->flags & PF_RELOCEXEC) + mm->get_unmapped_exec_area = arch_get_unmapped_exec_area; mm->unmap_area = arch_unmap_area_topdown; } } --- linux/arch/i386/mm/init.c.orig +++ linux/arch/i386/mm/init.c @@ -428,7 +428,7 @@ u64 __supported_pte_mask = ~_PAGE_NX; * Control non executable mappings. * * on Enable - * off Disable + * off Disable (disables exec-shield too) */ void __init noexec_setup(const char *str) { @@ -438,6 +438,7 @@ void __init noexec_setup(const char *str } else if (!strncmp(str,"off",3)) { disable_nx = 1; __supported_pte_mask &= ~_PAGE_NX; + exec_shield = 0; } } @@ -502,7 +503,10 @@ void __init paging_init(void) set_nx(); if (nx_enabled) printk("NX (Execute Disable) protection: active\n"); + else #endif + if (exec_shield) + printk("Using x86 segment limits to approximate NX protection\n"); pagetable_init(); --- linux/arch/i386/kernel/vsyscall.lds.S.orig +++ linux/arch/i386/kernel/vsyscall.lds.S @@ -7,7 +7,7 @@ SECTIONS { - . = VSYSCALL_BASE + SIZEOF_HEADERS; + . = SIZEOF_HEADERS; .hash : { *(.hash) } :text .dynsym : { *(.dynsym) } @@ -20,7 +20,7 @@ SECTIONS For the layouts to match, we need to skip more than enough space for the dynamic symbol table et al. If this amount is insufficient, ld -shared will barf. Just increase it here. */ - . = VSYSCALL_BASE + 0x400; + . = 0x400; .text : { *(.text) } :text =0x90909090 --- linux/arch/i386/kernel/asm-offsets.c.orig +++ linux/arch/i386/kernel/asm-offsets.c @@ -52,6 +52,7 @@ void foo(void) OFFSET(TI_preempt_count, thread_info, preempt_count); OFFSET(TI_addr_limit, thread_info, addr_limit); OFFSET(TI_restart_block, thread_info, restart_block); + OFFSET(TI_sysenter_return, thread_info, sysenter_return); BLANK(); OFFSET(EXEC_DOMAIN_handler, exec_domain, handler); --- linux/arch/i386/kernel/cpu/common.c.orig +++ linux/arch/i386/kernel/cpu/common.c @@ -390,6 +390,12 @@ void __init identify_cpu(struct cpuinfo_ if (disable_pse) clear_bit(X86_FEATURE_PSE, c->x86_capability); + /* hack: disable SEP for non-NX cpus; SEP breaks Execshield. */ + #ifdef CONFIG_HIGHMEM64G + if (!test_bit(X86_FEATURE_NX, c->x86_capability)) + #endif + clear_bit(X86_FEATURE_SEP, c->x86_capability); + /* If the model name is still unset, do table lookup. */ if ( !c->x86_model_id[0] ) { char *p; --- linux/arch/i386/kernel/signal.c.orig +++ linux/arch/i386/kernel/signal.c @@ -380,7 +380,7 @@ static void setup_frame(int sig, struct goto give_sigsegv; } - restorer = &__kernel_sigreturn; + restorer = current->mm->context.vdso + (long)&__kernel_sigreturn; if (ka->sa.sa_flags & SA_RESTORER) restorer = ka->sa.sa_restorer; @@ -475,9 +475,10 @@ static void setup_rt_frame(int sig, stru goto give_sigsegv; /* Set up to return from userspace. */ - restorer = &__kernel_rt_sigreturn; + restorer = current->mm->context.vdso + (long)&__kernel_rt_sigreturn; if (ka->sa.sa_flags & SA_RESTORER) restorer = ka->sa.sa_restorer; + err |= __put_user(restorer, &frame->pretcode); /* --- linux/arch/i386/kernel/entry.S.orig +++ linux/arch/i386/kernel/entry.S @@ -201,8 +201,12 @@ sysenter_past_esp: pushl %ebp pushfl pushl $(__USER_CS) - pushl $SYSENTER_RETURN - + /* + * Push current_thread_info()->sysenter_return to the stack. + * A tiny bit of offset fixup is necessary - 4*4 means the 4 words + * pushed above, and the word being pushed now: + */ + pushl (TI_sysenter_return-THREAD_SIZE+4*4)(%esp) /* * Load the potential sixth argument from user stack. * Careful about security. --- linux/arch/i386/kernel/process.c.orig +++ linux/arch/i386/kernel/process.c @@ -36,6 +36,8 @@ #include #include #include +#include +#include #include #include @@ -581,6 +583,8 @@ struct task_struct fastcall * __switch_t /* never put a printk in __switch_to... printk() calls wake_up*() indirectly */ __unlazy_fpu(prev_p); + if (next_p->mm) + load_user_cs_desc(cpu, next_p->mm); /* * Reload esp0, LDT and the page table pointer: @@ -828,3 +832,68 @@ asmlinkage int sys_get_thread_area(struc return 0; } + +unsigned long arch_align_stack(unsigned long sp) +{ + if (current->flags & PF_RELOCEXEC) + sp -= ((get_random_int() % 65536) << 4); + return sp & ~0xf; +} + + +void arch_add_exec_range(struct mm_struct *mm, unsigned long limit) +{ + if (limit > mm->context.exec_limit) { + mm->context.exec_limit = limit; + set_user_cs(&mm->context.user_cs, limit); + if (mm == current->mm) { + preempt_disable(); + load_user_cs_desc(smp_processor_id(), mm); + preempt_enable(); + } + } +} + +void arch_remove_exec_range(struct mm_struct *mm, unsigned long old_end) +{ + struct vm_area_struct *vma; + unsigned long limit = PAGE_SIZE; + + if (old_end == mm->context.exec_limit) { + for (vma = mm->mmap; vma; vma = vma->vm_next) + if ((vma->vm_flags & VM_EXEC) && (vma->vm_end > limit)) + limit = vma->vm_end; + + mm->context.exec_limit = limit; + set_user_cs(&mm->context.user_cs, limit); + if (mm == current->mm) { + preempt_disable(); + load_user_cs_desc(smp_processor_id(), mm); + preempt_enable(); + } + } +} + +void arch_flush_exec_range(struct mm_struct *mm) +{ + mm->context.exec_limit = 0; + set_user_cs(&mm->context.user_cs, 0); +} + +/* + * Generate random brk address between 128MB and 196MB. (if the layout + * allows it.) + */ +void randomize_brk(unsigned long old_brk) +{ + unsigned long new_brk, range_start, range_end; + + range_start = 0x08000000; + if (current->mm->brk >= range_start) + range_start = current->mm->brk; + range_end = range_start + 0x02000000; + new_brk = randomize_range(range_start, range_end, 0); + if (new_brk) + current->mm->brk = new_brk; +} + --- linux/arch/i386/kernel/traps.c.orig +++ linux/arch/i386/kernel/traps.c @@ -453,6 +453,10 @@ DO_ERROR(11, SIGBUS, "segment not prese DO_ERROR(12, SIGBUS, "stack segment", stack_segment) DO_ERROR_INFO(17, SIGBUS, "alignment check", alignment_check, BUS_ADRALN, 0) +/* + * the original non-exec stack patch was written by + * Solar Designer . Thanks! + */ fastcall void do_general_protection(struct pt_regs * regs, long error_code) { int cpu = get_cpu(); @@ -491,6 +495,46 @@ fastcall void do_general_protection(stru if (!(regs->xcs & 3)) goto gp_in_kernel; + /* + * lazy-check for CS validity on exec-shield binaries: + */ + if (current->mm) { + int cpu = smp_processor_id(); + struct desc_struct *desc1, *desc2; + struct vm_area_struct *vma; + unsigned long limit = PAGE_SIZE; + + spin_lock(¤t->mm->page_table_lock); + for (vma = current->mm->mmap; vma; vma = vma->vm_next) + if ((vma->vm_flags & VM_EXEC) && (vma->vm_end > limit)) + limit = vma->vm_end; + spin_unlock(¤t->mm->page_table_lock); + + current->mm->context.exec_limit = limit; + set_user_cs(¤t->mm->context.user_cs, limit); + + desc1 = ¤t->mm->context.user_cs; + desc2 = per_cpu(cpu_gdt_table, cpu) + GDT_ENTRY_DEFAULT_USER_CS; + + /* + * The CS was not in sync - reload it and retry the + * instruction. If the instruction still faults then + * we wont hit this branch next time around. + */ + if (desc1->a != desc2->a || desc1->b != desc2->b) { + if (print_fatal_signals >= 2) { + printk("#GPF fixup (%ld[seg:%lx]) at %08lx, CPU#%d.\n", error_code, error_code/8, regs->eip, smp_processor_id()); + printk(" exec_limit: %08lx, user_cs: %08lx/%08lx, CPU_cs: %08lx/%08lx.\n", current->mm->context.exec_limit, desc1->a, desc1->b, desc2->a, desc2->b); + } + load_user_cs_desc(cpu, current->mm); + return; + } + } + if (print_fatal_signals) { + printk("#GPF(%ld[seg:%lx]) at %08lx, CPU#%d.\n", error_code, error_code/8, regs->eip, smp_processor_id()); + printk(" exec_limit: %08lx, user_cs: %08lx/%08lx.\n", current->mm->context.exec_limit, current->mm->context.user_cs.a, current->mm->context.user_cs.b); + } + current->thread.error_code = error_code; current->thread.trap_no = 13; force_sig(SIGSEGV, current); --- linux/arch/i386/kernel/smp.c.orig +++ linux/arch/i386/kernel/smp.c @@ -22,6 +22,7 @@ #include #include +#include #include /* @@ -313,6 +314,8 @@ fastcall void smp_invalidate_interrupt(s unsigned long cpu; cpu = get_cpu(); + if (current->active_mm) + load_user_cs_desc(cpu, current->active_mm); if (!cpu_isset(cpu, flush_cpumask)) goto out; --- linux/arch/i386/kernel/vsyscall-sysenter.S.orig +++ linux/arch/i386/kernel/vsyscall-sysenter.S @@ -24,11 +24,11 @@ __kernel_vsyscall: /* 7: align return point with nop's to make disassembly easier */ .space 7,0x90 - /* 14: System call restart point is here! (SYSENTER_RETURN - 2) */ + /* 14: System call restart point is here! (SYSENTER_RETURN_OFFSET-2) */ jmp .Lenter_kernel /* 16: System call normal return point is here! */ - .globl SYSENTER_RETURN /* Symbol used by entry.S. */ -SYSENTER_RETURN: + .globl SYSENTER_RETURN_OFFSET /* Symbol used by sysenter.c */ +SYSENTER_RETURN_OFFSET: pop %ebp .Lpop_ebp: pop %edx --- linux/arch/i386/kernel/sysenter.c.orig +++ linux/arch/i386/kernel/sysenter.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -41,11 +42,14 @@ void enable_sep_cpu(void *info) extern const char vsyscall_int80_start, vsyscall_int80_end; extern const char vsyscall_sysenter_start, vsyscall_sysenter_end; +struct page *sysenter_page; + static int __init sysenter_setup(void) { void *page = (void *)get_zeroed_page(GFP_ATOMIC); - __set_fixmap(FIX_VSYSCALL, __pa(page), PAGE_READONLY_EXEC); + __set_fixmap(FIX_VSYSCALL, __pa(page), PAGE_KERNEL_RO); + sysenter_page = virt_to_page(page); if (!boot_cpu_has(X86_FEATURE_SEP)) { memcpy(page, @@ -59,7 +63,51 @@ static int __init sysenter_setup(void) &vsyscall_sysenter_end - &vsyscall_sysenter_start); on_each_cpu(enable_sep_cpu, NULL, 1, 1); + return 0; } __initcall(sysenter_setup); + +extern void SYSENTER_RETURN_OFFSET; + +unsigned int vdso_enabled = 0; + +void map_vsyscall(void) +{ + struct thread_info *ti = current_thread_info(); + struct vm_area_struct *vma; + unsigned long addr; + + if (1 || unlikely(!vdso_enabled)) { + current->mm->context.vdso = NULL; + return; + } + + /* + * Map the vDSO (it will be randomized): + */ + down_write(¤t->mm->mmap_sem); + addr = do_mmap(NULL, 0, 4096, PROT_READ | PROT_EXEC, MAP_PRIVATE, 0); + current->mm->context.vdso = (void *)addr; + ti->sysenter_return = (void *)addr + (long)&SYSENTER_RETURN_OFFSET; + if (addr != -1) { + vma = find_vma(current->mm, addr); + if (vma) { + pgprot_val(vma->vm_page_prot) &= ~_PAGE_RW; + get_page(sysenter_page); + install_page(current->mm, vma, addr, + sysenter_page, vma->vm_page_prot); + + } + } + up_write(¤t->mm->mmap_sem); +} + +static int __init vdso_setup(char *str) +{ + vdso_enabled = simple_strtoul(str, NULL, 0); + return 1; +} +__setup("vdso=", vdso_setup); + --- linux/drivers/char/random.c.orig +++ linux/drivers/char/random.c @@ -2383,3 +2383,36 @@ __u32 check_tcp_syn_cookie(__u32 cookie, } #endif #endif /* CONFIG_INET */ + +/* + * Get a random word: + */ +unsigned int get_random_int(void) +{ + unsigned int val = 0; + + if (!exec_shield_randomize) + return 0; + +#ifdef CONFIG_X86_HAS_TSC + rdtscl(val); +#endif + val += current->pid + jiffies + (int)val; + + /* + * Use IP's RNG. It suits our purpose perfectly: it re-keys itself + * every second, from the entropy pool (and thus creates a limited + * drain on it), and uses halfMD4Transform within the second. We + * also spice it with the TSC (if available), jiffies, PID and the + * stack address: + */ + return secure_ip_id(val); +} + +unsigned long randomize_range(unsigned long start, unsigned long end, unsigned long len) +{ + unsigned long range = end - len - start; + if (end <= start + len) + return 0; + return PAGE_ALIGN(get_random_int() % range + start); +} --- linux/include/asm-ia64/pgalloc.h.orig +++ linux/include/asm-ia64/pgalloc.h @@ -23,6 +23,10 @@ #include #include +#define arch_add_exec_range(mm, limit) do { ; } while (0) +#define arch_flush_exec_range(mm) do { ; } while (0) +#define arch_remove_exec_range(mm, limit) do { ; } while (0) + /* * Very stupidly, we used to get new pgd's and pmd's, init their contents * to point to the NULL versions of the next level page table, later on --- linux/include/asm-sparc/pgalloc.h.orig +++ linux/include/asm-sparc/pgalloc.h @@ -66,4 +66,8 @@ BTFIXUPDEF_CALL(void, pte_free, struct p #define pte_free(pte) BTFIXUP_CALL(pte_free)(pte) #define __pte_free_tlb(tlb, pte) pte_free(pte) +#define arch_add_exec_range(mm, limit) do { ; } while (0) +#define arch_flush_exec_range(mm) do { ; } while (0) +#define arch_remove_exec_range(mm, limit) do { ; } while (0) + #endif /* _SPARC_PGALLOC_H */ --- linux/include/asm-s390/pgalloc.h.orig +++ linux/include/asm-s390/pgalloc.h @@ -19,6 +19,10 @@ #include #include +#define arch_add_exec_range(mm, limit) do { ; } while (0) +#define arch_flush_exec_range(mm) do { ; } while (0) +#define arch_remove_exec_range(mm, limit) do { ; } while (0) + #define check_pgt_cache() do {} while (0) extern void diag10(unsigned long addr); --- linux/include/asm-ppc/pgalloc.h.orig +++ linux/include/asm-ppc/pgalloc.h @@ -40,5 +40,10 @@ extern void pte_free(struct page *pte); #define check_pgt_cache() do { } while (0) +#define arch_add_exec_range(mm, limit) do { ; } while (0) +#define arch_flush_exec_range(mm) do { ; } while (0) +#define arch_remove_exec_range(mm, limit) do { ; } while (0) + + #endif /* _PPC_PGALLOC_H */ #endif /* __KERNEL__ */ --- linux/include/linux/random.h.orig +++ linux/include/linux/random.h @@ -70,6 +70,9 @@ extern __u32 secure_tcpv6_sequence_numbe extern struct file_operations random_fops, urandom_fops; #endif +unsigned int get_random_int(void); +unsigned long randomize_range(unsigned long start, unsigned long end, unsigned long len); + #endif /* __KERNEL___ */ #endif /* _LINUX_RANDOM_H */ --- linux/include/linux/resource.h.orig +++ linux/include/linux/resource.h @@ -52,8 +52,11 @@ struct rlimit { /* * Limit the stack by to some sane default: root can always * increase this limit if needed.. 8MB seems reasonable. + * + * (2MB more to cover randomization effects.) */ -#define _STK_LIM (8*1024*1024) +#define _STK_LIM (10*1024*1024) +#define EXEC_STACK_BIAS (2*1024*1024) /* * GPG wants 32kB of mlocked memory, to make sure pass phrases --- linux/include/linux/sysctl.h.orig +++ linux/include/linux/sysctl.h @@ -84,6 +84,10 @@ enum KERN_CAP_BSET=14, /* int: capability bounding set */ KERN_PANIC=15, /* int: panic timeout */ + KERN_EXEC_SHIELD=1000, /* int: exec-shield enabled (0/1/2) */ + KERN_EXEC_SHIELD_RAND=1001, /* int: exec-shield randomize (0/1) */ + KERN_PRINT_FATAL=1002, /* int: print fatal signals (0/1/2) */ + KERN_VDSO=1003, /* int: VDSO enabled (0/1) */ KERN_REALROOTDEV=16, /* real root device to mount after initrd */ KERN_SPARC_REBOOT=21, /* reboot command on Sparc */ --- linux/include/linux/sched.h.orig +++ linux/include/linux/sched.h @@ -34,6 +34,9 @@ #include struct exec_domain; +extern int exec_shield; +extern int exec_shield_randomize; +extern int print_fatal_signals; /* * cloning flags: @@ -196,6 +199,10 @@ extern int sysctl_max_map_count; extern unsigned long arch_get_unmapped_area(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); + +extern unsigned long +arch_get_unmapped_exec_area(struct file *, unsigned long, unsigned long, + unsigned long, unsigned long); extern unsigned long arch_get_unmapped_area_topdown(struct file *filp, unsigned long addr, unsigned long len, unsigned long pgoff, @@ -211,6 +218,9 @@ struct mm_struct { unsigned long (*get_unmapped_area) (struct file *filp, unsigned long addr, unsigned long len, unsigned long pgoff, unsigned long flags); + unsigned long (*get_unmapped_exec_area) (struct file *filp, + unsigned long addr, unsigned long len, + unsigned long pgoff, unsigned long flags); void (*unmap_area) (struct vm_area_struct *area); unsigned long mmap_base; /* base of mmap area */ unsigned long free_area_cache; /* first hole */ @@ -735,6 +745,7 @@ do { if (atomic_dec_and_test(&(tsk)->usa #define PF_LESS_THROTTLE 0x00100000 /* Throttle me less: I clean memory */ #define PF_SYNCWRITE 0x00200000 /* I am doing a sync write */ #define PF_BORROWED_MM 0x00400000 /* I am a kthread doing use_mm */ +#define PF_RELOCEXEC 0x00800000 /* relocate shared libraries */ /* * Only the _current_ task can read/write to tsk->flags, but other --- linux/include/linux/mm.h.orig +++ linux/include/linux/mm.h @@ -728,7 +728,14 @@ extern struct vm_area_struct *copy_vma(s unsigned long addr, unsigned long len, pgoff_t pgoff); extern void exit_mmap(struct mm_struct *); -extern unsigned long get_unmapped_area(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); +extern unsigned long get_unmapped_area_prot(struct file *, unsigned long, unsigned long, unsigned long, unsigned long, int); + + +static inline unsigned long get_unmapped_area(struct file * file, unsigned long addr, + unsigned long len, unsigned long pgoff, unsigned long flags) +{ + return get_unmapped_area_prot(file, addr, len, pgoff, flags, 0); +} extern unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, unsigned long len, unsigned long prot, --- linux/include/asm-i386/mmu.h.orig +++ linux/include/asm-i386/mmu.h @@ -7,11 +7,17 @@ * we put the segment information here. * * cpu_vm_mask is used to optimize ldt flushing. + * + * exec_limit is used to track the range PROT_EXEC + * mappings span. */ typedef struct { int size; struct semaphore sem; void *ldt; + struct desc_struct user_cs; + unsigned long exec_limit; + void *vdso; } mm_context_t; #endif --- linux/include/asm-i386/processor.h.orig +++ linux/include/asm-i386/processor.h @@ -304,7 +304,10 @@ extern int bootloader_type; /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ -#define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3)) +#define TASK_UNMAPPED_BASE PAGE_ALIGN(TASK_SIZE/3) + +#define __HAVE_ARCH_ALIGN_STACK +extern unsigned long arch_align_stack(unsigned long sp); #define HAVE_ARCH_PICK_MMAP_LAYOUT @@ -486,6 +489,9 @@ static inline void load_esp0(struct tss_ regs->xcs = __USER_CS; \ regs->eip = new_eip; \ regs->esp = new_esp; \ + preempt_disable(); \ + load_user_cs_desc(smp_processor_id(), current->mm); \ + preempt_enable(); \ } while (0) /* Forward declaration, a strange C thing */ --- linux/include/asm-i386/desc.h.orig +++ linux/include/asm-i386/desc.h @@ -135,6 +135,20 @@ static inline unsigned long get_desc_bas return base; } +static inline void set_user_cs(struct desc_struct *desc, unsigned long limit) +{ + limit = (limit - 1) / PAGE_SIZE; + desc->a = limit & 0xffff; + desc->b = (limit & 0xf0000) | 0x00c0fb00; +} + +#define load_user_cs_desc(cpu, mm) \ + per_cpu(cpu_gdt_table, (cpu))[GDT_ENTRY_DEFAULT_USER_CS] = (mm)->context.user_cs + +extern void arch_add_exec_range(struct mm_struct *mm, unsigned long limit); +extern void arch_remove_exec_range(struct mm_struct *mm, unsigned long limit); +extern void arch_flush_exec_range(struct mm_struct *mm); + #endif /* !__ASSEMBLY__ */ #endif --- linux/include/asm-i386/thread_info.h.orig +++ linux/include/asm-i386/thread_info.h @@ -38,6 +38,7 @@ struct thread_info { 0-0xBFFFFFFF for user-thead 0-0xFFFFFFFF for kernel-thread */ + void *sysenter_return; struct restart_block restart_block; unsigned long previous_esp; /* ESP of the previous stack in case --- linux/include/asm-i386/pgalloc.h.orig +++ linux/include/asm-i386/pgalloc.h @@ -4,6 +4,7 @@ #include #include #include +#include #include #include /* for struct page */ --- linux/include/asm-i386/elf.h.orig +++ linux/include/asm-i386/elf.h @@ -9,6 +9,7 @@ #include #include #include /* for savesegment */ +#include #include @@ -133,15 +134,22 @@ extern int dump_task_extended_fpu (struc #define ELF_CORE_COPY_FPREGS(tsk, elf_fpregs) dump_task_fpu(tsk, elf_fpregs) #define ELF_CORE_COPY_XFPREGS(tsk, elf_xfpregs) dump_task_extended_fpu(tsk, elf_xfpregs) -#define VSYSCALL_BASE (__fix_to_virt(FIX_VSYSCALL)) -#define VSYSCALL_EHDR ((const struct elfhdr *) VSYSCALL_BASE) -#define VSYSCALL_ENTRY ((unsigned long) &__kernel_vsyscall) extern void __kernel_vsyscall; +#define VSYSCALL_BASE ((unsigned long)current->mm->context.vdso) +#define VSYSCALL_EHDR ((const struct elfhdr *) VSYSCALL_BASE) +#define VSYSCALL_OFFSET ((unsigned long) &__kernel_vsyscall) +#define VSYSCALL_ENTRY (VSYSCALL_BASE + VSYSCALL_OFFSET) -#define ARCH_DLINFO \ -do { \ - NEW_AUX_ENT(AT_SYSINFO, VSYSCALL_ENTRY); \ - NEW_AUX_ENT(AT_SYSINFO_EHDR, VSYSCALL_BASE); \ +/* kernel-internal fixmap address: */ +#define __VSYSCALL_BASE (__fix_to_virt(FIX_VSYSCALL)) +#define __VSYSCALL_EHDR ((const struct elfhdr *) __VSYSCALL_BASE) + +#define ARCH_DLINFO \ +do { \ + if (VSYSCALL_BASE) { \ + NEW_AUX_ENT(AT_SYSINFO, VSYSCALL_ENTRY); \ + NEW_AUX_ENT(AT_SYSINFO_EHDR, VSYSCALL_BASE); \ + } \ } while (0) /* @@ -152,15 +160,15 @@ do { \ * Dumping its extra ELF program headers includes all the other information * a debugger needs to easily find how the vsyscall DSO was being used. */ -#define ELF_CORE_EXTRA_PHDRS (VSYSCALL_EHDR->e_phnum) +#define ELF_CORE_EXTRA_PHDRS (__VSYSCALL_EHDR->e_phnum) #define ELF_CORE_WRITE_EXTRA_PHDRS \ do { \ const struct elf_phdr *const vsyscall_phdrs = \ - (const struct elf_phdr *) (VSYSCALL_BASE \ - + VSYSCALL_EHDR->e_phoff); \ + (const struct elf_phdr *) (__VSYSCALL_BASE \ + + __VSYSCALL_EHDR->e_phoff); \ int i; \ Elf32_Off ofs = 0; \ - for (i = 0; i < VSYSCALL_EHDR->e_phnum; ++i) { \ + for (i = 0; i < __VSYSCALL_EHDR->e_phnum; ++i) { \ struct elf_phdr phdr = vsyscall_phdrs[i]; \ if (phdr.p_type == PT_LOAD) { \ BUG_ON(ofs != 0); \ @@ -178,10 +186,10 @@ do { \ #define ELF_CORE_WRITE_EXTRA_DATA \ do { \ const struct elf_phdr *const vsyscall_phdrs = \ - (const struct elf_phdr *) (VSYSCALL_BASE \ - + VSYSCALL_EHDR->e_phoff); \ + (const struct elf_phdr *) (__VSYSCALL_BASE \ + + __VSYSCALL_EHDR->e_phoff); \ int i; \ - for (i = 0; i < VSYSCALL_EHDR->e_phnum; ++i) { \ + for (i = 0; i < __VSYSCALL_EHDR->e_phnum; ++i) { \ if (vsyscall_phdrs[i].p_type == PT_LOAD) \ DUMP_WRITE((void *) vsyscall_phdrs[i].p_vaddr, \ PAGE_ALIGN(vsyscall_phdrs[i].p_memsz)); \ @@ -190,4 +198,10 @@ do { \ #endif +#define __HAVE_ARCH_RANDOMIZE_BRK +extern void randomize_brk(unsigned long old_brk); + +#define __HAVE_ARCH_VSYSCALL +extern void map_vsyscall(void); + #endif --- linux/include/asm-ppc64/pgalloc.h.orig +++ linux/include/asm-ppc64/pgalloc.h @@ -11,6 +11,11 @@ extern kmem_cache_t *zero_cache; +/* Dummy functions since we don't support execshield on ppc */ +#define arch_add_exec_range(mm, limit) do { ; } while (0) +#define arch_flush_exec_range(mm) do { ; } while (0) +#define arch_remove_exec_range(mm, limit) do { ; } while (0) + /* * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License --- linux/include/asm-sparc64/pgalloc.h.orig +++ linux/include/asm-sparc64/pgalloc.h @@ -260,4 +260,8 @@ static inline void pte_free(struct page #define pgd_free(pgd) free_pgd_fast(pgd) #define pgd_alloc(mm) get_pgd_fast() +#define arch_add_exec_range(mm, limit) do { ; } while (0) +#define arch_flush_exec_range(mm) do { ; } while (0) +#define arch_remove_exec_range(mm, limit) do { ; } while (0) + #endif /* _SPARC64_PGALLOC_H */ --- linux/include/asm-x86_64/processor.h.orig +++ linux/include/asm-x86_64/processor.h @@ -164,6 +164,15 @@ static inline void clear_in_cr4 (unsigne */ #define TASK_SIZE (0x800000000000UL) +#define TASK_SIZE_64 (0x800000000000) + +#define TASK_SIZE (test_thread_flag(TIF_IA32) ? IA32_PAGE_OFFSET : TASK_SIZE_64) + +#define __HAVE_ARCH_ALIGN_STACK +extern unsigned long arch_align_stack(unsigned long sp); + +#define HAVE_ARCH_PICK_MMAP_LAYOUT + /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ --- linux/include/asm-x86_64/pgalloc.h.orig +++ linux/include/asm-x86_64/pgalloc.h @@ -7,6 +7,13 @@ #include #include +#define arch_add_exec_range(mm, limit) \ + do { (void)(mm), (void)(limit); } while (0) +#define arch_flush_exec_range(mm) \ + do { (void)(mm); } while (0) +#define arch_remove_exec_range(mm, limit) \ + do { (void)(mm), (void)(limit); } while (0) + #define pmd_populate_kernel(mm, pmd, pte) \ set_pmd(pmd, __pmd(_PAGE_TABLE | __pa(pte))) #define pud_populate(mm, pud, pmd) \ Index: kernel-2.6.spec =================================================================== RCS file: /cvs/dist/rpms/kernel/FC-3/kernel-2.6.spec,v retrieving revision 1.839 retrieving revision 1.840 diff -u -r1.839 -r1.840 --- kernel-2.6.spec 31 May 2005 06:47:14 -0000 1.839 +++ kernel-2.6.spec 1 Jun 2005 05:49:43 -0000 1.840 @@ -229,10 +229,8 @@ # and patches related to how RPMs are build # Patch500: linux-2.4.0-nonintconfig.patch -Patch511: linux-2.6.0-exec-shield.patch -Patch512: linux-2.6.8-print-fatal-signals.patch -Patch513: linux-2.6.8-execshield-vaspace.patch -Patch515: linux-2.6.10-x86_64-read-implies-exec32.patch +Patch511: linux-2.6.11-exec-shield.patch +Patch512: linux-2.6.10-x86_64-read-implies-exec32.patch Patch530: linux-2.6.0-must_check.patch # Module signing infrastructure. @@ -457,17 +455,10 @@ # # The execshield patch series, broken into smaller pieces # -# 1) Exec shield core +# Exec shield core %patch511 -p1 - -# 2) Option to printk fatal signals, useful for debugging -%patch512 -p1 - -# 3) The Execshield VA rearrangements -%patch513 -p1 - -# 4) Revert x86-64 read-implies-exec on 32 bit processes. -%patch515 -p1 -R +# Revert x86-64 read-implies-exec on 32 bit processes. +%patch512 -p1 -R # # Patch that adds a __must_check attribute for functions for which checking @@ -903,6 +894,9 @@ %endif %changelog +* Wed Jun 1 2005 Dave Jones +- Exec-shield improvements (Should fix #154759) + * Tue May 31 2005 Dave Jones - Rebase to 2.6.11.11 From fedora-cvs-commits at redhat.com Wed Jun 1 05:49:57 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 01:49:57 -0400 Subject: rpms/kernel/FC-3 kernel-2.6.spec,1.840,1.841 Message-ID: <200506010549.j515nvcN021062@cvs.devel.redhat.com> Author: davej Update of /cvs/dist/rpms/kernel/FC-3 In directory cvs.devel.redhat.com:/tmp/cvs-serv21050 Modified Files: kernel-2.6.spec Log Message: bump From fedora-cvs-commits at redhat.com Wed Jun 1 07:57:56 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 03:57:56 -0400 Subject: rpms/openoffice.org/devel openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch, 1.6, 1.7 Message-ID: <200506010757.j517vuFS016447@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv16431 Modified Files: openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch Log Message: . openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch: comphelper/inc/comphelper/propmultiplex.hxx | 2 ++ configmgr/source/api2/confproviderimpl2.hxx | 2 ++ configmgr/source/api2/providerimpl.hxx | 2 ++ inc/alpha.hxx | 0 inc/comphelper/propmultiplex.hxx | 0 inc/fsys.hxx | 0 inc/outdev.hxx | 0 inc/psprint/fontmanager.hxx | 0 inc/psprint/printergfx.hxx | 0 psprint/inc/psprint/fontmanager.hxx | 2 ++ psprint/inc/psprint/printergfx.hxx | 2 ++ source/api2/confproviderimpl2.hxx | 0 source/api2/providerimpl.hxx | 0 source/core/ucbstore.hxx | 0 source/inspect/introspection.cxx | 0 stoc/source/inspect/introspection.cxx | 1 + tools/inc/fsys.hxx | 1 + ucb/source/core/ucbstore.hxx | 1 + vcl/inc/alpha.hxx | 1 + vcl/inc/outdev.hxx | 2 ++ 20 files changed, 16 insertions(+) Index: openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch 31 May 2005 19:15:50 -0000 1.6 +++ openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch 1 Jun 2005 07:57:53 -0000 1.7 @@ -123,3 +123,34 @@ class VCL_DLLPUBLIC OutputDevice : public Resource { friend class Application; +Index: source/api2/confproviderimpl2.hxx +=================================================================== +RCS file: /cvs/util/configmgr/source/api2/confproviderimpl2.hxx,v +retrieving revision 1.3 +diff -u -r1.3 confproviderimpl2.hxx +--- openoffice.org.orig/configmgr/source/api2/confproviderimpl2.hxx 19 Mar 2003 16:18:31 -0000 1.3 ++++ openoffice.org/configmgr/source/api2/confproviderimpl2.hxx 1 Jun 2005 07:56:28 -0000 +@@ -79,6 +79,8 @@ + namespace uno = css::uno; + namespace script = css::script; + ++ class OConfigurationProvider; ++ + class OConfigurationProviderImpl : public OProviderImpl + { + friend class OConfigurationProvider; +Index: source/core/ucbstore.hxx +=================================================================== +RCS file: /cvs/ucb/ucb/source/core/ucbstore.hxx,v +retrieving revision 1.3 +diff -u -r1.3 ucbstore.hxx +--- openoffice.org.orig/ucb/source/core/ucbstore.hxx 10 Dec 2000 15:13:04 -0000 1.3 ++++ openoffice.org/ucb/source/core/ucbstore.hxx 1 Jun 2005 07:57:59 -0000 +@@ -169,6 +169,7 @@ + //========================================================================= + + struct PropertySetRegistry_Impl; ++class PersistentPropertySet; + + class PropertySetRegistry : + public cppu::OWeakObject, From fedora-cvs-commits at redhat.com Wed Jun 1 08:50:17 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 04:50:17 -0400 Subject: rpms/kernel/FC-3 linux-2.6.0-exec-shield.patch, 1.46, NONE linux-2.6.11-x86_64-fault-fix.patch, 1.1, NONE linux-2.6.8-execshield-vaspace.patch, 1.5, NONE linux-2.6.8-print-fatal-signals.patch, 1.2, NONE Message-ID: <200506010850.j518oHfp015280@cvs.devel.redhat.com> Author: davej Update of /cvs/dist/rpms/kernel/FC-3 In directory cvs.devel.redhat.com:/tmp/cvs-serv15269 Removed Files: linux-2.6.0-exec-shield.patch linux-2.6.11-x86_64-fault-fix.patch linux-2.6.8-execshield-vaspace.patch linux-2.6.8-print-fatal-signals.patch Log Message: dead bits --- linux-2.6.0-exec-shield.patch DELETED --- --- linux-2.6.11-x86_64-fault-fix.patch DELETED --- --- linux-2.6.8-execshield-vaspace.patch DELETED --- --- linux-2.6.8-print-fatal-signals.patch DELETED --- From fedora-cvs-commits at redhat.com Wed Jun 1 09:17:53 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 05:17:53 -0400 Subject: rpms/vsftpd/devel vsftpd.pam,1.4,1.5 vsftpd.spec,1.28,1.29 Message-ID: <200506010917.j519Hrte008248@cvs.devel.redhat.com> Author: rvokal Update of /cvs/dist/rpms/vsftpd/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv8235 Modified Files: vsftpd.pam vsftpd.spec Log Message: - vsftpd update for new audit system (#159223) Index: vsftpd.pam =================================================================== RCS file: /cvs/dist/rpms/vsftpd/devel/vsftpd.pam,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- vsftpd.pam 10 Jan 2005 08:35:23 -0000 1.4 +++ vsftpd.pam 1 Jun 2005 09:17:51 -0000 1.5 @@ -4,3 +4,4 @@ auth required pam_shells.so account required pam_stack.so service=system-auth session required pam_stack.so service=system-auth +session required pam_loginuid.so Index: vsftpd.spec =================================================================== RCS file: /cvs/dist/rpms/vsftpd/devel/vsftpd.spec,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- vsftpd.spec 27 May 2005 08:41:54 -0000 1.28 +++ vsftpd.spec 1 Jun 2005 09:17:51 -0000 1.29 @@ -3,7 +3,7 @@ Summary: vsftpd - Very Secure Ftp Daemon Name: vsftpd Version: 2.0.3 -Release: 2 +Release: 3 License: GPL Group: System Environment/Daemons URL: http://vsftpd.beasts.org/ @@ -122,6 +122,9 @@ /var/ftp %changelog +* Wed Jun 01 2005 Radek Vokal 2.0.3-3 +- vsftpd update for new audit system (#159223) + * Fri May 27 2005 Radek Vokal 2.0.3-2 - timezone fix, patch from suse.de (#158779) From fedora-cvs-commits at redhat.com Wed Jun 1 09:25:16 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 05:25:16 -0400 Subject: rpms/tomcat5/devel tomcat5.spec,1.26,1.27 Message-ID: <200506010925.j519PGAS006192@cvs.devel.redhat.com> Author: gbenson Update of /cvs/dist/rpms/tomcat5/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv308 Modified Files: tomcat5.spec Log Message: Bump, build Index: tomcat5.spec =================================================================== RCS file: /cvs/dist/rpms/tomcat5/devel/tomcat5.spec,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- tomcat5.spec 31 May 2005 16:06:55 -0000 1.26 +++ tomcat5.spec 1 Jun 2005 09:25:12 -0000 1.27 @@ -2,7 +2,7 @@ %define full_name jakarta-%{name} %define version 5.0.30 %define majversion 5.0 -%define release 6jpp_0fc +%define release 6jpp_1fc %define section free %define summary Apache Servlet/JSP Engine, RI for Servlet 2.4/JSP 2.0 API @@ -873,7 +873,7 @@ %{serverdir}/webapps/* %changelog -* Tue May 31 2005 Gary Benson +* Tue May 31 2005 Gary Benson 0:5.0.30-6jpp_1fc - Rearrange how BC-compiled stuff is built and installed. * Fri May 27 2005 Gary Benson From fedora-cvs-commits at redhat.com Wed Jun 1 10:12:25 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 06:12:25 -0400 Subject: rpms/openoffice.org/devel openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch, 1.7, 1.8 openoffice.org.spec, 1.200, 1.201 Message-ID: <200506011012.j51ACPBL021363@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv21349/devel Modified Files: openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch openoffice.org.spec Log Message: . openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch: comphelper/inc/comphelper/propmultiplex.hxx | 2 ++ configmgr/source/api2/confproviderimpl2.hxx | 2 ++ configmgr/source/api2/providerimpl.hxx | 2 ++ inc/alpha.hxx | 0 inc/comphelper/propmultiplex.hxx | 0 inc/fsys.hxx | 0 inc/mapmod.hxx | 0 inc/outdev.hxx | 0 inc/psprint/fontmanager.hxx | 0 inc/psprint/printergfx.hxx | 0 psprint/inc/psprint/fontmanager.hxx | 2 ++ psprint/inc/psprint/printergfx.hxx | 2 ++ source/api2/confproviderimpl2.hxx | 0 source/api2/providerimpl.hxx | 0 source/core/ucbstore.hxx | 0 source/inspect/introspection.cxx | 0 stoc/source/inspect/introspection.cxx | 1 + tools/inc/fsys.hxx | 1 + ucb/source/core/ucbstore.hxx | 1 + vcl/inc/alpha.hxx | 1 + vcl/inc/mapmod.hxx | 1 + vcl/inc/outdev.hxx | 2 ++ 22 files changed, 17 insertions(+) Index: openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch 1 Jun 2005 07:57:53 -0000 1.7 +++ openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch 1 Jun 2005 10:12:22 -0000 1.8 @@ -154,3 +154,18 @@ class PropertySetRegistry : public cppu::OWeakObject, +Index: inc/mapmod.hxx +=================================================================== +RCS file: /cvs/gsl/vcl/inc/mapmod.hxx,v +retrieving revision 1.3 +diff -u -r1.3 mapmod.hxx +--- openoffice.org.orig/vcl/inc/mapmod.hxx 13 Jan 2005 17:39:52 -0000 1.3 ++++ openoffice.org/vcl/inc/mapmod.hxx 1 Jun 2005 10:13:51 -0000 +@@ -85,6 +85,7 @@ + #endif + + class SvStream; ++class OutputDevice; + + // -------------- + // - ImplMapMode - Index: openoffice.org.spec =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org.spec,v retrieving revision 1.200 retrieving revision 1.201 diff -u -r1.200 -r1.201 --- openoffice.org.spec 31 May 2005 13:15:15 -0000 1.200 +++ openoffice.org.spec 1 Jun 2005 10:12:22 -0000 1.201 @@ -62,7 +62,7 @@ Patch8: openoffice.org-1.9.85.rh151356.usetwodotzeropath.patch Patch10: openoffice.org-1.9.87.warnnoterroronmissing.patch Patch11: openoffice.org-1.9.87.rh151357.patch -#Patch12: openoffice.org-1.9.87.oooXXXXX.fragments.patch +Patch12: openoffice.org-1.9.87.oooXXXXX.fragments.patch Patch13: openoffice.org-1.9.88.NONE.gcc3gcj4.patch Patch14: openoffice.org-1.9.88.rh133741.alwaysgtk.patch Patch15: openoffice.org-1.9.88.ooo46217.allowfallbacktoenUSfromotherenglish.patch @@ -672,7 +672,7 @@ %patch8 -p1 -b .usetwodotzeropath.patch %patch10 -p1 -b .warnnoterroronmissing.patch %patch11 -p1 -b .rh151357.patch -#%patch12 -p1 -b .oooXXXXX.fragments.patch +%patch12 -p1 -b .oooXXXXX.fragments.patch %patch13 -p1 -b .gcc3gcj4.patch %patch14 -p1 -b .rh133741.alwaysgtk.patch %patch15 -p1 -b .ooo46217.allowfallbacktoenUSfromotherenglish.patch From fedora-cvs-commits at redhat.com Wed Jun 1 10:32:09 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 06:32:09 -0400 Subject: rpms/classpathx-mail/devel classpathx-mail.spec,1.11,1.12 Message-ID: <200506011032.j51AW92L014350@cvs.devel.redhat.com> Author: gbenson Update of /cvs/dist/rpms/classpathx-mail/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv14335 Modified Files: classpathx-mail.spec Log Message: Fix location of monolithic jarfile Index: classpathx-mail.spec =================================================================== RCS file: /cvs/dist/rpms/classpathx-mail/devel/classpathx-mail.spec,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- classpathx-mail.spec 31 May 2005 12:02:11 -0000 1.11 +++ classpathx-mail.spec 1 Jun 2005 10:32:07 -0000 1.12 @@ -3,7 +3,7 @@ Name: classpathx-mail Version: 1.0 -Release: 4jpp_1fc +Release: 4jpp_1.5fc Epoch: 0 Summary: GNU JavaMail(tm) @@ -117,8 +117,8 @@ done install -pm 644 monolithic.jar \ - $RPM_BUILD_ROOT%{_javadir}/javamail/javamail-%{jmailver}.jar -ln -s javamail-%{jmailver}.jar $RPM_BUILD_ROOT%{_javadir}/javamail/javamail.jar + $RPM_BUILD_ROOT%{_javadir}/javamail-%{jmailver}.jar +ln -s javamail-%{jmailver}.jar $RPM_BUILD_ROOT%{_javadir}/javamail.jar install -dm 755 $RPM_BUILD_ROOT%{_javadocdir}/javamail-%{jmailver} cp -pR docs/* $RPM_BUILD_ROOT%{_javadocdir}/javamail-%{jmailver} @@ -137,18 +137,12 @@ %files %defattr(644,root,root,755) %doc AUTHORS ChangeLog COPYING -%dir %{_javadir}/javamail -%{_javadir}/javamail/mailapi*.jar -%{_javadir}/javamail/providers*.jar -%{_javadir}/javamail/imap*.jar -%{_javadir}/javamail/nntp*.jar -%{_javadir}/javamail/pop3*.jar -%{_javadir}/javamail/smtp*.jar +%{_javadir}/javamail %files monolithic %defattr(644,root,root,755) -%dir %{_javadir}/javamail -%{_javadir}/javamail/javamail*.jar +%{_javadir}/javamail-%{jmailver}.jar +%{_javadir}/javamail.jar %files javadoc %defattr(644,root,root,755) @@ -157,6 +151,9 @@ %changelog +* Wed Jun 1 2005 Gary Benson 0:1.0-4jpp_2fc +- Fix location of monolithic jarfile. + * Tue May 31 2005 Gary Benson 0:1.0-4jpp_1fc - Remove now-unnecessary workaround for #132524. - Upgrade to 1.0-4jpp. From fedora-cvs-commits at redhat.com Wed Jun 1 10:32:38 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 06:32:38 -0400 Subject: rpms/classpathx-mail/devel classpathx-mail.spec,1.12,1.13 Message-ID: <200506011032.j51AWc5V014409@cvs.devel.redhat.com> Author: gbenson Update of /cvs/dist/rpms/classpathx-mail/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv14397 Modified Files: classpathx-mail.spec Log Message: DOH! Index: classpathx-mail.spec =================================================================== RCS file: /cvs/dist/rpms/classpathx-mail/devel/classpathx-mail.spec,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- classpathx-mail.spec 1 Jun 2005 10:32:07 -0000 1.12 +++ classpathx-mail.spec 1 Jun 2005 10:32:36 -0000 1.13 @@ -3,7 +3,7 @@ Name: classpathx-mail Version: 1.0 -Release: 4jpp_1.5fc +Release: 4jpp_2fc Epoch: 0 Summary: GNU JavaMail(tm) From fedora-cvs-commits at redhat.com Wed Jun 1 11:49:13 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 07:49:13 -0400 Subject: rpms/stunnel/devel stunnel-4.10-inetd.patch, NONE, 1.1 .cvsignore, 1.11, 1.12 stunnel.spec, 1.22, 1.23 stunnel-4.02-authpriv.patch, 1.1, NONE stunnel-4.05-nopem.patch, 1.1, NONE stunnel-4.05-sample.patch, 1.1, NONE stunnel-4.10-noprompt.patch, 1.1, NONE Message-ID: <200506011149.j51BnDar006128@cvs.devel.redhat.com> Author: mitr Update of /cvs/dist/rpms/stunnel/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv6113 Modified Files: .cvsignore stunnel.spec Added Files: stunnel-4.10-inetd.patch Removed Files: stunnel-4.02-authpriv.patch stunnel-4.05-nopem.patch stunnel-4.05-sample.patch stunnel-4.10-noprompt.patch Log Message: * Wed Jun 1 2005 Miloslav Trmac - 4.10-2 - Fix inetd mode - Remove unnecessary Requires: and BuildRequires: - Clean up the spec file stunnel-4.10-inetd.patch: network.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) --- NEW FILE stunnel-4.10-inetd.patch --- --- stunnel-4.10/src/network.c.inetd 2005-06-01 11:39:36.000000000 +0200 +++ stunnel-4.10/src/network.c 2005-06-01 11:43:38.000000000 +0200 @@ -32,7 +32,7 @@ #include "prototypes.h" #ifndef USE_WIN32 -static int signal_pipe[2]; +static int signal_pipe[2] = { -1, -1 }; static char signal_buffer[16]; static void sigchld_handler(int); static void signal_pipe_empty(void); @@ -136,7 +136,7 @@ do { /* skip "Interrupted system call" errors */ retry=0; retval=poll(ufds, nfds, min_timeout<0 ? -1 : 1000*min_timeout); - if(retval>0 && (*signal_revents & POLLIN)) { + if(retval>0 && signal_revents && (*signal_revents & POLLIN)) { signal_pipe_empty(); /* no timeout -> main loop */ retry=1; } Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/stunnel/devel/.cvsignore,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- .cvsignore 16 Mar 2005 20:47:03 -0000 1.11 +++ .cvsignore 1 Jun 2005 11:49:11 -0000 1.12 @@ -1,3 +1,2 @@ -stunnel-4.05.tar.gz -stunnel-4.08.tar.gz -stunnel-4.08.tar.gz.asc +stunnel-4.10.tar.gz +stunnel-4.10.tar.gz.asc Index: stunnel.spec =================================================================== RCS file: /cvs/dist/rpms/stunnel/devel/stunnel.spec,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- stunnel.spec 26 Apr 2005 21:52:37 -0000 1.22 +++ stunnel.spec 1 Jun 2005 11:49:11 -0000 1.23 @@ -1,7 +1,7 @@ Summary: An SSL-encrypting socket wrapper. Name: stunnel Version: 4.10 -Release: 1 +Release: 2 License: GPL Group: Applications/Internet URL: http://stunnel.mirt.net/ @@ -15,14 +15,10 @@ Source7: stunnel-pop3s-client.conf Patch0: stunnel-4.08-authpriv.patch Patch1: stunnel-4.08-sample.patch -Patch2: stunnel-4.10-noprompt.patch +Patch2: stunnel-4.10-inetd.patch Buildroot: %{_tmppath}/stunnel-root -BuildPrereq: automake, autoconf, libtool, openssl-devel, perl, pkgconfig, # util-linux is needed for rename -BuildPrereq: tcp_wrappers, /usr/share/dict/words, util-linux -Prereq: coreutils, /bin/mktemp, /sbin/ldconfig -Prereq: /usr/share/dict/words, /bin/hostname, /usr/bin/id, /usr/bin/getent -Requires: make +BuildRequires: openssl-devel, pkgconfig, tcp_wrappers, util-linux %description Stunnel is a socket wrapper which can provide SSL (Secure Sockets @@ -33,34 +29,27 @@ %setup -q %patch0 -p1 -b .authpriv %patch1 -p1 -b .sample -%patch2 -p1 -b .noprompt +%patch2 -p1 -b .inetd iconv -f iso-8859-1 -t utf-8 < doc/stunnel.fr.8 > doc/stunnel.fr.8_ mv doc/stunnel.fr.8_ doc/stunnel.fr.8 iconv -f iso-8859-2 -t utf-8 < doc/stunnel.pl.8 > doc/stunnel.pl.8_ mv doc/stunnel.pl.8_ doc/stunnel.pl.8 -autoreconf - %build CFLAGS="$RPM_OPT_FLAGS -fPIC"; export CFLAGS if pkg-config openssl ; then CFLAGS="$CFLAGS `pkg-config --cflags openssl`"; LDFLAGS="`pkg-config --libs-only-L openssl`"; export LDFLAGS fi -%configure --with-tcp-wrappers --with-pic -export tagname=CC -make LIBTOOL=%{_bindir}/libtool LDADD="-pie -Wl,-z,defs,-z,relro" +%configure --with-tcp-wrappers +make LDADD="-pie -Wl,-z,defs,-z,relro" %install rm -rf $RPM_BUILD_ROOT -export tagname=CC -%makeinstall docdir=`pwd`/installed-docs LIBTOOL=%{_bindir}/libtool -rm -f $RPM_BUILD_ROOT/%{_libdir}/*.a -rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la -rm -f $RPM_BUILD_ROOT/%{_libdir}/*.so.? -rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/stunnel/*sample* -rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/stunnel/stunnel.pem +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stunnel +touch $RPM_BUILD_ROOT%{_sysconfdir}/stunnel/stunnel.pem +make install DESTDIR=$RPM_BUILD_ROOT # Move the translated man pages to the right subdirectories, and strip off the # language suffixes. for lang in fr pl ; do @@ -78,7 +67,7 @@ %files %defattr(-,root,root) -%doc BUGS ChangeLog COPY* CREDITS NEWS PORTS README TODO doc/*.html +%doc AUTHORS BUGS ChangeLog COPY* CREDITS NEWS PORTS README TODO doc/*.html %doc $RPM_SOURCE_DIR/Certificate-Creation %doc $RPM_SOURCE_DIR/sfinger.xinetd %doc $RPM_SOURCE_DIR/pop3-redirect.xinetd @@ -87,14 +76,22 @@ %doc tools/stunnel.conf-sample %lang(en) %doc doc/en/* %lang(po) %doc doc/pl/* +%exclude %{_datadir}/doc/stunnel %{_libdir}/libstunnel.so +%exclude %{_libdir}/libstunnel.la %{_mandir}/man8/stunnel.8* %{_mandir}/*/man8/stunnel.8* %{_sbindir}/stunnel %{_sbindir}/stunnel3 %dir %{_sysconfdir}/%{name} +%exclude %{_sysconfdir}/stunnel/* %changelog +* Wed Jun 1 2005 Miloslav Trmac - 4.10-2 +- Fix inetd mode +- Remove unnecessary Requires: and BuildRequires: +- Clean up the spec file + * Tue Apr 26 2005 Nalin Dahyabhai 4.10-1 - update to 4.10 --- stunnel-4.02-authpriv.patch DELETED --- --- stunnel-4.05-nopem.patch DELETED --- --- stunnel-4.05-sample.patch DELETED --- --- stunnel-4.10-noprompt.patch DELETED --- From fedora-cvs-commits at redhat.com Wed Jun 1 12:29:26 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 08:29:26 -0400 Subject: rpms/openoffice.org/devel openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch, 1.8, 1.9 Message-ID: <200506011229.j51CTQu8019245@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv19231 Modified Files: openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch Log Message: . openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch: comphelper/inc/comphelper/propmultiplex.hxx | 2 ++ configmgr/source/api2/confproviderimpl2.hxx | 2 ++ configmgr/source/api2/providerimpl.hxx | 2 ++ inc/alpha.hxx | 0 inc/comphelper/propmultiplex.hxx | 0 inc/fsys.hxx | 0 inc/inettbc.hxx | 0 inc/mapmod.hxx | 0 inc/outdev.hxx | 0 inc/poolitem.hxx | 0 inc/psprint/fontmanager.hxx | 0 inc/psprint/printergfx.hxx | 0 padmin/source/padialog.hxx | 3 +++ psprint/inc/psprint/fontmanager.hxx | 2 ++ psprint/inc/psprint/printergfx.hxx | 2 ++ source/api2/confproviderimpl2.hxx | 0 source/api2/providerimpl.hxx | 0 source/core/ucbstore.hxx | 0 source/inspect/introspection.cxx | 0 source/padialog.hxx | 0 stoc/source/inspect/introspection.cxx | 1 + svtools/inc/inettbc.hxx | 2 ++ svtools/inc/poolitem.hxx | 2 ++ tools/inc/fsys.hxx | 1 + ucb/source/core/ucbstore.hxx | 1 + vcl/inc/alpha.hxx | 1 + vcl/inc/mapmod.hxx | 1 + vcl/inc/outdev.hxx | 2 ++ 28 files changed, 24 insertions(+) Index: openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch 1 Jun 2005 10:12:22 -0000 1.8 +++ openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch 1 Jun 2005 12:29:23 -0000 1.9 @@ -169,3 +169,52 @@ // -------------- // - ImplMapMode - +Index: inc/inettbc.hxx +=================================================================== +RCS file: /cvs/util/svtools/inc/inettbc.hxx,v +retrieving revision 1.10 +diff -u -r1.10 inettbc.hxx +--- openoffice.org.orig/svtools/inc/inettbc.hxx 13 Apr 2005 10:16:04 -0000 1.10 ++++ openoffice.org/svtools/inc/inettbc.hxx 1 Jun 2005 12:22:10 -0000 +@@ -80,6 +80,8 @@ + #endif + + class IUrlFilter; ++class SvtMatchContext_Impl; ++class SvtURLBox_Impl; + class SVT_DLLPUBLIC SvtURLBox : public ComboBox + { + friend class SvtMatchContext_Impl; +Index: inc/poolitem.hxx +=================================================================== +RCS file: /cvs/util/svtools/inc/poolitem.hxx,v +retrieving revision 1.10 +diff -u -r1.10 poolitem.hxx +--- openoffice.org.orig/svtools/inc/poolitem.hxx 14 Apr 2005 18:42:40 -0000 1.10 ++++ openoffice.org/svtools/inc/poolitem.hxx 1 Jun 2005 12:26:24 -0000 +@@ -220,6 +220,8 @@ + class OUString; + } + ++class SfxItemPool; ++class SfxItemSet; + // ----------------------------------------------------------------------- + + class SVL_DLLPUBLIC SfxPoolItem +Index: source/padialog.hxx +=================================================================== +RCS file: /cvs/gsl/padmin/source/padialog.hxx,v +retrieving revision 1.6 +diff -u -r1.6 padialog.hxx +--- openoffice.org.orig/padmin/source/padialog.hxx 31 Jan 2005 09:28:20 -0000 1.6 ++++ openoffice.org/padmin/source/padialog.hxx 1 Jun 2005 12:30:54 -0000 +@@ -93,6 +93,9 @@ + #endif + + // forward declaration ++ ++class Printer; ++ + namespace psp { class PrinterInfoManager; } + + namespace padmin { From fedora-cvs-commits at redhat.com Wed Jun 1 13:07:39 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 09:07:39 -0400 Subject: rpms/openoffice.org/devel openoffice.org.spec,1.201,1.202 Message-ID: <200506011307.j51D7ddD012404@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv12392 Modified Files: openoffice.org.spec Log Message: add workspace backport Index: openoffice.org.spec =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org.spec,v retrieving revision 1.201 retrieving revision 1.202 diff -u -r1.201 -r1.202 --- openoffice.org.spec 1 Jun 2005 10:12:22 -0000 1.201 +++ openoffice.org.spec 1 Jun 2005 13:07:37 -0000 1.202 @@ -91,7 +91,7 @@ Patch40: openoffice.org-1.9.104-gcjawt.patch Patch41: openoffice.org-1.9.104-berkeleydb-jni-casting-misuse.patch Patch42: openoffice.org-1.9.106.ooo50107.briges.noexecstack.patch -Patch43: openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch +Patch43: workspace.gcc4fwdecl.patch %define instdir %{_libdir}/openoffice.org%{version} @@ -701,7 +701,7 @@ %patch40 -p1 -b .gcjawt.patch %patch41 -p1 -b .berkeleydb-jni-casting-misuse.patch %patch42 -p1 -b .briges.noexecstack.patch -%patch43 -p1 -b .oooXXXXX.comphelper.missingforward.patch +%patch43 -p1 -b .workspace.gcc4fwdecl.patch #start ludicrous workaround #while we include these libs we need this, if/when we move to system @@ -2506,6 +2506,7 @@ - bump to latest version - drop gcc#20629# workaround - add openoffice.org-1.9.106.ooo50107.briges.noexecstack.patch +- add workspace.gcc4fwdecl.patch to workaround new gcc pickiness * Wed May 24 2005 Dan Williams - 1:1.9.104-3 - Remove openoffice.org-1.9.104.oooXXXXX.indic-font-fallbacks.patch From fedora-cvs-commits at redhat.com Wed Jun 1 13:14:07 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 09:14:07 -0400 Subject: rpms/openoffice.org/devel workspace.gcc4fwdecl.patch,NONE,1.1 Message-ID: <200506011314.j51DE7nZ012570@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv12556 Added Files: workspace.gcc4fwdecl.patch Log Message: add workspace backport workspace.gcc4fwdecl.patch: automation/source/server/statemnt.hxx | 1 + basctl/source/inc/baside3.hxx | 1 + basctl/source/inc/bastypes.hxx | 1 + basctl/source/inc/dlgedobj.hxx | 1 + comphelper/inc/comphelper/propmultiplex.hxx | 2 ++ configmgr/source/api2/confproviderimpl2.hxx | 2 ++ configmgr/source/api2/providerimpl.hxx | 1 + connectivity/inc/connectivity/sqliterator.hxx | 2 +- connectivity/source/inc/file/fcomp.hxx | 1 + dbaccess/source/core/dataaccess/ModelImpl.hxx | 3 +++ extensions/source/bibliography/framectr.hxx | 1 + extensions/source/bibliography/loadlisteneradapter.hxx | 2 ++ forms/source/component/clickableimage.hxx | 1 + padmin/source/padialog.hxx | 1 + psprint/inc/psprint/fontmanager.hxx | 2 ++ psprint/inc/psprint/printergfx.hxx | 1 + sc/source/ui/attrdlg/scdlgfact.hxx | 1 + sd/source/ui/inc/animobjs.hxx | 1 + sd/source/ui/inc/navigatr.hxx | 2 ++ sd/source/ui/slidesorter/inc/view/SlsLayouter.hxx | 1 + sfx2/inc/bindings.hxx | 1 + sfx2/inc/frame.hxx | 2 ++ sfx2/inc/ipclient.hxx | 1 + sfx2/inc/objface.hxx | 1 + sfx2/inc/topfrm.hxx | 2 ++ sfx2/inc/unoctitm.hxx | 1 + sfx2/source/doc/sfxbasemodel.cxx | 4 ++++ sfx2/source/inc/splitwin.hxx | 1 + so3/source/inplace/applet2.cxx | 3 +++ starmath/inc/symbol.hxx | 2 ++ starmath/inc/view.hxx | 1 + stoc/source/inspect/introspection.cxx | 1 + svtools/inc/ctrltool.hxx | 1 + svtools/inc/inettbc.hxx | 2 ++ svtools/inc/poolitem.hxx | 2 ++ svx/inc/float3d.hxx | 1 + svx/inc/fmgridcl.hxx | 1 + svx/inc/fmpage.hxx | 1 + svx/inc/fmview.hxx | 3 +++ svx/inc/graphctl.hxx | 1 + svx/inc/imapdlg.hxx | 1 + svx/inc/srchdlg.hxx | 1 + svx/inc/svdedxv.hxx | 1 + svx/inc/svdfppt.hxx | 1 + svx/inc/svdhdl.hxx | 1 + svx/inc/svdobj.hxx | 1 + svx/inc/svdograf.hxx | 1 + svx/inc/svdotext.hxx | 1 + svx/inc/svdpagv.hxx | 1 + svx/inc/svdpntv.hxx | 2 ++ svx/inc/svdvmark.hxx | 1 + svx/inc/unoedsrc.hxx | 1 + svx/inc/unoshape.hxx | 3 +-- svx/source/inc/fmpgeimp.hxx | 1 + svx/source/inc/fmvwimp.hxx | 3 +++ sw/inc/fchrfmt.hxx | 1 + sw/inc/fmtflcnt.hxx | 1 + sw/inc/fmtfld.hxx | 1 + sw/inc/fmtftn.hxx | 1 + sw/inc/fmtinfmt.hxx | 1 + sw/inc/fmtrfmrk.hxx | 2 ++ sw/inc/fmtruby.hxx | 1 + sw/inc/section.hxx | 1 + sw/source/core/access/accfrmobjslist.hxx | 2 ++ sw/source/core/inc/doctxm.hxx | 1 + tools/inc/fsys.hxx | 1 + ucb/source/core/ucbstore.hxx | 1 + vcl/inc/alpha.hxx | 1 + vcl/inc/bitmap.hxx | 1 + vcl/inc/outdev.hxx | 1 + xmloff/inc/xmlaustp.hxx | 1 + xmlsecurity/source/helper/xsecctl.hxx | 3 +++ 72 files changed, 98 insertions(+), 3 deletions(-) --- NEW FILE workspace.gcc4fwdecl.patch --- --- openoffice.org/automation/source/server/statemnt.hxx.old 2004-11-09 17:52:53.000000000 +0100 +++ openoffice.org/automation/source/server/statemnt.hxx 2005-05-24 17:17:15.000000000 +0200 @@ -115,6 +115,7 @@ #endif class Window; +class SystemWindow; class Point; class SfxPoolItem; --- openoffice.org/basctl/source/inc/baside3.hxx.old 2004-07-23 14:08:20.000000000 +0200 +++ openoffice.org/basctl/source/inc/baside3.hxx 2005-05-25 11:20:44.000000000 +0200 @@ -73,6 +73,7 @@ #include #endif +class Printer; class StarBASIC; class SfxItemSet; class DlgEditor; --- openoffice.org/basctl/source/inc/bastypes.hxx.old 2004-07-23 14:08:34.000000000 +0200 +++ openoffice.org/basctl/source/inc/bastypes.hxx 2005-05-25 11:20:03.000000000 +0200 @@ -219,6 +219,7 @@ #define BASWIN_SUSPENDED 0x04 #define BASWIN_INRESCHEDULE 0x08 +class Printer; class SfxUndoManager; class SfxObjectShell; class BasicEntryDescriptor; --- openoffice.org/basctl/source/inc/dlgedobj.hxx.old 2004-12-10 18:03:18.000000000 +0100 +++ openoffice.org/basctl/source/inc/dlgedobj.hxx 2005-05-25 11:25:37.000000000 +0200 @@ -86,6 +86,7 @@ class DlgEdForm; +class DlgEditor; //============================================================================ // DlgEdObj --- openoffice.org/comphelper/inc/comphelper/propmultiplex.hxx.old 2005-02-16 17:00:09.000000000 +0100 +++ openoffice.org/comphelper/inc/comphelper/propmultiplex.hxx 2005-05-23 14:04:11.000000000 +0200 @@ -81,6 +81,8 @@ { //......................................................................... + class OPropertyChangeMultiplexer; + //================================================================== //= OPropertyChangeListener //================================================================== --- openoffice.org/configmgr/source/api2/confproviderimpl2.hxx.old 2003-03-19 17:18:31.000000000 +0100 +++ openoffice.org/configmgr/source/api2/confproviderimpl2.hxx 2005-05-23 16:05:23.000000000 +0200 @@ -79,6 +79,8 @@ namespace uno = css::uno; namespace script = css::script; + class OConfigurationProvider; + class OConfigurationProviderImpl : public OProviderImpl { friend class OConfigurationProvider; --- openoffice.org/configmgr/source/api2/providerimpl.hxx.old 2004-11-15 14:35:31.000000000 +0100 +++ openoffice.org/configmgr/source/api2/providerimpl.hxx 2005-05-23 16:01:45.000000000 +0200 @@ -130,6 +130,7 @@ class IConfigDefaultProvider; class TreeManager; class ContextReader; + class OProvider; struct IConfigBroadcaster; --- openoffice.org/connectivity/source/inc/file/fcomp.hxx.old 2004-08-02 19:13:40.000000000 +0200 +++ openoffice.org/connectivity/source/inc/file/fcomp.hxx 2005-05-23 19:40:36.000000000 +0200 @@ -75,6 +75,7 @@ { class OCode; class OOperand; + class OSQLAnalyzer; typedef::std::vector OCodeList; class OPredicateCompiler : public ::vos::OReference --- openoffice.org/connectivity/inc/connectivity/sqliterator.hxx.old 2005-01-05 12:59:09.000000000 +0100 +++ openoffice.org/connectivity/inc/connectivity/sqliterator.hxx 2005-05-23 19:35:22.000000000 +0200 @@ -99,7 +99,7 @@ { class OSQLParseNode; - + class OSQLParser; enum OSQLStatementType { SQL_STATEMENT_UNKNOWN, --- openoffice.org/dbaccess/source/core/dataaccess/ModelImpl.hxx.old 2005-03-30 13:55:09.000000000 +0200 +++ openoffice.org/dbaccess/source/core/dataaccess/ModelImpl.hxx 2005-05-25 12:03:03.000000000 +0200 @@ -191,6 +191,9 @@ typedef ::com::sun::star::uno::WeakReference< ::com::sun::star::sdbc::XConnection > OWeakConnection; typedef std::vector< OWeakConnection > OWeakConnectionArray; +class ODatabaseContext; +class OSharedConnectionManager; + //============================================================ //= ODatabaseModelImpl //============================================================ --- openoffice.org/extensions/source/bibliography/framectr.hxx.old 2004-11-16 15:47:14.000000000 +0100 +++ openoffice.org/extensions/source/bibliography/framectr.hxx 2005-05-25 13:45:57.000000000 +0200 @@ -93,6 +93,7 @@ #include "bibmod.hxx" class BibDataManager; +class BibFrameCtrl_Impl; namespace com{namespace sun{namespace star{ namespace form{ class XFormController; --- openoffice.org/extensions/source/bibliography/loadlisteneradapter.hxx.old 2003-03-25 17:03:02.000000000 +0100 +++ openoffice.org/extensions/source/bibliography/loadlisteneradapter.hxx 2005-05-25 13:41:48.000000000 +0200 @@ -82,6 +82,8 @@ { //......................................................................... + class OComponentAdapterBase; + //===================================================================== //= OComponentListener //===================================================================== --- openoffice.org/forms/source/component/clickableimage.hxx.old 2005-04-13 11:46:26.000000000 +0200 +++ openoffice.org/forms/source/component/clickableimage.hxx 2005-05-25 17:56:53.000000000 +0200 @@ -117,6 +117,7 @@ { //......................................................................... + class OImageProducerThread_Impl; class SubmissionVetoListeners; class ControlFeatureInterception; //================================================================== --- openoffice.org/padmin/source/padialog.hxx.old 2005-05-23 12:14:40.000000000 +0200 +++ openoffice.org/padmin/source/padialog.hxx 2005-05-23 18:23:23.000000000 +0200 @@ -94,6 +94,7 @@ // forward declaration namespace psp { class PrinterInfoManager; } +class Printer; namespace padmin { --- openoffice.org/psprint/inc/psprint/fontmanager.hxx.old 2005-01-31 09:58:54.000000000 +0100 +++ openoffice.org/psprint/inc/psprint/fontmanager.hxx 2005-05-23 16:56:15.000000000 +0200 @@ -243,6 +243,8 @@ KernPair() : first( 0 ), second( 0 ), kern_x( 0 ), kern_y( 0 ) {} }; +class FontCache; + // a class to manage printable fonts // aims are type1 and truetype fonts --- openoffice.org/psprint/inc/psprint/printergfx.hxx.old 2004-09-08 16:00:04.000000000 +0200 +++ openoffice.org/psprint/inc/psprint/printergfx.hxx 2005-05-23 17:00:30.000000000 +0200 @@ -164,6 +164,7 @@ * forward declarations */ +class Font3; class GlyphSet; class PrinterJob; class PrintFontManager; --- openoffice.org/sc/source/ui/attrdlg/scdlgfact.hxx.old 2004-08-03 14:45:48.000000000 +0200 +++ openoffice.org/sc/source/ui/attrdlg/scdlgfact.hxx 2005-05-25 19:06:42.000000000 +0200 @@ -63,6 +63,7 @@ // include --------------------------------------------------------------- #include "scabstdlg.hxx" //CHINA001 +class Dialog; class ScImportAsciiDlg; class ScAutoFormatDlg; class ScColRowLabelDlg; --- openoffice.org/sd/source/ui/inc/animobjs.hxx.old 2004-01-20 12:47:42.000000000 +0100 +++ openoffice.org/sd/source/ui/inc/animobjs.hxx 2005-05-26 10:28:30.000000000 +0200 @@ -107,6 +107,7 @@ namespace sd { +class AnimationControllerItem; class View; //------------------------------------------------------------------------ --- openoffice.org/sd/source/ui/inc/navigatr.hxx.old 2004-11-26 21:17:53.000000000 +0100 +++ openoffice.org/sd/source/ui/inc/navigatr.hxx 2005-05-26 10:40:23.000000000 +0200 @@ -107,6 +107,8 @@ class View; } class Menu; +class SdNavigatorControllerItem; +class SdPageNameControllerItem; //------------------------------------------------------------------------ --- openoffice.org/sd/source/ui/slidesorter/inc/view/SlsLayouter.hxx.old 2004-11-26 16:07:57.000000000 +0100 +++ openoffice.org/sd/source/ui/slidesorter/inc/view/SlsLayouter.hxx 2005-05-26 10:53:41.000000000 +0200 @@ -69,6 +69,7 @@ #include class MapMode; +class OutputDevice; class Size; namespace sd { namespace slidesorter { namespace view { --- openoffice.org/sfx2/inc/bindings.hxx.old 2005-01-18 18:04:21.000000000 +0100 +++ openoffice.org/sfx2/inc/bindings.hxx 2005-05-24 15:13:41.000000000 +0200 @@ -110,6 +110,7 @@ class SfxItemSet; class SfxDispatcher; class SfxBindings; +class SfxBindings_Impl; class Timer; struct SfxFoundCache_Impl; class SfxFoundCacheArr_Impl; --- openoffice.org/sfx2/inc/frame.hxx.old 2005-01-18 16:52:43.000000000 +0100 +++ openoffice.org/sfx2/inc/frame.hxx 2005-05-24 15:10:40.000000000 +0200 @@ -192,6 +192,8 @@ class SfxFrameArr_Impl; class SfxCancelManager; +struct SfxFramePickEntry_Impl; +class SfxUnoFrame; class SFX2_DLLPUBLIC SfxFrame { friend class SfxFrameIterator; --- openoffice.org/sfx2/inc/ipclient.hxx.old 2005-03-15 12:46:53.000000000 +0100 +++ openoffice.org/sfx2/inc/ipclient.hxx 2005-05-24 15:51:10.000000000 +0200 @@ -87,6 +87,7 @@ #include +class SfxInPlaceClient_Impl; class SfxViewShell; class SfxObjectShell; class Window; --- openoffice.org/sfx2/inc/objface.hxx.old 2005-01-11 15:47:24.000000000 +0100 +++ openoffice.org/sfx2/inc/objface.hxx 2005-05-24 15:22:56.000000000 +0200 @@ -86,6 +86,7 @@ struct SfxInterface_Impl; class SfxConfigManager; class SfxConfigItem; +class SfxIFConfig_Impl; class SfxObjectUIArr_Impl ; class SfxModule; class SvStream; --- openoffice.org/sfx2/source/doc/sfxbasemodel.cxx.old 2005-04-28 17:08:47.000000000 +0200 +++ openoffice.org/sfx2/source/doc/sfxbasemodel.cxx 2005-05-24 17:43:55.000000000 +0200 @@ -3491,6 +3491,10 @@ m_pData->m_aInterfaceContainer.removeInterface( ::getCppuType((const REFERENCE< XPRINTJOBLISTENER >*)0), xListener ); } +// simple declaration of class SvObject is enough +// the corresponding cannon be included because it provides +// declaration of class SvBorder that conflicts with ../../inc/viewfrm.hxx +class SvObject; sal_Int64 SAL_CALL SfxBaseModel::getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException) { ::vos::OGuard aGuard( Application::GetSolarMutex() ); --- openoffice.org/sfx2/source/inc/splitwin.hxx.old 2001-09-06 09:46:05.000000000 +0200 +++ openoffice.org/sfx2/source/inc/splitwin.hxx 2005-05-24 15:47:22.000000000 +0200 @@ -69,6 +69,7 @@ class SfxWorkWindow; class SfxDockingWindow; class SfxDockArr_Impl; +class SfxEmptySplitWin_Impl; struct SfxDock_Impl; class SfxSplitWindow : public SplitWindow --- openoffice.org/sfx2/inc/topfrm.hxx.old 2005-01-11 15:53:45.000000000 +0100 +++ openoffice.org/sfx2/inc/topfrm.hxx 2005-05-24 15:20:24.000000000 +0200 @@ -85,6 +85,7 @@ class SfxViewShell; class SfxTopFrame; +class SfxTopFrame_Impl; namespace svtools { class AsynchronLink; } // class SfxTopFrame ----------------------------------------------------- @@ -128,6 +129,7 @@ // class SfxTopViewFrame ------------------------------------------------- +class SfxTopViewFrame_Impl; class SFX2_DLLPUBLIC SfxTopViewFrame : public SfxViewFrame { friend class SfxTopWindow_Impl; --- openoffice.org/sfx2/inc/unoctitm.hxx.old 2005-01-27 10:46:21.000000000 +0100 +++ openoffice.org/sfx2/inc/unoctitm.hxx 2005-05-24 14:59:00.000000000 +0200 @@ -181,6 +181,7 @@ }; class SfxSlotServer; +class SfxDispatchController_Impl; class SfxOfficeDispatch : public SfxStatusDispatcher , public ::com::sun::star::lang::XUnoTunnel { --- openoffice.org/so3/source/inplace/applet2.cxx.old 2003-03-27 12:28:14.000000000 +0100 +++ openoffice.org/so3/source/inplace/applet2.cxx 2005-05-24 17:03:03.000000000 +0200 @@ -95,6 +95,9 @@ #define SoResId( id ) ResId( id, SOAPP->GetResMgr() ) +// forward declarations +class SvAppletEnvironment; + //========================================================================= //========================================================================= //========================================================================= --- openoffice.org/starmath/inc/symbol.hxx.old 2005-04-04 10:03:27.000000000 +0200 +++ openoffice.org/starmath/inc/symbol.hxx 2005-05-26 12:04:16.000000000 +0200 @@ -95,6 +95,8 @@ #define SYMBOLSET_NONE 0xFFFF #define SYMBOL_NONE 0xFFFF +class SmSymSetManager; + //////////////////////////////////////////////////////////////////////////////// inline const String GetExportSymbolName( const String &rUiSymbolName ) --- openoffice.org/starmath/inc/view.hxx.old 2003-04-24 19:29:12.000000000 +0200 +++ openoffice.org/starmath/inc/view.hxx 2005-05-26 12:01:10.000000000 +0200 @@ -98,6 +98,7 @@ class Menu; class DataChangedEvent; +class SmClipboardChangeListener; class SmDocShell; class SmViewShell; --- openoffice.org/stoc/source/inspect/introspection.cxx.old 2004-04-21 15:28:52.000000000 +0200 +++ openoffice.org/stoc/source/inspect/introspection.cxx 2005-05-23 15:19:37.000000000 +0200 @@ -239,6 +239,7 @@ LowerToExactNameMap; +class ImplIntrospectionAccess; class IntrospectionAccessStatic_Impl { friend class ImplIntrospection; --- openoffice.org/svtools/inc/ctrltool.hxx.old 2005-04-13 12:04:30.000000000 +0200 +++ openoffice.org/svtools/inc/ctrltool.hxx 2005-05-24 13:58:03.000000000 +0200 @@ -77,6 +77,7 @@ #endif class ImplFontListNameInfo; +class OutputDevice; /************************************************************************* --- openoffice.org/svtools/inc/inettbc.hxx.old 2005-04-13 12:16:04.000000000 +0200 +++ openoffice.org/svtools/inc/inettbc.hxx 2005-05-23 18:50:07.000000000 +0200 @@ -80,6 +80,8 @@ #endif class IUrlFilter; +class SvtMatchContext_Impl; +class SvtURLBox_Impl; class SVT_DLLPUBLIC SvtURLBox : public ComboBox { friend class SvtMatchContext_Impl; --- openoffice.org/svtools/inc/poolitem.hxx.old 2005-04-14 20:42:40.000000000 +0200 +++ openoffice.org/svtools/inc/poolitem.hxx 2005-05-23 18:45:44.000000000 +0200 @@ -213,6 +213,8 @@ DBG_NAMEEX(SfxItemHandle); class SvXMLUnitConverter; +class SfxItemPool; +class SfxItemSet; class String; namespace rtl --- openoffice.org/svx/inc/float3d.hxx.old 2005-01-21 15:29:03.000000000 +0100 +++ openoffice.org/svx/inc/float3d.hxx 2005-05-24 19:13:36.000000000 +0200 @@ -112,6 +112,7 @@ class VirtualDevice; class E3dView; class SdrPageView; +class Svx3DCtrlItem; class SvxConvertTo3DItem; //------------------------------------------------------------------------ --- openoffice.org/svx/inc/fmgridcl.hxx.old 2005-01-21 15:30:31.000000000 +0100 +++ openoffice.org/svx/inc/fmgridcl.hxx 2005-05-24 19:24:52.000000000 +0200 @@ -149,6 +149,7 @@ //================================================================== // FmGridControl //================================================================== +class FmXGridPeer; class SVX_DLLPUBLIC FmGridControl : public DbGridControl { --- openoffice.org/svx/inc/fmpage.hxx.old 2005-03-18 19:42:22.000000000 +0100 +++ openoffice.org/svx/inc/fmpage.hxx 2005-05-24 18:53:28.000000000 +0200 @@ -81,6 +81,7 @@ //FORWARD_DECLARE_INTERFACE(uno,Reference) FORWARD_DECLARE_INTERFACE(container,XNameContainer) +class SdrView; class SfxJSArray; class HelpEvent; --- openoffice.org/svx/source/inc/fmpgeimp.hxx.old 2005-03-18 19:43:38.000000000 +0100 +++ openoffice.org/svx/source/inc/fmpgeimp.hxx 2005-05-24 19:36:48.000000000 +0200 @@ -99,6 +99,7 @@ class SvStream; //BFS01class SdrIOHeader; class FmFormObj; +class FmFormPage; class SdrObject; //FORWARD_DECLARE_INTERFACE(uno,Reference) --- openoffice.org/svx/inc/fmview.hxx.old 2005-03-23 12:48:29.000000000 +0100 +++ openoffice.org/svx/inc/fmview.hxx 2005-05-24 19:22:07.000000000 +0200 @@ -85,7 +85,10 @@ class XOutputDevice; class FmFormModel; class FmPageViewWinRec; +class FmFormObj; class FmFormPage; +class FmFormShell; +class FmXFormView; namespace svx { class ODataAccessDescriptor; --- openoffice.org/svx/source/inc/fmvwimp.hxx.old 2005-03-23 12:51:41.000000000 +0100 +++ openoffice.org/svx/source/inc/fmvwimp.hxx 2005-05-24 19:34:28.000000000 +0200 @@ -121,6 +121,8 @@ class SdrObject; class FmFormObj; class FmFormModel; +class FmFormView; +class FmFormShell; class Window; class OutputDevice; @@ -130,6 +132,7 @@ FORWARD_DECLARE_INTERFACE(util,XNumberFormats) class FmXFormController; +class FmXFormView; namespace svx { class ODataAccessDescriptor; --- openoffice.org/svx/inc/graphctl.hxx.old 2005-01-21 15:43:28.000000000 +0100 +++ openoffice.org/svx/inc/graphctl.hxx 2005-05-24 18:40:30.000000000 +0200 @@ -83,6 +83,7 @@ |* \************************************************************************/ +class GraphCtrlUserCall; class SvxGraphCtrlAccessibleContext; #define WB_SDRMODE ((WinBits)0x0080) --- openoffice.org/svx/inc/imapdlg.hxx.old 2005-01-21 15:47:38.000000000 +0100 +++ openoffice.org/svx/inc/imapdlg.hxx 2005-05-24 18:58:04.000000000 +0200 @@ -166,6 +166,7 @@ \************************************************************************/ class IMapOwnData; +class IMapWindow; class SVX_DLLPUBLIC SvxIMapDlg : public SfxModelessDialog // SfxFloatingWindow { --- openoffice.org/svx/inc/srchdlg.hxx.old 2005-02-25 14:05:14.000000000 +0100 +++ openoffice.org/svx/inc/srchdlg.hxx 2005-05-24 18:50:12.000000000 +0200 @@ -119,6 +119,7 @@ class MoreButton; class SfxStyleSheetBasePool; class SvxJSearchOptionsPage; +class SvxSearchController; struct SearchDlg_Impl; --- openoffice.org/svx/inc/svdedxv.hxx.old 2005-01-21 16:22:33.000000000 +0100 +++ openoffice.org/svx/inc/svdedxv.hxx 2005-05-24 18:27:34.000000000 +0200 @@ -82,6 +82,7 @@ class OutlinerView; class EditStatus; class EditFieldInfo; +class ImpSdrEditPara; namespace com { namespace sun { namespace star { namespace uno { class Any; --- openoffice.org/svx/inc/svdfppt.hxx.old 2005-01-21 18:34:03.000000000 +0100 +++ openoffice.org/svx/inc/svdfppt.hxx 2005-05-24 19:57:37.000000000 +0200 @@ -131,6 +131,7 @@ class Graphic; class SvxMSDffManager; class PptTextMetaCharList; +class PPTTextObj; class DffRecordHeader; struct PptCharAttrSet; class SvxBulletItem; --- openoffice.org/svx/inc/svdhdl.hxx.old 2005-01-28 18:08:25.000000000 +0100 +++ openoffice.org/svx/inc/svdhdl.hxx 2005-05-24 18:21:05.000000000 +0200 @@ -103,6 +103,7 @@ class Region; class Window; class SdrHdlList; +class SdrMarkView; class SdrObject; class SdrPageView; class SdrHdlBitmapSet; --- openoffice.org/svx/inc/svdobj.hxx.old 2005-01-21 16:26:33.000000000 +0100 +++ openoffice.org/svx/inc/svdobj.hxx 2005-05-24 18:14:12.000000000 +0200 @@ -162,6 +162,7 @@ class PolyPolygon; class SfxPoolItem; class SdrLineGeometry; +class SdrVirtObj; namespace sdr { --- openoffice.org/svx/inc/svdograf.hxx.old 2005-01-21 16:27:35.000000000 +0100 +++ openoffice.org/svx/inc/svdograf.hxx 2005-05-24 18:44:31.000000000 +0200 @@ -122,6 +122,7 @@ // -------------- class GraphicObject; +class SdrGraphicLink; //BFS01class SdrGrafSetItem; class SVX_DLLPUBLIC SdrGrafObj: public SdrRectObj --- openoffice.org/svx/inc/svdotext.hxx.old 2005-01-28 17:29:23.000000000 +0100 +++ openoffice.org/svx/inc/svdotext.hxx 2005-05-24 18:17:37.000000000 +0200 @@ -98,6 +98,7 @@ class OutlinerParaObject; class SdrOutliner; +class SdrTextObj; class SvxFieldItem; class ImpSdrObjTextLink; --- openoffice.org/svx/inc/svdpagv.hxx.old 2005-01-21 16:30:39.000000000 +0100 +++ openoffice.org/svx/inc/svdpagv.hxx 2005-05-24 19:10:44.000000000 +0200 @@ -126,6 +126,7 @@ class SdrPageObj; class B2dIAOManager; class SdrPageView; +class SdrView; // #110094# namespace sdr --- openoffice.org/svx/inc/svdpntv.hxx.old 2005-01-28 17:29:36.000000000 +0100 +++ openoffice.org/svx/inc/svdpntv.hxx 2005-05-24 20:11:49.000000000 +0200 @@ -126,6 +126,7 @@ class XControlContainer; }}}} +class SdrPage; class SdrPageViewWindow; class OutputDevice; @@ -139,6 +140,7 @@ class SdrOle2Obj; class SdrItemBrowser; class SdrObject; +class SdrViewUserMarker; class B2dIAOManager; namespace sdr --- openoffice.org/svx/inc/svdvmark.hxx.old 2005-01-21 16:33:11.000000000 +0100 +++ openoffice.org/svx/inc/svdvmark.hxx 2005-05-24 20:28:02.000000000 +0200 @@ -82,6 +82,7 @@ class XPolyPolygon; class SdrObject; class SdrPageView; +class SdrPaintView; //************************************************************ // Defines --- openoffice.org/svx/inc/unoedsrc.hxx.old 2005-01-21 16:43:12.000000000 +0100 +++ openoffice.org/svx/inc/unoedsrc.hxx 2005-05-24 18:32:53.000000000 +0200 @@ -100,6 +100,7 @@ struct ESelection; struct EFieldInfo; struct EBulletInfo; +class OutputDevice; class String; class SfxItemSet; class SvUShorts; --- openoffice.org/svx/inc/unoshape.hxx.old 2005-04-12 18:53:20.000000000 +0200 +++ openoffice.org/svx/inc/unoshape.hxx 2005-05-24 18:29:46.000000000 +0200 @@ -151,6 +151,7 @@ class SfxItemSet; class SdrObject; class SdrModel; +class SvxDrawPage; class SvxShapeList; class SvGlobalName; @@ -441,8 +442,6 @@ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException); }; -class SvxDrawPage; - #ifndef _COM_SUN_STAR_DRAWING_XSHAPES_HPP_ #include #endif --- openoffice.org/sw/source/core/access/accfrmobjslist.hxx.old 2002-04-11 15:45:32.000000000 +0200 +++ openoffice.org/sw/source/core/access/accfrmobjslist.hxx 2005-05-26 13:30:40.000000000 +0200 @@ -65,6 +65,8 @@ #include #endif +class SwFrmOrObjSList; + class SwFrmOrObjSList_const_iterator { friend class SwFrmOrObjSList; --- openoffice.org/sw/source/core/inc/doctxm.hxx.old 2003-04-17 12:11:02.000000000 +0200 +++ openoffice.org/sw/source/core/inc/doctxm.hxx 2005-05-26 15:34:25.000000000 +0200 @@ -80,6 +80,7 @@ class SvUShorts; class SvStringsDtor; class SvPtrarr; +class SwPageDesc; class SwTxtNode; class SwTxtFmtColl; struct SwPosition; --- openoffice.org/sw/inc/fchrfmt.hxx.old 2005-01-05 16:47:36.000000000 +0100 +++ openoffice.org/sw/inc/fchrfmt.hxx 2005-05-26 13:50:17.000000000 +0200 @@ -73,6 +73,7 @@ #endif class SwCharFmt; +class SwTxtCharFmt; class IntlWrapper; // ATT_CHARFMT ********************************************* --- openoffice.org/sw/inc/fmtflcnt.hxx.old 2005-01-05 16:50:02.000000000 +0100 +++ openoffice.org/sw/inc/fmtflcnt.hxx 2005-05-26 13:38:47.000000000 +0200 @@ -67,6 +67,7 @@ #endif class SwFrmFmt; +class SwTxtFlyCnt; // ATT_FLYCNT ******************************************************* class SwFmtFlyCnt : public SfxPoolItem --- openoffice.org/sw/inc/fmtfld.hxx.old 2005-01-05 16:50:21.000000000 +0100 +++ openoffice.org/sw/inc/fmtfld.hxx 2005-05-26 13:43:32.000000000 +0200 @@ -73,6 +73,7 @@ #endif class SwField; +class SwTxtFld; // ATT_FLD *********************************** class SW_DLLPUBLIC SwFmtFld : public SfxPoolItem, public SwClient --- openoffice.org/sw/inc/fmtftn.hxx.old 2005-01-05 16:51:33.000000000 +0100 +++ openoffice.org/sw/inc/fmtftn.hxx 2005-05-26 13:48:14.000000000 +0200 @@ -73,6 +73,7 @@ #endif class SwDoc; +class SwTxtFtn; // ATT_FTN ********************************************************** --- openoffice.org/sw/inc/fmtinfmt.hxx.old 2005-01-05 16:52:53.000000000 +0100 +++ openoffice.org/sw/inc/fmtinfmt.hxx 2005-05-26 13:36:26.000000000 +0200 @@ -75,6 +75,7 @@ class SvxMacro; class SvxMacroTableDtor; +class SwTxtINetFmt; class IntlWrapper; // ATT_INETFMT ********************************************* --- openoffice.org/sw/inc/fmtrfmrk.hxx.old 2005-01-05 16:54:31.000000000 +0100 +++ openoffice.org/sw/inc/fmtrfmrk.hxx 2005-05-26 13:46:02.000000000 +0200 @@ -69,6 +69,8 @@ #include #endif +class SwTxtRefMark; + // ATT_REFMARK ******************************************************* class SwFmtRefMark : public SfxPoolItem --- openoffice.org/sw/inc/fmtruby.hxx.old 2005-01-05 16:55:07.000000000 +0100 +++ openoffice.org/sw/inc/fmtruby.hxx 2005-05-26 13:52:18.000000000 +0200 @@ -69,6 +69,7 @@ #include #endif +class SwTxtRuby; class SwFmtRuby : public SfxPoolItem { --- openoffice.org/sw/inc/section.hxx.old 2004-11-16 11:19:29.000000000 +0100 +++ openoffice.org/sw/inc/section.hxx 2005-05-26 13:33:53.000000000 +0200 @@ -86,6 +86,7 @@ class SwSectionFmt; class SwDoc; class SwSection; +class SwSectionNode; class SwTOXBase; #ifndef SW_DECL_SWSERVEROBJECT_DEFINED --- openoffice.org/tools/inc/fsys.hxx.old 2005-04-13 13:59:10.000000000 +0200 +++ openoffice.org/tools/inc/fsys.hxx 2005-05-23 14:23:13.000000000 +0200 @@ -498,6 +498,7 @@ // - Dir - // ------- +struct DirReader_Impl; class TOOLS_DLLPUBLIC Dir : public DirEntry { friend struct DirReader_Impl; --- openoffice.org/ucb/source/core/ucbstore.hxx.old 2000-12-10 16:13:04.000000000 +0100 +++ openoffice.org/ucb/source/core/ucbstore.hxx 2005-05-23 17:12:47.000000000 +0200 @@ -169,6 +169,7 @@ //========================================================================= struct PropertySetRegistry_Impl; +class PersistentPropertySet; class PropertySetRegistry : public cppu::OWeakObject, --- openoffice.org/vcl/inc/alpha.hxx.old 2005-01-13 18:25:24.000000000 +0100 +++ openoffice.org/vcl/inc/alpha.hxx 2005-05-23 17:41:31.000000000 +0200 @@ -75,6 +75,7 @@ // ------------- class ImageList; +class BitmapEx; class VCL_DLLPUBLIC AlphaMask : private Bitmap { --- openoffice.org/vcl/inc/bitmap.hxx.old 2005-03-10 14:12:51.000000000 +0100 +++ openoffice.org/vcl/inc/bitmap.hxx 2005-05-23 17:37:02.000000000 +0200 @@ -276,6 +276,7 @@ class RMBitmap; class GDIMetaFile; class AlphaMask; +class OutputDevice; struct BitmapSystemData { --- openoffice.org/vcl/inc/outdev.hxx.old 2005-03-29 13:45:06.000000000 +0200 +++ openoffice.org/vcl/inc/outdev.hxx 2005-05-23 17:45:23.000000000 +0200 @@ -130,6 +130,7 @@ class FontCharMap; class SalLayout; class ImplLayoutArgs; +class VirtualDevice; #ifndef _COM_SUN_STAR_UNO_REFERENCE_H_ #include --- openoffice.org/xmloff/inc/xmlaustp.hxx.old 2005-01-11 15:20:53.000000000 +0100 +++ openoffice.org/xmloff/inc/xmlaustp.hxx 2005-05-24 10:41:50.000000000 +0200 @@ -84,6 +84,7 @@ class SvXMLExportPropertyMapper; class SvXMLNamespaceMap; +class SvXMLAutoStylePoolP_Impl; class SvXMLAttributeList; class SvXMLExport; namespace com { namespace sun { namespace star { namespace uno --- openoffice.org/xmlsecurity/source/helper/xsecctl.hxx.old 2005-03-10 19:08:35.000000000 +0100 +++ openoffice.org/xmlsecurity/source/helper/xsecctl.hxx 2005-05-27 11:05:23.000000000 +0200 @@ -154,6 +154,9 @@ #define RTL_ASCII_USTRINGPARAM( asciiStr ) asciiStr, strlen( asciiStr ), RTL_TEXTENCODING_ASCII_US +// forward declaration +class XSecParser; + class InternalSignatureInformation { public: From fedora-cvs-commits at redhat.com Wed Jun 1 13:59:16 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 09:59:16 -0400 Subject: rpms/tetex/devel tetex-3.0-dcb314.patch, 1.1, 1.2 tetex.spec, 1.62, 1.63 Message-ID: <200506011359.j51DxGus031234@cvs.devel.redhat.com> Author: jnovy Update of /cvs/dist/rpms/tetex/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv31215 Modified Files: tetex-3.0-dcb314.patch tetex.spec Log Message: - remove depencency on w3c-libwww - don't use uninitialized tmp_size (#157178) - add a possibility to define default paper in spec tetex-3.0-dcb314.patch: libs/t1lib/t1load.c | 2 +- texk/web2c/pdftexdir/ttf2afm.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Index: tetex-3.0-dcb314.patch =================================================================== RCS file: /cvs/dist/rpms/tetex/devel/tetex-3.0-dcb314.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- tetex-3.0-dcb314.patch 9 May 2005 15:29:28 -0000 1.1 +++ tetex-3.0-dcb314.patch 1 Jun 2005 13:59:12 -0000 1.2 @@ -1,5 +1,5 @@ --- tetex-src-3.0/texk/web2c/pdftexdir/ttf2afm.c.dcb314 2005-02-04 22:55:30.000000000 +0100 -+++ tetex-src-3.0/texk/web2c/pdftexdir/ttf2afm.c 2005-05-09 16:34:57.121881904 +0200 ++++ tetex-src-3.0/texk/web2c/pdftexdir/ttf2afm.c 2005-06-01 15:08:15.000000000 +0200 @@ -322,7 +322,7 @@ void append_unicode(long glyph_index, TT mtx_entry *m; unicode_entry *u, *v; @@ -9,3 +9,14 @@ m = mtx_tab + glyph_index; u->next = NULL; u->code = code; +--- tetex-src-3.0/libs/t1lib/t1load.c.dcb314 2004-11-27 12:49:52.000000000 +0100 ++++ tetex-src-3.0/libs/t1lib/t1load.c 2005-06-01 15:16:06.778226312 +0200 +@@ -88,7 +88,7 @@ int T1_LoadFont( int FontID) + char *charname; + + /* The following vars are used for reallocation of VM */ +- long tmp_size; ++ long tmp_size = 0; + float ascender; + #ifdef ANSI_REALLOC_VM + unsigned long shift; Index: tetex.spec =================================================================== RCS file: /cvs/dist/rpms/tetex/devel/tetex.spec,v retrieving revision 1.62 retrieving revision 1.63 diff -u -r1.62 -r1.63 --- tetex.spec 9 May 2005 15:29:28 -0000 1.62 +++ tetex.spec 1 Jun 2005 13:59:13 -0000 1.63 @@ -1,14 +1,17 @@ -%define enable_japanese 1 -%define ptex_src_ver 3.1.8.1 -%define ptex_texmf_ver 2.3 -%define pdvipsk_ver p1.7 -%define mendexk_ver 2.6b +%define enable_japanese 1 +%define default_letter_paper 0 + +%define ptex_src_ver 3.1.8.1 +%define ptex_texmf_ver 2.3 +%define pdvipsk_ver p1.7 +%define mendexk_ver 2.6b %define desktop_file_utils_version 0.9 + Summary: The TeX text formatting system. Name: tetex Version: 3.0 -Release: 4 +Release: 5 License: distributable Group: Applications/Publishing Requires: tmpwatch, dialog, ed @@ -89,7 +92,7 @@ %endif BuildPreReq: bison flex perl xorg-x11-devel libpng-devel ncurses-devel zlib-devel -BuildPreReq: w3c-libwww-devel freetype-devel openmotif-devel textutils gd-devel +BuildPreReq: freetype-devel openmotif-devel textutils gd-devel BuildPreReq: desktop-file-utils >= %{desktop_file_utils_version} BuildPreReq: autoconf213 PreReq: desktop-file-utils >= %{desktop_file_utils_version} @@ -370,11 +373,13 @@ export CFLAGS="$RPM_OPT_FLAGS" %configure \ +%if %{default_letter_paper} + --disable-a4 \ +%endif --with-system-ncurses \ --with-system-zlib \ --with-system-pnglib \ --with-system-gd \ - --with-system-wwwlib --with-libwww-include=%{_includedir}/w3c-libwww \ --disable-multiplatform \ --without-dialog --without-texinfo --without-texi2html \ --with-mf-x-toolkit=yes \ @@ -763,6 +768,11 @@ %defattr(-,root,root) %changelog +* Wed Jun 1 2005 Jindrich Novy 3.0-5 +- remove depencency on w3c-libwww +- don't use uninitialized tmp_size (#157178) +- add a possibility to define default paper in spec + * Wed May 4 2005 Jindrich Novy 3.0-4 - add envlab package (#149212) - fix usage of uninitialized variable in ttf2afm.c (#149212) From fedora-cvs-commits at redhat.com Wed Jun 1 16:00:38 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 12:00:38 -0400 Subject: rpms/esound/FC-4 esound-0.2.35-64bit_install.patch, NONE, 1.1 esound.spec, 1.22, 1.23 Message-ID: <200506011600.j51G0cb4004195@cvs.devel.redhat.com> Author: notting Update of /cvs/dist/rpms/esound/FC-4 In directory cvs.devel.redhat.com:/tmp/cvs-serv4178 Modified Files: esound.spec Added Files: esound-0.2.35-64bit_install.patch Log Message: readd multilib conflict patch esound-0.2.35-64bit_install.patch: esddsp.in | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE esound-0.2.35-64bit_install.patch --- --- esound-0.2.35/esddsp.in.64bit_install 2004-09-07 17:19:58.539531000 -0400 +++ esound-0.2.35/esddsp.in 2004-09-07 17:21:07.091910000 -0400 @@ -106,7 +106,7 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ -LD_PRELOAD="@libdir@/libesddsp.so. at ESD_MAJOR_VERSION@ @libdir@/libesd.so. at ESD_MAJOR_VERSION@ $LD_PRELOAD" +LD_PRELOAD="libesddsp.so. at ESD_MAJOR_VERSION@ libesd.so. at ESD_MAJOR_VERSION@ $LD_PRELOAD" export LD_PRELOAD # invoke the program with the args given Index: esound.spec =================================================================== RCS file: /cvs/dist/rpms/esound/FC-4/esound.spec,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- esound.spec 2 Mar 2005 22:40:21 -0000 1.22 +++ esound.spec 1 Jun 2005 16:00:36 -0000 1.23 @@ -11,6 +11,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-root Patch0: esound-0.2.19-noerrors.patch Patch1: esound-0.2.35-manpage.patch +Patch2: esound-0.2.35-64bit_install.patch BuildRequires: docbook-utils, audiofile-devel BuildRequires: alsa-lib-devel @@ -40,6 +41,7 @@ %patch0 -p1 -b .noerrors %patch1 -p1 -b .manpage +%patch2 -p1 -b .64bit %build %configure @@ -87,6 +89,9 @@ %{_libdir}/pkgconfig/* %changelog +* Wed Jun 1 2005 Bill Nottingham - 1.0.2.35-5 +- readdd patch to prevent multilib conflicts + * Wed Mar 02 2005 John (J5) Palmieri - 1:0.2.35-4 - Rebuild with gcc 4.0 From fedora-cvs-commits at redhat.com Wed Jun 1 16:01:12 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 12:01:12 -0400 Subject: rpms/esound/FC-4 esound.spec,1.23,1.24 Message-ID: <200506011601.j51G1CoW004254@cvs.devel.redhat.com> Author: notting Update of /cvs/dist/rpms/esound/FC-4 In directory cvs.devel.redhat.com:/tmp/cvs-serv4228 Modified Files: esound.spec Log Message: bump Index: esound.spec =================================================================== RCS file: /cvs/dist/rpms/esound/FC-4/esound.spec,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- esound.spec 1 Jun 2005 16:00:36 -0000 1.23 +++ esound.spec 1 Jun 2005 16:01:10 -0000 1.24 @@ -2,7 +2,7 @@ Summary: Allows several audio streams to play on a single audio device. Name: esound Version: 0.2.35 -Release: 4 +Release: 5 Epoch: 1 License: GPL URL: ftp://ftp.gnome.org/pub/GNOME/sources/esound From fedora-cvs-commits at redhat.com Wed Jun 1 16:02:37 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 12:02:37 -0400 Subject: rpms/esound/devel esound-0.2.35-64bit_install.patch, NONE, 1.1 esound.spec, 1.22, 1.23 Message-ID: <200506011602.j51G2b85004326@cvs.devel.redhat.com> Author: notting Update of /cvs/dist/rpms/esound/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv4312 Modified Files: esound.spec Added Files: esound-0.2.35-64bit_install.patch Log Message: commit changes to devel branch too esound-0.2.35-64bit_install.patch: esddsp.in | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE esound-0.2.35-64bit_install.patch --- --- esound-0.2.35/esddsp.in.64bit_install 2004-09-07 17:19:58.539531000 -0400 +++ esound-0.2.35/esddsp.in 2004-09-07 17:21:07.091910000 -0400 @@ -106,7 +106,7 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ -LD_PRELOAD="@libdir@/libesddsp.so. at ESD_MAJOR_VERSION@ @libdir@/libesd.so. at ESD_MAJOR_VERSION@ $LD_PRELOAD" +LD_PRELOAD="libesddsp.so. at ESD_MAJOR_VERSION@ libesd.so. at ESD_MAJOR_VERSION@ $LD_PRELOAD" export LD_PRELOAD # invoke the program with the args given Index: esound.spec =================================================================== RCS file: /cvs/dist/rpms/esound/devel/esound.spec,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- esound.spec 2 Mar 2005 22:40:21 -0000 1.22 +++ esound.spec 1 Jun 2005 16:02:35 -0000 1.23 @@ -2,7 +2,7 @@ Summary: Allows several audio streams to play on a single audio device. Name: esound Version: 0.2.35 -Release: 4 +Release: 5 Epoch: 1 License: GPL URL: ftp://ftp.gnome.org/pub/GNOME/sources/esound @@ -11,6 +11,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-root Patch0: esound-0.2.19-noerrors.patch Patch1: esound-0.2.35-manpage.patch +Patch2: esound-0.2.35-64bit_install.patch BuildRequires: docbook-utils, audiofile-devel BuildRequires: alsa-lib-devel @@ -40,6 +41,7 @@ %patch0 -p1 -b .noerrors %patch1 -p1 -b .manpage +%patch2 -p1 -b .64bit %build %configure @@ -87,6 +89,9 @@ %{_libdir}/pkgconfig/* %changelog +* Wed Jun 1 2005 Bill Nottingham - 1.0.2.35-5 +- readdd patch to prevent multilib conflicts + * Wed Mar 02 2005 John (J5) Palmieri - 1:0.2.35-4 - Rebuild with gcc 4.0 From fedora-cvs-commits at redhat.com Wed Jun 1 18:10:28 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 14:10:28 -0400 Subject: rpms/pvm/FC-4 pvm-3.4.5-ppc64arch.patch, NONE, 1.1 pvm.spec, 1.25, 1.26 Message-ID: <200506011810.j51IASOt014863@cvs.devel.redhat.com> Author: jvdias Update of /cvs/dist/rpms/pvm/FC-4 In directory cvs.devel.redhat.com:/tmp/cvs-serv14849 Modified Files: pvm.spec Added Files: pvm-3.4.5-ppc64arch.patch Log Message: fix bugs 158303 155785 pvm-3.4.5-ppc64arch.patch: pvmgetarch | 1 + 1 files changed, 1 insertion(+) --- NEW FILE pvm-3.4.5-ppc64arch.patch --- --- pvm3/lib/pvmgetarch.ppc64arch 2005-05-31 18:49:56.000000000 -0400 +++ pvm3/lib/pvmgetarch 2005-05-31 18:52:17.000000000 -0400 @@ -75,6 +75,7 @@ Linux,sparc* ) ARCH=LINUXSPARC ;; Linux,hp_pa ) ARCH=LINUXHPPA ;; Linux,ppc ) ARCH=LINUXPPC ;; + Linux,ppc64 ) ARCH=LINUXPPC64 ;; Linux,s390 ) ARCH=LINUXS390 ;; Linux,s390x ) ARCH=LINUXS390X ;; Linux,m68k ) ARCH=LINUXATARI ;; Index: pvm.spec =================================================================== RCS file: /cvs/dist/rpms/pvm/FC-4/pvm.spec,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- pvm.spec 8 Mar 2005 22:11:13 -0000 1.25 +++ pvm.spec 1 Jun 2005 18:10:26 -0000 1.26 @@ -1,7 +1,7 @@ Summary: Libraries for distributed computing. Name: pvm Version: 3.4.5 -Release: 3_FC4 +Release: 4_FC4 License: freely distributable Group: Development/Libraries Source0: http://www.netlib.org/pvm3/pvm%{version}.tgz @@ -23,6 +23,7 @@ Patch6: pvm3.4.5-x86_64-segfault.patch Patch7: pvm-3.4.5-bug_147337.patch Patch8: pvm-3.4.5-Pvmtev.patch +Patch9: pvm-3.4.5-ppc64arch.patch URL: http://www.epm.ornl.gov/pvm/pvm_home.html BuildRoot: %{_tmppath}/%{name}-%{version}-root Requires: initscripts >= 5.54, bash >= 2 @@ -62,6 +63,7 @@ %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 cp conf/LINUX.def conf/LINUXS390.def cp conf/LINUX.m4 conf/LINUXS390.m4 cp conf/LINUX.def conf/LINUXI386.def @@ -76,20 +78,26 @@ cp conf/LINUX64.m4 conf/LINUXPPC64.m4 # Patch the LINUXX86_64.def file to look in lib64 dirs as well for libraries. -for I in X86_64 ppc64 s390x; do +for I in X86_64 PPC64 S390X; do perl -p -i -e "s|ARCHDLIB =|ARCHDLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX$I.def perl -p -i -e "s|ARCHLIB =|ARCHLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX$I.def done -%define pvm_arch %(echo %{_os}%{_target_cpu} | tr 'a-z' 'A-Z') +%ifarch x86_64 +echo 'ARCHCFLAGS += -fPIC' >> conf/LINUXX86_64.def +echo 'ARCHCFLAGS += -fPIC' >> conf/LINUX64.def +%endif + +#%define pvm_arch %(echo %{_os}%{_target_cpu} | tr 'a-z' 'A-Z') %build PVM_ROOT=$RPM_BUILD_ROOT/usr/share/pvm3 \ - PVM_ARCH=%{pvm_arch} \ + PVM_ARCH=`/var/tmp/pvm-3.4.5-root/usr/share/pvm3/lib/pvmgetarch` \ PVM_DPATH=$RPM_BUILD_ROOT/usr/share/pvm3/lib/pvmd \ + CFLAGS=-fPIC \ make -C $RPM_BUILD_ROOT/usr/share/pvm3 PVM_ROOT=$RPM_BUILD_ROOT/usr/share/pvm3 \ - PVM_ARCH=%{pvm_arch} \ + PVM_ARCH=`/var/tmp/pvm-3.4.5-root/usr/share/pvm3/lib/pvmgetarch` \ XPVM_ROOT=$RPM_BUILD_ROOT/usr/share/pvm3/xpvm \ make -C $RPM_BUILD_ROOT/usr/share/pvm3/xpvm XLIBDIR=-L%{_prefix}/X11R6/%{_lib} TCLTKHOME=%{_libdir} @@ -100,7 +108,7 @@ mkdir -p $RPM_BUILD_ROOT/usr/bin install -m 0755 $RPM_SOURCE_DIR/xpvm.sh $RPM_BUILD_ROOT/usr/bin/xpvm PVM_ROOT=$RPM_BUILD_ROOT/usr/share/pvm3 \ - PVM_ARCH=%{pvm_arch} \ + PVM_ARCH=`/var/tmp/pvm-3.4.5-root/usr/share/pvm3/lib/pvmgetarch` \ XPVM_ROOT=$RPM_BUILD_ROOT/usr/share/pvm3/xpvm \ make -C $RPM_BUILD_ROOT/usr/share/pvm3/xpvm install @@ -199,7 +207,6 @@ # /usr/sbin/userdel pvm > /dev/null 2>&1 #fi - %triggerun -- pvm <= 3.4.3-25 /sbin/chkconfig --del pvmd @@ -220,6 +227,11 @@ /usr/share/pvm3/xpvm/* %changelog +* Tue May 31 2005 Jason Vas Dias 3.4.5-4 +- fix bug 158303: x86_64 build needs -fPIC +- fix bug 155785: PVM_ARCH should be LINUX on i386, not LINUXI386 + add LINUXPPC64 arch to pvmgetarch + * Tue Mar 08 2005 Jason Vas Dias 3.4.5-3_FC4 - GCC4 build: fix forward declaration of Pvmtevdid (globals.h) From fedora-cvs-commits at redhat.com Wed Jun 1 18:53:00 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 14:53:00 -0400 Subject: rpms/gphoto2/FC-4 gen-libgphoto-hal-fdi, 1.1, 1.2 gphoto2.spec, 1.33, 1.34 Message-ID: <200506011853.j51Ir0Oi013713@cvs.devel.redhat.com> Author: notting Update of /cvs/dist/rpms/gphoto2/FC-4 In directory cvs.devel.redhat.com:/tmp/cvs-serv13700 Modified Files: gen-libgphoto-hal-fdi gphoto2.spec Log Message: a) fdi file generation was broken on x86_64 b) make the multilib conflicts go away Index: gen-libgphoto-hal-fdi =================================================================== RCS file: /cvs/dist/rpms/gphoto2/FC-4/gen-libgphoto-hal-fdi,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- gen-libgphoto-hal-fdi 5 May 2005 17:45:07 -0000 1.1 +++ gen-libgphoto-hal-fdi 1 Jun 2005 18:52:58 -0000 1.2 @@ -13,7 +13,7 @@ cat libgphoto2.fdi | uudecode | gunzip >gen-libgphoto-hal-fdi EOF -cat $0 | gzip -9 | uuencode -m - +cat $0 | gzip -n -9 | uuencode -m - cat < @@ -21,7 +21,7 @@ EOF -$DESTDIR/usr/lib/libgphoto2/print-usb-usermap | grep -v '^#' | tr -s ' ' | cut -d' ' -f 3,4 | sort -u | grep -v "^0x0000" | while read ven dev; do +$DESTDIR${LIBDIR:=/usr/lib}/libgphoto2/print-usb-usermap | grep -v '^#' | tr -s ' ' | cut -d' ' -f 3,4 | sort -u | grep -v "^0x0000" | while read ven dev; do cat < Index: gphoto2.spec =================================================================== RCS file: /cvs/dist/rpms/gphoto2/FC-4/gphoto2.spec,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- gphoto2.spec 14 May 2005 12:21:45 -0000 1.33 +++ gphoto2.spec 1 Jun 2005 18:52:58 -0000 1.34 @@ -5,7 +5,7 @@ %define libpkg libgphoto2 %define libver 2.1.5 Version: %{pkgver} -Release: 9 +Release: 10 License: LGPL Group: Applications/Multimedia BuildRoot: %{_tmppath}/%{name}-%{version}-root @@ -114,7 +114,7 @@ install -m755 packaging/linux-hotplug/usbcam.console %{buildroot}/etc/hotplug/usb/usbcam install -d -m755 %{buildroot}/usr/share/hal/fdi/information/20thirdparty/ -%{SOURCE2} > %{buildroot}/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi +LIBDIR=%{_libdir} %{SOURCE2} > %{buildroot}/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi popd @@ -201,6 +201,10 @@ # ChangeLog ######################################################################## %changelog +* Wed Jun 1 2005 Bill Nottingham 2.1.5-10 +- fix multilib conflict on fdi files, and their generation on x86_64 + in general + * Sat May 14 2005 Tim Waugh 2.1.5-9 - Fixed buffer overrun in ricoh/g3 (bug #157739). From fedora-cvs-commits at redhat.com Wed Jun 1 18:53:26 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 14:53:26 -0400 Subject: rpms/gphoto2/devel gen-libgphoto-hal-fdi, 1.1, 1.2 gphoto2.spec, 1.33, 1.34 Message-ID: <200506011853.j51IrQAv013775@cvs.devel.redhat.com> Author: notting Update of /cvs/dist/rpms/gphoto2/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv13762 Modified Files: gen-libgphoto-hal-fdi gphoto2.spec Log Message: add changes here too Index: gen-libgphoto-hal-fdi =================================================================== RCS file: /cvs/dist/rpms/gphoto2/devel/gen-libgphoto-hal-fdi,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- gen-libgphoto-hal-fdi 5 May 2005 17:45:07 -0000 1.1 +++ gen-libgphoto-hal-fdi 1 Jun 2005 18:53:24 -0000 1.2 @@ -13,7 +13,7 @@ cat libgphoto2.fdi | uudecode | gunzip >gen-libgphoto-hal-fdi EOF -cat $0 | gzip -9 | uuencode -m - +cat $0 | gzip -n -9 | uuencode -m - cat < @@ -21,7 +21,7 @@ EOF -$DESTDIR/usr/lib/libgphoto2/print-usb-usermap | grep -v '^#' | tr -s ' ' | cut -d' ' -f 3,4 | sort -u | grep -v "^0x0000" | while read ven dev; do +$DESTDIR${LIBDIR:=/usr/lib}/libgphoto2/print-usb-usermap | grep -v '^#' | tr -s ' ' | cut -d' ' -f 3,4 | sort -u | grep -v "^0x0000" | while read ven dev; do cat < Index: gphoto2.spec =================================================================== RCS file: /cvs/dist/rpms/gphoto2/devel/gphoto2.spec,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- gphoto2.spec 14 May 2005 12:21:45 -0000 1.33 +++ gphoto2.spec 1 Jun 2005 18:53:24 -0000 1.34 @@ -5,7 +5,7 @@ %define libpkg libgphoto2 %define libver 2.1.5 Version: %{pkgver} -Release: 9 +Release: 10 License: LGPL Group: Applications/Multimedia BuildRoot: %{_tmppath}/%{name}-%{version}-root @@ -114,7 +114,7 @@ install -m755 packaging/linux-hotplug/usbcam.console %{buildroot}/etc/hotplug/usb/usbcam install -d -m755 %{buildroot}/usr/share/hal/fdi/information/20thirdparty/ -%{SOURCE2} > %{buildroot}/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi +LIBDIR=%{_libdir} %{SOURCE2} > %{buildroot}/usr/share/hal/fdi/information/20thirdparty/10-camera-libgphoto2.fdi popd @@ -201,6 +201,10 @@ # ChangeLog ######################################################################## %changelog +* Wed Jun 1 2005 Bill Nottingham 2.1.5-10 +- fix multilib conflict on fdi files, and their generation on x86_64 + in general + * Sat May 14 2005 Tim Waugh 2.1.5-9 - Fixed buffer overrun in ricoh/g3 (bug #157739). From fedora-cvs-commits at redhat.com Wed Jun 1 19:21:58 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 15:21:58 -0400 Subject: rpms/openoffice.org/devel workspace.gcc4fwdecl.patch,1.1,1.2 Message-ID: <200506011921.j51JLwho007217@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv7203 Modified Files: workspace.gcc4fwdecl.patch Log Message: . workspace.gcc4fwdecl.patch: bf_forms/source/component/Image.hxx | 0 bf_svx/source/editeng/impedit.hxx | 0 binfilter/bf_forms/source/component/Image.hxx | 2 + binfilter/bf_svx/source/editeng/impedit.hxx | 17 ++++++++++ binfilter/inc/bf_sfx2/bindings.hxx | 5 ++ binfilter/inc/bf_sfx2/frame.hxx | 4 ++ binfilter/inc/bf_sfx2/objface.hxx | 2 + binfilter/inc/bf_svx/svdedxv.hxx | 2 + binfilter/inc/bf_svx/svdhdl.hxx | 2 + binfilter/inc/bf_svx/svdobj.hxx | 4 ++ binfilter/inc/bf_svx/svdotext.hxx | 2 + binfilter/inc/bf_svx/svdpntv.hxx | 5 ++ binfilter/inc/bf_svx/unoshape.hxx | 4 ++ inc/bf_sfx2/bindings.hxx | 0 inc/bf_sfx2/frame.hxx | 0 inc/bf_sfx2/objface.hxx | 0 inc/bf_svx/svdedxv.hxx | 0 inc/bf_svx/svdhdl.hxx | 0 inc/bf_svx/svdobj.hxx | 0 inc/bf_svx/svdotext.hxx | 0 inc/bf_svx/svdpntv.hxx | 0 inc/bf_svx/unoshape.hxx | 0 inc/mapmod.hxx | 0 openoffice.org/automation/source/server/statemnt.hxx | 1 openoffice.org/basctl/source/inc/baside3.hxx | 1 openoffice.org/basctl/source/inc/bastypes.hxx | 1 openoffice.org/basctl/source/inc/dlgedobj.hxx | 1 openoffice.org/comphelper/inc/comphelper/propmultiplex.hxx | 2 + openoffice.org/configmgr/source/api2/confproviderimpl2.hxx | 2 + openoffice.org/configmgr/source/api2/providerimpl.hxx | 1 openoffice.org/connectivity/inc/connectivity/sqliterator.hxx | 2 - openoffice.org/connectivity/source/inc/file/fcomp.hxx | 1 openoffice.org/dbaccess/source/core/dataaccess/ModelImpl.hxx | 3 + openoffice.org/extensions/source/bibliography/framectr.hxx | 1 openoffice.org/extensions/source/bibliography/loadlisteneradapter.hxx | 2 + openoffice.org/forms/source/component/clickableimage.hxx | 1 openoffice.org/padmin/source/padialog.hxx | 1 openoffice.org/psprint/inc/psprint/fontmanager.hxx | 2 + openoffice.org/psprint/inc/psprint/printergfx.hxx | 1 openoffice.org/sc/source/ui/attrdlg/scdlgfact.hxx | 1 openoffice.org/sd/source/ui/inc/animobjs.hxx | 1 openoffice.org/sd/source/ui/inc/navigatr.hxx | 2 + openoffice.org/sd/source/ui/slidesorter/inc/view/SlsLayouter.hxx | 1 openoffice.org/sfx2/inc/bindings.hxx | 1 openoffice.org/sfx2/inc/frame.hxx | 2 + openoffice.org/sfx2/inc/ipclient.hxx | 1 openoffice.org/sfx2/inc/objface.hxx | 1 openoffice.org/sfx2/inc/topfrm.hxx | 2 + openoffice.org/sfx2/inc/unoctitm.hxx | 1 openoffice.org/sfx2/source/doc/sfxbasemodel.cxx | 4 ++ openoffice.org/sfx2/source/inc/splitwin.hxx | 1 openoffice.org/so3/source/inplace/applet2.cxx | 3 + openoffice.org/starmath/inc/symbol.hxx | 2 + openoffice.org/starmath/inc/view.hxx | 1 openoffice.org/stoc/source/inspect/introspection.cxx | 1 openoffice.org/svtools/inc/ctrltool.hxx | 1 openoffice.org/svtools/inc/inettbc.hxx | 2 + openoffice.org/svtools/inc/poolitem.hxx | 2 + openoffice.org/svx/inc/float3d.hxx | 1 openoffice.org/svx/inc/fmgridcl.hxx | 1 openoffice.org/svx/inc/fmpage.hxx | 1 openoffice.org/svx/inc/fmview.hxx | 3 + openoffice.org/svx/inc/graphctl.hxx | 1 openoffice.org/svx/inc/imapdlg.hxx | 1 openoffice.org/svx/inc/srchdlg.hxx | 1 openoffice.org/svx/inc/svdedxv.hxx | 1 openoffice.org/svx/inc/svdfppt.hxx | 1 openoffice.org/svx/inc/svdhdl.hxx | 1 openoffice.org/svx/inc/svdobj.hxx | 1 openoffice.org/svx/inc/svdograf.hxx | 1 openoffice.org/svx/inc/svdotext.hxx | 1 openoffice.org/svx/inc/svdpagv.hxx | 1 openoffice.org/svx/inc/svdpntv.hxx | 2 + openoffice.org/svx/inc/svdvmark.hxx | 1 openoffice.org/svx/inc/unoedsrc.hxx | 1 openoffice.org/svx/inc/unoshape.hxx | 3 - openoffice.org/svx/source/inc/fmpgeimp.hxx | 1 openoffice.org/svx/source/inc/fmvwimp.hxx | 3 + openoffice.org/sw/inc/fchrfmt.hxx | 1 openoffice.org/sw/inc/fmtflcnt.hxx | 1 openoffice.org/sw/inc/fmtfld.hxx | 1 openoffice.org/sw/inc/fmtftn.hxx | 1 openoffice.org/sw/inc/fmtinfmt.hxx | 1 openoffice.org/sw/inc/fmtrfmrk.hxx | 2 + openoffice.org/sw/inc/fmtruby.hxx | 1 openoffice.org/sw/inc/section.hxx | 1 openoffice.org/sw/source/core/access/accfrmobjslist.hxx | 2 + openoffice.org/sw/source/core/inc/doctxm.hxx | 1 openoffice.org/tools/inc/fsys.hxx | 1 openoffice.org/ucb/source/core/ucbstore.hxx | 1 openoffice.org/vcl/inc/alpha.hxx | 1 openoffice.org/vcl/inc/bitmap.hxx | 1 openoffice.org/vcl/inc/outdev.hxx | 1 openoffice.org/xmloff/inc/xmlaustp.hxx | 1 openoffice.org/xmlsecurity/source/helper/xsecctl.hxx | 3 + vcl/inc/mapmod.hxx | 1 96 files changed, 148 insertions(+), 3 deletions(-) Index: workspace.gcc4fwdecl.patch =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/workspace.gcc4fwdecl.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- workspace.gcc4fwdecl.patch 1 Jun 2005 13:14:05 -0000 1.1 +++ workspace.gcc4fwdecl.patch 1 Jun 2005 19:21:55 -0000 1.2 @@ -776,3 +776,221 @@ class InternalSignatureInformation { public: +Index: inc/mapmod.hxx +=================================================================== +RCS file: /cvs/gsl/vcl/inc/mapmod.hxx,v +retrieving revision 1.3 +diff -u -p -r1.3 mapmod.hxx +--- openoffice.org.orig/vcl/inc/mapmod.hxx 13 Jan 2005 17:39:52 -0000 1.3 ++++ openoffice.org/vcl/inc/mapmod.hxx 1 Jun 2005 17:00:11 -0000 +@@ -85,6 +85,7 @@ + #endif + + class SvStream; ++class OutputDevice; + + // -------------- + // - ImplMapMode - +Index: bf_forms/source/component/Image.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/bf_forms/source/component/Image.hxx,v +retrieving revision 1.4 +diff -u -p -r1.4 Image.hxx +--- openoffice.org.orig/binfilter/bf_forms/source/component/Image.hxx 14 Apr 2005 15:33:27 -0000 1.4 ++++ openoffice.org/binfilter/bf_forms/source/component/Image.hxx 1 Jun 2005 18:36:15 -0000 +@@ -198,6 +198,8 @@ protected: + typedef ::cppu::ImplHelper2< ::com::sun::star::form::XApproveActionBroadcaster, + ::com::sun::star::beans::XPropertyChangeListener> OImageControl_BASE; + ++class OImageControlThread_Impl; ++ + class OImageControl : public OImageControl_BASE, + public OControl + { +Index: bf_svx/source/editeng/impedit.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/bf_svx/source/editeng/impedit.hxx,v +retrieving revision 1.3 +diff -u -p -r1.3 impedit.hxx +--- openoffice.org.orig/binfilter/bf_svx/source/editeng/impedit.hxx 18 Nov 2003 19:23:47 -0000 1.3 ++++ openoffice.org/binfilter/bf_svx/source/editeng/impedit.hxx 1 Jun 2005 18:54:33 -0000 +@@ -422,6 +422,23 @@ public: + typedef EditView* EditViewPtr; + SV_DECL_PTRARR( EditViews, EditViewPtr, 0, 1 )//STRIP008 ; + ++class EditUndoInsertChars; ++class EditUndoRemoveChars; ++class EditUndoDelContent; ++class EditUndoConnectParas; ++class EditUndoSplitPara; ++class EditUndoInsertFeature; ++class EditUndoMoveParagraphs; ++ ++class EditView; ++class ImpEditView; ++class EditEngine; // Fuer Zugriff auf Imp-Methoden ++class EditRTFParser; // Fuer Zugriff auf Imp-Methoden ++class EditHTMLParser; // Fuer Zugriff auf Imp-Methoden ++class EdtAutoCorrDoc; // Fuer Zugriff auf Imp-Methoden ++class EditDbg; // DebugRoutinen ++ ++ + class ImpEditEngine : public SfxListener + { + // Die Undos muessen direkt manipulieren ( private-Methoden ), +Index: inc/bf_sfx2/bindings.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_sfx2/bindings.hxx,v +retrieving revision 1.2 +diff -u -p -r1.2 bindings.hxx +--- openoffice.org.orig/binfilter/inc/bf_sfx2/bindings.hxx 6 Nov 2003 08:26:08 -0000 1.2 ++++ openoffice.org/binfilter/inc/bf_sfx2/bindings.hxx 1 Jun 2005 19:10:10 -0000 +@@ -167,6 +167,11 @@ enum SfxPopupAction + + //==================================================================== + class SfxImageManager; ++class SfxApplication; ++class SfxShell; ++class SfxSlotInterceptor; ++class SfxBindings_Impl; ++ + class SfxBindings: public SfxBroadcaster + + /* [Beschreibung] +Index: inc/bf_sfx2/frame.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_sfx2/frame.hxx,v +retrieving revision 1.4 +diff -u -p -r1.4 frame.hxx +--- openoffice.org.orig/binfilter/inc/bf_sfx2/frame.hxx 3 Aug 2004 20:57:02 -0000 1.4 ++++ openoffice.org/binfilter/inc/bf_sfx2/frame.hxx 1 Jun 2005 19:10:14 -0000 +@@ -183,6 +183,10 @@ DECLARE_LIST( TargetList, String* )//STR + //========================================================================== + + class SfxFrameArr_Impl; ++class SfxFrameIterator; ++class SfxUnoFrame; ++class SfxViewFrame; /*HACK!*/ ++ + class SfxFrame + { + friend class SfxFrameIterator; +Index: inc/bf_sfx2/objface.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_sfx2/objface.hxx,v +retrieving revision 1.3 +diff -u -p -r1.3 objface.hxx +--- openoffice.org.orig/binfilter/inc/bf_sfx2/objface.hxx 13 Feb 2004 14:31:02 -0000 1.3 ++++ openoffice.org/binfilter/inc/bf_sfx2/objface.hxx 1 Jun 2005 19:10:19 -0000 +@@ -79,6 +79,8 @@ class SfxConfigManager; + class SfxConfigItem; + class SfxObjectUIArr_Impl ; + class SfxModule; ++class SfxIFConfig_Impl; ++class SfxSlotPool; + + class SfxInterface + { +Index: inc/bf_svx/svdedxv.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_svx/svdedxv.hxx,v +retrieving revision 1.2 +diff -u -p -r1.2 svdedxv.hxx +--- openoffice.org.orig/binfilter/inc/bf_svx/svdedxv.hxx 6 Nov 2003 08:28:48 -0000 1.2 ++++ openoffice.org/binfilter/inc/bf_svx/svdedxv.hxx 1 Jun 2005 19:10:59 -0000 +@@ -106,6 +106,8 @@ enum SdrEndTextEditKind {SDRENDTEXTEDIT_ + // + //////////////////////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////////////////////// ++class SdrPageView; ++class ImpSdrEditPara; + + class SdrObjEditView: public SdrGlueEditView + { +Index: inc/bf_svx/svdhdl.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_svx/svdhdl.hxx,v +retrieving revision 1.3 +diff -u -p -r1.3 svdhdl.hxx +--- openoffice.org.orig/binfilter/inc/bf_svx/svdhdl.hxx 5 May 2004 16:29:59 -0000 1.3 ++++ openoffice.org/binfilter/inc/bf_svx/svdhdl.hxx 1 Jun 2005 19:11:02 -0000 +@@ -185,6 +185,8 @@ enum BitmapMarkerKind + + //////////////////////////////////////////////////////////////////////////////////////////////////// + ++class SdrMarkView; ++ + class SdrHdl + { + friend class SdrMarkView; // fuer den Zugriff auf nObjHdlNum +Index: inc/bf_svx/svdobj.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_svx/svdobj.hxx,v +retrieving revision 1.3 +diff -u -p -r1.3 svdobj.hxx +--- openoffice.org.orig/binfilter/inc/bf_svx/svdobj.hxx 13 Feb 2004 14:31:08 -0000 1.3 ++++ openoffice.org/binfilter/inc/bf_svx/svdobj.hxx 1 Jun 2005 19:11:06 -0000 +@@ -506,6 +506,10 @@ public: + // + //////////////////////////////////////////////////////////////////////////////////////////////////// + ++class SdrObjListIter; ++class SdrVirtObj; ++class SdrRectObj; ++ + class SdrObject: public SfxListener + { + friend class SdrObjListIter; +Index: inc/bf_svx/svdotext.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_svx/svdotext.hxx,v +retrieving revision 1.3 +diff -u -p -r1.3 svdotext.hxx +--- openoffice.org.orig/binfilter/inc/bf_svx/svdotext.hxx 5 May 2004 16:29:59 -0000 1.3 ++++ openoffice.org/binfilter/inc/bf_svx/svdotext.hxx 1 Jun 2005 19:11:07 -0000 +@@ -118,6 +118,8 @@ public: + //************************************************************ + // Hilfsklasse ImpSdrObjTextLinkUserData + //************************************************************ ++class SdrTextObj; ++class ImpSdrObjTextLink; + + class ImpSdrObjTextLinkUserData : public SdrObjUserData + { +Index: inc/bf_svx/svdpntv.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_svx/svdpntv.hxx,v +retrieving revision 1.3 +diff -u -p -r1.3 svdpntv.hxx +--- openoffice.org.orig/binfilter/inc/bf_svx/svdpntv.hxx 3 Dec 2003 10:43:08 -0000 1.3 ++++ openoffice.org/binfilter/inc/bf_svx/svdpntv.hxx 1 Jun 2005 19:11:10 -0000 +@@ -313,6 +313,11 @@ public: + // + //////////////////////////////////////////////////////////////////////////////////////////////////// + ++class SdrPageView; ++class FrameAnimator; ++class SdrViewUserMarker; ++class SdrGrafObj; ++ + class SdrPaintView: public SfxListener, public SfxRepeatTarget, public SfxBroadcaster + { + friend class SdrPageView; +Index: inc/bf_svx/unoshape.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_svx/unoshape.hxx,v +retrieving revision 1.2 +diff -u -p -r1.2 unoshape.hxx +--- openoffice.org.orig/binfilter/inc/bf_svx/unoshape.hxx 6 Nov 2003 08:29:25 -0000 1.2 ++++ openoffice.org/binfilter/inc/bf_svx/unoshape.hxx 1 Jun 2005 19:11:20 -0000 +@@ -153,6 +153,10 @@ protected: + + struct SvxShapeImpl; + class SvxShapeMaster; ++class SvxDrawPage; ++class SvxShapeConnector; ++class SdXShape; ++ + + // WARNING: if you update the supported interfaces, also update the + // SvxShape::queryAggregation helper method From fedora-cvs-commits at redhat.com Wed Jun 1 19:37:15 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 15:37:15 -0400 Subject: rpms/pvm/devel pvm.spec,1.31,1.32 Message-ID: <200506011937.j51JbFlB027442@cvs.devel.redhat.com> Author: jvdias Update of /cvs/dist/rpms/pvm/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv27430 Modified Files: pvm.spec Log Message: fix bugs 158303 155785 Index: pvm.spec =================================================================== RCS file: /cvs/dist/rpms/pvm/devel/pvm.spec,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- pvm.spec 31 May 2005 23:05:19 -0000 1.31 +++ pvm.spec 1 Jun 2005 19:37:13 -0000 1.32 @@ -1,7 +1,7 @@ Summary: Libraries for distributed computing. Name: pvm Version: 3.4.5 -Release: 4 +Release: 5 License: freely distributable Group: Development/Libraries Source0: http://www.netlib.org/pvm3/pvm%{version}.tgz @@ -64,6 +64,14 @@ %patch7 -p1 %patch8 -p1 %patch9 -p1 + +# Patch the LINUX*64.def files to look in lib64 dirs as well for libraries. +perl -p -i -e "s|ARCHDLIB[ \ ]*=|ARCHDLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX64.def +perl -p -i -e "s|ARCHLIB[ \ ]*=|ARCHLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX64.def +%ifarch x86_64 +echo 'ARCHCFLAGS += -fPIC' >> conf/LINUX64.def +%endif + cp conf/LINUX.def conf/LINUXS390.def cp conf/LINUX.m4 conf/LINUXS390.m4 cp conf/LINUX.def conf/LINUXI386.def @@ -77,16 +85,6 @@ cp conf/LINUX64.def conf/LINUXPPC64.def cp conf/LINUX64.m4 conf/LINUXPPC64.m4 -# Patch the LINUXX86_64.def file to look in lib64 dirs as well for libraries. -for I in X86_64 PPC64 S390X; do -perl -p -i -e "s|ARCHDLIB =|ARCHDLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX$I.def -perl -p -i -e "s|ARCHLIB =|ARCHLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX$I.def -done - -%ifarch x86_64 -echo 'ARCHCFLAGS += -fPIC' >> conf/LINUXX86_64.def -echo 'ARCHCFLAGS += -fPIC' >> conf/LINUX64.def -%endif #%define pvm_arch %(echo %{_os}%{_target_cpu} | tr 'a-z' 'A-Z') %build From fedora-cvs-commits at redhat.com Wed Jun 1 20:27:01 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 16:27:01 -0400 Subject: rpms/cman-kernel/devel .cvsignore, 1.17, 1.18 cman-kernel.spec, 1.95, 1.96 sources, 1.18, 1.19 Message-ID: <200506012027.j51KR1Bg014178@cvs.devel.redhat.com> Author: cfeist Update of /cvs/dist/rpms/cman-kernel/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv14166 Modified Files: .cvsignore cman-kernel.spec sources Log Message: Updated Sources (automated). Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/cman-kernel/devel/.cvsignore,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- .cvsignore 17 May 2005 19:12:50 -0000 1.17 +++ .cvsignore 1 Jun 2005 20:26:58 -0000 1.18 @@ -11,3 +11,4 @@ cman-kernel-2.6.11.2-20050420.112235.FC4.tar.gz cman-kernel-2.6.11.3-20050425.154843.FC4.tar.gz cman-kernel-2.6.11.4-20050517.141233.FC4.tar.gz +cman-kernel-2.6.11.5-20050601.152643.FC4.tar.gz Index: cman-kernel.spec =================================================================== RCS file: /cvs/dist/rpms/cman-kernel/devel/cman-kernel.spec,v retrieving revision 1.95 retrieving revision 1.96 diff -u -r1.95 -r1.96 --- cman-kernel.spec 31 May 2005 14:20:13 -0000 1.95 +++ cman-kernel.spec 1 Jun 2005 20:26:58 -0000 1.96 @@ -13,7 +13,7 @@ %define buildsmp 1 %define buildxen 1 %define kernel_version 2.6.11-1.1366_FC4 -%define subversion 20050517.141233.FC4 +%define subversion 20050601.152643.FC4 %ifnarch i686 x86_64 %define buildsmp 0 @@ -24,8 +24,8 @@ %endif Name: cman-kernel -Version: 2.6.11.4 -Release: %{subversion}.12 +Version: 2.6.11.5 +Release: 20050601.152643.FC4.0 License: GPL Group: System Environment/Kernel Summary: cman-kernel - The Cluster Manager kernel modules Index: sources =================================================================== RCS file: /cvs/dist/rpms/cman-kernel/devel/sources,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- sources 17 May 2005 19:12:50 -0000 1.18 +++ sources 1 Jun 2005 20:26:58 -0000 1.19 @@ -1 +1 @@ -ef7419af308dead6685e6aa022692342 cman-kernel-2.6.11.4-20050517.141233.FC4.tar.gz +4c815b425495f7488ec2207e4d24fb68 cman-kernel-2.6.11.5-20050601.152643.FC4.tar.gz From fedora-cvs-commits at redhat.com Wed Jun 1 20:27:31 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 16:27:31 -0400 Subject: rpms/dlm-kernel/devel .cvsignore, 1.14, 1.15 dlm-kernel.spec, 1.72, 1.73 sources, 1.15, 1.16 Message-ID: <200506012027.j51KRVH4014245@cvs.devel.redhat.com> Author: cfeist Update of /cvs/dist/rpms/dlm-kernel/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv14228 Modified Files: .cvsignore dlm-kernel.spec sources Log Message: Updated Sources (automated). Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/dlm-kernel/devel/.cvsignore,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- .cvsignore 17 May 2005 19:13:01 -0000 1.14 +++ .cvsignore 1 Jun 2005 20:27:28 -0000 1.15 @@ -9,3 +9,4 @@ dlm-kernel-2.6.11.2-20050420.131626.FC4.tar.gz dlm-kernel-2.6.11.3-20050425.154843.FC4.tar.gz dlm-kernel-2.6.11.4-20050517.141233.FC4.tar.gz +dlm-kernel-2.6.11.5-20050601.152643.FC4.tar.gz Index: dlm-kernel.spec =================================================================== RCS file: /cvs/dist/rpms/dlm-kernel/devel/dlm-kernel.spec,v retrieving revision 1.72 retrieving revision 1.73 diff -u -r1.72 -r1.73 --- dlm-kernel.spec 31 May 2005 14:20:33 -0000 1.72 +++ dlm-kernel.spec 1 Jun 2005 20:27:28 -0000 1.73 @@ -13,7 +13,7 @@ %define buildsmp 1 %define buildxen 1 %define kernel_version 2.6.11-1.1366_FC4 -%define subversion 20050517.141233.FC4 +%define subversion 20050601.152643.FC4 %ifnarch i686 x86_64 %define buildsmp 0 @@ -24,8 +24,8 @@ %endif Name: dlm-kernel -Version: 2.6.11.4 -Release: %{subversion}.12 +Version: 2.6.11.5 +Release: 20050601.152643.FC4.0 License: GPL Group: System Environment/Kernel Summary: dlm-kernel - The Distributed Lock Manager kernel modules. Index: sources =================================================================== RCS file: /cvs/dist/rpms/dlm-kernel/devel/sources,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- sources 17 May 2005 19:13:01 -0000 1.15 +++ sources 1 Jun 2005 20:27:28 -0000 1.16 @@ -1 +1 @@ -f18ed8dc4043b4257c69666d92ab3675 dlm-kernel-2.6.11.4-20050517.141233.FC4.tar.gz +2e00cb9605d10f58b7482e26ff4d0175 dlm-kernel-2.6.11.5-20050601.152643.FC4.tar.gz From fedora-cvs-commits at redhat.com Wed Jun 1 20:27:42 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 16:27:42 -0400 Subject: rpms/GFS-kernel/devel .cvsignore, 1.16, 1.17 GFS-kernel.spec, 1.88, 1.89 sources, 1.17, 1.18 Message-ID: <200506012027.j51KRgD1014305@cvs.devel.redhat.com> Author: cfeist Update of /cvs/dist/rpms/GFS-kernel/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv14291 Modified Files: .cvsignore GFS-kernel.spec sources Log Message: Updated Sources (automated). Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/GFS-kernel/devel/.cvsignore,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- .cvsignore 19 May 2005 20:35:32 -0000 1.16 +++ .cvsignore 1 Jun 2005 20:27:39 -0000 1.17 @@ -12,3 +12,4 @@ gfs-kernel-2.6.11.5-20050505.133825.FC4.tar.gz gfs-kernel-2.6.11.6-20050517.141233.FC4.tar.gz gfs-kernel-2.6.11.7-20050519.153509.FC4.tar.gz +gfs-kernel-2.6.11.8-20050601.152643.FC4.tar.gz Index: GFS-kernel.spec =================================================================== RCS file: /cvs/dist/rpms/GFS-kernel/devel/GFS-kernel.spec,v retrieving revision 1.88 retrieving revision 1.89 diff -u -r1.88 -r1.89 --- GFS-kernel.spec 31 May 2005 14:20:20 -0000 1.88 +++ GFS-kernel.spec 1 Jun 2005 20:27:39 -0000 1.89 @@ -13,7 +13,7 @@ %define buildsmp 1 %define buildxen 1 %define kernel_version 2.6.11-1.1366_FC4 -%define subversion 20050519.153509.FC4 +%define subversion 20050601.152643.FC4 %ifnarch i686 x86_64 %define buildsmp 0 @@ -24,8 +24,8 @@ %endif Name: GFS-kernel -Version: 2.6.11.7 -Release: %{subversion}.10 +Version: 2.6.11.8 +Release: 20050601.152643.FC4.0 License: GPL Group: System Environment/Kernel Summary: GFS-kernel - The Global File System kernel modules Index: sources =================================================================== RCS file: /cvs/dist/rpms/GFS-kernel/devel/sources,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- sources 19 May 2005 20:35:32 -0000 1.17 +++ sources 1 Jun 2005 20:27:39 -0000 1.18 @@ -1 +1 @@ -4431739e2b0edddb740816c2502b9050 gfs-kernel-2.6.11.7-20050519.153509.FC4.tar.gz +719b2dc0bf22747720c9c433b68d588c gfs-kernel-2.6.11.8-20050601.152643.FC4.tar.gz From fedora-cvs-commits at redhat.com Wed Jun 1 20:41:03 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 16:41:03 -0400 Subject: rpms/cman-kernel/FC-4 Makefile,1.3,1.4 Message-ID: <200506012041.j51Kf3qW014567@cvs.devel.redhat.com> Author: cfeist Update of /cvs/dist/rpms/cman-kernel/FC-4 In directory cvs.devel.redhat.com:/tmp/cvs-serv14555 Modified Files: Makefile Log Message: Take dist-fc4 out of COLLECTION in makefile. Index: Makefile =================================================================== RCS file: /cvs/dist/rpms/cman-kernel/FC-4/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Makefile 21 Dec 2004 21:30:21 -0000 1.3 +++ Makefile 1 Jun 2005 20:41:01 -0000 1.4 @@ -3,6 +3,6 @@ NAME := cman-kernel SPECFILE = $(firstword $(wildcard *.spec)) BHC_FLAGS := -n -COLLECTION := dist-fc4 +# COLLECTION := dist-fc4 include ../common/Makefile.common From fedora-cvs-commits at redhat.com Wed Jun 1 20:57:36 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 16:57:36 -0400 Subject: rpms/cman-kernel/FC-4 cman-kernel.spec,1.95,1.96 sources,1.18,1.19 Message-ID: <200506012057.j51KvaIp007779@cvs.devel.redhat.com> Author: cfeist Update of /cvs/dist/rpms/cman-kernel/FC-4 In directory cvs.devel.redhat.com:/tmp/cvs-serv7759 Modified Files: cman-kernel.spec sources Log Message: Build from devel. Index: cman-kernel.spec =================================================================== RCS file: /cvs/dist/rpms/cman-kernel/FC-4/cman-kernel.spec,v retrieving revision 1.95 retrieving revision 1.96 diff -u -r1.95 -r1.96 --- cman-kernel.spec 31 May 2005 14:20:13 -0000 1.95 +++ cman-kernel.spec 1 Jun 2005 20:57:32 -0000 1.96 @@ -13,7 +13,7 @@ %define buildsmp 1 %define buildxen 1 %define kernel_version 2.6.11-1.1366_FC4 -%define subversion 20050517.141233.FC4 +%define subversion 20050601.152643.FC4 %ifnarch i686 x86_64 %define buildsmp 0 @@ -24,8 +24,8 @@ %endif Name: cman-kernel -Version: 2.6.11.4 -Release: %{subversion}.12 +Version: 2.6.11.5 +Release: %{subversion}.1 License: GPL Group: System Environment/Kernel Summary: cman-kernel - The Cluster Manager kernel modules Index: sources =================================================================== RCS file: /cvs/dist/rpms/cman-kernel/FC-4/sources,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- sources 17 May 2005 19:12:50 -0000 1.18 +++ sources 1 Jun 2005 20:57:32 -0000 1.19 @@ -1 +1 @@ -ef7419af308dead6685e6aa022692342 cman-kernel-2.6.11.4-20050517.141233.FC4.tar.gz +4c815b425495f7488ec2207e4d24fb68 cman-kernel-2.6.11.5-20050601.152643.FC4.tar.gz From fedora-cvs-commits at redhat.com Wed Jun 1 21:04:02 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 17:04:02 -0400 Subject: rpms/dlm-kernel/FC-4 dlm-kernel.spec,1.72,1.73 sources,1.15,1.16 Message-ID: <200506012104.j51L42PU008021@cvs.devel.redhat.com> Author: cfeist Update of /cvs/dist/rpms/dlm-kernel/FC-4 In directory cvs.devel.redhat.com:/tmp/cvs-serv8008 Modified Files: dlm-kernel.spec sources Log Message: Merge from devel branch. Index: dlm-kernel.spec =================================================================== RCS file: /cvs/dist/rpms/dlm-kernel/FC-4/dlm-kernel.spec,v retrieving revision 1.72 retrieving revision 1.73 diff -u -r1.72 -r1.73 --- dlm-kernel.spec 31 May 2005 14:20:33 -0000 1.72 +++ dlm-kernel.spec 1 Jun 2005 21:03:59 -0000 1.73 @@ -13,7 +13,7 @@ %define buildsmp 1 %define buildxen 1 %define kernel_version 2.6.11-1.1366_FC4 -%define subversion 20050517.141233.FC4 +%define subversion 20050601.152643.FC4 %ifnarch i686 x86_64 %define buildsmp 0 @@ -24,8 +24,8 @@ %endif Name: dlm-kernel -Version: 2.6.11.4 -Release: %{subversion}.12 +Version: 2.6.11.5 +Release: %{subversion}.1 License: GPL Group: System Environment/Kernel Summary: dlm-kernel - The Distributed Lock Manager kernel modules. Index: sources =================================================================== RCS file: /cvs/dist/rpms/dlm-kernel/FC-4/sources,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- sources 17 May 2005 19:13:01 -0000 1.15 +++ sources 1 Jun 2005 21:03:59 -0000 1.16 @@ -1 +1 @@ -f18ed8dc4043b4257c69666d92ab3675 dlm-kernel-2.6.11.4-20050517.141233.FC4.tar.gz +2e00cb9605d10f58b7482e26ff4d0175 dlm-kernel-2.6.11.5-20050601.152643.FC4.tar.gz From fedora-cvs-commits at redhat.com Wed Jun 1 21:04:41 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 17:04:41 -0400 Subject: rpms/GFS-kernel/FC-4 GFS-kernel.spec,1.88,1.89 sources,1.17,1.18 Message-ID: <200506012104.j51L4ftr008088@cvs.devel.redhat.com> Author: cfeist Update of /cvs/dist/rpms/GFS-kernel/FC-4 In directory cvs.devel.redhat.com:/tmp/cvs-serv8074 Modified Files: GFS-kernel.spec sources Log Message: Merge from devel branch. Index: GFS-kernel.spec =================================================================== RCS file: /cvs/dist/rpms/GFS-kernel/FC-4/GFS-kernel.spec,v retrieving revision 1.88 retrieving revision 1.89 diff -u -r1.88 -r1.89 --- GFS-kernel.spec 31 May 2005 14:20:20 -0000 1.88 +++ GFS-kernel.spec 1 Jun 2005 21:04:39 -0000 1.89 @@ -13,7 +13,7 @@ %define buildsmp 1 %define buildxen 1 %define kernel_version 2.6.11-1.1366_FC4 -%define subversion 20050519.153509.FC4 +%define subversion 20050601.152643.FC4 %ifnarch i686 x86_64 %define buildsmp 0 @@ -24,8 +24,8 @@ %endif Name: GFS-kernel -Version: 2.6.11.7 -Release: %{subversion}.10 +Version: 2.6.11.8 +Release: %{subversion}.1 License: GPL Group: System Environment/Kernel Summary: GFS-kernel - The Global File System kernel modules Index: sources =================================================================== RCS file: /cvs/dist/rpms/GFS-kernel/FC-4/sources,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- sources 19 May 2005 20:35:32 -0000 1.17 +++ sources 1 Jun 2005 21:04:39 -0000 1.18 @@ -1 +1 @@ -4431739e2b0edddb740816c2502b9050 gfs-kernel-2.6.11.7-20050519.153509.FC4.tar.gz +719b2dc0bf22747720c9c433b68d588c gfs-kernel-2.6.11.8-20050601.152643.FC4.tar.gz From fedora-cvs-commits at redhat.com Wed Jun 1 21:14:47 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 17:14:47 -0400 Subject: rpms/pvm/FC-3 pvm-3.4.5-ppc64arch.patch, NONE, 1.1 pvm-3.4.5-Pvmtev.patch, NONE, 1.1 pvm.spec, 1.22, 1.23 sources, 1.5, 1.6 Message-ID: <200506012114.j51LEl7g008351@cvs.devel.redhat.com> Author: jvdias Update of /cvs/dist/rpms/pvm/FC-3 In directory cvs.devel.redhat.com:/tmp/cvs-serv8339 Modified Files: pvm.spec sources Added Files: pvm-3.4.5-ppc64arch.patch pvm-3.4.5-Pvmtev.patch Log Message: fix bugs 155785, 158303 pvm-3.4.5-ppc64arch.patch: pvmgetarch | 1 + 1 files changed, 1 insertion(+) --- NEW FILE pvm-3.4.5-ppc64arch.patch --- --- pvm3/lib/pvmgetarch.ppc64arch 2005-05-31 18:49:56.000000000 -0400 +++ pvm3/lib/pvmgetarch 2005-05-31 18:52:17.000000000 -0400 @@ -75,6 +75,7 @@ Linux,sparc* ) ARCH=LINUXSPARC ;; Linux,hp_pa ) ARCH=LINUXHPPA ;; Linux,ppc ) ARCH=LINUXPPC ;; + Linux,ppc64 ) ARCH=LINUXPPC64 ;; Linux,s390 ) ARCH=LINUXS390 ;; Linux,s390x ) ARCH=LINUXS390X ;; Linux,m68k ) ARCH=LINUXATARI ;; pvm-3.4.5-Pvmtev.patch: global.h | 1 + 1 files changed, 1 insertion(+) --- NEW FILE pvm-3.4.5-Pvmtev.patch --- --- pvm3/src/global.h.Pvmtev 2001-02-07 18:14:03.000000000 -0500 +++ pvm3/src/global.h 2005-03-08 17:00:57.000000000 -0500 @@ -317,6 +317,7 @@ /* General Trace Globals Declarations */ +#include extern struct Pvmtevdid pvmtevdidlist[]; Index: pvm.spec =================================================================== RCS file: /cvs/dist/rpms/pvm/FC-3/pvm.spec,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- pvm.spec 25 Feb 2005 19:09:41 -0000 1.22 +++ pvm.spec 1 Jun 2005 21:14:45 -0000 1.23 @@ -1,7 +1,7 @@ Summary: Libraries for distributed computing. Name: pvm Version: 3.4.5 -Release: 2_FC3 +Release: 5_FC3 License: freely distributable Group: Development/Libraries Source0: http://www.netlib.org/pvm3/pvm%{version}.tgz @@ -22,6 +22,8 @@ Patch5: xpvm-1.2.5-envvars.patch Patch6: pvm3.4.5-x86_64-segfault.patch Patch7: pvm-3.4.5-bug_147337.patch +Patch8: pvm-3.4.5-Pvmtev.patch +Patch9: pvm-3.4.5-ppc64arch.patch URL: http://www.epm.ornl.gov/pvm/pvm_home.html BuildRoot: %{_tmppath}/%{name}-%{version}-root Requires: initscripts >= 5.54, bash >= 2 @@ -60,6 +62,16 @@ %patch4 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 +%patch9 -p1 + +# Patch the LINUX*64.def files to look in lib64 dirs as well for libraries. +perl -p -i -e "s|ARCHDLIB[ \ ]*=|ARCHDLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX64.def +perl -p -i -e "s|ARCHLIB[ \ ]*=|ARCHLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX64.def +%ifarch x86_64 +echo 'ARCHCFLAGS += -fPIC' >> conf/LINUX64.def +%endif + cp conf/LINUX.def conf/LINUXS390.def cp conf/LINUX.m4 conf/LINUXS390.m4 cp conf/LINUX.def conf/LINUXI386.def @@ -73,21 +85,17 @@ cp conf/LINUX64.def conf/LINUXPPC64.def cp conf/LINUX64.m4 conf/LINUXPPC64.m4 -# Patch the LINUXX86_64.def file to look in lib64 dirs as well for libraries. -for I in X86_64 ppc64 s390x; do -perl -p -i -e "s|ARCHDLIB =|ARCHDLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX$I.def -perl -p -i -e "s|ARCHLIB =|ARCHLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX$I.def -done -%define pvm_arch %(echo %{_os}%{_target_cpu} | tr 'a-z' 'A-Z') +#%define pvm_arch %(echo %{_os}%{_target_cpu} | tr 'a-z' 'A-Z') %build PVM_ROOT=$RPM_BUILD_ROOT/usr/share/pvm3 \ - PVM_ARCH=%{pvm_arch} \ + PVM_ARCH=`/var/tmp/pvm-3.4.5-root/usr/share/pvm3/lib/pvmgetarch` \ PVM_DPATH=$RPM_BUILD_ROOT/usr/share/pvm3/lib/pvmd \ + CFLAGS=-fPIC \ make -C $RPM_BUILD_ROOT/usr/share/pvm3 PVM_ROOT=$RPM_BUILD_ROOT/usr/share/pvm3 \ - PVM_ARCH=%{pvm_arch} \ + PVM_ARCH=`/var/tmp/pvm-3.4.5-root/usr/share/pvm3/lib/pvmgetarch` \ XPVM_ROOT=$RPM_BUILD_ROOT/usr/share/pvm3/xpvm \ make -C $RPM_BUILD_ROOT/usr/share/pvm3/xpvm XLIBDIR=-L%{_prefix}/X11R6/%{_lib} TCLTKHOME=%{_libdir} @@ -98,7 +106,7 @@ mkdir -p $RPM_BUILD_ROOT/usr/bin install -m 0755 $RPM_SOURCE_DIR/xpvm.sh $RPM_BUILD_ROOT/usr/bin/xpvm PVM_ROOT=$RPM_BUILD_ROOT/usr/share/pvm3 \ - PVM_ARCH=%{pvm_arch} \ + PVM_ARCH=`/var/tmp/pvm-3.4.5-root/usr/share/pvm3/lib/pvmgetarch` \ XPVM_ROOT=$RPM_BUILD_ROOT/usr/share/pvm3/xpvm \ make -C $RPM_BUILD_ROOT/usr/share/pvm3/xpvm install @@ -197,7 +205,6 @@ # /usr/sbin/userdel pvm > /dev/null 2>&1 #fi - %triggerun -- pvm <= 3.4.3-25 /sbin/chkconfig --del pvmd @@ -218,9 +225,17 @@ /usr/share/pvm3/xpvm/* %changelog -* Fri Feb 25 2005 Jason Vas Dias 3.4.5-2_FC3 +* Tue May 31 2005 Jason Vas Dias 3.4.5-4 +- fix bug 158303: x86_64 build needs -fPIC +- fix bug 155785: PVM_ARCH should be LINUX on i386, not LINUXI386 + add LINUXPPC64 arch to pvmgetarch + +* Tue Mar 08 2005 Jason Vas Dias 3.4.5-3_FC4 +- GCC4 build: fix forward declaration of Pvmtevdid (globals.h) + +* Fri Feb 25 2005 Jason Vas Dias 3.4.5-2_FC4 - Fix bug 147337 - invalid format string in pvmlog.c -- make version compare < that of FC4 +- make version compare > that of FC3 * Wed Feb 02 2005 Jason Vas Dias 3.4.5-1 - Upgrade to upstream version 3.4.5 (bug 143156). Index: sources =================================================================== RCS file: /cvs/dist/rpms/pvm/FC-3/sources,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- sources 2 Feb 2005 22:22:01 -0000 1.5 +++ sources 1 Jun 2005 21:14:45 -0000 1.6 @@ -1,3 +1,2 @@ 7b20143cb2ff61e3cb28baf8f9cb2770 XPVM.src.1.2.5.tgz -806abe9a866eab5981383c17ff9ed175 pvm3.4.4.tgz 086e6d707b40adba04bddba8e5b6b17d pvm3.4.5.tgz From fedora-cvs-commits at redhat.com Wed Jun 1 21:23:38 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 17:23:38 -0400 Subject: rpms/pvm/FC-4 pvm.spec,1.26,1.27 Message-ID: <200506012123.j51LNcxK013973@cvs.devel.redhat.com> Author: jvdias Update of /cvs/dist/rpms/pvm/FC-4 In directory cvs.devel.redhat.com:/tmp/cvs-serv13960 Modified Files: pvm.spec Log Message: fix bugs 158303, 155785 Index: pvm.spec =================================================================== RCS file: /cvs/dist/rpms/pvm/FC-4/pvm.spec,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- pvm.spec 1 Jun 2005 18:10:26 -0000 1.26 +++ pvm.spec 1 Jun 2005 21:23:36 -0000 1.27 @@ -1,7 +1,7 @@ Summary: Libraries for distributed computing. Name: pvm Version: 3.4.5 -Release: 4_FC4 +Release: 5_FC4 License: freely distributable Group: Development/Libraries Source0: http://www.netlib.org/pvm3/pvm%{version}.tgz @@ -64,6 +64,14 @@ %patch7 -p1 %patch8 -p1 %patch9 -p1 + +# Patch the LINUX*64.def files to look in lib64 dirs as well for libraries. +perl -p -i -e "s|ARCHDLIB[ \ ]*=|ARCHDLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX64.def +perl -p -i -e "s|ARCHLIB[ \ ]*=|ARCHLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX64.def +%ifarch x86_64 +echo 'ARCHCFLAGS += -fPIC' >> conf/LINUX64.def +%endif + cp conf/LINUX.def conf/LINUXS390.def cp conf/LINUX.m4 conf/LINUXS390.m4 cp conf/LINUX.def conf/LINUXI386.def @@ -77,16 +85,6 @@ cp conf/LINUX64.def conf/LINUXPPC64.def cp conf/LINUX64.m4 conf/LINUXPPC64.m4 -# Patch the LINUXX86_64.def file to look in lib64 dirs as well for libraries. -for I in X86_64 PPC64 S390X; do -perl -p -i -e "s|ARCHDLIB =|ARCHDLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX$I.def -perl -p -i -e "s|ARCHLIB =|ARCHLIB = -L/usr/lib64 -L/usr/X11R6/lib64|" conf/LINUX$I.def -done - -%ifarch x86_64 -echo 'ARCHCFLAGS += -fPIC' >> conf/LINUXX86_64.def -echo 'ARCHCFLAGS += -fPIC' >> conf/LINUX64.def -%endif #%define pvm_arch %(echo %{_os}%{_target_cpu} | tr 'a-z' 'A-Z') %build From fedora-cvs-commits at redhat.com Wed Jun 1 22:56:36 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 18:56:36 -0400 Subject: rpms/bind/FC-3 bind-9.3.0-handle-send-errors.patch, NONE, 1.1.2.1 bind-9.3.0-missing-dnssec-tools.patch, NONE, 1.1.2.1 bind-9.3.1-fix_sdb_ldap.patch, NONE, 1.1.2.1 bind-9.3.1-redhat_doc.patch, NONE, 1.1.2.1 bind-9.3.1-reject_resolv_conf_errors.patch, NONE, 1.1.2.1 bind-9.3.1.dbus.patch, NONE, 1.1.2.1 bind-9.3.1beta2-openssl-suffix.patch, NONE, 1.1.2.1 bind-9.3.1rc1-fix_libbind_includedir.patch, NONE, 1.1.2.1 bind-9.3.1rc1-no-libtool-for-PIEs.patch, NONE, 1.1.2.1 bind-9.3.1rc1-sdb.patch, NONE, 1.1.2.1 bind-9.3.1rc1-sdbsrc.patch, NONE, 1.1.2.1 libbind-9.3.1rc1-fix_h_errno.patch, NONE, 1.1.2.1 .cvsignore, 1.16, 1.16.2.1 bind.spec, 1.47, 1.47.2.1 sources, 1.23, 1.23.2.1 Message-ID: <200506012256.j51Muaif016299@cvs.devel.redhat.com> Author: jvdias Update of /cvs/dist/rpms/bind/FC-3 In directory cvs.devel.redhat.com:/tmp/cvs-serv16282 Modified Files: Tag: bind-9_3_1-1_FC3 .cvsignore bind.spec sources Added Files: Tag: bind-9_3_1-1_FC3 bind-9.3.0-handle-send-errors.patch bind-9.3.0-missing-dnssec-tools.patch bind-9.3.1-fix_sdb_ldap.patch bind-9.3.1-redhat_doc.patch bind-9.3.1-reject_resolv_conf_errors.patch bind-9.3.1.dbus.patch bind-9.3.1beta2-openssl-suffix.patch bind-9.3.1rc1-fix_libbind_includedir.patch bind-9.3.1rc1-no-libtool-for-PIEs.patch bind-9.3.1rc1-sdb.patch bind-9.3.1rc1-sdbsrc.patch libbind-9.3.1rc1-fix_h_errno.patch Log Message: BIND 9.3.1 FC-3 Branch bind-9.3.0-handle-send-errors.patch: resolver.c | 12 ++++++++++++ 1 files changed, 12 insertions(+) --- NEW FILE bind-9.3.0-handle-send-errors.patch --- --- bind-9.3.0/lib/dns/resolver.c.handle_send_errors 2004-08-28 02:25:19.000000000 -0400 +++ bind-9.3.0/lib/dns/resolver.c 2004-11-24 18:40:24.024030000 -0500 @@ -792,7 +792,19 @@ resquery_destroy(&query); } } else if (sevent->result != ISC_R_SUCCESS) + { + switch (sevent->result) + {/* handle "fatal" send errors by firing timer sooner: */ + case ISC_R_NETUNREACH: + case ISC_R_HOSTUNREACH: + case ISC_R_CONNREFUSED: + case ISC_R_NOPERM: + case ISC_R_ADDRNOTAVAIL: + isc_interval_set(&(query->fctx->interval), 0, 100); + fctx_startidletimer(query->fctx); + } fctx_cancelquery(&query, NULL, NULL, ISC_FALSE); + } isc_event_free(&event); } bind-9.3.0-missing-dnssec-tools.patch: Makefile.in | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) --- NEW FILE bind-9.3.0-missing-dnssec-tools.patch --- --- bind-9.3.0/bin/dnssec/Makefile.in.missing-dnssec-tools 2004-07-20 03:01:48.000000000 -0400 +++ bind-9.3.0/bin/dnssec/Makefile.in 2004-11-12 10:00:30.283922000 -0500 @@ -39,15 +39,15 @@ LIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@ # Alphabetically -TARGETS = dnssec-keygen at EXEEXT@ dnssec-signzone at EXEEXT@ +TARGETS = dnssec-keygen at EXEEXT@ dnssec-signzone at EXEEXT@ dnssec-makekeyset at EXEEXT@ dnssec-signkey at EXEEXT@ OBJS = dnssectool. at O@ -SRCS = dnssec-keygen.c dnssec-signzone.c dnssectool.c +SRCS = dnssec-keygen.c dnssec-makekeyset.c dnssec-signkey.c dnssec-signzone.c dnssectool.c -MANPAGES = dnssec-keygen.8 dnssec-signzone.8 +MANPAGES = dnssec-keygen.8 dnssec-signzone.8 dnssec-makekeyset.8 dnssec-signkey.8 -HTMLPAGES = dnssec-keygen.html dnssec-signzone.html +HTMLPAGES = dnssec-keygen.html dnssec-signzone.html dnssec-makekeyset.html dnssec-signkey.html MANOBJS = ${MANPAGES} ${HTMLPAGES} @@ -64,6 +64,12 @@ ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ dnssec-signzone. at O@ ${OBJS} ${LIBS} +dnssec-makekeyset at EXEEXT@: dnssec-makekeyset. at O@ ${OBJS} ${DEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ dnssec-makekeyset. at O@ ${OBJS} ${LIBS} + +dnssec-signkey at EXEEXT@: dnssec-signkey. at O@ ${OBJS} ${DEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ dnssec-signkey. at O@ ${OBJS} ${LIBS} + doc man:: ${MANOBJS} docclean manclean maintainer-clean:: bind-9.3.1-fix_sdb_ldap.patch: Makefile.in | 10 + ldap2zone.c | 397 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ zone2ldap.c | 280 ++++++++++++++++++++++++++++++------------ 3 files changed, 604 insertions(+), 83 deletions(-) --- NEW FILE bind-9.3.1-fix_sdb_ldap.patch --- --- /dev/null 2005-05-23 09:50:07.615431208 -0400 +++ bind-9.3.1/bin/sdb_tools/ldap2zone.c 2005-05-23 13:15:01.000000000 -0400 @@ -0,0 +1,397 @@ +/* + * Copyright (C) 2004, 2005 Stig Venaas + * $Id: ldap2zone.c,v 0.1 2005/04/23 21:30:12 venaas Exp $ + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + */ + +#include +#include + +#include + +struct string { + void *data; + size_t len; +}; + +struct assstack_entry { + struct string key; + struct string val; + struct assstack_entry *next; +}; + +struct assstack_entry *assstack_find(struct assstack_entry *stack, struct string *key) { + for (; stack; stack = stack->next) + if (stack->key.len == key->len && !memcmp(stack->key.data, key->data, key->len)) + return stack; + return NULL; +} + +void assstack_push(struct assstack_entry **stack, struct assstack_entry *item) { + item->next = *stack; + *stack = item; +} + +void assstack_insertbottom(struct assstack_entry **stack, struct assstack_entry *item) { + struct assstack_entry *p; + + item->next = NULL; + if (!*stack) { + *stack = item; + return; + } + /* find end, should keep track of end somewhere */ + /* really a queue, not a stack */ + p = *stack; + while (p->next) + p = p->next; + p->next = item; +} + +void printsoa(struct string *soa) { + char *s; + int i; + + s = (char *)soa->data; + i = 0; + while (i < soa->len) { + putchar(s[i]); + if (s[i++] == ' ') + break; + } + while (i < soa->len) { + putchar(s[i]); + if (s[i++] == ' ') + break; + } + printf("(\n\t\t\t\t"); + while (i < soa->len) { + putchar(s[i]); + if (s[i++] == ' ') + break; + } + printf("; Serialnumber\n\t\t\t\t"); + while (i < soa->len) { + if (s[i] == ' ') + break; + putchar(s[i++]); + } + i++; + printf("\t; Refresh\n\t\t\t\t"); + while (i < soa->len) { + if (s[i] == ' ') + break; + putchar(s[i++]); + } + i++; + printf("\t; Retry\n\t\t\t\t"); + while (i < soa->len) { + if (s[i] == ' ') + break; + putchar(s[i++]); + } + i++; + printf("\t; Expire\n\t\t\t\t"); + while (i < soa->len) { + putchar(s[i++]); + } + printf(" )\t; Minimum TTL\n"); +} + +void printrrs(char *defaultttl, struct assstack_entry *item) { + struct assstack_entry *stack; + char *s; + int first; + int i; + char *ttl, *type; + int top; + + s = (char *)item->key.data; + + if (item->key.len == 1 && *s == '@') { + top = 1; + printf("@\t"); + } else { + top = 0; + for (i = 0; i < item->key.len; i++) + putchar(s[i]); + if (item->key.len < 8) + putchar('\t'); + putchar('\t'); + } + + first = 1; + for (stack = (struct assstack_entry *) item->val.data; stack; stack = stack->next) { + ttl = (char *)stack->key.data; + s = strchr(ttl, ' '); + *s++ = '\0'; + type = s; + + if (first) + first = 0; + else + printf("\t\t"); + + if (strcmp(defaultttl, ttl)) + printf("%s", ttl); + putchar('\t'); + + if (top) { + top = 0; + printf("IN\t%s\t", type); + /* Should always be SOA here */ + if (!strcmp(type, "SOA")) { + printsoa(&stack->val); + continue; + } + } else + printf("%s\t", type); + + s = (char *)stack->val.data; + for (i = 0; i < stack->val.len; i++) + putchar(s[i]); + putchar('\n'); + } +} + +void print_zone(char *defaultttl, struct assstack_entry *stack) { + printf("$TTL %s\n", defaultttl); + for (; stack; stack = stack->next) + printrrs(defaultttl, stack); +}; + +void usage(char *name) { + fprintf(stderr, "Usage:%s zone-name LDAP-URL default-ttl [serial]\n", name); + exit(1); +}; + +void err(char *name, char *msg) { + fprintf(stderr, "%s: %s\n", name, msg); + exit(1); +}; + +int putrr(struct assstack_entry **stack, struct berval *name, char *type, char *ttl, struct berval *val) { + struct string key; + struct assstack_entry *rr, *rrdata; + + /* Do nothing if name or value have 0 length */ + if (!name->bv_len || !val->bv_len) + return 0; + + /* see if already have an entry for this name */ + key.len = name->bv_len; + key.data = name->bv_val; + + rr = assstack_find(*stack, &key); + if (!rr) { + /* Not found, create and push new entry */ + rr = (struct assstack_entry *) malloc(sizeof(struct assstack_entry)); + if (!rr) + return -1; + rr->key.len = name->bv_len; + rr->key.data = (void *) malloc(rr->key.len); + if (!rr->key.data) { + free(rr); + return -1; + } + memcpy(rr->key.data, name->bv_val, name->bv_len); + rr->val.len = sizeof(void *); + rr->val.data = NULL; + if (name->bv_len == 1 && *(char *)name->bv_val == '@') + assstack_push(stack, rr); + else + assstack_insertbottom(stack, rr); + } + + rrdata = (struct assstack_entry *) malloc(sizeof(struct assstack_entry)); + if (!rrdata) { + free(rr->key.data); + free(rr); + return -1; + } + rrdata->key.len = strlen(type) + strlen(ttl) + 1; + rrdata->key.data = (void *) malloc(rrdata->key.len); + if (!rrdata->key.data) { + free(rrdata); + free(rr->key.data); + free(rr); + return -1; + } + sprintf((char *)rrdata->key.data, "%s %s", ttl, type); + + rrdata->val.len = val->bv_len; + rrdata->val.data = (void *) malloc(val->bv_len); + if (!rrdata->val.data) { + free(rrdata->key.data); + free(rrdata); + free(rr->key.data); + free(rr); + return -1; + } + memcpy(rrdata->val.data, val->bv_val, val->bv_len); + + if (!strcmp(type, "SOA")) + assstack_push((struct assstack_entry **) &(rr->val.data), rrdata); + else + assstack_insertbottom((struct assstack_entry **) &(rr->val.data), rrdata); + return 0; +} + +int main(int argc, char **argv) { + char *s, *hostporturl, *base = NULL; + char *ttl, *defaultttl; + LDAP *ld; + char *fltr = NULL; + LDAPMessage *res, *e; + char *a, **ttlvals, **soavals, *serial; + struct berval **vals, **names; + char type[64]; + BerElement *ptr; + int i, j, rc, msgid; + struct assstack_entry *zone = NULL; + + if (argc < 4 || argc > 5) + usage(argv[0]); + + hostporturl = argv[2]; + + if (hostporturl != strstr( hostporturl, "ldap")) + err(argv[0], "Not an LDAP URL"); + + s = strchr(hostporturl, ':'); + + if (!s || strlen(s) < 3 || s[1] != '/' || s[2] != '/') + err(argv[0], "Not an LDAP URL"); + + s = strchr(s+3, '/'); + if (s) { + *s++ = '\0'; + base = s; + s = strchr(base, '?'); + if (s) + err(argv[0], "LDAP URL can only contain host, port and base"); + } + + defaultttl = argv[3]; + + rc = ldap_initialize(&ld, hostporturl); + if (rc != LDAP_SUCCESS) + err(argv[0], "ldap_initialize() failed"); + + if (argc == 5) { + /* serial number specified, check if different from one in SOA */ + fltr = (char *)malloc(strlen(argv[1]) + strlen("(&(relativeDomainName=@)(zoneName=))") + 1); + sprintf(fltr, "(&(relativeDomainName=@)(zoneName=%s))", argv[1]); + msgid = ldap_search(ld, base, LDAP_SCOPE_SUBTREE, fltr, NULL, 0); + if (msgid == -1) + err(argv[0], "ldap_search() failed"); + + while ((rc = ldap_result(ld, msgid, 0, NULL, &res)) != LDAP_RES_SEARCH_RESULT ) { + /* not supporting continuation references at present */ + if (rc != LDAP_RES_SEARCH_ENTRY) + err(argv[0], "ldap_result() returned cont.ref? Exiting"); + + /* only one entry per result message */ + e = ldap_first_entry(ld, res); + if (e == NULL) { + ldap_msgfree(res); + err(argv[0], "ldap_first_entry() failed"); + } + + soavals = ldap_get_values(ld, e, "SOARecord"); + if (soavals) + break; + } + + ldap_msgfree(res); + if (!soavals) { + err(argv[0], "No SOA Record found"); + } + + /* We have a SOA, compare serial numbers */ + /* Only checkinf first value, should be only one */ + s = strchr(soavals[0], ' '); + s++; + s = strchr(s, ' '); + s++; + serial = s; + s = strchr(s, ' '); + *s = '\0'; + if (!strcmp(serial, argv[4])) { + ldap_value_free(soavals); + err(argv[0], "serial numbers match"); + } + ldap_value_free(soavals); + } + + if (!fltr) + fltr = (char *)malloc(strlen(argv[1]) + strlen("(zoneName=)") + 1); + if (!fltr) + err(argv[0], "Malloc failed"); + sprintf(fltr, "(zoneName=%s)", argv[1]); + + msgid = ldap_search(ld, base, LDAP_SCOPE_SUBTREE, fltr, NULL, 0); + if (msgid == -1) + err(argv[0], "ldap_search() failed"); + + while ((rc = ldap_result(ld, msgid, 0, NULL, &res)) != LDAP_RES_SEARCH_RESULT ) { + /* not supporting continuation references at present */ + if (rc != LDAP_RES_SEARCH_ENTRY) + err(argv[0], "ldap_result() returned cont.ref? Exiting"); + + /* only one entry per result message */ + e = ldap_first_entry(ld, res); + if (e == NULL) { + ldap_msgfree(res); + err(argv[0], "ldap_first_entry() failed"); + } + + names = ldap_get_values_len(ld, e, "relativeDomainName"); + if (!names) + continue; + + ttlvals = ldap_get_values(ld, e, "dNSTTL"); + ttl = ttlvals ? ttlvals[0] : defaultttl; + + for (a = ldap_first_attribute(ld, e, &ptr); a != NULL; a = ldap_next_attribute(ld, e, ptr)) { + char *s; + + for (s = a; *s; s++) + *s = toupper(*s); + s = strstr(a, "RECORD"); + if ((s == NULL) || (s == a) || (s - a >= (signed int)sizeof(type))) { + ldap_memfree(a); + continue; + } + + strncpy(type, a, s - a); + type[s - a] = '\0'; + vals = ldap_get_values_len(ld, e, a); + if (vals) { + for (i = 0; vals[i]; i++) + for (j = 0; names[j]; j++) + if (putrr(&zone, names[j], type, ttl, vals[i])) + err(argv[0], "malloc failed"); + ldap_value_free_len(vals); + } + ldap_memfree(a); + } + + if (ptr) + ber_free(ptr, 0); + if (ttlvals) + ldap_value_free(ttlvals); + ldap_value_free_len(names); + /* free this result */ + ldap_msgfree(res); + } + + /* free final result */ + ldap_msgfree(res); + + print_zone(defaultttl, zone); + return 0; +} --- bind-9.3.1/bin/sdb_tools/Makefile.in.fix_sdb_ldap 2005-02-17 01:43:28.000000000 -0500 +++ bind-9.3.1/bin/sdb_tools/Makefile.in 2005-05-23 13:15:55.000000000 -0400 @@ -30,11 +30,11 @@ LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} \ ${ISCCFGLIBS} ${ISCCCLIBS} ${ISCLIBS} ${DBDRIVER_LIBS} @LIBS@ -TARGETS = zone2ldap at EXEEXT@ zonetodb at EXEEXT@ +TARGETS = zone2ldap at EXEEXT@ ldap2zone at EXEEXT@ zonetodb at EXEEXT@ -OBJS = zone2ldap.o zonetodb.o +OBJS = zone2ldap.o ldap2zone.o zonetodb.o -SRCS = zone2ldap.c zonetodb.c +SRCS = zone2ldap.c ldap2zone.c zonetodb.c MANPAGES = zone2ldap.1 @@ -54,6 +54,9 @@ zonetodb: zonetodb.o ${DEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ zonetodb.o -lpq ${LIBS} +ldap2zone: ldap2zone.o ${DEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ ldap2zone.o -lldap -llber ${LIBS} + clean distclean manclean maintainer-clean:: rm -f ${TARGETS} ${OBJS} @@ -63,5 +66,6 @@ install:: ${TARGETS} installdirs ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} zone2ldap ${DESTDIR}${sbindir} + ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} ldap2zone ${DESTDIR}${sbindir} ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} zonetodb ${DESTDIR}${sbindir} ${INSTALL_DATA} ${srcdir}/zone2ldap.1 ${DESTDIR}${mandir}/man1/zone2ldap.1 --- bind-9.3.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap 2005-05-23 13:15:01.000000000 -0400 +++ bind-9.3.1/bin/sdb_tools/zone2ldap.c 2005-05-23 13:15:01.000000000 -0400 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -59,6 +60,9 @@ /* usage Info */ void usage (void); +/* Check for existence of (and possibly add) containing dNSZone objects */ +int lookup_dns_zones( ldap_info *ldinfo); + /* Add to the ldap dit */ void add_ldap_values (ldap_info * ldinfo); @@ -75,7 +79,7 @@ int get_attr_list_size (char **tmp); /* Get a DN */ -char *build_dn_from_dc_list (char **dc_list, unsigned int ttl, int flag); +char *build_dn_from_dc_list (char **dc_list, unsigned int ttl, int flag, char *zone); /* Add to RR list */ void add_to_rr_list (char *dn, char *name, char *type, char *data, @@ -97,11 +101,27 @@ init_ldap_conn (); void usage(); -char *argzone, *ldapbase, *binddn, *bindpw = NULL; -const char *ldapsystem = "localhost"; -static const char *objectClasses[] = - { "top", "dNSZone", NULL }; -static const char *topObjectClasses[] = { "top", NULL }; +static char *argzone, *ldapbase, *binddn, *bindpw = NULL; + +/* these are needed to placate gcc4's const-ness const-ernations : */ +static char localhost[] = "localhost"; +static char *ldapsystem=&(localhost[0]); +/* dnszone schema class names: */ +static char topClass [] ="top"; +static char dNSZoneClass[] ="dNSZone"; +static char objectClass [] ="objectClass"; +static char dcObjectClass[]="dcObject"; +/* dnszone schema attribute names: */ +static char relativeDomainName[]="relativeDomainName"; +static char dNSTTL []="dNSTTL"; +static char zoneName []="zoneName"; +static char dc []="dc"; +static char sameZone []="@"; +/* LDAPMod mod_values: */ +static char *objectClasses []= { &(topClass[0]), &(dNSZoneClass[0]), NULL }; +static char *topObjectClasses []= { &(topClass[0]), &(dcObjectClass[0]), &(dNSZoneClass[0]), NULL }; +static char *dn_buffer [64]={NULL}; + LDAP *conn; unsigned int debug = 0; @@ -116,12 +136,12 @@ isc_result_t result; char *basedn; ldap_info *tmp; - LDAPMod *base_attrs[2]; - LDAPMod base; + LDAPMod *base_attrs[5]; + LDAPMod base, dcBase, znBase, rdnBase; isc_buffer_t buff; char *zonefile=0L; char fullbasedn[1024]; - char *ctmp; + char *ctmp, *zn, *dcp[2], *znp[2], *rdn[2]; dns_fixedname_t fixedzone, fixedname; dns_rdataset_t rdataset; char **dc_list; @@ -134,7 +154,7 @@ extern char *optarg; extern int optind, opterr, optopt; int create_base = 0; - int topt; + int topt, dcn, zdn, znlen; if ((int) argc < 2) { @@ -142,7 +162,7 @@ exit (-1); } - while ((topt = getopt ((int) argc, argv, "D:w:b:z:f:h:?dcv")) != -1) + while ((topt = getopt ((int) argc, argv, "D:Ww:b:z:f:h:?dcv")) != -1) { switch (topt) { @@ -161,8 +181,11 @@ case 'w': bindpw = strdup (optarg); break; + case 'W': + bindpw = getpass("Enter LDAP Password: "); + break; case 'b': - ldapbase = strdup (optarg); + ldapbase = strdup (optarg); break; case 'z': argzone = strdup (optarg); @@ -193,14 +216,24 @@ result = isc_mem_create (0, 0, &isc_ctx); isc_result_check (result, "isc_mem_create"); - + + if( isc_ctx == 0L ) + { + printf ("Initialization of memory context failed\n"); + exit(-1); + } + + /* It is required to initialize the hash before dns_db_create in BIND 9 */ + result = isc_hash_create(isc_ctx, NULL, DNS_NAME_MAXWIRE); + isc_result_check (result, "isc_hash_create"); + isc_buffer_init (&buff, argzone, strlen (argzone)); isc_buffer_add (&buff, strlen (argzone)); dns_fixedname_init (&fixedzone); zone = dns_fixedname_name (&fixedzone); result = dns_name_fromtext (zone, &buff, dns_rootname, ISC_FALSE, NULL); isc_result_check (result, "dns_name_fromtext"); - + result = dns_db_create (isc_ctx, "rbt", zone, dns_dbtype_zone, dns_rdataclass_in, 0, NULL, &db); @@ -269,27 +302,62 @@ { if (debug) printf ("Creating base zone DN %s\n", argzone); - + dc_list = hostname_to_dn_list (argzone, argzone, DNS_TOP); - basedn = build_dn_from_dc_list (dc_list, 0, NO_SPEC); - for (ctmp = &basedn[strlen (basedn)]; ctmp >= &basedn[0]; ctmp--) + basedn = build_dn_from_dc_list (dc_list, 0, NO_SPEC, argzone); + if (debug) + printf ("base DN %s\n", basedn); + + for (ctmp = &basedn[strlen (basedn)], dcn=0; ctmp >= &basedn[0]; ctmp--) { - if ((*ctmp == ',') || (ctmp == &basedn[0])) + if ((*ctmp == ',') || (ctmp == &basedn[0])) { + base.mod_op = LDAP_MOD_ADD; - base.mod_type = (char*)"objectClass"; - base.mod_values = (char**)topObjectClasses; + base.mod_type = objectClass; + base.mod_values = topObjectClasses; base_attrs[0] = (void*)&base; - base_attrs[1] = NULL; - + + dcBase.mod_op = LDAP_MOD_ADD; + dcBase.mod_type = dc; + dcp[0]=dc_list[dcn]; + dcp[1]=0L; + dcBase.mod_values=dcp; + base_attrs[1] = (void*)&dcBase; + + znBase.mod_op = LDAP_MOD_ADD; + znBase.mod_type = zoneName; + for( zdn = dcn, znlen = 0; zdn >= 0; zdn-- ) + znlen += strlen(dc_list[zdn])+1; + znp[0] = (char*)malloc(znlen+1); + znp[1] = 0L; + for( zdn = dcn, zn=znp[0]; zdn >= 0; zdn-- ) + zn+=sprintf(zn,"%s%s",dc_list[zdn], + ((zdn > 0) && (*(dc_list[zdn-1])!='.')) ? "." : "" + ); + + znBase.mod_values = znp; + base_attrs[2] = (void*)&znBase; + + rdnBase.mod_op = LDAP_MOD_ADD; + rdnBase.mod_type = relativeDomainName; + rdn[0] = strdup(sameZone); + rdn[1] = 0L; + rdnBase.mod_values = rdn; + base_attrs[3] = (void*)&rdnBase; + + dcn++; + + base.mod_values = topObjectClasses; + base_attrs[4] = NULL; + if (ldapbase) { if (ctmp != &basedn[0]) sprintf (fullbasedn, "%s,%s", ctmp + 1, ldapbase); else - sprintf (fullbasedn, "%s,%s", ctmp, ldapbase); - + sprintf (fullbasedn, "%s,%s", ctmp, ldapbase); } else { @@ -298,8 +366,13 @@ else sprintf (fullbasedn, "%s", ctmp); } + + if( debug ) + printf("Full base dn: %s\n", fullbasedn); + result = ldap_add_s (conn, fullbasedn, base_attrs); ldap_result_check ("intial ldap_add_s", fullbasedn, result); + } } @@ -370,14 +443,14 @@ isc_result_check (result, "dns_rdata_totext"); data[isc_buffer_usedlength (&buff)] = 0; - dc_list = hostname_to_dn_list (name, argzone, DNS_OBJECT); + dc_list = hostname_to_dn_list ((char*)name, argzone, DNS_OBJECT); len = (get_attr_list_size (dc_list) - 2); - dn = build_dn_from_dc_list (dc_list, ttl, WI_SPEC); + dn = build_dn_from_dc_list (dc_list, ttl, WI_SPEC, argzone); if (debug) printf ("Adding %s (%s %s) to run queue list.\n", dn, type, data); - add_to_rr_list (dn, dc_list[len], type, data, ttl, DNS_OBJECT); + add_to_rr_list (dn, dc_list[len], (char*)type, (char*)data, ttl, DNS_OBJECT); } @@ -417,7 +490,8 @@ int attrlist; char ldap_type_buffer[128]; char charttl[64]; - + char *zn; + int znlen; if ((tmp = locate_by_dn (dn)) == NULL) { @@ -452,13 +526,13 @@ } } tmp->attrs[0]->mod_op = LDAP_MOD_ADD; - tmp->attrs[0]->mod_type = (char*)"objectClass"; + tmp->attrs[0]->mod_type = objectClass; if (flags == DNS_OBJECT) - tmp->attrs[0]->mod_values = (char**)objectClasses; + tmp->attrs[0]->mod_values = objectClasses; else { - tmp->attrs[0]->mod_values = (char**)topObjectClasses; + tmp->attrs[0]->mod_values =topObjectClasses; tmp->attrs[1] = NULL; tmp->attrcnt = 2; tmp->next = ldap_info_base; @@ -467,7 +541,7 @@ } tmp->attrs[1]->mod_op = LDAP_MOD_ADD; - tmp->attrs[1]->mod_type = (char*)"relativeDomainName"; + tmp->attrs[1]->mod_type = relativeDomainName; tmp->attrs[1]->mod_values = (char **) calloc (sizeof (char *), 2); if (tmp->attrs[1]->mod_values == (char **)NULL) @@ -489,7 +563,7 @@ tmp->attrs[2]->mod_values[1] = NULL; tmp->attrs[3]->mod_op = LDAP_MOD_ADD; - tmp->attrs[3]->mod_type = (char*)"dNSTTL"; + tmp->attrs[3]->mod_type = dNSTTL; tmp->attrs[3]->mod_values = (char **) calloc (sizeof (char *), 2); if (tmp->attrs[3]->mod_values == (char **)NULL) @@ -499,10 +573,21 @@ tmp->attrs[3]->mod_values[0] = strdup (charttl); tmp->attrs[3]->mod_values[1] = NULL; + znlen=strlen(gbl_zone); + if ( *(gbl_zone + (znlen-1)) == '.' ) + { /* ldapdb MUST search by relative zone name */ + zn = (char*)malloc(znlen); + strncpy(zn,gbl_zone,znlen-1); + *(zn + (znlen-1))='\0'; + }else + { + zn = gbl_zone; + } + tmp->attrs[4]->mod_op = LDAP_MOD_ADD; - tmp->attrs[4]->mod_type = (char*)"zoneName"; + tmp->attrs[4]->mod_type = zoneName; tmp->attrs[4]->mod_values = (char **)calloc(sizeof(char *), 2); - tmp->attrs[4]->mod_values[0] = gbl_zone; + tmp->attrs[4]->mod_values[0] = zn; tmp->attrs[4]->mod_values[1] = NULL; tmp->attrs[5] = NULL; @@ -513,7 +598,7 @@ else { - for (i = 0; tmp->attrs[i] != NULL; i++) + for (i = 0; tmp->attrs[i] != NULL; i++) { sprintf (ldap_type_buffer, "%sRecord", type); if (!strncmp @@ -582,69 +667,105 @@ hostname_to_dn_list (char *hostname, char *zone, unsigned int flags) { char *tmp; - static char *dn_buffer[64]; int i = 0; - char *zname; - char *hnamebuff; - - zname = strdup (hostname); - - if (flags == DNS_OBJECT) - { - - if (strlen (zname) != strlen (zone)) - { - tmp = &zname[strlen (zname) - strlen (zone)]; - *--tmp = '\0'; - hnamebuff = strdup (zname); - zname = ++tmp; - } - else - hnamebuff = (char*)"@"; - } - else - { - zname = zone; - hnamebuff = NULL; - } + char *hname=0L, *last=0L; + int hlen=strlen(hostname), zlen=(strlen(zone)); - for (tmp = strrchr (zname, '.'); tmp != (char *) 0; - tmp = strrchr (zname, '.')) - { - *tmp++ = '\0'; - dn_buffer[i++] = tmp; - } - dn_buffer[i++] = zname; - dn_buffer[i++] = hnamebuff; +/* printf("hostname: %s zone: %s\n",hostname, zone); */ + hname=0L; + if(flags == DNS_OBJECT) + { + if( (zone[ zlen - 1 ] == '.') && (hostname[hlen - 1] != '.') ) + { + hname=(char*)malloc(hlen + 1); + hlen += 1; + sprintf(hname, "%s.", hostname); + hostname = hname; + } + if(strcmp(hostname, zone) == 0) + { + if( hname == 0 ) + hname=strdup(hostname); + last = strdup(sameZone); + }else + { + if( (hlen < zlen) + ||( strcmp( hostname + (hlen - zlen), zone ) != 0) + ) + { + if( hname != 0 ) + free(hname); + hname=(char*)malloc( hlen + zlen + 1); + if( *zone == '.' ) + sprintf(hname, "%s%s", hostname, zone); + else + sprintf(hname,"%s",zone); + }else + { + if( hname == 0 ) + hname = strdup(hostname); + } + last = hname; + } + }else + { /* flags == DNS_TOP */ + hname = strdup(zone); + last = hname; + } + + for (tmp = strrchr (hname, '.'); tmp != (char *) 0; + tmp = strrchr (hname, '.')) + { + if( *( tmp + 1 ) != '\0' ) + { + *tmp = '\0'; + dn_buffer[i++] = ++tmp; + }else + { /* trailing '.' ! */ + dn_buffer[i++] = strdup("."); + *tmp = '\0'; + if( tmp == hname ) + break; + } + } + if( ( last != hname ) && (tmp != hname) ) + dn_buffer[i++] = hname; + dn_buffer[i++] = last; dn_buffer[i] = NULL; - return dn_buffer; } - /* build an sdb compatible LDAP DN from a "dc_list" (char **). * will append dNSTTL information to each RR Record, with the * exception of "@"/SOA. */ char * -build_dn_from_dc_list (char **dc_list, unsigned int ttl, int flag) +build_dn_from_dc_list (char **dc_list, unsigned int ttl, int flag, char *zone) { int size; - int x; + int x, znlen; static char dn[1024]; char tmp[128]; + char zn[DNS_NAME_MAXTEXT+1]; bzero (tmp, sizeof (tmp)); bzero (dn, sizeof (dn)); size = get_attr_list_size (dc_list); + znlen = strlen(zone); + if ( *(zone + (znlen-1)) == '.' ) + { /* ldapdb MUST search by relative zone name */ + memcpy(&(zn[0]),zone,znlen-1); + *(zn + (znlen-1))='\0'; + zone = zn; + } for (x = size - 2; x > 0; x--) { if (flag == WI_SPEC) { if (x == (size - 2) && (strncmp (dc_list[x], "@", 1) == 0) && (ttl)) - sprintf (tmp, "relativeDomainName=%s + dNSTTL=%d,", dc_list[x], ttl); + sprintf (tmp, "zoneName=%s + relativeDomainName=%s,", zone, dc_list[x]); else if (x == (size - 2)) - sprintf(tmp, "relativeDomainName=%s,",dc_list[x]); + sprintf(tmp, "zoneName=%s + relativeDomainName=%s,", zone, dc_list[x]); else sprintf(tmp,"dc=%s,", dc_list[x]); } @@ -670,6 +791,7 @@ init_ldap_conn () { int result; + char ldb_tag[]="LDAP Bind"; conn = ldap_open (ldapsystem, LDAP_PORT); if (conn == NULL) { @@ -679,7 +801,7 @@ } result = ldap_simple_bind_s (conn, binddn, bindpw); - ldap_result_check ("ldap_simple_bind_s", (char*)"LDAP Bind", result); + ldap_result_check ("ldap_simple_bind_s", ldb_tag , result); } /* Like isc_result_check, only for LDAP */ @@ -696,8 +818,6 @@ } } - - /* For running the ldap_info run queue. */ void add_ldap_values (ldap_info * ldinfo) @@ -705,14 +825,14 @@ int result; char dnbuffer[1024]; - if (ldapbase != NULL) sprintf (dnbuffer, "%s,%s", ldinfo->dn, ldapbase); else sprintf (dnbuffer, "%s", ldinfo->dn); result = ldap_add_s (conn, dnbuffer, ldinfo->attrs); - ldap_result_check ("ldap_add_s", dnbuffer, result); + ldap_result_check ("ldap_add_s", dnbuffer, result); + } @@ -723,7 +843,7 @@ usage () { fprintf (stderr, - "zone2ldap -D [BIND DN] -w [BIND PASSWORD] -b [BASE DN] -z [ZONE] -f [ZONE FILE] -h [LDAP HOST]\n" + "zone2ldap -D [BIND DN] [-w BIND PASSWORD | -W:prompt] -b [BASE DN] -z [ZONE] -f [ZONE FILE] -h [LDAP HOST]\n" "\t[-c Create LDAP Base structure][-d Debug Output (lots !)]\n " ); } bind-9.3.1-redhat_doc.patch: named.8 | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 69 insertions(+) --- NEW FILE bind-9.3.1-redhat_doc.patch --- --- bind-9.3.1/bin/named/named.8.redhat_doc 2004-06-03 01:35:47.000000000 -0400 +++ bind-9.3.1/bin/named/named.8 2005-05-17 21:22:25.000000000 -0400 @@ -164,6 +164,75 @@ .TP \fB\fI/var/run/named.pid\fB\fR The default process-id file. +.PP +.SH "NOTES" +.PP +.TP +\fBRed Hat SELinux BIND Security Profile:\fR +.PP +By default, Red Hat ships BIND with the most secure SELinux policy +that will not prevent normal BIND operation and will prevent exploitation +of all known BIND security vulnerabilities . See the selinux(8) man page +for information about SElinux. +.PP +It is not necessary to run named in a chroot environment if the Red Hat +SELinux policy for named is enabled. When enabled, this policy is far +more secure than a chroot environment. Users are recommended to enable +SELinux and remove the bind-chroot package. +.PP +With this extra security comes some restrictions: +.PP +By default, the SELinux policy does not allow named to write any master +zone database files. Only the root user may create files in the $ROOTDIR/var/named +zone database file directory (the options { "directory" } option), where +$ROOTDIR is set in /etc/sysconfig/named. +.PP +The "named" group must be granted read privelege to +these files in order for named to be enabled to read them. +.PP +Any file created in the zone database file directory is automatically assigned +the SELinux file context named_zone_t . +.PP +By default, SELinux prevents any role from modifying named_zone_t files; this +means that files in the zone database directory cannot be modified by dynamic +DNS (DDNS) updates or zone transfers. +.PP +The Red Hat BIND distribution and SELinux policy creates two directories where +named is allowed to create and modify files: $ROOTDIR/var/named/slaves and +$ROOTDIR/var/named/data. By placing files you want named to modify, such as +slave or DDNS updateable zone files and database / statistics dump files in +these directories, named will work normally and no further operator action is +required. Files in these directories are automatically assigned the 'named_cache_t' +file context, which SELinux allows named to write. +.PP +You can enable the named_t domain to write and create named_zone_t files by use +of the SELinux tunable boolean variable "named_write_master_zones", using the +setsebool(8) command or the system-config-security GUI . If you do this, you +must also set the ENABLE_ZONE_WRITE variable in /etc/sysconfig/named to +1 / yes to set the ownership of files in the $ROOTDIR/var/named directory +to named:named in order for named to be allowed to write them. +.PP +\fBRed Hat BIND named_sdb SDB support:\fR +.PP +Red Hat ships the bind-sdb RPM that provides the /usr/sbin/named_sdb program, +which is named compiled with the Simplified Database Backend modules that ISC +provides in the "contrib/sdb" directory. +.PP +The SDB modules for LDAP, PostGreSQL and DirDB are compiled into named_sdb. +.PP +To run named_sdb, set the ENABLE_SDB variable in /etc/sysconfig/named to 1 or "yes", +and then the "service named start" named initscript will run named_sdb instead +of named . +.PP +See the documentation for the various SDB modules in /usr/share/doc/bind-sdb-*/ . +.br +.PP +\fBRed Hat system-config-bind:\fR +.PP +Red Hat provides the system-config-bind GUI to configure named.conf and zone +database files. Run the "system-config-bind" command and access the manual +by selecting the Help menu. +.PP .SH "SEE ALSO" .PP \fIRFC 1033\fR, bind-9.3.1-reject_resolv_conf_errors.patch: dighost.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletion(-) --- NEW FILE bind-9.3.1-reject_resolv_conf_errors.patch --- --- bind-9.3.1/bin/dig/dighost.c.reject_resolv_conf_errors 2004-11-22 18:30:31.000000000 -0500 +++ bind-9.3.1/bin/dig/dighost.c 2005-05-31 14:07:08.000000000 -0400 @@ -944,7 +944,10 @@ if (lwresult != LWRES_R_SUCCESS) fatal("lwres_context_create failed"); - (void)lwres_conf_parse(lwctx, RESOLV_CONF); + lwresult = lwres_conf_parse(lwctx, RESOLV_CONF); + if (lwresult != LWRES_R_SUCCESS) + fatal("parse of %s failed", RESOLV_CONF); + lwconf = lwres_conf_get(lwctx); /* Make the search list */ bind-9.3.1.dbus.patch: bin/named/Makefile.in | 15 bin/named/dbus_mgr.c | 2348 +++++++++++++++++++++++++++++++++ bin/named/dbus_service.c | 1800 +++++++++++++++++++++++++ bin/named/include/named/dbus_mgr.h | 26 bin/named/include/named/dbus_service.h | 336 ++++ bin/named/include/named/globals.h | 2 bin/named/include/named/log.h | 2 bin/named/include/named/server.h | 3 bin/named/include/named/types.h | 2 bin/named/log.c | 2 bin/named/main.c | 8 bin/named/named.8 | 77 + bin/named/server.c | 25 doc/README.DBUS | 249 +++ lib/dns/forward.c | 86 + lib/dns/include/dns/forward.h | 31 lib/dns/include/dns/rbt.h | 11 lib/dns/rbt.c | 41 lib/isc/include/isc/socket.h | 31 lib/isc/unix/socket.c | 118 + 20 files changed, 5197 insertions(+), 16 deletions(-) --- NEW FILE bind-9.3.1.dbus.patch --- --- bind-9.3.1/lib/dns/rbt.c.dbus 2004-10-24 21:36:07.000000000 -0400 +++ bind-9.3.1/lib/dns/rbt.c 2005-05-15 10:04:29.000000000 -0400 @@ -2169,6 +2169,47 @@ dns_rbt_printtree(rbt->root, NULL, 0); } +static void +dns_rbt_traverse_tree(dns_rbtnode_t *root, dns_rbt_traverse_callback_t cb, void *cb_arg1, void *cb_arg2 ) { +/* + * This is used ONLY to traverse the forward table by dbus_mgr at the moment. + * Since the forward table is not likely to be large, this can be recursive. + */ + dns_name_t name; + dns_offsets_t offsets; + char buf[DNS_NAME_MAXWIRE]; + isc_buffer_t buffer; + + if (root != NULL) { + + if (DOWN(root)) + dns_rbt_traverse_tree(DOWN(root), cb, cb_arg1, cb_arg2); + + if( LEFT(root) != NULL ) + dns_rbt_traverse_tree(LEFT(root), cb, cb_arg1, cb_arg2); + + if( RIGHT(root) != NULL ) + dns_rbt_traverse_tree(RIGHT(root), cb, cb_arg1, cb_arg2); + + if( DATA(root) == 0L ) + return; + + dns_name_init(&name, offsets); + isc_buffer_init(&buffer, buf, DNS_NAME_MAXWIRE); + dns_name_setbuffer( &name, &buffer); + dns_rbt_fullnamefromnode(root, &name); + + (*cb)(&name, DATA(root), cb_arg1, cb_arg2); + } +} + +void dns_rbt_traverse( dns_rbt_t *rbt, dns_rbt_traverse_callback_t cb, void *cb_arg1, void *cb_arg2 ) +{ + REQUIRE(VALID_RBT(rbt)); + + dns_rbt_traverse_tree( rbt->root, cb, cb_arg1, cb_arg2 ); +} + /* * Chain Functions */ --- bind-9.3.1/lib/dns/forward.c.dbus 2004-03-06 03:13:38.000000000 -0500 +++ bind-9.3.1/lib/dns/forward.c 2005-05-15 13:18:20.000000000 -0400 @@ -193,3 +193,89 @@ } isc_mem_put(fwdtable->mctx, forwarders, sizeof(dns_forwarders_t)); } + +/*** + *** new D-BUS Dynamic Forwarding Zones functions: + ***/ +isc_result_t +dns_fwdtable_delete(dns_fwdtable_t *fwdtable, dns_name_t *name ) +{ + isc_result_t result; + + REQUIRE(VALID_FWDTABLE(fwdtable)); + + RWLOCK(&fwdtable->rwlock, isc_rwlocktype_write); + + result = dns_rbt_deletename(fwdtable->table, name, ISC_FALSE); + + RWUNLOCK(&fwdtable->rwlock, isc_rwlocktype_write); + + return (result); +} + +isc_result_t +dns_fwdtable_find_closest(dns_fwdtable_t *fwdtable, + dns_name_t *name, + dns_name_t *foundname, + dns_forwarders_t **forwardersp) +{ + isc_result_t result; + + REQUIRE(VALID_FWDTABLE(fwdtable)); + + RWLOCK(&fwdtable->rwlock, isc_rwlocktype_read); + + result = dns_rbt_findname(fwdtable->table, name, 0, foundname, + (void **)forwardersp); + + if(result == DNS_R_PARTIALMATCH) + result = ISC_R_SUCCESS; + + RWUNLOCK(&fwdtable->rwlock, isc_rwlocktype_read); + + return (result); +} + +isc_result_t +dns_fwdtable_find_exact(dns_fwdtable_t *fwdtable, dns_name_t *name, + dns_forwarders_t **forwardersp) +{ + isc_result_t result; + + REQUIRE(VALID_FWDTABLE(fwdtable)); + + REQUIRE(forwardersp != 0L); + + RWLOCK(&fwdtable->rwlock, isc_rwlocktype_read); + + result = dns_rbt_findname(fwdtable->table, name, 0, NULL, + (void **)forwardersp); + + if( result != ISC_R_SUCCESS ) + *forwardersp = 0L; + + RWUNLOCK(&fwdtable->rwlock, isc_rwlocktype_read); + + return (result); +} + +static +void dns_fwdtable_traverse +( + dns_name_t *name, + void *node_data, + void *cbp, + void *cb_arg +) +{ + dns_fwdtable_callback_t cb = (dns_fwdtable_callback_t) cbp; + + (*cb)( name, node_data, cb_arg); +} + +void dns_fwdtable_foreach(dns_fwdtable_t *fwdtable, dns_fwdtable_callback_t cb, void *cb_arg ) +{ + REQUIRE(VALID_FWDTABLE(fwdtable)); + + dns_rbt_traverse( fwdtable->table, dns_fwdtable_traverse, cb, cb_arg ); +} --- bind-9.3.1/lib/dns/include/dns/forward.h.dbus 2004-03-06 03:13:56.000000000 -0500 +++ bind-9.3.1/lib/dns/include/dns/forward.h 2005-05-11 16:16:59.000000000 -0400 @@ -93,6 +93,37 @@ * all memory associated with the forwarding table is freed. */ + +/* These are ONLY used by dbus_mgr : + */ + +isc_result_t +dns_fwdtable_delete( dns_fwdtable_t *fwdtable, dns_name_t *name ); +/* + * Removes an entry from the forwarding table. + */ + +isc_result_t +dns_fwdtable_find_exact(dns_fwdtable_t *fwdtable, dns_name_t *name, + dns_forwarders_t **forwardersp); +/* + * Finds an exact match for "name" in the forwarding table. + */ + +isc_result_t +dns_fwdtable_find_closest(dns_fwdtable_t *fwdtable, dns_name_t *name, dns_name_t *foundname, + dns_forwarders_t **forwardersp); +/* + * Finds the closest match for "*name" in the forwarding table, returning + * the actual name matching in *name if different to *name passed in. + */ + +typedef void (*dns_fwdtable_callback_t)( dns_name_t *, dns_forwarders_t *, void *); +void dns_fwdtable_foreach(dns_fwdtable_t *fwdtable, dns_fwdtable_callback_t cb, void * ); +/* Invoke cb for each member of fwdtable + */ + + ISC_LANG_ENDDECLS #endif /* DNS_FORWARD_H */ --- bind-9.3.1/lib/dns/include/dns/rbt.h.dbus 2004-10-11 01:55:51.000000000 -0400 +++ bind-9.3.1/lib/dns/include/dns/rbt.h 2005-05-11 13:17:02.000000000 -0400 @@ -833,6 +833,17 @@ * Any error result from dns_name_concatenate. */ + +typedef void (*dns_rbt_traverse_callback_t)( dns_name_t *name, + void *node_data, + void *cb_arg1, + void *cb_arg2); + +void dns_rbt_traverse( dns_rbt_t *rbt, dns_rbt_traverse_callback_t cb, void *cb_arg1, void *cb_arg2 ); +/* tree traversal function (only used by D-BUS dynamic forwarding dbus_mgr at + * the moment) + */ + [...5156 lines suppressed...] + +void dbus_svc_dispatch( DBUS_SVC ); + +/* + * Enter message processing loop. + * If "idle_handler" is non-null, it will be called once per iteration of loop. + */ + +const char *dbus_svc_unique_name( DBUS_SVC ); +/* + * Returns connection "unique" (socket) name + */ + +void dbus_svc_quit( DBUS_SVC ); +/* + * Exit message processing loop + */ + +void dbus_svc_shutdown( DBUS_SVC ); +/* + * Close connections and clean up. + * DBUS_SVC pointer is invalid after this. + */ + +uint8_t +dbus_svc_add_path_handler +( DBUS_SVC, char *rootPath, char *ifPrefix, dbus_svc_MessageHandler mh, void *object, uint8_t isPrefix +); +/* + * Registers message handler with D-BUS to handle all messages sent + * to rootPath root Object Path. + * If isPrefix > 1, this path may prefix other handled paths; ie. + * a "Fallback" handler is registered, and when a message is sent + * to a path prefixed by the rootPath, if no sub-path handler has been + * registered with "dbus_svc_add_handler", the message-handler is called + * with "prefix" non-null, and "path" set to the suffix (sub-path); otherwise + * the sub-path handler is called. + * Cannot be used in conjunction with dbus_svc_add_default_handler . + */ + +uint8_t +dbus_svc_add_default_handler +( DBUS_SVC, char *object_path, dbus_svc_MessageHandler mh, void *object +); +/* Registers the single default Fallback handler to handle all messages. + * Cannot be used in conjunction with dbus_svc_add_path_handler / dbus_svc_add_handler. + */ + +uint8_t +dbus_svc_add_handler( DBUS_SVC, char *rootPath, char *objectPath, dbus_svc_MessageHandler mh, void *object ); +/* + * Registers with the 'dbus_svc' module a sub-path handler for objectPath prefixed by + * an existing rootPath registered with dbus_svc_add_path_handler. The registered + * handler will be called with "path" set to the complete path, "prefix" set to the + * prefix portion, "suffix" set to the suffix, "object" set to the this registered + * object pointer, and "prefixObject" set to the object registered for the prefix path. + */ + +uint8_t +dbus_svc_remove_path_handler +( DBUS_SVC, + char *rootPath , + void **objectP +); +/* Removes the root Object Path handler and unregisters it with D-BUS. + * All sub-path handlers for this path are also removed. + * If objectP is non-null, the address of the object stored with dbus_svc_add_path_handler + * will be stored in it. + */ + +uint8_t +dbus_svc_remove_handler +( DBUS_SVC, char *rootPath, char *objectPath, void **objectP ); +/* Removes sub-path handler for objectPath under rootPath + * and returns stored object in *objectP if not null. + */ + +uint8_t +dbus_svc_get_args( DBUS_SVC, dbus_svc_MessageHandle, dbus_svc_DataType, ... ); +/* get arguments from message */ + +uint8_t +dbus_svc_get_args_va( DBUS_SVC, dbus_svc_MessageHandle, dbus_svc_DataType, va_list ); +/* get arguments from message */ + +uint8_t +dbus_svc_remove_message_handler +( DBUS_SVC, char *objectPath ); +/* Unregisters the message handler */ + +uint8_t +dbus_svc_add_message_filter +( DBUS_SVC, dbus_svc_MessageHandler mh, void *obj, int n_matches, ... ); +/* + * Registers message handler to FILTER all messages sent to objectPath + * before they are Handled. + * If n_matches is > 0, then the variable argument list can contain n_matches + * "const char*"s that are "match expressions" to pass to dbus_bus_add_match() + */ + +uint8_t +dbus_svc_add_filter +( DBUS_SVC, dbus_svc_MessageHandler mh, void *obj, int n_matches, ... ); +/* + * Registers SINGLE message handler to handle ALL messages, adding match rules + */ + +typedef void (*dbus_svc_ShutdownHandler) ( DBUS_SVC, void * ); +uint8_t +dbus_svc_add_shutdown_filter +( + DBUS_SVC, dbus_svc_ShutdownHandler sh, void *obj +); +/* Registers a filter for D-BUS shutdown event. + * Cannot be used in conjunction with dbus_svc_add_message_filter. + */ + +uint8_t +dbus_svc_remove_message_filter +( DBUS_SVC, dbus_svc_MessageHandler mh); +/* Unregisters the message filter */ + +uint8_t +dbus_svc_send +( DBUS_SVC, + dbus_svc_MessageType type, + int32_t reply_serial, + uint32_t *new_serial, + const char *destination, + const char *path, + const char *member, + const char *interface, + dbus_svc_DataType firstType, + ... /* pointer, { (dbus_svc_DataType, pointer )...} */ +); /* sends messages / replies to "destination" */ + +uint8_t +dbus_svc_send_va +( DBUS_SVC cs, + dbus_svc_MessageType type, + int32_t reply_serial, + uint32_t *new_serial, + const char *destination, + const char *path, + const char *member, + const char *interface, + dbus_svc_DataType firstType, + va_list va +); /* sends messages / replies to "destination" */ + +dbus_svc_MessageHandle +dbus_svc_call +( DBUS_SVC cs, + const char *destination, + const char *path, + const char *member, + const char *interface, + dbus_svc_DataType firstType, + ... +); /* constructs message, sends it, returns reply */ + +dbus_svc_MessageHandle +dbus_svc_new_message +( DBUS_SVC cs, + dbus_svc_MessageType type, + int32_t reply_serial, + const char *destination, + const char *path, + const char *interface, + const char *member +); + +uint8_t +dbus_svc_send_message(DBUS_SVC , dbus_svc_MessageHandle , uint32_t * ); + +uint8_t +dbus_svc_message_append_args( DBUS_SVC , dbus_svc_MessageHandle, dbus_svc_DataType, ...); + +typedef struct DBusMessageIter *dbus_svc_MessageIterator; + +dbus_svc_MessageIterator +dbus_svc_message_iterator_new( DBUS_SVC, dbus_svc_MessageHandle ); + +uint32_t +dbus_svc_message_next_arg_type( DBUS_SVC, dbus_svc_MessageIterator ); + +void +dbus_svc_message_next_arg( DBUS_SVC, dbus_svc_MessageIterator, void * ); + +uint32_t +dbus_svc_message_element_type( DBUS_SVC, dbus_svc_MessageIterator ); + +void +dbus_svc_message_get_elements( DBUS_SVC, dbus_svc_MessageIterator, uint32_t *n, void *array ); + +uint8_t dbus_svc_message_type( dbus_svc_MessageHandle ); + +void dbus_svc_message_iterator_free( DBUS_SVC, dbus_svc_MessageIterator ); + +#endif bind-9.3.1beta2-openssl-suffix.patch: configure.in | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) --- NEW FILE bind-9.3.1beta2-openssl-suffix.patch --- --- bind-9.3.1beta2/configure.in.openssl_suffix 2004-12-08 23:07:10.000000000 -0500 +++ bind-9.3.1beta2/configure.in 2005-01-27 17:03:49.394814000 -0500 @@ -374,6 +374,10 @@ fi done fi +OSSUFFIX= +if test "$host_cpu" = "x86_64"; then + OSSUFFIX=64 +fi; case "$use_openssl" in no) AC_MSG_RESULT(no) @@ -416,11 +420,11 @@ DNS_OPENSSL_LIBS="-L$use_openssl/lib -R$use_openssl/lib -lcrypto" ;; *) - DNS_OPENSSL_LIBS="-L$use_openssl/lib -lcrypto" + DNS_OPENSSL_LIBS="-L$use_openssl/lib${OSUFFIX} -lcrypto" ;; esac fi - AC_MSG_RESULT(using openssl from $use_openssl/lib and $use_openssl/include) + AC_MSG_RESULT(using openssl from $use_openssl/lib${OSSUFFIX} and $use_openssl/include) saved_cflags="$CFLAGS" saved_libs="$LIBS" bind-9.3.1rc1-fix_libbind_includedir.patch: rules.in | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE bind-9.3.1rc1-fix_libbind_includedir.patch --- --- bind-9.3.1rc1/lib/bind/make/rules.in.fix_libbind_includedir 2004-10-19 20:14:47.000000000 -0400 +++ bind-9.3.1rc1/lib/bind/make/rules.in 2005-02-18 12:31:24.000000000 -0500 @@ -29,7 +29,7 @@ exec_prefix = @exec_prefix@ bindir = @bindir@ sbindir = @sbindir@ -includedir = @includedir@ +includedir = @includedir@/bind libdir = @libdir@ sysconfdir = @sysconfdir@ localstatedir = @localstatedir@ bind-9.3.1rc1-no-libtool-for-PIEs.patch: bin/check/Makefile.in | 20 ++++++++++++++------ bin/dig/Makefile.in | 22 +++++++++++++++------- bin/dnssec/Makefile.in | 28 ++++++++++++++++++---------- bin/named/Makefile.in | 29 +++++++++++++++++------------ bin/named/unix/Makefile.in | 3 ++- bin/nsupdate/Makefile.in | 14 +++++++++++--- bin/rndc/Makefile.in | 22 +++++++++++++++------- bin/rndc/unix/Makefile.in | 8 +++++++- make/rules.in | 3 +++ 9 files changed, 102 insertions(+), 47 deletions(-) --- NEW FILE bind-9.3.1rc1-no-libtool-for-PIEs.patch --- --- bind-9.3.1rc1/make/rules.in.no-libtool-for-PIEs 2004-07-20 03:02:00.000000000 -0400 +++ bind-9.3.1rc1/make/rules.in 2005-02-18 18:53:31.000000000 -0500 @@ -119,6 +119,9 @@ .c. at O@: ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} -c $< +.c.o: + ${CC} ${ALL_CFLAGS} -c $< + SHELL = @SHELL@ LIBTOOL = @LIBTOOL@ LIBTOOL_MODE_COMPILE = ${LIBTOOL} @LIBTOOL_MODE_COMPILE@ --- bind-9.3.1rc1/bin/dnssec/Makefile.in.no-libtool-for-PIEs 2005-02-18 18:53:31.000000000 -0500 +++ bind-9.3.1rc1/bin/dnssec/Makefile.in 2005-02-18 18:53:31.000000000 -0500 @@ -41,7 +41,7 @@ # Alphabetically TARGETS = dnssec-keygen at EXEEXT@ dnssec-signzone at EXEEXT@ dnssec-makekeyset at EXEEXT@ dnssec-signkey at EXEEXT@ -OBJS = dnssectool. at O@ +OBJS = dnssectool.o SRCS = dnssec-keygen.c dnssec-makekeyset.c dnssec-signkey.c dnssec-signzone.c dnssectool.c @@ -51,24 +51,32 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES} +EXT_CFLAGS = -fPIE + @BIND9_MAKE_RULES@ -dnssec-keygen at EXEEXT@: dnssec-keygen. at O@ ${OBJS} ${DEPLIBS} +LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack + +LIBTOOL_MODE_COMPILE= + +.SUFFIXES: .c .o + +dnssec-keygen at EXEEXT@: dnssec-keygen.o ${OBJS} ${DEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ - dnssec-keygen. at O@ ${OBJS} ${LIBS} + dnssec-keygen.o ${OBJS} ${LIBS} -dnssec-signzone. at O@: dnssec-signzone.c +dnssec-signzone.o: dnssec-signzone.c ${LIBTOOL_MODE_COMPILE} ${PURIFY} ${CC} ${ALL_CFLAGS} -c $< -dnssec-signzone at EXEEXT@: dnssec-signzone. at O@ ${OBJS} ${DEPLIBS} +dnssec-signzone at EXEEXT@: dnssec-signzone.o ${OBJS} ${DEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ - dnssec-signzone. at O@ ${OBJS} ${LIBS} + dnssec-signzone.o ${OBJS} ${LIBS} -dnssec-makekeyset at EXEEXT@: dnssec-makekeyset. at O@ ${OBJS} ${DEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ dnssec-makekeyset. at O@ ${OBJS} ${LIBS} +dnssec-makekeyset at EXEEXT@: dnssec-makekeyset.o ${OBJS} ${DEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ dnssec-makekeyset.o ${OBJS} ${LIBS} -dnssec-signkey at EXEEXT@: dnssec-signkey. at O@ ${OBJS} ${DEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ dnssec-signkey. at O@ ${OBJS} ${LIBS} +dnssec-signkey at EXEEXT@: dnssec-signkey.o ${OBJS} ${DEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ dnssec-signkey.o ${OBJS} ${LIBS} doc man:: ${MANOBJS} --- bind-9.3.1rc1/bin/named/Makefile.in.no-libtool-for-PIEs 2005-02-18 18:53:31.000000000 -0500 +++ bind-9.3.1rc1/bin/named/Makefile.in 2005-02-18 18:53:31.000000000 -0500 @@ -63,17 +63,17 @@ TARGETS = named at EXEEXT@ lwresd at EXEEXT@ -OBJS = aclconf. at O@ builtin. at O@ client. at O@ config. at O@ control. at O@ \ - controlconf. at O@ interfacemgr. at O@ \ - listenlist. at O@ log. at O@ logconf. at O@ main. at O@ notify. at O@ \ - query. at O@ server. at O@ sortlist. at O@ \ - tkeyconf. at O@ tsigconf. at O@ update. at O@ xfrout. at O@ \ - zoneconf. at O@ \ - lwaddr. at O@ lwresd. at O@ lwdclient. at O@ lwderror. at O@ lwdgabn. at O@ \ - lwdgnba. at O@ lwdgrbn. at O@ lwdnoop. at O@ lwsearch. at O@ \ +OBJS = aclconf.o builtin.o client.o config.o control.o \ + controlconf.o interfacemgr.o \ + listenlist.o log.o logconf.o main.o notify.o \ + query.o server.o sortlist.o \ + tkeyconf.o tsigconf.o update.o xfrout.o \ + zoneconf.o \ + lwaddr.o lwresd.o lwdclient.o lwderror.o lwdgabn.o \ + lwdgnba.o lwdgrbn.o lwdnoop.o lwsearch.o \ $(DBDRIVER_OBJS) -UOBJS = unix/os. at O@ +UOBJS = unix/os.o SRCS = aclconf.c builtin.c client.c config.c control.c \ controlconf.c interfacemgr.c \ @@ -95,15 +95,20 @@ @BIND9_MAKE_RULES@ -LDFLAGS += -pie +LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack -main. at O@: main.c +LIBTOOL_MODE_COMPILE= + +.SUFFIXES: .c .o +# We aren't building a shared library here! + +main.o: main.c ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ -DVERSION=\"${VERSION}\" \ -DNS_LOCALSTATEDIR=\"${localstatedir}\" \ -DNS_SYSCONFDIR=\"${sysconfdir}\" -c ${srcdir}/main.c -config. at O@: config.c +config.o: config.c ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ -DVERSION=\"${VERSION}\" \ -DNS_LOCALSTATEDIR=\"${localstatedir}\" \ --- bind-9.3.1rc1/bin/named/unix/Makefile.in.no-libtool-for-PIEs 2005-02-18 18:53:31.000000000 -0500 +++ bind-9.3.1rc1/bin/named/unix/Makefile.in 2005-02-18 18:53:31.000000000 -0500 @@ -27,7 +27,7 @@ CDEFINES = CWARNINGS = -OBJS = os. at O@ +OBJS = os.o SRCS = os.c @@ -36,3 +36,4 @@ EXT_CFLAGS = -fPIE @BIND9_MAKE_RULES@ +.SUFFIXES: .c .o --- bind-9.3.1rc1/bin/check/Makefile.in.no-libtool-for-PIEs 2004-07-20 03:01:48.000000000 -0400 +++ bind-9.3.1rc1/bin/check/Makefile.in 2005-02-18 18:53:31.000000000 -0500 @@ -55,27 +55,35 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES} +EXT_CFLAGS = -fPIE + @BIND9_MAKE_RULES@ -named-checkconf. at O@: named-checkconf.c +LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack + +LIBTOOL_MODE_COMPILE= + +.SUFFIXES: .c .o + +named-checkconf.o: named-checkconf.c ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ -DVERSION=\"${VERSION}\" \ -c ${srcdir}/named-checkconf.c -named-checkzone. at O@: named-checkzone.c +named-checkzone.o: named-checkzone.c ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ -DVERSION=\"${VERSION}\" \ -c ${srcdir}/named-checkzone.c -named-checkconf at EXEEXT@: named-checkconf. at O@ check-tool. at O@ ${ISCDEPLIBS} \ +named-checkconf at EXEEXT@: named-checkconf.o check-tool.o ${ISCDEPLIBS} \ ${ISCCFGDEPLIBS} ${BIND9DEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ - named-checkconf. at O@ check-tool. at O@ ${BIND9LIBS} ${ISCCFGLIBS} \ + named-checkconf.o check-tool.o ${BIND9LIBS} ${ISCCFGLIBS} \ ${DNSLIBS} ${ISCLIBS} ${LIBS} -named-checkzone at EXEEXT@: named-checkzone. at O@ check-tool. at O@ ${ISCDEPLIBS} ${DNSDEPLIBS} +named-checkzone at EXEEXT@: named-checkzone.o check-tool.o ${ISCDEPLIBS} ${DNSDEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ - named-checkzone. at O@ check-tool. at O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} + named-checkzone.o check-tool.o ${DNSLIBS} ${ISCLIBS} ${LIBS} doc man:: ${MANOBJS} --- bind-9.3.1rc1/bin/nsupdate/Makefile.in.no-libtool-for-PIEs 2004-07-20 03:01:49.000000000 -0400 +++ bind-9.3.1rc1/bin/nsupdate/Makefile.in 2005-02-18 18:53:31.000000000 -0500 @@ -49,7 +49,7 @@ TARGETS = nsupdate at EXEEXT@ -OBJS = nsupdate. at O@ +OBJS = nsupdate.o UOBJS = @@ -61,10 +61,18 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES} +EXT_CFLAGS = -fPIE + @BIND9_MAKE_RULES@ -nsupdate at EXEEXT@: nsupdate. at O@ ${UOBJS} ${DEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ nsupdate. at O@ ${UOBJS} ${LIBS} +LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack + +LIBTOOL_MODE_COMPILE= + +.SUFFIXES: .c .o + +nsupdate at EXEEXT@: nsupdate.o ${UOBJS} ${DEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ nsupdate.o ${UOBJS} ${LIBS} doc man:: ${MANOBJS} --- bind-9.3.1rc1/bin/rndc/Makefile.in.no-libtool-for-PIEs 2004-07-20 03:01:50.000000000 -0400 +++ bind-9.3.1rc1/bin/rndc/Makefile.in 2005-02-18 18:53:31.000000000 -0500 @@ -57,28 +57,36 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES} -UOBJS = unix/os. at O@ +UOBJS = unix/os.o + +EXT_CFLAGS = -fPIE @BIND9_MAKE_RULES@ -rndc. at O@: rndc.c +LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack + +LIBTOOL_MODE_COMPILE= + +.SUFFIXES: .c .o + +rndc.o: rndc.c ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ -DVERSION=\"${VERSION}\" \ -DRNDC_CONFFILE=\"${sysconfdir}/rndc.conf\" \ -DRNDC_KEYFILE=\"${sysconfdir}/rndc.key\" \ -c ${srcdir}/rndc.c -rndc-confgen. at O@: rndc-confgen.c +rndc-confgen.o: rndc-confgen.c ${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \ -DRNDC_KEYFILE=\"${sysconfdir}/rndc.key\" \ -c ${srcdir}/rndc-confgen.c -rndc at EXEEXT@: rndc. at O@ util. at O@ ${RNDCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ rndc. at O@ util. at O@ \ +rndc at EXEEXT@: rndc.o util.o ${RNDCDEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ rndc.o util.o \ ${RNDCLIBS} -rndc-confgen at EXEEXT@: rndc-confgen. at O@ util. at O@ ${UOBJS} ${CONFDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ rndc-confgen. at O@ util. at O@ \ +rndc-confgen at EXEEXT@: rndc-confgen.o util.o ${UOBJS} ${CONFDEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ rndc-confgen.o util.o \ ${UOBJS} ${CONFLIBS} doc man:: ${MANOBJS} --- bind-9.3.1rc1/bin/rndc/unix/Makefile.in.no-libtool-for-PIEs 2004-03-07 23:04:24.000000000 -0500 +++ bind-9.3.1rc1/bin/rndc/unix/Makefile.in 2005-02-18 19:25:32.000000000 -0500 @@ -27,10 +27,16 @@ CDEFINES = CWARNINGS = -OBJS = os. at O@ +OBJS = os.o SRCS = os.c TARGETS = ${OBJS} +EXT_CFLAGS= -fPIE + @BIND9_MAKE_RULES@ + +LIBTOOL_MODE_COMPILE= +.SUFFIXES: .c .o + --- bind-9.3.1rc1/bin/dig/Makefile.in.no-libtool-for-PIEs 2004-08-18 19:25:57.000000000 -0400 +++ bind-9.3.1rc1/bin/dig/Makefile.in 2005-02-18 18:53:31.000000000 -0500 @@ -51,7 +51,7 @@ TARGETS = dig at EXEEXT@ host at EXEEXT@ nslookup at EXEEXT@ -OBJS = dig. at O@ dighost. at O@ host. at O@ nslookup. at O@ +OBJS = dig.o dighost.o host.o nslookup.o UOBJS = @@ -63,19 +63,27 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES} +EXT_CFLAGS = -fPIE + @BIND9_MAKE_RULES@ -dig at EXEEXT@: dig. at O@ dighost. at O@ ${UOBJS} ${DEPLIBS} +LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack + +LIBTOOL_MODE_COMPILE= + +.SUFFIXES: .c .o + +dig at EXEEXT@: dig.o dighost.o ${UOBJS} ${DEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ - dig. at O@ dighost. at O@ ${UOBJS} ${LIBS} + dig.o dighost.o ${UOBJS} ${LIBS} -host at EXEEXT@: host. at O@ dighost. at O@ ${UOBJS} ${DEPLIBS} +host at EXEEXT@: host.o dighost.o ${UOBJS} ${DEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ - host. at O@ dighost. at O@ ${UOBJS} ${LIBS} + host.o dighost.o ${UOBJS} ${LIBS} -nslookup at EXEEXT@: nslookup. at O@ dighost. at O@ ${UOBJS} ${DEPLIBS} +nslookup at EXEEXT@: nslookup.o dighost.o ${UOBJS} ${DEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ - nslookup. at O@ dighost. at O@ ${UOBJS} ${LIBS} + nslookup.o dighost.o ${UOBJS} ${LIBS} doc man:: ${MANOBJS} bind-9.3.1rc1-sdb.patch: bin/Makefile.in | 2 - bin/named_sdb/Makefile.in | 25 ++++++------------- bin/named_sdb/main.c | 59 +++++++++++++++++++++++++++++++++++++++++++++- configure.in | 3 ++ 4 files changed, 70 insertions(+), 19 deletions(-) --- NEW FILE bind-9.3.1rc1-sdb.patch --- --- bind-9.3.1rc1/configure.in.sdb 2005-02-16 22:25:08.000000000 -0500 +++ bind-9.3.1rc1/configure.in 2005-02-16 22:25:08.000000000 -0500 @@ -2194,6 +2194,8 @@ bin/check/Makefile bin/named/Makefile bin/named/unix/Makefile + bin/named_sdb/Makefile + bin/named_sdb/unix/Makefile bin/rndc/Makefile bin/rndc/unix/Makefile bin/dig/Makefile @@ -2215,6 +2217,7 @@ bin/tests/system/tkey/Makefile bin/tests/headerdep_test.sh bin/dnssec/Makefile + bin/sdb_tools/Makefile doc/Makefile doc/arm/Makefile doc/arm/nominum-docbook-html.dsl --- bind-9.3.1rc1/bin/named_sdb/main.c.sdb 2004-10-24 20:42:54.000000000 -0400 +++ bind-9.3.1rc1/bin/named_sdb/main.c 2005-02-16 22:25:08.000000000 -0500 @@ -71,6 +71,9 @@ * Include header files for database drivers here. */ /* #include "xxdb.h" */ +#include "ldapdb.h" +#include "pgsqldb.h" +#include "dirdb.h" static isc_boolean_t want_stats = ISC_FALSE; static char program_name[ISC_DIR_NAMEMAX] = "named"; @@ -656,7 +659,57 @@ * Add calls to register sdb drivers here. */ /* xxdb_init(); */ - + result = ldapdb_init(); + if (result != ISC_R_SUCCESS) + { + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_ERROR, + "SDB ldap module initialisation failed: %s.", + isc_result_totext(result) + ); + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_ERROR, + "SDB ldap zone database will be unavailable." + ); + }else + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_NOTICE, "SDB ldap zone database module loaded." + ); + + result = pgsqldb_init(); + if (result != ISC_R_SUCCESS) + { + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_ERROR, + "SDB pgsql module initialisation failed: %s.", + isc_result_totext(result) + ); + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_ERROR, + "SDB pgsql zone database will be unavailable." + ); + }else + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_NOTICE, "SDB postgreSQL DB zone database module loaded." + ); + + result = dirdb_init(); + if (result != ISC_R_SUCCESS) + { + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_ERROR, + "SDB directory DB module initialisation failed: %s.", + isc_result_totext(result) + ); + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_ERROR, + "SDB directory DB zone database will be unavailable." + ); + }else + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, + ISC_LOG_NOTICE, "SDB directory DB zone database module loaded." + ); + ns_server_create(ns_g_mctx, &ns_g_server); } @@ -673,6 +726,10 @@ */ /* xxdb_clear(); */ + ldapdb_clear(); + pgsqldb_clear(); + dirdb_clear(); + isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN, ISC_LOG_NOTICE, "exiting"); ns_log_shutdown(); --- bind-9.3.1rc1/bin/named_sdb/Makefile.in.sdb 2005-02-16 22:25:08.000000000 -0500 +++ bind-9.3.1rc1/bin/named_sdb/Makefile.in 2005-02-16 22:25:08.000000000 -0500 @@ -26,10 +26,10 @@ # # Add database drivers here. # -DBDRIVER_OBJS = -DBDRIVER_SRCS = +DBDRIVER_OBJS = ldapdb.o pgsqldb.o dirdb.o +DBDRIVER_SRCS = ldapdb.c pgsqldb.c dirdb.c DBDRIVER_INCLUDES = -DBDRIVER_LIBS = +DBDRIVER_LIBS = -lldap -llber -lpq CINCLUDES = -I${srcdir}/include -I${srcdir}/unix/include \ ${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \ @@ -61,7 +61,7 @@ SUBDIRS = unix -TARGETS = named at EXEEXT@ lwresd at EXEEXT@ +TARGETS = named_sdb at EXEEXT@ OBJS = aclconf.o builtin.o client.o config.o control.o \ controlconf.o interfacemgr.o \ @@ -114,14 +114,10 @@ -DNS_LOCALSTATEDIR=\"${localstatedir}\" \ -c ${srcdir}/config.c -named at EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS} +named_sdb at EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ ${OBJS} ${UOBJS} ${LIBS} -lwresd at EXEEXT@: named at EXEEXT@ - rm -f lwresd at EXEEXT@ - @LN@ named at EXEEXT@ lwresd at EXEEXT@ - doc man:: ${MANOBJS} docclean manclean maintainer-clean:: @@ -132,13 +128,8 @@ installdirs: $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir} - $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man5 - $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8 -install:: named at EXEEXT@ lwresd at EXEEXT@ installdirs - ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named at EXEEXT@ ${DESTDIR}${sbindir} - (cd ${DESTDIR}${sbindir}; rm -f lwresd at EXEEXT@; @LN@ named at EXEEXT@ lwresd at EXEEXT@) - ${INSTALL_DATA} ${srcdir}/named.8 ${DESTDIR}${mandir}/man8 - ${INSTALL_DATA} ${srcdir}/lwresd.8 ${DESTDIR}${mandir}/man8 - ${INSTALL_DATA} ${srcdir}/named.conf.5 ${DESTDIR}${mandir}/man5 +install:: named_sdb at EXEEXT@ installdirs + ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named_sdb at EXEEXT@ ${DESTDIR}${sbindir} + --- bind-9.3.1rc1/bin/Makefile.in.sdb 2004-03-06 05:21:10.000000000 -0500 +++ bind-9.3.1rc1/bin/Makefile.in 2005-02-16 22:25:08.000000000 -0500 @@ -19,7 +19,7 @@ VPATH = @srcdir@ top_srcdir = @top_srcdir@ -SUBDIRS = named rndc dig dnssec tests nsupdate check +SUBDIRS = named named_sdb rndc dig dnssec tests nsupdate check sdb_tools TARGETS = @BIND9_MAKE_RULES@ bind-9.3.1rc1-sdbsrc.patch: bdb/bdb.c | 2 - ldap/zone2ldap.c | 59 +++++++++++++++++++++++++++++++------------------------ pgsql/pgsqldb.c | 2 - pgsql/zonetodb.c | 11 ++++++++-- 4 files changed, 45 insertions(+), 29 deletions(-) --- NEW FILE bind-9.3.1rc1-sdbsrc.patch --- --- bind-9.3.1rc1/contrib/sdb/ldap/zone2ldap.c.sdbsrc 2002-07-02 00:45:49.000000000 -0400 +++ bind-9.3.1rc1/contrib/sdb/ldap/zone2ldap.c 2005-02-16 22:25:08.000000000 -0500 @@ -57,16 +57,16 @@ ldap_info; /* usage Info */ -void usage (); +void usage (void); /* Add to the ldap dit */ void add_ldap_values (ldap_info * ldinfo); /* Init an ldap connection */ -void init_ldap_conn (); +void init_ldap_conn (void); /* Ldap error checking */ -void ldap_result_check (char *msg, char *dn, int err); +void ldap_result_check (const char *msg, char *dn, int err); /* Put a hostname into a char ** array */ char **hostname_to_dn_list (char *hostname, char *zone, unsigned int flags); @@ -82,7 +82,7 @@ unsigned int ttl, unsigned int flags); /* Error checking */ -void isc_result_check (isc_result_t res, char *errorstr); +void isc_result_check (isc_result_t res, const char *errorstr); /* Generate LDIF Format files */ void generate_ldap (dns_name_t * dnsname, dns_rdata_t * rdata, @@ -91,11 +91,17 @@ /* head pointer to the list */ ldap_info *ldap_info_base = NULL; +ldap_info * +locate_by_dn (char *dn); +void +init_ldap_conn (); +void usage(); + char *argzone, *ldapbase, *binddn, *bindpw = NULL; -char *ldapsystem = "localhost"; -static char *objectClasses[] = +const char *ldapsystem = "localhost"; +static const char *objectClasses[] = { "top", "dNSZone", NULL }; -static char *topObjectClasses[] = { "top", NULL }; +static const char *topObjectClasses[] = { "top", NULL }; LDAP *conn; unsigned int debug = 0; @@ -104,7 +110,7 @@ #endif int -main (int *argc, char **argv) +main (int argc, char **argv) { isc_mem_t *isc_ctx = NULL; isc_result_t result; @@ -113,7 +119,7 @@ LDAPMod *base_attrs[2]; LDAPMod base; isc_buffer_t buff; - char *zonefile; + char *zonefile=0L; char fullbasedn[1024]; char *ctmp; dns_fixedname_t fixedzone, fixedname; @@ -272,9 +278,9 @@ if ((*ctmp == ',') || (ctmp == &basedn[0])) { base.mod_op = LDAP_MOD_ADD; - base.mod_type = "objectClass"; - base.mod_values = topObjectClasses; - base_attrs[0] = &base; + base.mod_type = (char*)"objectClass"; + base.mod_values = (char**)topObjectClasses; + base_attrs[0] = (void*)&base; base_attrs[1] = NULL; if (ldapbase) @@ -324,7 +330,7 @@ * I should probably rename this function, as not to cause any * confusion with the isc* routines. Will exit on error. */ void -isc_result_check (isc_result_t res, char *errorstr) +isc_result_check (isc_result_t res, const char *errorstr) { if (res != ISC_R_SUCCESS) { @@ -436,7 +442,7 @@ exit (-1); } - for (i = 0; i < flags; i++) + for (i = 0; i < (int)flags; i++) { tmp->attrs[i] = (LDAPMod *) malloc (sizeof (LDAPMod)); if (tmp->attrs[i] == (LDAPMod *) NULL) @@ -446,13 +452,13 @@ } } tmp->attrs[0]->mod_op = LDAP_MOD_ADD; - tmp->attrs[0]->mod_type = "objectClass"; + tmp->attrs[0]->mod_type = (char*)"objectClass"; if (flags == DNS_OBJECT) - tmp->attrs[0]->mod_values = objectClasses; + tmp->attrs[0]->mod_values = (char**)objectClasses; else { - tmp->attrs[0]->mod_values = topObjectClasses; + tmp->attrs[0]->mod_values = (char**)topObjectClasses; tmp->attrs[1] = NULL; tmp->attrcnt = 2; tmp->next = ldap_info_base; @@ -461,7 +467,7 @@ } tmp->attrs[1]->mod_op = LDAP_MOD_ADD; - tmp->attrs[1]->mod_type = "relativeDomainName"; + tmp->attrs[1]->mod_type = (char*)"relativeDomainName"; tmp->attrs[1]->mod_values = (char **) calloc (sizeof (char *), 2); if (tmp->attrs[1]->mod_values == (char **)NULL) @@ -483,7 +489,7 @@ tmp->attrs[2]->mod_values[1] = NULL; tmp->attrs[3]->mod_op = LDAP_MOD_ADD; - tmp->attrs[3]->mod_type = "dNSTTL"; + tmp->attrs[3]->mod_type = (char*)"dNSTTL"; tmp->attrs[3]->mod_values = (char **) calloc (sizeof (char *), 2); if (tmp->attrs[3]->mod_values == (char **)NULL) @@ -494,7 +500,7 @@ tmp->attrs[3]->mod_values[1] = NULL; tmp->attrs[4]->mod_op = LDAP_MOD_ADD; - tmp->attrs[4]->mod_type = "zoneName"; + tmp->attrs[4]->mod_type = (char*)"zoneName"; tmp->attrs[4]->mod_values = (char **)calloc(sizeof(char *), 2); tmp->attrs[4]->mod_values[0] = gbl_zone; tmp->attrs[4]->mod_values[1] = NULL; @@ -594,7 +600,7 @@ zname = ++tmp; } else - hnamebuff = "@"; + hnamebuff = (char*)"@"; } else { @@ -673,12 +679,12 @@ } result = ldap_simple_bind_s (conn, binddn, bindpw); - ldap_result_check ("ldap_simple_bind_s", "LDAP Bind", result); + ldap_result_check ("ldap_simple_bind_s", (char*)"LDAP Bind", result); } /* Like isc_result_check, only for LDAP */ void -ldap_result_check (char *msg, char *dn, int err) +ldap_result_check (const char *msg, char *dn, int err) { if ((err != LDAP_SUCCESS) && (err != LDAP_ALREADY_EXISTS)) { @@ -717,5 +723,8 @@ usage () { fprintf (stderr, - "zone2ldap -D [BIND DN] -w [BIND PASSWORD] -b [BASE DN] -z [ZONE] -f [ZONE FILE] -h [LDAP HOST] - [-c Create LDAP Base structure][-d Debug Output (lots !)] \n ");} + "zone2ldap -D [BIND DN] -w [BIND PASSWORD] -b [BASE DN] -z [ZONE] -f [ZONE FILE] -h [LDAP HOST]\n" + "\t[-c Create LDAP Base structure][-d Debug Output (lots !)]\n " + ); +} + --- bind-9.3.1rc1/contrib/sdb/bdb/bdb.c.sdbsrc 2002-07-02 00:45:34.000000000 -0400 +++ bind-9.3.1rc1/contrib/sdb/bdb/bdb.c 2005-02-16 22:25:08.000000000 -0500 @@ -43,7 +43,7 @@ #include #include -#include +#include "bdb.h" #include #include --- bind-9.3.1rc1/contrib/sdb/pgsql/pgsqldb.c.sdbsrc 2004-03-08 04:04:22.000000000 -0500 +++ bind-9.3.1rc1/contrib/sdb/pgsql/pgsqldb.c 2005-02-16 22:25:08.000000000 -0500 @@ -23,7 +23,7 @@ #include #include -#include +#include #include #include --- bind-9.3.1rc1/contrib/sdb/pgsql/zonetodb.c.sdbsrc 2004-03-08 04:04:22.000000000 -0500 +++ bind-9.3.1rc1/contrib/sdb/pgsql/zonetodb.c 2005-02-16 22:37:53.000000000 -0500 @@ -35,7 +35,7 @@ #include #include -#include +#include /* * Generate a PostgreSQL table from a zone. @@ -52,6 +52,9 @@ char str[10240]; void +closeandexit(int status); + +void closeandexit(int status) { if (conn != NULL) PQfinish(conn); @@ -59,6 +62,9 @@ } void +check_result(isc_result_t result, const char *message); + +void check_result(isc_result_t result, const char *message) { if (result != ISC_R_SUCCESS) { fprintf(stderr, "%s: %s\n", message, @@ -82,7 +88,8 @@ } *dest++ = 0; } - +void +addrdata(dns_name_t *name, dns_ttl_t ttl, dns_rdata_t *rdata); void addrdata(dns_name_t *name, dns_ttl_t ttl, dns_rdata_t *rdata) { unsigned char namearray[DNS_NAME_MAXTEXT + 1]; libbind-9.3.1rc1-fix_h_errno.patch: irs/irs_data.c | 5 ----- resolv/res_query.c | 2 ++ 2 files changed, 2 insertions(+), 5 deletions(-) --- NEW FILE libbind-9.3.1rc1-fix_h_errno.patch --- --- bind-9.3.1rc1/lib/bind/irs/irs_data.c.fix_h_errno 2004-11-29 20:15:43.000000000 -0500 +++ bind-9.3.1rc1/lib/bind/irs/irs_data.c 2005-03-09 21:05:52.000000000 -0500 @@ -222,12 +222,7 @@ void __h_errno_set(struct __res_state *res, int err) { - -#if (__GLIBC__ > 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ >= 3) - res->res_h_errno = err; -#else h_errno = res->res_h_errno = err; -#endif } #endif /*__BIND_NOSTATIC*/ --- bind-9.3.1rc1/lib/bind/resolv/res_query.c.fix_h_errno 2004-03-16 07:34:19.000000000 -0500 +++ bind-9.3.1rc1/lib/bind/resolv/res_query.c 2005-03-09 21:53:34.000000000 -0500 @@ -192,6 +192,8 @@ } return (-1); } + if( n > 0 ) + RES_SET_H_ERRNO(statp,0); return (n); } Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/bind/FC-3/.cvsignore,v retrieving revision 1.16 retrieving revision 1.16.2.1 diff -u -r1.16 -r1.16.2.1 --- .cvsignore 11 Mar 2005 18:44:54 -0000 1.16 +++ .cvsignore 1 Jun 2005 22:56:32 -0000 1.16.2.1 @@ -4,6 +4,7 @@ bind-manpages-2.tar.bz2 bind-manpages.patch.bz2 bind-9.2.4rc8.tar.gz -bind-9.2.5rc1.tar.gz -bind-9.2.5.tar.gz +bind-9.3.0.tar.gz +bind-9.3.1rc1.tar.gz libbind-man.tar.gz +bind-9.3.1.tar.gz Index: bind.spec =================================================================== RCS file: /cvs/dist/rpms/bind/FC-3/bind.spec,v retrieving revision 1.47 retrieving revision 1.47.2.1 diff -u -r1.47 -r1.47.2.1 --- bind.spec 11 Mar 2005 18:44:54 -0000 1.47 +++ bind.spec 1 Jun 2005 22:56:32 -0000 1.47.2.1 @@ -3,12 +3,13 @@ %{?!LIBBIND:%define LIBBIND 1} %{?!efence: %define efence 0} %{?!test: %define test 0} +%{?!WITH_DBUS: %define WITH_DBUS 0} # enable when dhcdbd is in FC # Usage: export RPM='/usr/bin/rpmbuild --define "test 1"'; make $arch; Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server. Name: bind License: BSD-like -Version: 9.2.5 -Release: 1 +Version: 9.3.1 +Release: 1_FC3 Epoch: 24 Url: http://www.isc.org/products/BIND/ Buildroot: %{_tmppath}/%{name}-root @@ -22,24 +23,29 @@ Source4: keygen.c Source5: rfc1912.txt Source6: bind-chroot.tar.gz -Source7: bind-9.2.5rc1-sdb_tools-Makefile.in +Source7: bind-9.3.1rc1-sdb_tools-Makefile.in Source8: dnszone.schema +Source9: libbind-man.tar.gz # http://www.venaas.no/ldap/bind-sdb/dnszone-schema.txt Patch: bind-9.2.0rc3-varrun.patch Patch1: bind-9.2.1-key.patch -Patch2: bind-9.2.5rc1-openssl-suffix.patch +Patch2: bind-9.3.1beta2-openssl-suffix.patch Patch3: bind-posixthreads.patch Patch4: bind-bsdcompat.patch Patch5: bind-nonexec.patch Patch6: bind-9.2.2-nsl.patch Patch7: bind-9.2.4rc7-pie.patch -Patch8: bind-9.2.4-handle_send_errors.patch -Patch9: bind-9.2.5rc1-missing-dnssec-tools.patch -Patch10: bind-9.2.5rc1-no-libtool-for-PIEs.patch -Patch11: bind-9.2.5rc1-sdbsrc.patch -Patch12: bind-9.2.5rc1-sdb.patch -Patch13: bind-9.2.5rc1-fix_libbind_includedir.patch -Patch14: libbind-9.2.5-fix_h_errno.patch +Patch8: bind-9.3.0-handle-send-errors.patch +Patch9: bind-9.3.0-missing-dnssec-tools.patch +Patch10: bind-9.3.1rc1-no-libtool-for-PIEs.patch +Patch11: bind-9.3.1rc1-sdbsrc.patch +Patch12: bind-9.3.1rc1-sdb.patch +Patch13: bind-9.3.1rc1-fix_libbind_includedir.patch +Patch14: libbind-9.3.1rc1-fix_h_errno.patch +Patch15: bind-9.3.1.dbus.patch +Patch16: bind-9.3.1-redhat_doc.patch +Patch17: bind-9.3.1-fix_sdb_ldap.patch +Patch18: bind-9.3.1-reject_resolv_conf_errors.patch Requires(pre,preun): shadow-utils Requires(post,preun): chkconfig Requires(post): textutils, fileutils, sed, grep @@ -47,10 +53,18 @@ #Requires: kernel >= 2.4 #Requires: glibc >= 2.3.2-5 %if %{SDB} +%if %{WITH_DBUS} +BuildRequires: openssl-devel gcc dbus-devel glibc-devel >= 2.2.5-26 glibc-kernheaders >= 2.4-7.10 libtool pkgconfig tar openldap-devel postgresql-devel +%else BuildRequires: openssl-devel gcc glibc-devel >= 2.2.5-26 glibc-kernheaders >= 2.4-7.10 libtool pkgconfig tar openldap-devel postgresql-devel +%endif +%else +%if %{WITH_DBUS} +BuildRequires: openssl-devel gcc dbus-devel glibc-devel >= 2.2.5-26 glibc-kernheaders >= 2.4-7.10 libtool pkgconfig tar %else BuildRequires: openssl-devel gcc glibc-devel >= 2.2.5-26 glibc-kernheaders >= 2.4-7.10 libtool pkgconfig tar %endif +%endif %description BIND (Berkeley Internet Name Domain) is an implementation of the DNS @@ -152,7 +166,7 @@ %patch7 -p1 -b .pie #%patch8 -p1 -b .handle_send_errors # This patch is now in ISC bind-9.3.1x -#%patch9 -p1 -b .missing_dnssec_tools +%patch9 -p1 -b .missing_dnssec_tools %patch10 -p1 -b .no-libtool-for-PIEs %if %{SDB} %patch11 -p1 -b .sdbsrc @@ -178,7 +192,15 @@ %patch13 -p1 -b .fix_libbind_includedir %patch14 -p1 -b .fix_h_errno %endif - +%if %{WITH_DBUS} +%patch15 -p1 -b .dbus +%else +%patch16 -p1 -b .redhat_doc +%endif +%if %{SDB} +%patch17 -p1 -b .fix_sdb_ldap +%endif +%patch18 -p1 -b .reject_resolv_conf_errors %build libtoolize --copy --force; aclocal; autoconf cp -f /usr/share/libtool/config.{guess,sub} . @@ -207,6 +229,9 @@ --with-openssl=/usr %endif make +if [ $? -ne 0 ]; then + exit $?; +fi; cp %{SOURCE5} doc/rfc gzip -9 doc/rfc/* @@ -249,6 +274,9 @@ mkdir -p $RPM_BUILD_ROOT/etc/openldap/schema install -c -m 644 %{SOURCE8} $RPM_BUILD_ROOT/etc/openldap/schema/dnszone.schema %endif +%if %{LIBBIND} +gunzip < %{SOURCE9} | (cd $RPM_BUILD_ROOT/usr/share; tar -xpf -) +%endif %if %{test} if [ "`whoami`" = 'root' ]; then set -e @@ -270,6 +298,7 @@ else echo 'test==1 : only root can run the tests (they require an ifconfig).'; fi +:; %endif %pre @@ -298,6 +327,7 @@ chown root:named /etc/rndc.conf /etc/rndc.key /etc/named.conf /sbin/ldconfig fi +:; %preun if [ "$1" = 0 ]; then @@ -306,6 +336,7 @@ /usr/sbin/groupdel named 2>/dev/null || :; /sbin/chkconfig --del named || :; fi +:; %postun if [ "$1" -ge 1 ]; then @@ -321,10 +352,12 @@ /etc/rc.d/init.d/named stop >/dev/null 2>&1 || :; fi; fi; +:; %triggerpostun -- bind < 8.2.2_P5-15 /sbin/chkconfig --add named /sbin/ldconfig +:; %triggerpostun -n bind -- bind <= 22:9.3.0-2 if [ "$1" -gt 0 ]; then @@ -358,6 +391,7 @@ %clean rm -rf ${RPM_BUILD_ROOT} # ${RPM_BUILD_DIR}/%{name}-%{version} +:; %post libs -p /sbin/ldconfig @@ -367,6 +401,9 @@ %defattr(-,root,root) %doc CHANGES COPYRIGHT README %doc doc/arm doc/misc +%if %{WITH_DBUS} +%doc doc/README.DBUS +%endif %config(noreplace) /etc/logrotate.d/named %attr(754,root,root) %config /etc/rc.d/init.d/named %config(noreplace) /etc/sysconfig/named @@ -414,18 +451,20 @@ %files devel %defattr(-,root,root) +%{_libdir}/libbind9.a %{_libdir}/libdns.a %{_libdir}/libisc.a %{_libdir}/libisccc.a %{_libdir}/libisccfg.a %{_libdir}/liblwres.a +%{_includedir}/bind9 %{_includedir}/dns %{_includedir}/dst %{_includedir}/isc %{_includedir}/isccc %{_includedir}/isccfg %{_includedir}/lwres -%{_mandir}/man3/* +%{_mandir}/man3/lwres* %{_bindir}/isc-config.sh %doc doc/draft doc/rfc @@ -435,6 +474,9 @@ %defattr(-,root,root) %{_libdir}/libbind.* %{_includedir}/bind +%{_mandir}/man3/libbind-* +%{_mandir}/man7/libbind-* +%{_mandir}/man5/libbind-* %post libbind-devel -p /sbin/ldconfig @@ -462,16 +504,17 @@ %if %{SDB} %files sdb -%defattr(-,root,root) +%defattr(-,root,named) %{_sbindir}/named_sdb %config /etc/openldap/schema/dnszone.schema %{_sbindir}/zone2ldap +%{_sbindir}/ldap2zone %{_sbindir}/zonetodb %{_mandir}/man1/zone2ldap.1* %doc contrib/sdb/ldap/README.ldap contrib/sdb/ldap/INSTALL.ldap %post sdb -if [ "$1" -eq 1 ]; then +if [ "$1" -ge 1 ]; then # check that dnszone.schema is installed in OpenLDAP's slapd.conf if [ -x /usr/sbin/named_sdb ] && [ -f /etc/openldap/slapd.conf ]; then # include the LDAP dnszone.schema in slapd.conf: @@ -493,9 +536,10 @@ fi; fi; fi; +:; %preun sdb -if [ -x /usr/sbin/named_sdb ] && [ -f /etc/openldap/slapd.conf ]; then +if [ "$1" -eq 0 ] && [ -x /usr/sbin/named_sdb ] && [ -f /etc/openldap/slapd.conf ]; then if /bin/egrep -q '^include.*\dnszone.schema' /etc/openldap/slapd.conf; then tf=`/bin/mktemp /tmp/XXXXXX` /bin/egrep -v '^include.*dnszone\.schema' /etc/openldap/slapd.conf > $tf @@ -505,6 +549,7 @@ [ -x /etc/init.d/ldap ] && /etc/init.d/ldap condrestart >/dev/null 2>&1 || :; fi; fi; +:; %endif # SDB @@ -567,7 +612,7 @@ safe_replace /etc/named.custom "%{prefix}/etc/named.custom" root named 644 '' || :; fi safe_replace /etc/named.conf "%{prefix}/etc/named.conf" root named 644 "$default_ndc" -/usr/bin/find /var/named -type f | /bin/egrep -v /var/named/chroot | while read f; +/usr/bin/find /var/named -xdev -type f | /bin/egrep -v '/var/named/chroot' | while read f; do d=`/usr/bin/dirname $f`; if test '!' -d "%{prefix}$d"; then @@ -590,7 +635,7 @@ %preun chroot if [ "$1" = "0" ]; then - /usr/bin/find /var/named/chroot -type f | while read f; + /usr/bin/find /var/named/chroot -xdev -type f | while read f; do F=`echo $f | sed 's#/var/named/chroot##'`; if /usr/bin/test -L $F && test `/usr/bin/readlink $F` = $f; then @@ -606,6 +651,7 @@ fi /etc/init.d/named condrestart >/dev/null 2>&1 || :; fi +:; %triggerpostun -n bind-chroot -- bind-chroot # Fix mess left by bind-chroot-9.2.2's %preun (bug 131803) @@ -617,22 +663,48 @@ /etc/init.d/named condrestart >/dev/null 2>&1 || :; fi; fi; +:; %changelog -* Fri Mar 11 2005 Jason Vas Dias - 24:9.2.5-1 +* Tue May 31 2005 Jason Vas Dias - 24.9.3.1-6 +- fix bug 157950: dig / host / nslookup should reject invalid resolv.conf + files and not use uninitialized garbage nameserver values + (ISC bug 14841 raised). + +* Mon May 23 2005 Jason Vas Dias - 24:9.3.1-4_FC4 +- Fix SDB LDAP + +* Mon May 16 2005 Jason Vas Dias - 24:9.3.1-4 +- Fix bug 157601: give named.init a configtest function +- Fix bug 156797: named.init should check SELinux booleans.local before booleans +- Fix bug 154335: if no controls in named.conf, stop named with -TERM sig, not rndc +- Fix bug 155848: add NOTES section to named.8 man-page with info on all Red Hat + BIND quirks and SELinux DDNS / slave zone file configuration +- D-BUS patches NOT applied until dhcdbd is in FC + +* Sun May 15 2005 Jason Vas Dias - 24:9.3.1-4_dbus +- Enhancement to allow dynamic forwarder table management and +- DHCP forwarder auto-configuration with D-BUS + +* Thu Apr 14 2005 Jason Vas Dias - 24:9.3.1-2_FC4 +- Rebuild for bind-sdb libpq.so.3 dependency +- fix bug 150981: don't install libbind man-pages if no libbind +- fix bug 151852: mount proc on $ROOTDIR/proc to allow sysconf(...) + to work and correct number of CPUs to be determined + +* Fri Mar 11 2005 Jason Vas Dias - 24:9.3.1-1_FC4 - Upgrade to ISC BIND 9.3.1 (final release) released today. -* Wed Mar 9 2005 Jason Vas Dias - 24:9.2.5-1 +* Wed Mar 9 2005 Jason Vas Dias - 22.9.3.1rc1-5 - fix bug 150288: h_errno not being accessed / set correctly in libbind - add libbind man-pages from bind-8.4.6 -* Tue Mar 1 2005 Nalin Dahyabhai - 24:9.2.5-1 +* Mon Mar 7 2005 Jason Vas Dias - 22:9.3.1rc1-4 +- Rebuild with gcc4 / glibc-2.3.4-14. + +* Tue Mar 1 2005 Nalin Dahyabhai - 22:9.3.1rc1-3 - configure with --with-pic to get PIC libraries -* Thu Feb 24 2005 Jason Vas Dias - 22:9.2.5rc1-1 -- Upgrade to ISC BIND 9.2.5rc1 in FC3 -- fix bug 149572: dup of 147824 / 147073 / 145664 - * Sun Feb 20 2005 Jason Vas Dias - 22:9.3.1rc1-2 - fix bug 149183: don't use getifaddrs() . Index: sources =================================================================== RCS file: /cvs/dist/rpms/bind/FC-3/sources,v retrieving revision 1.23 retrieving revision 1.23.2.1 diff -u -r1.23 -r1.23.2.1 --- sources 11 Mar 2005 18:44:54 -0000 1.23 +++ sources 1 Jun 2005 22:56:32 -0000 1.23.2.1 @@ -1,3 +1,3 @@ 3567c35a24cb83a8a69443a399bbb6c8 bind-chroot.tar.gz 13fef79f99fcefebb51d84b08805de51 libbind-man.tar.gz -35a265fb97a068c066e22306ea32fd1f bind-9.2.5.tar.gz +9ff3204eea27184ea0722f37e43fc95d bind-9.3.1.tar.gz From fedora-cvs-commits at redhat.com Wed Jun 1 23:01:54 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 19:01:54 -0400 Subject: rpms/bind/FC-3 bind-9.3.1rc1-sdb_tools-Makefile.in,NONE,1.1.2.1 Message-ID: <200506012301.j51N1sgw016782@cvs.devel.redhat.com> Author: jvdias Update of /cvs/dist/rpms/bind/FC-3 In directory cvs.devel.redhat.com:/tmp/cvs-serv16767 Added Files: Tag: bind-9_3_1-1_FC3 bind-9.3.1rc1-sdb_tools-Makefile.in Log Message: BIND 9.3.1 FC-3 Branch --- NEW FILE bind-9.3.1rc1-sdb_tools-Makefile.in --- srcdir = @srcdir@ VPATH = @srcdir@ top_srcdir = @top_srcdir@ @BIND9_VERSION@ @BIND9_MAKE_INCLUDES@ CINCLUDES = -I${srcdir}/include -I${srcdir}/unix/include \ ${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \ ${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} ${ISC_INCLUDES} DNSLIBS = ../../lib/dns/libdns. at A@ @DNS_CRYPTO_LIBS@ ISCCFGLIBS = ../../lib/isccfg/libisccfg. at A@ ISCCCLIBS = ../../lib/isccc/libisccc. at A@ ISCLIBS = ../../lib/isc/libisc. at A@ LWRESLIBS = ../../lib/lwres/liblwres. at A@ BIND9LIBS = ../../lib/bind9/libbind9. at A@ DNSDEPLIBS = ../../lib/dns/libdns. at A@ ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg. at A@ ISCCCDEPLIBS = ../../lib/isccc/libisccc. at A@ ISCDEPLIBS = ../../lib/isc/libisc. at A@ LWRESDEPLIBS = ../../lib/lwres/liblwres. at A@ BIND9DEPLIBS = ../../lib/bind9/libbind9. at A@ DEPLIBS = ${LWRESDEPLIBS} ${DNSDEPLIBS} ${BIND9DEPLIBS} \ ${ISCCFGDEPLIBS} ${ISCCCDEPLIBS} ${ISCDEPLIBS} LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} \ ${ISCCFGLIBS} ${ISCCCLIBS} ${ISCLIBS} ${DBDRIVER_LIBS} @LIBS@ TARGETS = zone2ldap at EXEEXT@ zonetodb at EXEEXT@ OBJS = zone2ldap.o zonetodb.o SRCS = zone2ldap.c zonetodb.c MANPAGES = zone2ldap.1 EXT_CFLAGS = -fPIE @BIND9_MAKE_RULES@ LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack LIBTOOL_MODE_COMPILE= .SUFFIXES: .c .o zone2ldap: zone2ldap.o ${DEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ zone2ldap.o -lldap -llber ${LIBS} zonetodb: zonetodb.o ${DEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ zonetodb.o -lpq ${LIBS} clean distclean manclean maintainer-clean:: rm -f ${TARGETS} ${OBJS} installdirs: $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir} $(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man1 install:: ${TARGETS} installdirs ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} zone2ldap ${DESTDIR}${sbindir} ${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} zonetodb ${DESTDIR}${sbindir} ${INSTALL_DATA} ${srcdir}/zone2ldap.1 ${DESTDIR}${mandir}/man1/zone2ldap.1 From fedora-cvs-commits at redhat.com Wed Jun 1 23:04:14 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 19:04:14 -0400 Subject: rpms/kernel/devel patch-2.6.12-rc5-git6.bz2.sign, NONE, 1.1 .cvsignore, 1.152, 1.153 kernel-2.6.spec, 1.1365, 1.1366 sources, 1.134, 1.135 upstream, 1.80, 1.81 linux-2.6.12-cpufreq-update.patch, 1.1, NONE patch-2.6.12-rc5-git5.bz2.sign, 1.1, NONE Message-ID: <200506012304.j51N4Ej6016889@cvs.devel.redhat.com> Author: davej Update of /cvs/dist/rpms/kernel/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv16874 Modified Files: .cvsignore kernel-2.6.spec sources upstream Added Files: patch-2.6.12-rc5-git6.bz2.sign Removed Files: linux-2.6.12-cpufreq-update.patch patch-2.6.12-rc5-git5.bz2.sign Log Message: git6 --- NEW FILE patch-2.6.12-rc5-git6.bz2.sign --- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (GNU/Linux) Comment: See http://www.kernel.org/signature.html for info iD8DBQBCnXt2yGugalF9Dw4RAkaSAJwJ5xVya7RDKjWWtm6gnKqiiqNBowCdGkQT ERUFYTs1hLIiDo32uHzF9NI= =5uXX -----END PGP SIGNATURE----- Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/kernel/devel/.cvsignore,v retrieving revision 1.152 retrieving revision 1.153 diff -u -r1.152 -r1.153 --- .cvsignore 31 May 2005 05:32:12 -0000 1.152 +++ .cvsignore 1 Jun 2005 23:04:11 -0000 1.153 @@ -7,4 +7,4 @@ kernel-2.6.11 linux-2.6.11.tar.bz2 patch-2.6.12-rc5.bz2 -patch-2.6.12-rc5-git5.bz2 +patch-2.6.12-rc5-git6.bz2 Index: kernel-2.6.spec =================================================================== RCS file: /cvs/dist/rpms/kernel/devel/kernel-2.6.spec,v retrieving revision 1.1365 retrieving revision 1.1366 diff -u -r1.1365 -r1.1366 --- kernel-2.6.spec 31 May 2005 05:32:12 -0000 1.1365 +++ kernel-2.6.spec 1 Jun 2005 23:04:11 -0000 1.1366 @@ -221,7 +221,7 @@ # Patches 0 through 100 are meant for core subsystem upgrades # Patch1: patch-2.6.12-rc5.bz2 -Patch2: patch-2.6.12-rc5-git5.bz2 +Patch2: patch-2.6.12-rc5-git6.bz2 # Patches 100 through 500 are meant for architecture patches @@ -352,7 +352,6 @@ Patch1890: linux-2.6.12-firedire-init-breakage.patch Patch1891: linux-2.6.11-firedire-slab-corruptor.patch Patch1910: linux-2.6.12-ns558-nodev-rmmod.patch -Patch1920: linux-2.6.12-cpufreq-update.patch Patch2000: linux-2.6.11-vm-taint.patch Patch2001: linux-2.6.9-vm-oomkiller-debugging.patch @@ -799,8 +798,6 @@ %patch1891 -p1 # Fix oops in ns558 on rmmod %patch1910 -p1 -# Update various CPUFREQ drivers. -%patch1920 -p1 # # VM related fixes. @@ -1261,6 +1258,9 @@ %endif %changelog +* Wed Jun 1 2005 Dave Jones +- 2.6.12-rc5-git6 + * Tue May 31 2005 Dave Jones - 2.6.12-rc5-git5 Index: sources =================================================================== RCS file: /cvs/dist/rpms/kernel/devel/sources,v retrieving revision 1.134 retrieving revision 1.135 diff -u -r1.134 -r1.135 --- sources 31 May 2005 05:32:12 -0000 1.134 +++ sources 1 Jun 2005 23:04:11 -0000 1.135 @@ -1,3 +1,3 @@ f00fd1b5a80f52baf9d1d83acddfa325 linux-2.6.11.tar.bz2 2a1b060a89f350fb263975be0a87d22c patch-2.6.12-rc5.bz2 -a2b6a2f07d7bd7308bc3ffbd6522fab1 patch-2.6.12-rc5-git5.bz2 +191e763aa50aca24a1101684b3b26361 patch-2.6.12-rc5-git6.bz2 Index: upstream =================================================================== RCS file: /cvs/dist/rpms/kernel/devel/upstream,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- upstream 31 May 2005 05:32:12 -0000 1.80 +++ upstream 1 Jun 2005 23:04:11 -0000 1.81 @@ -1,4 +1,4 @@ linux-2.6.11.tar.bz2 patch-2.6.12-rc5.bz2 -patch-2.6.12-rc5-git5.bz2 +patch-2.6.12-rc5-git6.bz2 --- linux-2.6.12-cpufreq-update.patch DELETED --- --- patch-2.6.12-rc5-git5.bz2.sign DELETED --- From fedora-cvs-commits at redhat.com Thu Jun 2 02:48:36 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Wed, 1 Jun 2005 22:48:36 -0400 Subject: rpms/kernel/devel linux-2.6.11-radeon-backlight.patch,1.2,1.3 Message-ID: <200506020248.j522ma5v006565@cvs.devel.redhat.com> Author: pjones Update of /cvs/dist/rpms/kernel/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv6540 Modified Files: linux-2.6.11-radeon-backlight.patch Log Message: Add my brother's T30 linux-2.6.11-radeon-backlight.patch: radeon_base.c | 11 ++ radeon_pm.c | 291 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 301 insertions(+), 1 deletion(-) Index: linux-2.6.11-radeon-backlight.patch =================================================================== RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6.11-radeon-backlight.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- linux-2.6.11-radeon-backlight.patch 20 May 2005 20:06:42 -0000 1.2 +++ linux-2.6.11-radeon-backlight.patch 2 Jun 2005 02:48:32 -0000 1.3 @@ -1,6 +1,6 @@ --- linux-2.6.11-rc4-tank/drivers/video/aty/radeon_pm.c.tppm 2005-02-20 20:09:02.000000000 +0200 +++ linux-2.6.11-rc4-tank/drivers/video/aty/radeon_pm.c 2005-02-20 21:35:27.000000000 +0200 -@@ -25,8 +25,258 @@ +@@ -25,8 +25,266 @@ #include #endif @@ -35,6 +35,14 @@ + }, + }, + { ++ /* Reported by Phillip Jones */ ++ .ident = "IBM ThinkPad T30 (2366-MU9)", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "IBM"), ++ DMI_MATCH(DMI_PRODUCT_NAME, "2366MU9"), ++ }, ++ }, ++ { + /* Reported by Klaus Kurzmann */ + .ident = "IBM ThinkPad T40 (2373-25G)", + .matches = { @@ -259,7 +267,7 @@ static void radeon_pm_disable_dynamic_mode(struct radeonfb_info *rinfo) { u32 tmp; -@@ -852,7 +1102,14 @@ +@@ -852,7 +1109,14 @@ /* because both INPLL and OUTPLL take the same lock, that's why. */ tmp = INPLL( pllMCLK_MISC) | MCLK_MISC__EN_MCLK_TRISTATE_IN_SUSPEND; OUTPLL( pllMCLK_MISC, tmp); @@ -275,7 +283,7 @@ /* AGP PLL control */ if (rinfo->family <= CHIP_FAMILY_RV280) { OUTREG(BUS_CNTL1, INREG(BUS_CNTL1) | BUS_CNTL1__AGPCLK_VALID); -@@ -864,6 +1121,7 @@ +@@ -864,6 +1128,7 @@ OUTREG(BUS_CNTL1, INREG(BUS_CNTL1)); OUTREG(BUS_CNTL1, (INREG(BUS_CNTL1) & ~0x4000) | 0x8000); } @@ -283,7 +291,7 @@ OUTREG(CRTC_OFFSET_CNTL, (INREG(CRTC_OFFSET_CNTL) & ~CRTC_OFFSET_CNTL__CRTC_STEREO_SYNC_OUT_EN)); -@@ -2790,6 +3048,29 @@ +@@ -2790,6 +3055,29 @@ #endif } #endif /* defined(CONFIG_PM) && defined(CONFIG_PPC_OF) */ From fedora-cvs-commits at redhat.com Thu Jun 2 07:37:06 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 2 Jun 2005 03:37:06 -0400 Subject: rpms/openoffice.org/devel workspace.gcc4fwdecl.patch,1.2,1.3 Message-ID: <200506020737.j527b6hg003631@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv3617 Modified Files: workspace.gcc4fwdecl.patch Log Message: . workspace.gcc4fwdecl.patch: bf_forms/source/component/Image.hxx | 0 bf_svx/source/editeng/impedit.hxx | 0 binfilter/bf_forms/source/component/Image.hxx | 2 + binfilter/bf_svx/source/editeng/impedit.hxx | 17 ++++++++++ binfilter/inc/bf_sfx2/bindings.hxx | 5 ++ binfilter/inc/bf_sfx2/frame.hxx | 4 ++ binfilter/inc/bf_sfx2/objface.hxx | 2 + binfilter/inc/bf_sfx2/topfrm.hxx | 4 ++ binfilter/inc/bf_sfx2/unoctitm.hxx | 2 + binfilter/inc/bf_svx/svdedxv.hxx | 2 + binfilter/inc/bf_svx/svdhdl.hxx | 2 + binfilter/inc/bf_svx/svdobj.hxx | 4 ++ binfilter/inc/bf_svx/svdotext.hxx | 2 + binfilter/inc/bf_svx/svdpntv.hxx | 5 ++ binfilter/inc/bf_svx/unoshape.hxx | 4 ++ inc/bf_sfx2/bindings.hxx | 0 inc/bf_sfx2/frame.hxx | 0 inc/bf_sfx2/objface.hxx | 0 inc/bf_sfx2/topfrm.hxx | 0 inc/bf_sfx2/unoctitm.hxx | 0 inc/bf_svx/svdedxv.hxx | 0 inc/bf_svx/svdhdl.hxx | 0 inc/bf_svx/svdobj.hxx | 0 inc/bf_svx/svdotext.hxx | 0 inc/bf_svx/svdpntv.hxx | 0 inc/bf_svx/unoshape.hxx | 0 inc/mapmod.hxx | 0 openoffice.org/automation/source/server/statemnt.hxx | 1 openoffice.org/basctl/source/inc/baside3.hxx | 1 openoffice.org/basctl/source/inc/bastypes.hxx | 1 openoffice.org/basctl/source/inc/dlgedobj.hxx | 1 openoffice.org/comphelper/inc/comphelper/propmultiplex.hxx | 2 + openoffice.org/configmgr/source/api2/confproviderimpl2.hxx | 2 + openoffice.org/configmgr/source/api2/providerimpl.hxx | 1 openoffice.org/connectivity/inc/connectivity/sqliterator.hxx | 2 - openoffice.org/connectivity/source/inc/file/fcomp.hxx | 1 openoffice.org/dbaccess/source/core/dataaccess/ModelImpl.hxx | 3 + openoffice.org/extensions/source/bibliography/framectr.hxx | 1 openoffice.org/extensions/source/bibliography/loadlisteneradapter.hxx | 2 + openoffice.org/forms/source/component/clickableimage.hxx | 1 openoffice.org/padmin/source/padialog.hxx | 1 openoffice.org/psprint/inc/psprint/fontmanager.hxx | 2 + openoffice.org/psprint/inc/psprint/printergfx.hxx | 1 openoffice.org/sc/source/ui/attrdlg/scdlgfact.hxx | 1 openoffice.org/sd/source/ui/inc/animobjs.hxx | 1 openoffice.org/sd/source/ui/inc/navigatr.hxx | 2 + openoffice.org/sd/source/ui/slidesorter/inc/view/SlsLayouter.hxx | 1 openoffice.org/sfx2/inc/bindings.hxx | 1 openoffice.org/sfx2/inc/frame.hxx | 2 + openoffice.org/sfx2/inc/ipclient.hxx | 1 openoffice.org/sfx2/inc/objface.hxx | 1 openoffice.org/sfx2/inc/topfrm.hxx | 2 + openoffice.org/sfx2/inc/unoctitm.hxx | 1 openoffice.org/sfx2/source/doc/sfxbasemodel.cxx | 4 ++ openoffice.org/sfx2/source/inc/splitwin.hxx | 1 openoffice.org/so3/source/inplace/applet2.cxx | 3 + openoffice.org/starmath/inc/symbol.hxx | 2 + openoffice.org/starmath/inc/view.hxx | 1 openoffice.org/stoc/source/inspect/introspection.cxx | 1 openoffice.org/svtools/inc/ctrltool.hxx | 1 openoffice.org/svtools/inc/inettbc.hxx | 2 + openoffice.org/svtools/inc/poolitem.hxx | 2 + openoffice.org/svx/inc/float3d.hxx | 1 openoffice.org/svx/inc/fmgridcl.hxx | 1 openoffice.org/svx/inc/fmpage.hxx | 1 openoffice.org/svx/inc/fmview.hxx | 3 + openoffice.org/svx/inc/graphctl.hxx | 1 openoffice.org/svx/inc/imapdlg.hxx | 1 openoffice.org/svx/inc/srchdlg.hxx | 1 openoffice.org/svx/inc/svdedxv.hxx | 1 openoffice.org/svx/inc/svdfppt.hxx | 1 openoffice.org/svx/inc/svdhdl.hxx | 1 openoffice.org/svx/inc/svdobj.hxx | 1 openoffice.org/svx/inc/svdograf.hxx | 1 openoffice.org/svx/inc/svdotext.hxx | 1 openoffice.org/svx/inc/svdpagv.hxx | 1 openoffice.org/svx/inc/svdpntv.hxx | 2 + openoffice.org/svx/inc/svdvmark.hxx | 1 openoffice.org/svx/inc/unoedsrc.hxx | 1 openoffice.org/svx/inc/unoshape.hxx | 3 - openoffice.org/svx/source/inc/fmpgeimp.hxx | 1 openoffice.org/svx/source/inc/fmvwimp.hxx | 3 + openoffice.org/sw/inc/fchrfmt.hxx | 1 openoffice.org/sw/inc/fmtflcnt.hxx | 1 openoffice.org/sw/inc/fmtfld.hxx | 1 openoffice.org/sw/inc/fmtftn.hxx | 1 openoffice.org/sw/inc/fmtinfmt.hxx | 1 openoffice.org/sw/inc/fmtrfmrk.hxx | 2 + openoffice.org/sw/inc/fmtruby.hxx | 1 openoffice.org/sw/inc/section.hxx | 1 openoffice.org/sw/source/core/access/accfrmobjslist.hxx | 2 + openoffice.org/sw/source/core/inc/doctxm.hxx | 1 openoffice.org/tools/inc/fsys.hxx | 1 openoffice.org/ucb/source/core/ucbstore.hxx | 1 openoffice.org/vcl/inc/alpha.hxx | 1 openoffice.org/vcl/inc/bitmap.hxx | 1 openoffice.org/vcl/inc/outdev.hxx | 1 openoffice.org/xmloff/inc/xmlaustp.hxx | 1 openoffice.org/xmlsecurity/source/helper/xsecctl.hxx | 3 + vcl/inc/mapmod.hxx | 1 100 files changed, 154 insertions(+), 3 deletions(-) Index: workspace.gcc4fwdecl.patch =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/workspace.gcc4fwdecl.patch,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- workspace.gcc4fwdecl.patch 1 Jun 2005 19:21:55 -0000 1.2 +++ workspace.gcc4fwdecl.patch 2 Jun 2005 07:37:02 -0000 1.3 @@ -994,3 +994,37 @@ // WARNING: if you update the supported interfaces, also update the // SvxShape::queryAggregation helper method +Index: inc/bf_sfx2/topfrm.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_sfx2/topfrm.hxx,v +retrieving revision 1.2 +diff -u -r1.2 topfrm.hxx +--- openoffice.org.orig/binfilter/inc/bf_sfx2/topfrm.hxx 6 Nov 2003 08:26:31 -0000 1.2 ++++ openoffice.org/binfilter/inc/bf_sfx2/topfrm.hxx 2 Jun 2005 07:31:27 -0000 +@@ -80,6 +80,10 @@ + + // class SfxTopFrame ----------------------------------------------------- + ++class SfxTopWindow_Impl; ++class SfxTopFrameWindow_Impl; ++class SfxTopFrame_Impl; ++ + class SfxTopFrame : public SfxFrame + { + friend class SfxTopWindow_Impl; +Index: inc/bf_sfx2/unoctitm.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_sfx2/unoctitm.hxx,v +retrieving revision 1.3 +diff -u -r1.3 unoctitm.hxx +--- openoffice.org.orig/binfilter/inc/bf_sfx2/unoctitm.hxx 13 Apr 2005 08:11:49 -0000 1.3 ++++ openoffice.org/binfilter/inc/bf_sfx2/unoctitm.hxx 2 Jun 2005 07:33:15 -0000 +@@ -184,6 +184,8 @@ + { return aListeners; } + }; + ++class SfxDispatchController_Impl; ++ + class SfxOfficeDispatch : public SfxStatusDispatcher + , public ::com::sun::star::lang::XUnoTunnel + { From fedora-cvs-commits at redhat.com Thu Jun 2 10:21:32 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 2 Jun 2005 06:21:32 -0400 Subject: rpms/openoffice.org/devel openoffice.org-1.9.106.ooo44627.sal.brokencondition.patch, NONE, 1.1 openoffice.org-1.9.106.ooo45298.psprint.pspfontcache.patch, NONE, 1.1 workspace-fpicker4.patch, NONE, 1.1 workspace.gcj5.patch, NONE, 1.1 .cvsignore, 1.47, 1.48 openoffice.org-1.9.90.ooo46585.sunmiscisnotstandard.filter.patch, 1.1, 1.2 openoffice.org-1.9.99.gcc19870.gcjaccessproblem.filter.patch, 1.1, 1.2 openoffice.org.spec, 1.202, 1.203 sources, 1.69, 1.70 workspace.gcc4fwdecl.patch, 1.3, 1.4 openoffice.org-1.9.104-gcjawt.patch, 1.1, NONE Message-ID: <200506021021.j52ALWVR006896@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv6876 Modified Files: .cvsignore openoffice.org-1.9.90.ooo46585.sunmiscisnotstandard.filter.patch openoffice.org-1.9.99.gcc19870.gcjaccessproblem.filter.patch openoffice.org.spec sources workspace.gcc4fwdecl.patch Added Files: openoffice.org-1.9.106.ooo44627.sal.brokencondition.patch openoffice.org-1.9.106.ooo45298.psprint.pspfontcache.patch workspace-fpicker4.patch workspace.gcj5.patch Removed Files: openoffice.org-1.9.104-gcjawt.patch Log Message: various openoffice.org-1.9.106.ooo44627.sal.brokencondition.patch: osl/unx/conditn.c | 0 sal/osl/unx/conditn.c | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE openoffice.org-1.9.106.ooo44627.sal.brokencondition.patch --- Index: osl/unx/conditn.c =================================================================== RCS file: /cvs/porting/sal/osl/unx/conditn.c,v retrieving revision 1.4 diff -u -p -r1.4 conditn.c --- openoffice.org.orig/sal/osl/unx/conditn.c 16 Mar 2001 13:14:43 -0000 1.4 +++ openoffice.org/sal/osl/unx/conditn.c 2 Jun 2005 09:49:19 -0000 @@ -278,7 +278,7 @@ oslConditionResult SAL_CALL osl_waitCond return osl_cond_result_error; } - while ( ! pCond->m_State ) + if ( ! pCond->m_State ) { if ( pTimeout ) { openoffice.org-1.9.106.ooo45298.psprint.pspfontcache.patch: fontcache.cxx | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) --- NEW FILE openoffice.org-1.9.106.ooo45298.psprint.pspfontcache.patch --- Index: source/fontmanager/fontcache.cxx =================================================================== RCS file: /cvs/gsl/psprint/source/fontmanager/fontcache.cxx,v retrieving revision 1.12 retrieving revision 1.12.18.1 diff -u -p -r1.12 -r1.12.18.1 --- openoffice.org.orig/psprint/source/fontmanager/fontcache.cxx 31 Jan 2005 08:59:14 -0000 1.12 +++ openoffice.org/psprint/source/fontmanager/fontcache.cxx 22 Apr 2005 08:13:34 -0000 1.12.18.1 @@ -348,7 +348,7 @@ void FontCache::read() else { nDir = rManager.getDirectoryAtom( aDir, true ); - m_aCache[ nDir ].m_nTimestamp = nTimestamp; + m_aCache[ nDir ].m_nTimestamp = (sal_Int64)aStat.st_mtime; m_aCache[ nDir ].m_bNoFiles = bEmpty; pDir = bEmpty ? NULL : &m_aCache[ nDir ].m_aEntries; bKeepOnlyUserOverridden = ((sal_Int64)aStat.st_mtime != nTimestamp); workspace-fpicker4.patch: fpicker/source/unx/gnome/SalGtkFilePicker.cxx | 339 ++++++++------ fpicker/source/unx/gnome/SalGtkFilePicker.hxx | 22 fpicker/source/unx/gnome/SalGtkPicker.cxx | 17 fpicker/source/unx/gnome/SalGtkPicker.hxx | 5 fpicker/source/unx/gnome/makefile.mk | 2 openoffice.org/fpicker//dev/null | 608 -------------------------- 6 files changed, 229 insertions(+), 764 deletions(-) --- NEW FILE workspace-fpicker4.patch --- Index: source/unx/gnome/SalGtkFilePicker.cxx =================================================================== RCS file: /cvs/gsl/fpicker/source/unx/gnome/SalGtkFilePicker.cxx,v retrieving revision 1.6 retrieving revision 1.6.6.3 diff -u -p -u -r1.6 -r1.6.6.3 --- openoffice.org.orig/fpicker/source/unx/gnome/SalGtkFilePicker.cxx 3 May 2005 13:47:32 -0000 1.6 +++ openoffice.org/fpicker/source/unx/gnome/SalGtkFilePicker.cxx 2 Jun 2005 10:08:52 -0000 1.6.6.3 @@ -109,8 +109,6 @@ #include #endif -#include "filepickereventnotification.hxx" - #include #include @@ -168,7 +166,6 @@ SalGtkFilePicker::SalGtkFilePicker( cons lang::XEventListener, lang::XServiceInfo>( m_rbHelperMtx ), m_xServiceMgr( xServiceMgr ), - m_aAsyncEventNotifier( rBHelper ), m_pVBox ( NULL ), m_pFilterList( NULL ), bVersionWidthUnset( false ), @@ -302,16 +299,71 @@ SalGtkFilePicker::SalGtkFilePicker( cons gtk_box_pack_end( GTK_BOX( m_pVBox ), m_pHBoxs[i], FALSE, FALSE, 0 ); } + aLabel = aResProvider.getResString( FILE_PICKER_FILE_TYPE ); + m_pFilterExpander = gtk_expander_new_with_mnemonic( + OUStringToOString( aLabel, RTL_TEXTENCODING_UTF8 ).getStr()); + + gtk_box_pack_end( GTK_BOX( m_pVBox ), m_pFilterExpander, FALSE, TRUE, 0 ); + gtk_widget_show( m_pFilterExpander ); + + GtkWidget *scrolled_window = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window), + GTK_SHADOW_IN); + gtk_container_add (GTK_CONTAINER (m_pFilterExpander), scrolled_window); + gtk_widget_show (scrolled_window); + + m_pFilterStore = gtk_list_store_new (4, G_TYPE_STRING, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_STRING); + m_pFilterView = gtk_tree_view_new_with_model (GTK_TREE_MODEL(m_pFilterStore)); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW(m_pFilterView), false); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW(m_pFilterView), true); + + GtkTreeViewColumn *column; + GtkCellRenderer *cell; + + for (int i = 0; i < 2; ++i) + { + column = gtk_tree_view_column_new (); + cell = gtk_cell_renderer_text_new (); + gtk_tree_view_column_set_expand (column, TRUE); + gtk_tree_view_column_pack_start (column, cell, FALSE); + gtk_tree_view_column_set_attributes (column, cell, "text", i, NULL); + gtk_tree_view_append_column (GTK_TREE_VIEW(m_pFilterView), column); + } + + gtk_container_add (GTK_CONTAINER (scrolled_window), m_pFilterView); + gtk_widget_show (m_pFilterView); + gtk_file_chooser_set_extra_widget( GTK_FILE_CHOOSER( m_pDialog ), m_pVBox ); + m_pPreview = gtk_image_new(); + gtk_file_chooser_set_preview_widget( GTK_FILE_CHOOSER( m_pDialog ), m_pPreview ); + g_signal_connect( G_OBJECT( m_pToggles[PREVIEW] ), "toggled", G_CALLBACK( preview_toggled_cb ), this ); -// g_signal_connect( G_OBJECT( m_pFilterComboBox ), "changed", -// G_CALLBACK( filter_changed_atsave_cb ), this ); + g_signal_connect (gtk_tree_view_get_selection (GTK_TREE_VIEW(m_pFilterView)), "changed", + G_CALLBACK ( type_changed_cb ), this); g_signal_connect( G_OBJECT( m_pDialog ), "notify::filter", G_CALLBACK( filter_changed_cb ), this ); + g_signal_connect( G_OBJECT( m_pFilterExpander ), "activate", + G_CALLBACK( expander_changed_cb ), this ); + gtk_widget_show( m_pVBox ); + + PangoLayout *layout = gtk_widget_create_pango_layout (m_pFilterView, NULL); + guint ypad; + PangoRectangle row_height; + pango_layout_set_markup (layout, "All Files", -1); + pango_layout_get_pixel_extents (layout, NULL, &row_height); + g_object_get (cell, "ypad", &ypad, NULL); + guint height = (row_height.height + 2*ypad) * 5; + gtk_widget_set_size_request (m_pFilterView, -1, height); + + gtk_widget_hide(m_pPreview); + gtk_file_chooser_set_preview_widget_active( GTK_FILE_CHOOSER( m_pDialog ), false ); } //------------------------------------------------------------------------------------ @@ -321,22 +373,15 @@ SalGtkFilePicker::SalGtkFilePicker( cons void SAL_CALL SalGtkFilePicker::addFilePickerListener( const uno::Reference& xListener ) throw( uno::RuntimeException ) { - if( rBHelper.bDisposed ) - throw lang::DisposedException( rtl::OUString::createFromAscii( "object is already disposed" ), - static_cast< XFilePicker* >( this ) ); - - if( !rBHelper.bInDispose && !rBHelper.bDisposed ) - rBHelper.aLC.addInterface( getCppuType( &xListener ), xListener ); + ::vos::OGuard aGuard( Application::GetSolarMutex() ); + m_xListener = xListener; } void SAL_CALL SalGtkFilePicker::removeFilePickerListener( const uno::Reference& xListener ) throw( uno::RuntimeException ) { - if( rBHelper.bDisposed ) - throw lang::DisposedException( rtl::OUString::createFromAscii( "object is already disposed" ), - static_cast< XFilePicker* >( this ) ); - - rBHelper.aLC.removeInterface( getCppuType( &xListener ), xListener ); + ::vos::OGuard aGuard( Application::GetSolarMutex() ); + m_xListener.clear(); } // ------------------------------------------------- @@ -358,31 +403,26 @@ void SAL_CALL SalGtkFilePicker::disposin void SAL_CALL SalGtkFilePicker::fileSelectionChanged( FilePickerEvent aEvent ) { OSL_TRACE( "file selection changed"); - aEvent.Source = uno::Reference( static_cast( this ) ); - m_aAsyncEventNotifier.notifyEvent( - new SalGtkFilePickerParamEventNotification( &XFilePickerListener::fileSelectionChanged, aEvent ) ); + if (m_xListener.is()) m_xListener->fileSelectionChanged( aEvent ); } void SAL_CALL SalGtkFilePicker::directoryChanged( FilePickerEvent aEvent ) { OSL_TRACE("directory changed"); - aEvent.Source = uno::Reference( static_cast( this ) ); - m_aAsyncEventNotifier.notifyEvent( - new SalGtkFilePickerParamEventNotification( &XFilePickerListener::directoryChanged, aEvent ) ); + if (m_xListener.is()) m_xListener->directoryChanged( aEvent ); } void SAL_CALL SalGtkFilePicker::controlStateChanged( FilePickerEvent aEvent ) { - aEvent.Source = uno::Reference( static_cast( this ) ); - m_aAsyncEventNotifier.notifyEvent( - new SalGtkFilePickerParamEventNotification( &XFilePickerListener::controlStateChanged, aEvent ) ); + OSL_TRACE("control state changed"); + if (m_xListener.is()) m_xListener->controlStateChanged( aEvent ); } void SAL_CALL SalGtkFilePicker::dialogSizeChanged() { + OSL_TRACE("dialog size changed"); /* - m_aAsyncEventNotifier.notifyEvent( - new SalGtkFilePickerEventNotification( &XFilePickerListener::dialogSizeChanged ) ); + if (m_xListener.is()) m_xListener->dialogSizeChanged( aEvent ); */ } @@ -432,48 +472,6 @@ rtl::OUString SAL_CALL SalGtkFilePicker: return aHelpText; } -bool SalGtkFilePicker::startupEventNotification( bool bStartupSuspended ) -{ - OSL_TRACE( "attempting to start\n"); - bool bRet = m_aAsyncEventNotifier.startup( bStartupSuspended ); - if (bRet) - { - mHID_FolderChange = - g_signal_connect( GTK_FILE_CHOOSER( m_pDialog ), "current-folder-changed", - G_CALLBACK( folder_changed_cb ), ( gpointer )this ); - - mHID_SelectionChange = - g_signal_connect( GTK_FILE_CHOOSER( m_pDialog ), "selection-changed", - G_CALLBACK( selection_changed_cb ), ( gpointer )this ); - - } - return bRet; -} - -void SalGtkFilePicker::shutdownEventNotification() -{ - OSL_TRACE( "before terminate, risky for some reason\n" ); - m_aAsyncEventNotifier.shutdown(); - if (mHID_FolderChange) - g_signal_handler_disconnect(GTK_FILE_CHOOSER( m_pDialog ), mHID_FolderChange); - if (mHID_SelectionChange) - g_signal_handler_disconnect(GTK_FILE_CHOOSER( m_pDialog ), mHID_SelectionChange); - OSL_TRACE( "after terminate, risky for some reason\n" ); -} - -void SalGtkFilePicker::suspendEventNotification() -{ - OSL_TRACE( "suspend called\n" ); - m_aAsyncEventNotifier.suspend(); -} - -void SalGtkFilePicker::resumeEventNotification() -{ - OSL_TRACE( "resume called\n" ); - m_aAsyncEventNotifier.resume(); -} - - //===================================================================== struct FilterEntry @@ -532,17 +530,19 @@ sal_Int32 FilterEntry::getSubFilters( Un return m_aSubFilters.getLength(); } -static inline bool -isFilterString( const rtl::OUString &rFilterString ) +static bool +isFilterString( const rtl::OUString &rFilterString, char *pMatch ) { sal_Int32 nIndex = 0; rtl::OUString aToken; bool bIsFilter = true; + rtl::OUString aMatch(rtl::OUString::createFromAscii(pMatch)); + do { aToken = rFilterString.getToken( 0, ';', nIndex ); - if( !aToken.match( rtl::OUString::createFromAscii( "*." ) ) ) + if( !aToken.match( aMatch ) ) { bIsFilter = false; break; @@ -554,7 +554,7 @@ isFilterString( const rtl::OUString &rFi } static rtl::OUString -shrinkFilterName( const rtl::OUString &rFilterName ) +shrinkFilterName( const rtl::OUString &rFilterName, bool bAllowNoStar = false ) { int i; int nBracketLen = -1; @@ -566,21 +566,21 @@ shrinkFilterName( const rtl::OUString &r { if( pStr[i] == ')' ) nBracketEnd = i; - else if( pStr[i] == '(' ) { nBracketLen = nBracketEnd - i; - if( nBracketEnd > 0 && - isFilterString( rFilterName.copy( i + 1, nBracketLen - 1 ) ) ) - aRealName = aRealName.replaceAt( i, nBracketLen + 1, rtl::OUString() ); + if( nBracketEnd <= 0 ) + continue; + if( isFilterString( rFilterName.copy( i + 1, nBracketLen - 1 ), "*." ) ) + aRealName = aRealName.replaceAt( i, nBracketLen + 1, rtl::OUString() ); + else if (bAllowNoStar) + { + if( isFilterString( rFilterName.copy( i + 1, nBracketLen - 1 ), ".") ) + aRealName = aRealName.replaceAt( i, nBracketLen + 1, rtl::OUString() ); + } } } -// OSL_TRACE( "BEFORE %s\n", -// OUStringToOString( rFilterName, RTL_TEXTENCODING_UTF8 ).getStr()); -// OSL_TRACE( "AFTER %s\n", -// OUStringToOString( aRealName, RTL_TEXTENCODING_UTF8 ).getStr()); - return aRealName; } @@ -738,6 +738,20 @@ void SAL_CALL SalGtkFilePicker::setCurre // //----------------------------------------------------------------------------------------- +void SalGtkFilePicker::updateCurrentFilterFromName(const gchar* filtername) +{ + OUString aFilterName(filtername, strlen(filtername), RTL_TEXTENCODING_UTF8); + FilterList::iterator aEnd = m_pFilterList->end(); + for (FilterList::iterator aIter = m_pFilterList->begin(); aIter != aEnd; ++aIter) + { + if (aFilterName == shrinkFilterName( aIter->getTitle())) + { + m_aCurrentFilter = aIter->getTitle(); + break; + } + } +} + rtl::OUString SAL_CALL SalGtkFilePicker::getCurrentFilter() throw( uno::RuntimeException ) { OSL_ASSERT( m_pDialog != NULL ); @@ -747,20 +761,22 @@ rtl::OUString SAL_CALL SalGtkFilePicker: OSL_TRACE( "GetCURRENTfilter\n" ); // Update the filtername from the users selection if they have had a chance to do so. - if( GtkFileFilter *filter = gtk_file_chooser_get_filter( GTK_FILE_CHOOSER( m_pDialog ) ) ) - { - const gchar* filtername = gtk_file_filter_get_name( filter ); - OUString aFilterName(filtername, strlen(filtername), RTL_TEXTENCODING_UTF8); - FilterList::iterator aEnd = m_pFilterList->end(); - for (FilterList::iterator aIter = m_pFilterList->begin(); aIter != aEnd; ++aIter) - { - if (aFilterName == shrinkFilterName( aIter->getTitle())) - { - m_aCurrentFilter = aIter->getTitle(); - break; - } - } - } + // If the user explicitly sets a type then use that, if not then take the implicit type + // from the filter of the files glob on which he is currently searching + GtkTreeSelection* selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(m_pFilterView)); + GtkTreeIter iter; + GtkTreeModel *model; + if (gtk_tree_selection_get_selected (selection, &model, &iter)) + { + gchar *title; + gtk_tree_model_get (model, &iter, 2, &title, -1); + updateCurrentFilterFromName(title); + g_free (title); + } + else if( GtkFileFilter *filter = gtk_file_chooser_get_filter(GTK_FILE_CHOOSER(m_pDialog))) + { + updateCurrentFilterFromName(gtk_file_filter_get_name( filter )); + } OSL_TRACE( "Returning current filter of %s\n", OUStringToOString( m_aCurrentFilter, RTL_TEXTENCODING_UTF8 ).getStr() ); @@ -881,23 +897,36 @@ uno::Sequence SAL_CALL Sa if( GTK_FILE_CHOOSER_ACTION_SAVE == eAction ) { - const gchar* filtername = - gtk_file_filter_get_name( gtk_file_chooser_get_filter( GTK_FILE_CHOOSER( m_pDialog ) ) ); + OUString sFilterName; - OSL_TRACE( "2: current filter is %s\n", filtername ); + GtkTreeSelection* selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(m_pFilterView)); + GtkTreeIter iter; + GtkTreeModel *model; + if (gtk_tree_selection_get_selected (selection, &model, &iter)) + { + gchar *title; + gtk_tree_model_get (model, &iter, 2, &title, -1); + sFilterName = OUString( title, strlen( title), RTL_TEXTENCODING_UTF8 ); + g_free (title); + } + else + { + const gchar* filtername = + gtk_file_filter_get_name( gtk_file_chooser_get_filter( GTK_FILE_CHOOSER( m_pDialog ) ) ); + sFilterName = OUString( filtername, strlen( filtername ), RTL_TEXTENCODING_UTF8 ); + } + OSL_TRACE( "2: current filter is %s\n", + OUStringToOString( sFilterName, RTL_TEXTENCODING_UTF8 ).getStr() ); FilterList::iterator aListIter = ::std::find_if( - m_pFilterList->begin(), m_pFilterList->end(), - FilterTitleMatch( OUString( filtername, - strlen( filtername ), RTL_TEXTENCODING_UTF8 ) ) ); + m_pFilterList->begin(), m_pFilterList->end(), FilterTitleMatch(sFilterName) ); OUString aFilter = aListIter->getFilter(); OSL_TRACE( "turned into %s\n", OUStringToOString( aFilter, RTL_TEXTENCODING_UTF8 ).getStr() ); - sal_Int32 nTokenIndex = 0; rtl::OUString sToken; // rtl::OUString strExt; @@ -959,14 +988,13 @@ sal_Int16 SAL_CALL SalGtkFilePicker::exe sal_Int16 retVal = 0; - if( !startupEventNotification( STARTUP_SUSPENDED ) ) - { - OSL_ENSURE( sal_False, "Could not start event notifier thread!" ); - - throw uno::RuntimeException( - rtl::OUString::createFromAscii( "Error executing dialog" ), - static_cast( this ) ); - } + mHID_FolderChange = + g_signal_connect( GTK_FILE_CHOOSER( m_pDialog ), "current-folder-changed", + G_CALLBACK( folder_changed_cb ), ( gpointer )this ); + + mHID_SelectionChange = + g_signal_connect( GTK_FILE_CHOOSER( m_pDialog ), "selection-changed", + G_CALLBACK( selection_changed_cb ), ( gpointer )this ); SetFilters(); @@ -977,10 +1005,8 @@ sal_Int16 SAL_CALL SalGtkFilePicker::exe { btn = GTK_RESPONSE_YES; // we dont want to repeat unless user clicks NO for file save. - resumeEventNotification(); RunDialog aRunInMain(m_pDialog); gint nStatus = aRunInMain.runandwaitforresult(); - suspendEventNotification(); switch( nStatus ) { case GTK_RESPONSE_ACCEPT: @@ -995,7 +1021,8 @@ sal_Int16 SAL_CALL SalGtkFilePicker::exe CResourceProvider aResProvider; GtkWidget *dlg; - dlg = gtk_message_dialog_new( GTK_WINDOW( m_pDialog ), GTK_DIALOG_MODAL, + dlg = gtk_message_dialog_new( NULL, + GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, OUStringToOString( @@ -1006,8 +1033,6 @@ sal_Int16 SAL_CALL SalGtkFilePicker::exe OUStringToOString(aResProvider.getResString(FILE_PICKER_TITLE_SAVE ), RTL_TEXTENCODING_UTF8 ).getStr() ); - gtk_dialog_set_has_separator( GTK_DIALOG( dlg ), FALSE ); - btn = gtk_dialog_run( GTK_DIALOG( dlg ) ); gtk_widget_destroy( dlg ); } @@ -1029,14 +1054,17 @@ sal_Int16 SAL_CALL SalGtkFilePicker::exe break; } } - shutdownEventNotification(); + + if (mHID_FolderChange) + g_signal_handler_disconnect(GTK_FILE_CHOOSER( m_pDialog ), mHID_FolderChange); + if (mHID_SelectionChange) + g_signal_handler_disconnect(GTK_FILE_CHOOSER( m_pDialog ), mHID_SelectionChange); + return retVal; } //------------------------------------------------------------------------------------ - - // cf. offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl GtkWidget *SalGtkFilePicker::getWidget( sal_Int16 nControlId, GType *pType ) { @@ -1405,16 +1433,45 @@ void SAL_CALL SalGtkFilePicker::setImage // TODO m_pImpl->setImage( aImageFormat, aImage ); } -void SalGtkFilePicker::filter_changed_cb( GtkFileChooser *file_chooser, GParamSpec *pspec, - SalGtkFilePicker *pobjFP ) +void SalGtkFilePicker::implChangeType( GtkTreeSelection *selection ) { + CResourceProvider aResProvider; + OUString aLabel = aResProvider.getResString( FILE_PICKER_FILE_TYPE ); + GtkTreeIter iter; + GtkTreeModel *model; + if (gtk_tree_selection_get_selected (selection, &model, &iter)) + { + gchar *title; + gtk_tree_model_get (model, &iter, 2, &title, -1); + aLabel += rtl::OUString::createFromAscii( ": " ); + aLabel += rtl::OUString::createFromAscii( title ); + g_free (title); + } + gtk_expander_set_label (GTK_EXPANDER (m_pFilterExpander), + OUStringToOString( aLabel, RTL_TEXTENCODING_UTF8 ).getStr()); FilePickerEvent evt; evt.ElementId = LISTBOX_FILTER; - OSL_TRACE( "filter_changed, isn't it great %x\n", pobjFP ); - pobjFP->controlStateChanged( evt ); + controlStateChanged( evt ); } -void SalGtkFilePicker::filter_changed_atsave_cb( GtkComboBox *widget, SalGtkFilePicker *pobjFP ) +void SalGtkFilePicker::type_changed_cb( GtkTreeSelection *selection, SalGtkFilePicker *pobjFP ) +{ + pobjFP->implChangeType(selection); +} + +void SalGtkFilePicker::unselect_type() +{ + gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(m_pFilterView))); +} + +void SalGtkFilePicker::expander_changed_cb( GtkExpander *expander, SalGtkFilePicker *pobjFP ) +{ + if (gtk_expander_get_expanded(expander)) + pobjFP->unselect_type(); +} + +void SalGtkFilePicker::filter_changed_cb( GtkFileChooser *file_chooser, GParamSpec *pspec, + SalGtkFilePicker *pobjFP ) { FilePickerEvent evt; evt.ElementId = LISTBOX_FILTER; @@ -1482,27 +1539,16 @@ sal_Bool SAL_CALL SalGtkFilePicker::setS // Show if( !mHID_Preview ) { - // This is the first time - m_pPreview = gtk_image_new(); - gtk_file_chooser_set_preview_widget( - GTK_FILE_CHOOSER( m_pDialog ), m_pPreview ); mHID_Preview = g_signal_connect( GTK_FILE_CHOOSER( m_pDialog ), "update-preview", G_CALLBACK( update_preview_cb ), ( gpointer )this ); } - else - { - gtk_widget_show( m_pPreview ); - } - + gtk_widget_show( m_pPreview ); } else { // Hide gtk_widget_hide( m_pPreview ); - - if( m_pPreview ) - gtk_widget_hide( m_pPreview ); } // also emit the signal @@ -1792,8 +1838,10 @@ void SalGtkFilePicker::implAddFilter( co gtk_file_filter_set_name( filter, aFilterName ); static const OUString aStarDot = OUString::createFromAscii( "*." ); + OUString aTokens; - if( !rType.compareToAscii( "*.*" ) ) + bool bAllGlob = !rType.compareToAscii( "*.*" ); + if (bAllGlob) gtk_file_filter_add_pattern( filter, "*" ); else { @@ -1806,10 +1854,15 @@ void SalGtkFilePicker::implAddFilter( co aToken = aToken.copy( aToken.lastIndexOf( aStarDot ) + 2 ); if (aToken.getLength()) { + if (aTokens.getLength()) + aTokens += OUString::createFromAscii(","); + aTokens = aTokens += aToken; gtk_file_filter_add_custom (filter, GTK_FILE_FILTER_FILENAME, case_insensitive_filter, g_strdup( rtl::OUStringToOString( aToken, RTL_TEXTENCODING_UTF8 ) ), (GDestroyNotify) g_free ); + + OSL_TRACE( "fustering with %s\n", rtl::OUStringToOString( aToken, RTL_TEXTENCODING_UTF8 ).getStr()); } #ifdef DEBUG else @@ -1824,6 +1877,18 @@ void SalGtkFilePicker::implAddFilter( co } gtk_file_chooser_add_filter( GTK_FILE_CHOOSER( m_pDialog ), filter ); + + if (!bAllGlob) + { + GtkTreeIter iter; + gtk_list_store_append (m_pFilterStore, &iter); + gtk_list_store_set (m_pFilterStore, &iter, + 0, OUStringToOString(shrinkFilterName( rFilter, true ), RTL_TEXTENCODING_UTF8).getStr(), + 1, OUStringToOString(aTokens, RTL_TEXTENCODING_UTF8).getStr(), + 2, aFilterName.getStr(), + 3, OUStringToOString(rType, RTL_TEXTENCODING_UTF8).getStr(), + -1); + } } void SalGtkFilePicker::implAddFilterGroup( const OUString& _rFilter, const Sequence< StringPair >& _rFilters ) Index: source/unx/gnome/SalGtkFilePicker.hxx =================================================================== RCS file: /cvs/gsl/fpicker/source/unx/gnome/SalGtkFilePicker.hxx,v retrieving revision 1.4 retrieving revision 1.4.8.2 diff -u -p -u -r1.4 -r1.4.8.2 --- openoffice.org.orig/fpicker/source/unx/gnome/SalGtkFilePicker.hxx 3 May 2005 13:47:48 -0000 1.4 +++ openoffice.org/fpicker/source/unx/gnome/SalGtkFilePicker.hxx 1 Jun 2005 11:05:43 -0000 1.4.8.2 @@ -102,10 +102,6 @@ #include "SalGtkPicker.hxx" #endif -#ifndef _ASYNCEVENTNOTIFIER_HXX_ -#include "asynceventnotifier.hxx" -#endif - #include #ifndef _RTL_USTRING_H_ @@ -302,11 +298,6 @@ class SalGtkFilePicker : void SAL_CALL controlStateChanged( ::com::sun::star::ui::dialogs::FilePickerEvent aEvent ); void SAL_CALL dialogSizeChanged( ); - bool startupEventNotification(bool bStartupSuspended); - void shutdownEventNotification(); - void suspendEventNotification(); - void resumeEventNotification(); - private: // prevent copy and assignment SalGtkFilePicker( const SalGtkFilePicker& ); @@ -321,10 +312,15 @@ class SalGtkFilePicker : ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceMgr; private: - SalGtkAsyncEventNotifier m_aAsyncEventNotifier; + ::com::sun::star::uno::Reference< ::com::sun::star::ui::dialogs::XFilePickerListener > + m_xListener; FilterList *m_pFilterList; GtkWidget *m_pVBox; + GtkWidget *m_pFilterExpander; + GtkWidget *m_pFilterView; + GtkListStore *m_pFilterStore; + enum { AUTOEXTENSION, PASSWORD, @@ -369,9 +365,12 @@ class SalGtkFilePicker : void SetCurFilter( const OUString& rFilter ); void SetFilters(); + void implChangeType( GtkTreeSelection *selection ); void implAddFilter( const OUString& rFilter, const OUString& rType); void implAddFilterGroup( const OUString& rFilter, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::StringPair>& _rFilters ); + void updateCurrentFilterFromName(const gchar* filtername); + void unselect_type(); bool bVersionWidthUnset; sal_Bool mbPreviewState; @@ -386,9 +385,10 @@ class SalGtkFilePicker : const ::com::sun::star::uno::Any& rValue); ::com::sun::star::uno::Any HandleGetListValue(GtkComboBox *pWidget, sal_Int16 nControlAction) const; + static void expander_changed_cb( GtkExpander *expander, SalGtkFilePicker *pobjFP ); static void preview_toggled_cb (GtkObject *cb, SalGtkFilePicker *pobjFP); static void filter_changed_cb (GtkFileChooser *file_chooser, GParamSpec *pspec, SalGtkFilePicker *pobjFP); - static void filter_changed_atsave_cb (GtkComboBox* widget, SalGtkFilePicker *pobjFP); + static void type_changed_cb( GtkTreeSelection *selection, SalGtkFilePicker *pobjFP ); static void folder_changed_cb (GtkFileChooser *file_chooser, SalGtkFilePicker *pobjFP); static void selection_changed_cb (GtkFileChooser *file_chooser, SalGtkFilePicker *pobjFP); static void update_preview_cb (GtkFileChooser *file_chooser, SalGtkFilePicker *pobjFP); Index: source/unx/gnome/SalGtkPicker.cxx =================================================================== RCS file: /cvs/gsl/fpicker/source/unx/gnome/SalGtkPicker.cxx,v retrieving revision 1.6 retrieving revision 1.6.8.1 diff -u -p -u -r1.6 -r1.6.8.1 --- openoffice.org.orig/fpicker/source/unx/gnome/SalGtkPicker.cxx 3 May 2005 13:48:23 -0000 1.6 +++ openoffice.org/fpicker/source/unx/gnome/SalGtkPicker.cxx 1 Jun 2005 11:05:21 -0000 1.6.8.1 @@ -141,17 +141,26 @@ gboolean rundialog(RunDialog *pDialog) void RunDialog::run() { mnStatus = gtk_dialog_run( GTK_DIALOG( m_pDialog ) ); - gtk_widget_hide( m_pDialog ); - bFinished = true; + gtk_widget_hide( m_pDialog ); + + maLock.acquire(); + mbFinished = true; + maLock.release(); + + Application::EndYield(); } gint RunDialog::runandwaitforresult() { g_timeout_add_full(G_PRIORITY_HIGH_IDLE, 0, (GSourceFunc)rundialog, this, NULL); - do { + while (1) + { + maLock.acquire(); + if (mbFinished) + break; + maLock.release(); Application::Yield(); } - while (!bFinished); return mnStatus; } Index: source/unx/gnome/SalGtkPicker.hxx =================================================================== RCS file: /cvs/gsl/fpicker/source/unx/gnome/SalGtkPicker.hxx,v retrieving revision 1.4 retrieving revision 1.4.8.1 diff -u -p -u -r1.4 -r1.4.8.1 --- openoffice.org.orig/fpicker/source/unx/gnome/SalGtkPicker.hxx 3 May 2005 13:48:40 -0000 1.4 +++ openoffice.org/fpicker/source/unx/gnome/SalGtkPicker.hxx 1 Jun 2005 11:05:22 -0000 1.4.8.1 @@ -117,12 +117,13 @@ class SalGtkPicker class RunDialog { private: - bool bFinished; + bool mbFinished; + osl::Mutex maLock; gint mnStatus; GtkWidget *m_pDialog; public: void run(); - RunDialog(GtkWidget *pDialog) : bFinished(false), m_pDialog(pDialog) { } + RunDialog(GtkWidget *pDialog) : mbFinished(false), m_pDialog(pDialog) { } gint runandwaitforresult(); }; Index: source/unx/gnome/asynceventnotifier.cxx =================================================================== RCS file: source/unx/gnome/asynceventnotifier.cxx diff -N source/unx/gnome/asynceventnotifier.cxx --- openoffice.org.orig/fpicker/source/unx/gnome/asynceventnotifier.cxx 18 Jan 2005 13:25:45 -0000 1.3 +++ openoffice.org/fpicker//dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,244 +0,0 @@ -/************************************************************************* - * - * $RCSfile: asynceventnotifier.cxx,v $ - * - * $Revision: 1.3 $ - * - * last change: $Author: kz $ $Date: 2005/01/18 13:25:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses - * - * - GNU Lesser General Public License Version 2.1 - * - Sun Industry Standards Source License Version 1.1 - * - * Sun Microsystems Inc., October, 2000 - * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2000 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - * - * Sun Industry Standards Source License Version 1.1 - * ================================================= - * The contents of this file are subject to the Sun Industry Standards - * Source License Version 1.1 (the "License"); You may not use this file - * except in compliance with the License. You may obtain a copy of the - * License at http://www.openoffice.org/license.html. - * - * Software provided under this License is provided on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, - * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. - * See the License for the specific provisions governing your rights and - * obligations concerning the Software. - * - * The Initial Developer of the Original Code is: Sun Microsystems, Inc. - * - * Copyright: 2000 by Sun Microsystems, Inc. - * - * All Rights Reserved. - * - * Contributor(s): _______________________________________ - * - * - ************************************************************************/ - -//------------------------------------------------------------------------ -// includes -//------------------------------------------------------------------------ - -#ifndef _OSL_DIAGNOSE_H_ -#include -#endif - -#ifndef _ASYNCEVENTNOTIFIER_HXX_ -#include "asynceventnotifier.hxx" -#endif - -#ifndef _COM_SUN_STAR_UNO_RUNTIMEEXCEPTION_HPP_ -#include -#endif - -#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPICKERLISTENER_HPP_ -#include -#endif - -#include - -//------------------------------------------------ -// -//------------------------------------------------ - -using namespace com::sun::star; -using ::com::sun::star::ui::dialogs::XFilePickerListener; - -//------------------------------------------------ -// -//------------------------------------------------ - -SalGtkAsyncEventNotifier::SalGtkAsyncEventNotifier(cppu::OBroadcastHelper& rBroadcastHelper) : - m_bRun(false) - , m_rBroadcastHelper(rBroadcastHelper) -{ -} - -//------------------------------------------------ -// -//------------------------------------------------ - -SalGtkAsyncEventNotifier::~SalGtkAsyncEventNotifier() -{ - OSL_ENSURE(!isRunning(),"Thread not stopped, destroying this instance leads to desaster"); -} - -//------------------------------------------------ -// -//------------------------------------------------ - -bool SAL_CALL SalGtkAsyncEventNotifier::startup(bool bCreateSuspended) -{ - osl::MutexGuard aGuard(m_aMutex); - - // m_bRun may already be false because of a - // call to stop but the thread did not yet - // terminate so m_hEventNotifierThread is - // yet a valid thread handle that should - // not be overwritten - if (!m_bRun) - { - if (bCreateSuspended) - m_bRun = createSuspended(); - else - m_bRun = create(); - } - - OSL_POSTCOND(m_bRun, "Could not start event notifier!"); - - return m_bRun; -} - - -//------------------------------------------------ -// -//------------------------------------------------ -void SAL_CALL SalGtkAsyncEventNotifier::shutdown() -{ - osl::ResettableMutexGuard aGuard(m_aMutex); - - OSL_PRECOND(m_bRun,"Event notifier does not run!"); - - m_bRun = false; - m_aExitCondition.reset(); - - m_aNotifyCondition.set(); - - aGuard.clear(); - m_aExitCondition.wait(); - - terminate(); - join(); -} - -//------------------------------------------------ -// -//------------------------------------------------ - -void SAL_CALL SalGtkAsyncEventNotifier::notifyEvent(CEventNotification* EventNotification) -{ - osl::MutexGuard aGuard(m_aMutex); - - OSL_ENSURE(m_bRun,"Event notifier is not running!"); - - if (m_bRun) - { - m_EventList.push_back(EventNotification); - m_aNotifyCondition.set(); - } -} - -//------------------------------------------------ -// -//------------------------------------------------ - -size_t SAL_CALL SalGtkAsyncEventNotifier::getEventListSize() -{ - osl::MutexGuard aGuard(m_aMutex); - return m_EventList.size(); -} - -//------------------------------------------------ -// -//------------------------------------------------ - -CEventNotification* SAL_CALL SalGtkAsyncEventNotifier::getNextEventRecord() -{ - osl::MutexGuard aGuard(m_aMutex); - return m_EventList.front(); -} -//------------------------------------------------ -// -//------------------------------------------------ - -void SAL_CALL SalGtkAsyncEventNotifier::removeNextEventRecord() -{ - osl::MutexGuard aGuard(m_aMutex); - m_EventList.pop_front(); -} - -//------------------------------------------------ -// -//------------------------------------------------ - -void SAL_CALL SalGtkAsyncEventNotifier::run() -{ - while (m_bRun) - { - m_aNotifyCondition.wait(); - - while (getEventListSize() > 0) - { - std::auto_ptr EventNotification(getNextEventRecord()); - removeNextEventRecord(); - - ::cppu::OInterfaceContainerHelper* pICHelper = - m_rBroadcastHelper.getContainer(getCppuType( - (uno::Reference*)0)); - - if (pICHelper) - { - ::cppu::OInterfaceIteratorHelper iter(*pICHelper); - - while(iter.hasMoreElements()) - { - try - { - EventNotification->notifyEventListener(iter.next()); - } - catch(uno::RuntimeException&) - { - OSL_ENSURE(sal_False, - "RuntimeException during event dispatching"); - } - } - } - } // while(getEventListSize() > 0) - m_aNotifyCondition.reset(); - } // while(m_bRun) - m_aExitCondition.set(); -} Index: source/unx/gnome/asynceventnotifier.hxx =================================================================== RCS file: source/unx/gnome/asynceventnotifier.hxx diff -N source/unx/gnome/asynceventnotifier.hxx --- openoffice.org.orig/fpicker/source/unx/gnome/asynceventnotifier.hxx 18 Jan 2005 13:26:00 -0000 1.3 +++ openoffice.org/fpicker//dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,128 +0,0 @@ -/************************************************************************* - * - * $RCSfile: asynceventnotifier.hxx,v $ - * - * $Revision: 1.3 $ - * - * last change: $Author: kz $ $Date: 2005/01/18 13:26:00 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses - * - * - GNU Lesser General Public License Version 2.1 - * - Sun Industry Standards Source License Version 1.1 - * - * Sun Microsystems Inc., October, 2000 - * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2000 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - * - * Sun Industry Standards Source License Version 1.1 - * ================================================= - * The contents of this file are subject to the Sun Industry Standards - * Source License Version 1.1 (the "License"); You may not use this file - * except in compliance with the License. You may obtain a copy of the - * License at http://www.openoffice.org/license.html. - * - * Software provided under this License is provided on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, - * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. - * See the License for the specific provisions governing your rights and - * obligations concerning the Software. - * - * The Initial Developer of the Original Code is: Sun Microsystems, Inc. - * - * Copyright: 2000 by Sun Microsystems, Inc. - * - * All Rights Reserved. - * - * Contributor(s): _______________________________________ - * - * - ************************************************************************/ - -#ifndef _ASYNCEVENTNOTIFIER_HXX_ -#define _ASYNCEVENTNOTIFIER_HXX_ - -//------------------------------------------------------------------------ -// includes -//------------------------------------------------------------------------ - -#ifndef _OSL_MUTEX_HXX_ -#include -#endif - -#ifndef _OSL_CONDITN_HXX_ -#include -#endif - -#ifndef _CPPUHELPER_INTERFACECONTAINER_H_ -#include -#endif - -#include -#include - -#ifndef _EVENTNOTIFICATION_HXX_ -#include "eventnotification.hxx" -#endif -#ifndef _THREAD_HXX_ -#include -#endif - -//--------------------------------------------- -// -//--------------------------------------------- - -class SalGtkAsyncEventNotifier : public ::osl::Thread -{ -public: - SalGtkAsyncEventNotifier(cppu::OBroadcastHelper& rBroadcastHelper); - ~SalGtkAsyncEventNotifier(); - - bool SAL_CALL startup(bool bCreateSuspended = true); - void SAL_CALL shutdown(); - - // this class is responsible for the memory management of - // the CEventNotification instance - void SAL_CALL notifyEvent(CEventNotification* EventNotification); -private: - void SAL_CALL run( ); - - bool m_bRun; - osl::Mutex m_aMutex; - ::osl::Condition m_aExitCondition; - ::osl::Condition m_aNotifyCondition; - - size_t SAL_CALL getEventListSize(); - CEventNotification* SAL_CALL getNextEventRecord(); - void SAL_CALL removeNextEventRecord(); - -private: - std::list m_EventList; - ::cppu::OBroadcastHelper& m_rBroadcastHelper; -// prevent copy and assignment -private: - SalGtkAsyncEventNotifier( const SalGtkAsyncEventNotifier& ); - SalGtkAsyncEventNotifier& operator=( const SalGtkAsyncEventNotifier& ); -}; - -#endif Index: source/unx/gnome/filepickereventnotification.cxx =================================================================== RCS file: source/unx/gnome/filepickereventnotification.cxx diff -N source/unx/gnome/filepickereventnotification.cxx --- openoffice.org.orig/fpicker/source/unx/gnome/filepickereventnotification.cxx 8 Sep 2004 17:09:33 -0000 1.2 +++ openoffice.org/fpicker//dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,121 +0,0 @@ -/************************************************************************* - * - * $RCSfile: filepickereventnotification.cxx,v $ - * - * $Revision: 1.2 $ - * - * last change: $Author: hr $ $Date: 2004/09/08 17:09:33 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses - * - * - GNU Lesser General Public License Version 2.1 - * - Sun Industry Standards Source License Version 1.1 - * - * Sun Microsystems Inc., October, 2000 - * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2000 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - * - * Sun Industry Standards Source License Version 1.1 - * ================================================= - * The contents of this file are subject to the Sun Industry Standards - * Source License Version 1.1 (the "License"); You may not use this file - * except in compliance with the License. You may obtain a copy of the - * License at http://www.openoffice.org/license.html. - * - * Software provided under this License is provided on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, - * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. - * See the License for the specific provisions governing your rights and - * obligations concerning the Software. - * - * The Initial Developer of the Original Code is: Sun Microsystems, Inc. - * - * Copyright: 2000 by Sun Microsystems, Inc. - * - * All Rights Reserved. - * - * Contributor(s): _______________________________________ - * - * - ************************************************************************/ - -#ifndef _FILEPICKEREVENTNOTIFICATION_HXX_ -#include "filepickereventnotification.hxx" -#endif - -#ifndef _SAL_TYPES_H_ -#include -#endif - -//----------------------------------- -// namespace directives -//----------------------------------- - -using namespace com::sun::star::uno; -using namespace com::sun::star::ui::dialogs; - -//----------------------------------- -// A FilePicker event without -// parameter -//----------------------------------- - -SalGtkFilePickerEventNotification::SalGtkFilePickerEventNotification(EventListenerMethod_t EventListenerMethod) : - m_EventListenerMethod(EventListenerMethod) -{ -} - -//---------------------------------- -// -//---------------------------------- - -void SAL_CALL SalGtkFilePickerEventNotification::notifyEventListener( Reference< XInterface > xListener ) -{ - Reference xFilePickerListener(xListener,UNO_QUERY); - if (xFilePickerListener.is()) - (xFilePickerListener.get()->*m_EventListenerMethod)(); -} - - -//################################################## - - -//---------------------------------- -// A FilePicker event with parameter -//---------------------------------- - -SalGtkFilePickerParamEventNotification::SalGtkFilePickerParamEventNotification(EventListenerMethod_t EventListenerMethod, const FilePickerEvent& FilePickerEvent) : - m_EventListenerMethod(EventListenerMethod), - m_FilePickerEvent(FilePickerEvent) -{ -} - -//---------------------------------- -// A FilePicker event with parameter -//---------------------------------- - -void SAL_CALL SalGtkFilePickerParamEventNotification::notifyEventListener( Reference< XInterface > xListener ) -{ - Reference xFilePickerListener(xListener,UNO_QUERY); - if (xFilePickerListener.is()) - (xFilePickerListener.get()->*m_EventListenerMethod)(m_FilePickerEvent); -} Index: source/unx/gnome/filepickereventnotification.hxx =================================================================== RCS file: source/unx/gnome/filepickereventnotification.hxx diff -N source/unx/gnome/filepickereventnotification.hxx --- openoffice.org.orig/fpicker/source/unx/gnome/filepickereventnotification.hxx 8 Sep 2004 17:09:45 -0000 1.2 +++ openoffice.org/fpicker//dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,115 +0,0 @@ -/************************************************************************* - * - * $RCSfile: filepickereventnotification.hxx,v $ - * - * $Revision: 1.2 $ - * - * last change: $Author: hr $ $Date: 2004/09/08 17:09:45 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses - * - * - GNU Lesser General Public License Version 2.1 - * - Sun Industry Standards Source License Version 1.1 - * - * Sun Microsystems Inc., October, 2000 - * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2000 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - * - * Sun Industry Standards Source License Version 1.1 - * ================================================= - * The contents of this file are subject to the Sun Industry Standards - * Source License Version 1.1 (the "License"); You may not use this file - * except in compliance with the License. You may obtain a copy of the - * License at http://www.openoffice.org/license.html. - * - * Software provided under this License is provided on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, - * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. - * See the License for the specific provisions governing your rights and - * obligations concerning the Software. - * - * The Initial Developer of the Original Code is: Sun Microsystems, Inc. - * - * Copyright: 2000 by Sun Microsystems, Inc. - * - * All Rights Reserved. - * - * Contributor(s): _______________________________________ - * - * - ************************************************************************/ - -#ifndef _FILEPICKEREVENTNOTIFICATION_HXX_ -#define _FILEPICKEREVENTNOTIFICATION_HXX_ - -#ifndef _EVENTNOTIFICATION_HXX_ -#include "eventnotification.hxx" -#endif - -#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPICKERLISTENER_HPP_ -#include -#endif - -#ifndef _COM_SUN_STAR_UI_DIALOGS_FILEPICKEREVENT_HPP_ -#include -#endif - -//----------------------------------- -// A FilePicker event without -// parameter -//----------------------------------- - -class SalGtkFilePickerEventNotification : public CEventNotification -{ -public: - typedef void (SAL_CALL ::com::sun::star::ui::dialogs::XFilePickerListener::*EventListenerMethod_t)(); - -public: - SalGtkFilePickerEventNotification(EventListenerMethod_t EventListenerMethod); - - virtual void SAL_CALL notifyEventListener( com::sun::star::uno::Reference< com::sun::star::uno::XInterface > xListener ); - -private: - EventListenerMethod_t m_EventListenerMethod; -}; - -//---------------------------------- -// A FilePicker event with parameter -//---------------------------------- - -class SalGtkFilePickerParamEventNotification : public CEventNotification -{ -public: - typedef void (SAL_CALL ::com::sun::star::ui::dialogs::XFilePickerListener::*EventListenerMethod_t)(const ::com::sun::star::ui::dialogs::FilePickerEvent&); - - SalGtkFilePickerParamEventNotification(EventListenerMethod_t EventListenerMethod, const ::com::sun::star::ui::dialogs::FilePickerEvent& FilePickerEvent); - - virtual void SAL_CALL notifyEventListener( com::sun::star::uno::Reference< com::sun::star::uno::XInterface > xListener ); - -private: - EventListenerMethod_t m_EventListenerMethod; - com::sun::star::ui::dialogs::FilePickerEvent m_FilePickerEvent; -}; - - -#endif Index: source/unx/gnome/makefile.mk =================================================================== RCS file: /cvs/gsl/fpicker/source/unx/gnome/makefile.mk,v retrieving revision 1.4 retrieving revision 1.4.14.1 diff -u -p -u -r1.4 -r1.4.14.1 --- openoffice.org.orig/fpicker/source/unx/gnome/makefile.mk 13 Apr 2005 08:57:09 -0000 1.4 +++ openoffice.org/fpicker/source/unx/gnome/makefile.mk 1 Jun 2005 11:05:44 -0000 1.4.14.1 @@ -104,8 +104,6 @@ SLOFILES =\ $(SLO)$/SalGtkFilePicker.obj \ $(SLO)$/SalGtkFolderPicker.obj \ $(SLO)$/resourceprovider.obj \ - $(SLO)$/asynceventnotifier.obj \ - $(SLO)$/filepickereventnotification.obj \ $(SLO)$/FPentry.obj SHL1NOCHECK=TRUE workspace.gcj5.patch: bean/native/unix/makefile.mk | 8 ++++---- canvas/source/java/BackBuffer.java | 4 ---- canvas/source/java/BezierPolyPolygon.java | 4 ---- canvas/source/java/BitmapCanvas.java | 4 ---- canvas/source/java/CanvasBase.java | 4 ---- canvas/source/java/CanvasClonedSprite.java | 4 ---- canvas/source/java/CanvasCustomSprite.java | 4 ---- canvas/source/java/CanvasFont.java | 4 ---- canvas/source/java/CanvasGraphicDevice.java | 3 --- canvas/source/java/CanvasSprite.java | 4 ---- canvas/source/java/CanvasTest_perftest.java | 4 ---- canvas/source/java/CanvasUtils.java | 4 ---- canvas/source/java/JavaCanvas.java | 4 ---- canvas/source/java/LinePolyPolygon.java | 4 ---- canvas/source/java/SpriteBase.java | 4 ---- canvas/source/java/SpriteRep.java | 4 ---- canvas/source/java/SpriteRunner.java | 4 ---- canvas/source/java/TextLayout.java | 4 ---- canvas/source/java/makefile.mk | 5 ----- canvas/source/java/x11/WindowAdapter.java | 1 - 20 files changed, 4 insertions(+), 77 deletions(-) --- NEW FILE workspace.gcj5.patch --- Index: source/java/BackBuffer.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/BackBuffer.java,v retrieving revision 1.3 retrieving revision 1.3.14.1 diff -u -p -u -r1.3 -r1.3.14.1 --- openoffice.org.orig/canvas/source/java/BackBuffer.java 10 Mar 2005 11:50:33 -0000 1.3 +++ openoffice.org/canvas/source/java/BackBuffer.java 2 Jun 2005 07:42:51 -0000 1.3.14.1 @@ -74,10 +74,6 @@ import java.awt.*; import java.awt.image.*; import java.awt.geom.*; -// system-dependent stuff -import sun.awt.*; - - public class BackBuffer { private BufferedImage backBuffer; Index: source/java/BezierPolyPolygon.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/BezierPolyPolygon.java,v retrieving revision 1.4 retrieving revision 1.4.10.1 diff -u -p -u -r1.4 -r1.4.10.1 --- openoffice.org.orig/canvas/source/java/BezierPolyPolygon.java 18 Apr 2005 09:08:28 -0000 1.4 +++ openoffice.org/canvas/source/java/BezierPolyPolygon.java 2 Jun 2005 07:42:53 -0000 1.4.10.1 @@ -68,10 +68,6 @@ import com.sun.star.awt.*; import com.sun.star.rendering.*; import com.sun.star.geometry.*; -// system-dependent stuff -import sun.awt.*; - - public class BezierPolyPolygon extends com.sun.star.lib.uno.helper.ComponentBase implements com.sun.star.lang.XServiceInfo, Index: source/java/BitmapCanvas.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/BitmapCanvas.java,v retrieving revision 1.3 retrieving revision 1.3.14.1 diff -u -p -u -r1.3 -r1.3.14.1 --- openoffice.org.orig/canvas/source/java/BitmapCanvas.java 10 Mar 2005 11:51:06 -0000 1.3 +++ openoffice.org/canvas/source/java/BitmapCanvas.java 2 Jun 2005 07:42:55 -0000 1.3.14.1 @@ -75,10 +75,6 @@ import java.awt.*; import java.awt.image.*; import java.awt.geom.*; -// system-dependent stuff -import sun.awt.*; - - public class BitmapCanvas extends CanvasBase implements com.sun.star.rendering.XBitmapCanvas, Index: source/java/CanvasBase.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/CanvasBase.java,v retrieving revision 1.4 retrieving revision 1.4.14.1 diff -u -p -u -r1.4 -r1.4.14.1 --- openoffice.org.orig/canvas/source/java/CanvasBase.java 10 Mar 2005 11:51:21 -0000 1.4 +++ openoffice.org/canvas/source/java/CanvasBase.java 2 Jun 2005 07:42:57 -0000 1.4.14.1 @@ -74,10 +74,6 @@ import com.sun.star.geometry.*; import java.awt.*; import java.awt.geom.*; -// system-dependent stuff -import sun.awt.*; - - public abstract class CanvasBase extends com.sun.star.lib.uno.helper.ComponentBase implements com.sun.star.rendering.XCanvas Index: source/java/CanvasClonedSprite.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/CanvasClonedSprite.java,v retrieving revision 1.4 retrieving revision 1.4.14.1 diff -u -p -u -r1.4 -r1.4.14.1 --- openoffice.org.orig/canvas/source/java/CanvasClonedSprite.java 10 Mar 2005 11:51:52 -0000 1.4 +++ openoffice.org/canvas/source/java/CanvasClonedSprite.java 2 Jun 2005 07:42:59 -0000 1.4.14.1 @@ -74,10 +74,6 @@ import com.sun.star.geometry.*; import java.awt.*; import java.awt.geom.*; -// system-dependent stuff -import sun.awt.*; - - public class CanvasClonedSprite extends com.sun.star.lib.uno.helper.ComponentBase implements com.sun.star.rendering.XSprite, Index: source/java/CanvasCustomSprite.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/CanvasCustomSprite.java,v retrieving revision 1.4 retrieving revision 1.4.14.1 diff -u -p -u -r1.4 -r1.4.14.1 --- openoffice.org.orig/canvas/source/java/CanvasCustomSprite.java 10 Mar 2005 11:52:13 -0000 1.4 +++ openoffice.org/canvas/source/java/CanvasCustomSprite.java 2 Jun 2005 07:43:00 -0000 1.4.14.1 @@ -74,10 +74,6 @@ import com.sun.star.geometry.*; import java.awt.*; import java.awt.geom.*; -// system-dependent stuff -import sun.awt.*; - - public class CanvasCustomSprite extends com.sun.star.lib.uno.helper.ComponentBase implements com.sun.star.rendering.XCustomSprite, Index: source/java/CanvasFont.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/CanvasFont.java,v retrieving revision 1.4 retrieving revision 1.4.14.1 diff -u -p -u -r1.4 -r1.4.14.1 --- openoffice.org.orig/canvas/source/java/CanvasFont.java 10 Mar 2005 11:52:26 -0000 1.4 +++ openoffice.org/canvas/source/java/CanvasFont.java 2 Jun 2005 07:43:02 -0000 1.4.14.1 @@ -68,10 +68,6 @@ import com.sun.star.awt.*; import com.sun.star.rendering.*; import com.sun.star.geometry.*; -// system-dependent stuff -import sun.awt.*; - - public class CanvasFont extends com.sun.star.lib.uno.helper.ComponentBase implements com.sun.star.lang.XServiceInfo, Index: source/java/CanvasGraphicDevice.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/CanvasGraphicDevice.java,v retrieving revision 1.4 retrieving revision 1.4.14.1 diff -u -p -u -r1.4 -r1.4.14.1 --- openoffice.org.orig/canvas/source/java/CanvasGraphicDevice.java 10 Mar 2005 11:52:42 -0000 1.4 +++ openoffice.org/canvas/source/java/CanvasGraphicDevice.java 2 Jun 2005 07:43:03 -0000 1.4.14.1 @@ -73,9 +73,6 @@ import com.sun.star.geometry.*; import java.awt.*; import java.awt.geom.*; -// system-dependent stuff -import sun.awt.*; - // TEMP import com.sun.star.uno.Type; Index: source/java/CanvasSprite.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/CanvasSprite.java,v retrieving revision 1.4 retrieving revision 1.4.14.1 diff -u -p -u -r1.4 -r1.4.14.1 --- openoffice.org.orig/canvas/source/java/CanvasSprite.java 10 Mar 2005 11:52:58 -0000 1.4 +++ openoffice.org/canvas/source/java/CanvasSprite.java 2 Jun 2005 07:43:04 -0000 1.4.14.1 @@ -74,10 +74,6 @@ import com.sun.star.geometry.*; import java.awt.*; import java.awt.geom.*; -// system-dependent stuff -import sun.awt.*; - - public class CanvasSprite extends com.sun.star.lib.uno.helper.ComponentBase implements com.sun.star.rendering.XAnimatedSprite, Index: source/java/CanvasTest_perftest.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/CanvasTest_perftest.java,v retrieving revision 1.3 retrieving revision 1.3.14.1 diff -u -p -u -r1.3 -r1.3.14.1 --- openoffice.org.orig/canvas/source/java/CanvasTest_perftest.java 10 Mar 2005 11:53:14 -0000 1.3 +++ openoffice.org/canvas/source/java/CanvasTest_perftest.java 2 Jun 2005 07:43:06 -0000 1.3.14.1 @@ -74,10 +74,6 @@ import java.awt.*; import java.awt.image.*; import java.awt.geom.*; -// system-dependent stuff -import sun.awt.*; - - public class CanvasTest extends CanvasBase implements com.sun.star.awt.XWindow, Index: source/java/CanvasUtils.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/CanvasUtils.java,v retrieving revision 1.4 retrieving revision 1.4.10.1 diff -u -p -u -r1.4 -r1.4.10.1 --- openoffice.org.orig/canvas/source/java/CanvasUtils.java 18 Apr 2005 09:08:45 -0000 1.4 +++ openoffice.org/canvas/source/java/CanvasUtils.java 2 Jun 2005 07:43:08 -0000 1.4.10.1 @@ -75,10 +75,6 @@ import java.awt.*; import java.awt.image.*; import java.awt.geom.*; -// system-dependent stuff -import sun.awt.*; - - public class CanvasUtils { // Index: source/java/JavaCanvas.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/JavaCanvas.java,v retrieving revision 1.4 retrieving revision 1.4.14.1 diff -u -p -u -r1.4 -r1.4.14.1 --- openoffice.org.orig/canvas/source/java/JavaCanvas.java 10 Mar 2005 11:53:46 -0000 1.4 +++ openoffice.org/canvas/source/java/JavaCanvas.java 2 Jun 2005 07:43:09 -0000 1.4.14.1 @@ -75,10 +75,6 @@ import java.awt.*; import java.awt.image.*; import java.awt.geom.*; -// system-dependent stuff -import sun.awt.*; - - public class JavaCanvas extends CanvasBase implements com.sun.star.awt.XWindow, Index: source/java/LinePolyPolygon.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/LinePolyPolygon.java,v retrieving revision 1.4 retrieving revision 1.4.10.1 diff -u -p -u -r1.4 -r1.4.10.1 --- openoffice.org.orig/canvas/source/java/LinePolyPolygon.java 18 Apr 2005 09:09:03 -0000 1.4 +++ openoffice.org/canvas/source/java/LinePolyPolygon.java 2 Jun 2005 07:43:11 -0000 1.4.10.1 @@ -68,10 +68,6 @@ import com.sun.star.awt.*; import com.sun.star.rendering.*; import com.sun.star.geometry.*; -// system-dependent stuff -import sun.awt.*; - - public class LinePolyPolygon extends com.sun.star.lib.uno.helper.ComponentBase implements com.sun.star.lang.XServiceInfo, Index: source/java/SpriteBase.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/SpriteBase.java,v retrieving revision 1.3 retrieving revision 1.3.14.1 diff -u -p -u -r1.3 -r1.3.14.1 --- openoffice.org.orig/canvas/source/java/SpriteBase.java 10 Mar 2005 11:54:15 -0000 1.3 +++ openoffice.org/canvas/source/java/SpriteBase.java 2 Jun 2005 07:43:12 -0000 1.3.14.1 @@ -73,10 +73,6 @@ import com.sun.star.rendering.*; import java.awt.*; import java.awt.geom.*; -// system-dependent stuff -import sun.awt.*; - - public interface SpriteBase { // to be overridden Index: source/java/SpriteRep.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/SpriteRep.java,v retrieving revision 1.4 retrieving revision 1.4.14.1 diff -u -p -u -r1.4 -r1.4.14.1 --- openoffice.org.orig/canvas/source/java/SpriteRep.java 10 Mar 2005 11:54:29 -0000 1.4 +++ openoffice.org/canvas/source/java/SpriteRep.java 2 Jun 2005 07:43:13 -0000 1.4.14.1 @@ -73,10 +73,6 @@ import com.sun.star.rendering.*; import java.awt.*; import java.awt.geom.*; -// system-dependent stuff -import sun.awt.*; - - public class SpriteRep { private java.awt.image.BufferedImage buffer; Index: source/java/SpriteRunner.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/SpriteRunner.java,v retrieving revision 1.4 retrieving revision 1.4.14.1 diff -u -p -u -r1.4 -r1.4.14.1 --- openoffice.org.orig/canvas/source/java/SpriteRunner.java 10 Mar 2005 11:54:44 -0000 1.4 +++ openoffice.org/canvas/source/java/SpriteRunner.java 2 Jun 2005 07:43:15 -0000 1.4.14.1 @@ -73,10 +73,6 @@ import com.sun.star.rendering.*; import java.awt.*; import java.awt.geom.*; -// system-dependent stuff -import sun.awt.*; - - // // HOWTO get a Graphics2D from a window // Index: source/java/TextLayout.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/TextLayout.java,v retrieving revision 1.3 retrieving revision 1.3.14.1 diff -u -p -u -r1.3 -r1.3.14.1 --- openoffice.org.orig/canvas/source/java/TextLayout.java 10 Mar 2005 11:54:59 -0000 1.3 +++ openoffice.org/canvas/source/java/TextLayout.java 2 Jun 2005 07:43:15 -0000 1.3.14.1 @@ -68,10 +68,6 @@ import com.sun.star.awt.*; import com.sun.star.rendering.*; import com.sun.star.geometry.*; -// system-dependent stuff -import sun.awt.*; - - public class TextLayout extends com.sun.star.lib.uno.helper.ComponentBase implements com.sun.star.lang.XServiceInfo, Index: source/java/makefile.mk =================================================================== RCS file: /cvs/gsl/canvas/source/java/makefile.mk,v retrieving revision 1.5 retrieving revision 1.5.20.1 diff -u -p -u -r1.5 -r1.5.20.1 --- openoffice.org.orig/canvas/source/java/makefile.mk 25 Jan 2005 15:07:13 -0000 1.5 +++ openoffice.org/canvas/source/java/makefile.mk 2 Jun 2005 07:43:17 -0000 1.5.20.1 @@ -56,10 +56,6 @@ USE_JAVAVER:=TRUE # e.g. java.awt.image.BufferStrategy, # disabled for now for everything <1.4 .IF "$(JAVANUMVER:s/.//)" >= "000100040000" -.IF "$(JDK)" == "gcj" -all: - @echo This dir cannot be build with gcj because of sun.awt -.ELSE JAVAFILES = \ SpriteBase.java \ @@ -95,7 +91,6 @@ JARCOMPRESS = TRUE #JARCLASSDIRS = $(PACKAGE) CUSTOMMANIFESTFILE = manifest -.ENDIF # gcj .ENDIF # "$(JAVANUMVER:s/.//)" >= "000100040000" .ENDIF # "$(SOLAR_JAVA)"=="TRUE" Index: source/java/x11/WindowAdapter.java =================================================================== RCS file: /cvs/gsl/canvas/source/java/x11/WindowAdapter.java,v retrieving revision 1.2 retrieving revision 1.2.44.1 diff -u -p -u -r1.2 -r1.2.44.1 --- openoffice.org.orig/canvas/source/java/x11/WindowAdapter.java 18 Mar 2004 10:38:36 -0000 1.2 +++ openoffice.org/canvas/source/java/x11/WindowAdapter.java 2 Jun 2005 07:43:19 -0000 1.2.44.1 @@ -55,7 +55,6 @@ * ************************************************************************/ -import sun.awt.*; import com.sun.star.awt.*; Index: native/unix/makefile.mk =================================================================== RCS file: /cvs/api/bean/native/unix/makefile.mk,v retrieving revision 1.5 retrieving revision 1.5.10.1 diff -u -p -u -r1.5 -r1.5.10.1 --- openoffice.org.orig/bean/native/unix/makefile.mk 15 Mar 2005 09:07:46 -0000 1.5 +++ openoffice.org/bean/native/unix/makefile.mk 2 Jun 2005 07:29:34 -0000 1.5.10.1 @@ -27,17 +27,17 @@ SLOFILES = \ SHL1TARGET=$(TARGET) SHL1LIBS= $(SLB)$/$(TARGET).lib +.IF "$(JDK)" == "gcj" +SHL1STDLIBS=-lgcjawt -lgcj +.ELSE SHL1STDLIBS=-ljawt +.ENDIF .IF "$(OS)" == "LINUX" .IF "$(CPUNAME)" == "S390" SHL1STDLIBS+=-lzip -lawt .ENDIF SHL1STDLIBS+=-lstdc++ -.ENDIF - -.IF "$(JDK)" == "gcj" -SHL1STDLIBS+=-lgcj .ENDIF NO_SHL1DESCRIPTION=TRUE Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/.cvsignore,v retrieving revision 1.47 retrieving revision 1.48 diff -u -r1.47 -r1.48 --- .cvsignore 31 May 2005 11:09:24 -0000 1.47 +++ .cvsignore 2 Jun 2005 10:21:29 -0000 1.48 @@ -104,3 +104,4 @@ SRC680_m104.tar.bz2 GSI_pa-IN.sdf SRC680_m106.tar.bz2 +GSI_ru.sdf openoffice.org-1.9.90.ooo46585.sunmiscisnotstandard.filter.patch: filter/source/xsltfilter/XSLTFilterOLEExtracter.java | 11 filter/source/xsltfilter/makefile.mk | 4 openoffice.org/filter/source/xsltfilter/Base64.java | 1449 +++++++++++++++++++ source/xsltfilter/XSLTFilterOLEExtracter.java | 0 source/xsltfilter/makefile.mk | 0 5 files changed, 1456 insertions(+), 8 deletions(-) Index: openoffice.org-1.9.90.ooo46585.sunmiscisnotstandard.filter.patch =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org-1.9.90.ooo46585.sunmiscisnotstandard.filter.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- openoffice.org-1.9.90.ooo46585.sunmiscisnotstandard.filter.patch 11 Apr 2005 11:05:57 -0000 1.1 +++ openoffice.org-1.9.90.ooo46585.sunmiscisnotstandard.filter.patch 2 Jun 2005 10:21:29 -0000 1.2 @@ -152,24 +152,24 @@ + + + /** Maximum line length (76) of Base64 output. */ -+ private final static int MAX_LINE_LENGTH = 76; ++ public final static int MAX_LINE_LENGTH = 76; + + + /** The equals sign (=) as a byte. */ -+ private final static byte EQUALS_SIGN = (byte)'='; ++ public final static byte EQUALS_SIGN = (byte)'='; + + + /** The new line character (\n) as a byte. */ -+ private final static byte NEW_LINE = (byte)'\n'; ++ public final static byte NEW_LINE = (byte)'\n'; + + + /** Preferred encoding. */ -+ private final static String PREFERRED_ENCODING = "UTF-8"; ++ public final static String PREFERRED_ENCODING = "UTF-8"; + + + /** The 64 valid Base64 values. */ -+ private final static byte[] ALPHABET; -+ private final static byte[] _NATIVE_ALPHABET = /* May be something funny like EBCDIC */ ++ public final static byte[] ALPHABET; ++ public final static byte[] _NATIVE_ALPHABET = /* May be something funny like EBCDIC */ + { + (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F', (byte)'G', + (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L', (byte)'M', (byte)'N', @@ -203,7 +203,7 @@ + * Translates a Base64 value to either its 6-bit reconstruction value + * or a negative number indicating some other meaning. + **/ -+ private final static byte[] DECODABET = ++ public final static byte[] DECODABET = + { + -9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 0 - 8 + -5,-5, // Whitespace: Tab and Linefeed @@ -239,13 +239,13 @@ + }; + + // I think I end up not using the BAD_ENCODING indicator. -+ //private final static byte BAD_ENCODING = -9; // Indicates error in encoding -+ private final static byte WHITE_SPACE_ENC = -5; // Indicates white space in encoding -+ private final static byte EQUALS_SIGN_ENC = -1; // Indicates equals sign in encoding ++ //public final static byte BAD_ENCODING = -9; // Indicates error in encoding ++ public final static byte WHITE_SPACE_ENC = -5; // Indicates white space in encoding ++ public final static byte EQUALS_SIGN_ENC = -1; // Indicates equals sign in encoding + + + /** Defeats instantiation. */ -+ private Base64(){} ++ public Base64(){} + + + @@ -267,7 +267,7 @@ + * @return four byte array in Base64 notation. + * @since 1.5.1 + */ -+ private static byte[] encode3to4( byte[] b4, byte[] threeBytes, int numSigBytes ) ++ public static byte[] encode3to4( byte[] b4, byte[] threeBytes, int numSigBytes ) + { + encode3to4( threeBytes, 0, numSigBytes, b4, 0 ); + return b4; @@ -295,7 +295,7 @@ + * @return the destination array + * @since 1.3 + */ -+ private static byte[] encode3to4( ++ public static byte[] encode3to4( + byte[] source, int srcOffset, int numSigBytes, + byte[] destination, int destOffset ) + { @@ -643,7 +643,7 @@ + * @return the number of decoded bytes converted + * @since 1.3 + */ -+ private static int decode4to3( byte[] source, int srcOffset, byte[] destination, int destOffset ) ++ public static int decode4to3( byte[] source, int srcOffset, byte[] destination, int destOffset ) + { + // Example: Dk== + if( source[ srcOffset + 2] == EQUALS_SIGN ) @@ -1075,13 +1075,13 @@ + */ + public static class InputStream extends java.io.FilterInputStream + { -+ private boolean encode; // Encoding or decoding -+ private int position; // Current position in the buffer -+ private byte[] buffer; // Small buffer holding converted data -+ private int bufferLength; // Length of buffer (3 or 4) -+ private int numSigBytes; // Number of meaningful bytes in the buffer -+ private int lineLength; -+ private boolean breakLines; // Break lines at less than 80 characters ++ public boolean encode; // Encoding or decoding ++ public int position; // Current position in the buffer ++ public byte[] buffer; // Small buffer holding converted data ++ public int bufferLength; // Length of buffer (3 or 4) ++ public int numSigBytes; // Number of meaningful bytes in the buffer ++ public int lineLength; ++ public boolean breakLines; // Break lines at less than 80 characters + + + /** @@ -1305,14 +1305,14 @@ + */ + public static class OutputStream extends java.io.FilterOutputStream + { -+ private boolean encode; -+ private int position; -+ private byte[] buffer; -+ private int bufferLength; -+ private int lineLength; -+ private boolean breakLines; -+ private byte[] b4; // Scratch used in a few places -+ private boolean suspendEncoding; ++ public boolean encode; ++ public int position; ++ public byte[] buffer; ++ public int bufferLength; ++ public int lineLength; ++ public boolean breakLines; ++ public byte[] b4; // Scratch used in a few places ++ public boolean suspendEncoding; + + /** + * Constructs a {@link Base64.OutputStream} in ENCODE mode. openoffice.org-1.9.99.gcc19870.gcjaccessproblem.filter.patch: filter/source/xsltfilter/XSLTFilter.java | 26 +++++------ filter/source/xsltfilter/XSLTFilterOLEExtracter.java | 24 +++++----- filter/source/xsltfilter/XSLTXalanOLEExtracter.java | 2 filter/source/xsltfilter/XSLTransformer.java | 44 +++++++++---------- source/xsltfilter/XSLTFilter.java | 0 source/xsltfilter/XSLTFilterOLEExtracter.java | 0 source/xsltfilter/XSLTXalanOLEExtracter.java | 0 source/xsltfilter/XSLTransformer.java | 0 8 files changed, 48 insertions(+), 48 deletions(-) Index: openoffice.org-1.9.99.gcc19870.gcjaccessproblem.filter.patch =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org-1.9.99.gcc19870.gcjaccessproblem.filter.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- openoffice.org-1.9.99.gcc19870.gcjaccessproblem.filter.patch 3 May 2005 13:56:58 -0000 1.1 +++ openoffice.org-1.9.99.gcc19870.gcjaccessproblem.filter.patch 2 Jun 2005 10:21:29 -0000 1.2 @@ -1,16 +1,210 @@ +Index: source/xsltfilter/XSLTFilter.java +=================================================================== +RCS file: /cvs/framework/filter/source/xsltfilter/XSLTFilter.java,v +retrieving revision 1.3 +diff -u -p -r1.3 XSLTFilter.java +--- openoffice.org.orig/filter/source/xsltfilter/XSLTFilter.java 22 Jul 2003 11:06:45 -0000 1.3 ++++ openoffice.org/filter/source/xsltfilter/XSLTFilter.java 2 Jun 2005 09:31:37 -0000 +@@ -108,10 +108,10 @@ import com.sun.star.lib.uno.adapter.*; + public class XSLTFilter { + + // ---------------------------------------------------------------- +- private static boolean DEBUG = false; +- private static boolean DEBUGCHK = false; +- private static String debugfile; +- private static void debug(String s) ++ public static boolean DEBUG = false; ++ public static boolean DEBUGCHK = false; ++ public static String debugfile; ++ public static void debug(String s) + { + if (!DEBUGCHK) { + if (System.getProperty("xsltfilter.debug")==null){ +@@ -133,7 +133,7 @@ public class XSLTFilter { + } + // ---------------------------------------------------------------- + +- private static XMultiServiceFactory xMSF; ++ public static XMultiServiceFactory xMSF; + + /** This inner class provides the component as a concrete implementation + * of the service description. It implements the needed interfaces. +@@ -147,13 +147,13 @@ public class XSLTFilter { + XDocumentHandler, + XTypeProvider { + +- private boolean indent; +- private XInputStream xInStream; +- private XOutputStream xOutStream; +- private XOutputStream xos; +- private String sExportStyleSheet; +- private String doctype_public; +- private String doctype_system; ++ public boolean indent; ++ public XInputStream xInStream; ++ public XOutputStream xOutStream; ++ public XOutputStream xos; ++ public String sExportStyleSheet; ++ public String doctype_public; ++ public String doctype_system; + + public _XSLTFilter() + { +@@ -168,7 +168,7 @@ public class XSLTFilter { + + /** The component will be registered under this name. + */ +- static private final String __serviceName = "com.sun.star.documentconversion.XSLTFilter"; ++ static public final String __serviceName = "com.sun.star.documentconversion.XSLTFilter"; + + public com.sun.star.uno.Type[] getTypes() { + Type[] typeReturn = {}; +Index: source/xsltfilter/XSLTFilterOLEExtracter.java +=================================================================== +RCS file: /cvs/framework/filter/source/xsltfilter/XSLTFilterOLEExtracter.java,v +retrieving revision 1.2 +diff -u -p -r1.2 XSLTFilterOLEExtracter.java +--- openoffice.org.orig/filter/source/xsltfilter/XSLTFilterOLEExtracter.java 29 Mar 2005 12:23:52 -0000 1.2 ++++ openoffice.org/filter/source/xsltfilter/XSLTFilterOLEExtracter.java 2 Jun 2005 09:31:37 -0000 +@@ -90,11 +90,11 @@ import com.sun.star.uno.UnoRuntime; + * see XSLTXalanOLEExtracter.java + */ + public class XSLTFilterOLEExtracter { +- protected XMultiServiceFactory m_xMSF; +- protected XNameContainer m_Storage; +- protected XStream m_RootStream; +- protected XConnection m_Connection; +- protected String sConnectionString; ++ public XMultiServiceFactory m_xMSF; ++ public XNameContainer m_Storage; ++ public XStream m_RootStream; ++ public XConnection m_Connection; ++ public String sConnectionString; + + public XSLTFilterOLEExtracter () + {} +@@ -357,7 +357,7 @@ public class XSLTFilterOLEExtracter { + } + /** separtates the uno-url into 3 different parts. + */ +- protected static String[] parseUnoUrl( String url ) ++ public static String[] parseUnoUrl( String url ) + { + String [] aRet = new String [3]; + +@@ -381,7 +381,7 @@ public class XSLTFilterOLEExtracter { + return aRet; + } + //connect to running OOo and keep an XConnection object so that we can disconnect from OOo as we wish +- protected XMultiServiceFactory connectAwareGetServiceFactory()throws com.sun.star.uno.Exception, ++ public XMultiServiceFactory connectAwareGetServiceFactory()throws com.sun.star.uno.Exception, + com.sun.star.uno.RuntimeException, + Exception + { +@@ -434,14 +434,14 @@ public class XSLTFilterOLEExtracter { + return xFac; + } + +- protected static boolean DEBUG = false; +- protected static boolean DEBUGCHK = false; +- protected static String debugfile; +- protected static void debugln(String s) ++ public static boolean DEBUG = false; ++ public static boolean DEBUGCHK = false; ++ public static String debugfile; ++ public static void debugln(String s) + { + debug(s + "\n"); + } +- protected static void debug(String s) ++ public static void debug(String s) + { + if (!DEBUGCHK) { + if (System.getProperty("xsltfilter.debug")==null){ +Index: source/xsltfilter/XSLTXalanOLEExtracter.java +=================================================================== +RCS file: /cvs/framework/filter/source/xsltfilter/XSLTXalanOLEExtracter.java,v +retrieving revision 1.2 +diff -u -p -r1.2 XSLTXalanOLEExtracter.java +--- openoffice.org.orig/filter/source/xsltfilter/XSLTXalanOLEExtracter.java 29 Mar 2005 12:24:03 -0000 1.2 ++++ openoffice.org/filter/source/xsltfilter/XSLTXalanOLEExtracter.java 2 Jun 2005 09:31:37 -0000 +@@ -89,4 +89,4 @@ public class XSLTXalanOLEExtracter exten + { + exit(); + } +-} +\ No newline at end of file ++} Index: source/xsltfilter/XSLTransformer.java =================================================================== RCS file: /cvs/framework/filter/source/xsltfilter/XSLTransformer.java,v -retrieving revision 1.10 -diff -u -p -r1.10 XSLTransformer.java ---- openoffice.org.orig/filter/source/xsltfilter/XSLTransformer.java 29 Mar 2005 14:53:43 -0000 1.10 -+++ openoffice.org/filter/source/xsltfilter/XSLTransformer.java 3 May 2005 11:10:45 -0000 -@@ -102,7 +102,7 @@ public class XSLTransformer +retrieving revision 1.12 +diff -u -p -r1.12 XSLTransformer.java +--- openoffice.org.orig/filter/source/xsltfilter/XSLTransformer.java 20 May 2005 07:47:10 -0000 1.12 ++++ openoffice.org/filter/source/xsltfilter/XSLTransformer.java 2 Jun 2005 09:31:37 -0000 +@@ -95,35 +95,35 @@ public class XSLTransformer + * + */ - private static final int STREAM_BUFFER_SIZE = 4000; - private static final String STATSPROP = "XSLTransformer.statsfile"; +- private XInputStream xistream; +- private XOutputStream xostream; +- private BufferedOutputStream ostream; +- +- // private static HashMap templatecache; +- +- private static final int STREAM_BUFFER_SIZE = 4000; +- private static final String STATSPROP = "XSLTransformer.statsfile"; - private static PrintStream statsp; -+ static PrintStream statsp; +- +- private String stylesheeturl; +- private String targeturl; +- private String targetbaseurl; +- private String sourceurl; +- private String sourcebaseurl; +- private String pubtype = new String(); +- private String systype = new String(); ++ public XInputStream xistream; ++ public XOutputStream xostream; ++ public BufferedOutputStream ostream; ++ ++ // public static HashMap templatecache; ++ ++ public static final int STREAM_BUFFER_SIZE = 4000; ++ public static final String STATSPROP = "XSLTransformer.statsfile"; ++ public static PrintStream statsp; ++ ++ public String stylesheeturl; ++ public String targeturl; ++ public String targetbaseurl; ++ public String sourceurl; ++ public String sourcebaseurl; ++ public String pubtype = new String(); ++ public String systype = new String(); + + // processing thread +- private Thread t; ++ public Thread t; + + // listeners +- private Vector listeners = new Vector(); ++ public Vector listeners = new Vector(); + + // +- private XMultiServiceFactory svcfactory; ++ public XMultiServiceFactory svcfactory; + + // cache for transformations by stylesheet +- private static Hashtable transformers = new Hashtable(); ++ public static Hashtable transformers = new Hashtable(); + + // --- Initialization --- + +@@ -397,7 +397,7 @@ public class XSLTransformer + } + + // --- component management interfaces... --- +- private final static String _serviceName = "com.sun.star.comp.JAXTHelper"; ++ public final static String _serviceName = "com.sun.star.comp.JAXTHelper"; - private String stylesheeturl; - private String targeturl; + // Implement methods from interface XTypeProvider + public byte[] getImplementationId() { Index: openoffice.org.spec =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/openoffice.org.spec,v retrieving revision 1.202 retrieving revision 1.203 diff -u -r1.202 -r1.203 --- openoffice.org.spec 1 Jun 2005 13:07:37 -0000 1.202 +++ openoffice.org.spec 2 Jun 2005 10:21:29 -0000 1.203 @@ -34,6 +34,7 @@ Source5: GSI_pa-IN.sdf Source6: GSI_nn.sdf Source7: GSI_nb.sdf +Source8: GSI_ru.sdf BuildRequires: perl, sed, zip, bzip2, unzip, tar, findutils BuildRequires: autoconf, make >= 3.79.1, ant, flex, bison, perl-Compress-Zlib BuildRequires: gcc >= %{gccver}, gcc-c++ >= %{gccver}, binutils @@ -88,10 +89,13 @@ Patch37: openoffice.org-1.9.101.ooo48816.instsetoo_native.systempython.patch Patch38: openoffice.org-1.9.103.oooXXXXX.installation.disable-epm.fix.patch Patch39: openoffice.org-1.9.104-use-fontconfig-everywhere.patch -Patch40: openoffice.org-1.9.104-gcjawt.patch -Patch41: openoffice.org-1.9.104-berkeleydb-jni-casting-misuse.patch -Patch42: openoffice.org-1.9.106.ooo50107.briges.noexecstack.patch -Patch43: workspace.gcc4fwdecl.patch +Patch40: openoffice.org-1.9.104-berkeleydb-jni-casting-misuse.patch +Patch41: openoffice.org-1.9.106.ooo50107.briges.noexecstack.patch +Patch42: workspace.gcc4fwdecl.patch +Patch43: openoffice.org-1.9.106.ooo45298.psprint.pspfontcache.patch +Patch44: workspace.gcj5.patch +Patch45: workspace-fpicker4.patch +Patch46: openoffice.org-1.9.106.ooo44627.sal.brokencondition.patch %define instdir %{_libdir}/openoffice.org%{version} @@ -698,10 +702,13 @@ %patch37 -p1 -b .ooo48816.instsetoo_native.systempython.patch %patch38 -p1 -b .oooXXXXX.installation.disable-epm.fix.patch %patch39 -p1 -b .use-fontconfig-everwhere.patch -%patch40 -p1 -b .gcjawt.patch -%patch41 -p1 -b .berkeleydb-jni-casting-misuse.patch -%patch42 -p1 -b .briges.noexecstack.patch -%patch43 -p1 -b .workspace.gcc4fwdecl.patch +%patch40 -p1 -b .berkeleydb-jni-casting-misuse.patch +%patch41 -p1 -b .briges.noexecstack.patch +%patch42 -p1 -b .workspace.gcc4fwdecl.patch +%patch43 -p1 -b .ooo45298.psprint.pspfontcache.patch +%patch44 -p1 -b .workspace.gcj5.patch +%patch45 -p1 -b .workspace-fpicker4.patch +%patch46 -p1 -b .ooo44627.sal.brokencondition.patch #start ludicrous workaround #while we include these libs we need this, if/when we move to system @@ -774,6 +781,7 @@ localize -m -x -l pa-IN -f %{SOURCE5} localize -m -x -l nn -f %{SOURCE6} localize -m -x -l nb -f %{SOURCE7} +localize -m -x -l ru -f %{SOURCE8} cd ../.. cd instsetoo_native/util if ! build --all -P$MAXBUILDS; then @@ -892,7 +900,7 @@ mv $RPM_BUILD_ROOT/%{instdir}/share/xdg/writer.desktop $RPM_BUILD_ROOT/%{_datadir}/applications/openoffice.org-1.9-writer.desktop rm -rf $RPM_BUILD_ROOT/%{instdir}/share/xdg cp -r sysui/unxlng*/misc/redhat/usr/share/application-registry $RPM_BUILD_ROOT/%{_datadir} -mkdir $RPM_BUILD_ROOT/%{_datadir}/icons +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/icons cp -r sysui/unxlng*/misc/redhat/usr/share/icons/HighContrast $RPM_BUILD_ROOT/%{_datadir}/icons tar -C $RPM_BUILD_ROOT/%{_datadir}/icons -xzf %{SOURCE1} cp -r sysui/unxlng*/misc/redhat/usr/share/mime-info $RPM_BUILD_ROOT/%{_datadir} @@ -2507,6 +2515,12 @@ - drop gcc#20629# workaround - add openoffice.org-1.9.106.ooo50107.briges.noexecstack.patch - add workspace.gcc4fwdecl.patch to workaround new gcc pickiness +- add openoffice.org-1.9.106.ooo45298.psprint.pspfontcache.patch +- upstream openoffice.org-1.9.104-gcjawt.patch as part of gcj5 +- add GSI_ru.sdf for rh#158539# +- add workspace-fpicker4.patch +- add openoffice.org-1.9.106.ooo44627.sal.brokencondition.patch to + fix rh#158489# * Wed May 24 2005 Dan Williams - 1:1.9.104-3 - Remove openoffice.org-1.9.104.oooXXXXX.indic-font-fallbacks.patch Index: sources =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/sources,v retrieving revision 1.69 retrieving revision 1.70 diff -u -r1.69 -r1.70 --- sources 31 May 2005 11:09:24 -0000 1.69 +++ sources 2 Jun 2005 10:21:29 -0000 1.70 @@ -6,3 +6,4 @@ 3d59875531c9c84789b0dedf758eb96d GSI_gu-IN.sdf a2c66d8f4be2f02484a6f9731f799382 openoffice.org-myspell-contrib.tar.gz 7e55871c27385dcf858586180aacbed1 SRC680_m106.tar.bz2 +643082a18fe2c8dc4f49cec1069ce6a0 GSI_ru.sdf workspace.gcc4fwdecl.patch: bf_forms/source/component/Image.hxx | 0 bf_svx/source/editeng/impedit.hxx | 0 binfilter/bf_forms/source/component/Image.hxx | 2 + binfilter/bf_svx/source/editeng/impedit.hxx | 17 ++++++++++ binfilter/inc/bf_sfx2/bindings.hxx | 5 ++ binfilter/inc/bf_sfx2/frame.hxx | 4 ++ binfilter/inc/bf_sfx2/objface.hxx | 2 + binfilter/inc/bf_sfx2/topfrm.hxx | 7 ++++ binfilter/inc/bf_sfx2/unoctitm.hxx | 2 + binfilter/inc/bf_svx/svdedxv.hxx | 2 + binfilter/inc/bf_svx/svdhdl.hxx | 2 + binfilter/inc/bf_svx/svdobj.hxx | 4 ++ binfilter/inc/bf_svx/svdotext.hxx | 2 + binfilter/inc/bf_svx/svdpntv.hxx | 5 ++ binfilter/inc/bf_svx/unoshape.hxx | 4 ++ inc/bf_sfx2/bindings.hxx | 0 inc/bf_sfx2/frame.hxx | 0 inc/bf_sfx2/objface.hxx | 0 inc/bf_sfx2/topfrm.hxx | 0 inc/bf_sfx2/unoctitm.hxx | 0 inc/bf_svx/svdedxv.hxx | 0 inc/bf_svx/svdhdl.hxx | 0 inc/bf_svx/svdobj.hxx | 0 inc/bf_svx/svdotext.hxx | 0 inc/bf_svx/svdpntv.hxx | 0 inc/bf_svx/unoshape.hxx | 0 inc/mapmod.hxx | 0 openoffice.org/automation/source/server/statemnt.hxx | 1 openoffice.org/basctl/source/inc/baside3.hxx | 1 openoffice.org/basctl/source/inc/bastypes.hxx | 1 openoffice.org/basctl/source/inc/dlgedobj.hxx | 1 openoffice.org/comphelper/inc/comphelper/propmultiplex.hxx | 2 + openoffice.org/configmgr/source/api2/confproviderimpl2.hxx | 2 + openoffice.org/configmgr/source/api2/providerimpl.hxx | 1 openoffice.org/connectivity/inc/connectivity/sqliterator.hxx | 2 - openoffice.org/connectivity/source/inc/file/fcomp.hxx | 1 openoffice.org/dbaccess/source/core/dataaccess/ModelImpl.hxx | 3 + openoffice.org/extensions/source/bibliography/framectr.hxx | 1 openoffice.org/extensions/source/bibliography/loadlisteneradapter.hxx | 2 + openoffice.org/forms/source/component/clickableimage.hxx | 1 openoffice.org/padmin/source/padialog.hxx | 1 openoffice.org/psprint/inc/psprint/fontmanager.hxx | 2 + openoffice.org/psprint/inc/psprint/printergfx.hxx | 1 openoffice.org/sc/source/ui/attrdlg/scdlgfact.hxx | 1 openoffice.org/sd/source/ui/inc/animobjs.hxx | 1 openoffice.org/sd/source/ui/inc/navigatr.hxx | 2 + openoffice.org/sd/source/ui/slidesorter/inc/view/SlsLayouter.hxx | 1 openoffice.org/sfx2/inc/bindings.hxx | 1 openoffice.org/sfx2/inc/frame.hxx | 2 + openoffice.org/sfx2/inc/ipclient.hxx | 1 openoffice.org/sfx2/inc/objface.hxx | 1 openoffice.org/sfx2/inc/topfrm.hxx | 2 + openoffice.org/sfx2/inc/unoctitm.hxx | 1 openoffice.org/sfx2/source/doc/sfxbasemodel.cxx | 4 ++ openoffice.org/sfx2/source/inc/splitwin.hxx | 1 openoffice.org/so3/source/inplace/applet2.cxx | 3 + openoffice.org/starmath/inc/symbol.hxx | 2 + openoffice.org/starmath/inc/view.hxx | 1 openoffice.org/stoc/source/inspect/introspection.cxx | 1 openoffice.org/svtools/inc/ctrltool.hxx | 1 openoffice.org/svtools/inc/inettbc.hxx | 2 + openoffice.org/svtools/inc/poolitem.hxx | 2 + openoffice.org/svx/inc/float3d.hxx | 1 openoffice.org/svx/inc/fmgridcl.hxx | 1 openoffice.org/svx/inc/fmpage.hxx | 1 openoffice.org/svx/inc/fmview.hxx | 3 + openoffice.org/svx/inc/graphctl.hxx | 1 openoffice.org/svx/inc/imapdlg.hxx | 1 openoffice.org/svx/inc/srchdlg.hxx | 1 openoffice.org/svx/inc/svdedxv.hxx | 1 openoffice.org/svx/inc/svdfppt.hxx | 1 openoffice.org/svx/inc/svdhdl.hxx | 1 openoffice.org/svx/inc/svdobj.hxx | 1 openoffice.org/svx/inc/svdograf.hxx | 1 openoffice.org/svx/inc/svdotext.hxx | 1 openoffice.org/svx/inc/svdpagv.hxx | 1 openoffice.org/svx/inc/svdpntv.hxx | 2 + openoffice.org/svx/inc/svdvmark.hxx | 1 openoffice.org/svx/inc/unoedsrc.hxx | 1 openoffice.org/svx/inc/unoshape.hxx | 3 - openoffice.org/svx/source/inc/fmpgeimp.hxx | 1 openoffice.org/svx/source/inc/fmvwimp.hxx | 3 + openoffice.org/sw/inc/fchrfmt.hxx | 1 openoffice.org/sw/inc/fmtflcnt.hxx | 1 openoffice.org/sw/inc/fmtfld.hxx | 1 openoffice.org/sw/inc/fmtftn.hxx | 1 openoffice.org/sw/inc/fmtinfmt.hxx | 1 openoffice.org/sw/inc/fmtrfmrk.hxx | 2 + openoffice.org/sw/inc/fmtruby.hxx | 1 openoffice.org/sw/inc/section.hxx | 1 openoffice.org/sw/source/core/access/accfrmobjslist.hxx | 2 + openoffice.org/sw/source/core/inc/doctxm.hxx | 1 openoffice.org/tools/inc/fsys.hxx | 1 openoffice.org/ucb/source/core/ucbstore.hxx | 1 openoffice.org/vcl/inc/alpha.hxx | 1 openoffice.org/vcl/inc/bitmap.hxx | 1 openoffice.org/vcl/inc/outdev.hxx | 1 openoffice.org/xmloff/inc/xmlaustp.hxx | 1 openoffice.org/xmlsecurity/source/helper/xsecctl.hxx | 3 + vcl/inc/mapmod.hxx | 1 100 files changed, 157 insertions(+), 3 deletions(-) Index: workspace.gcc4fwdecl.patch =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/workspace.gcc4fwdecl.patch,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- workspace.gcc4fwdecl.patch 2 Jun 2005 07:37:02 -0000 1.3 +++ workspace.gcc4fwdecl.patch 2 Jun 2005 10:21:29 -0000 1.4 @@ -994,13 +994,29 @@ // WARNING: if you update the supported interfaces, also update the // SvxShape::queryAggregation helper method +Index: inc/bf_sfx2/unoctitm.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_sfx2/unoctitm.hxx,v +retrieving revision 1.3 +diff -u -r1.3 unoctitm.hxx +--- openoffice.org.orig/binfilter/inc/bf_sfx2/unoctitm.hxx 13 Apr 2005 08:11:49 -0000 1.3 ++++ openoffice.org/binfilter/inc/bf_sfx2/unoctitm.hxx 2 Jun 2005 07:33:15 -0000 +@@ -184,6 +184,8 @@ + { return aListeners; } + }; + ++class SfxDispatchController_Impl; ++ + class SfxOfficeDispatch : public SfxStatusDispatcher + , public ::com::sun::star::lang::XUnoTunnel + { Index: inc/bf_sfx2/topfrm.hxx =================================================================== RCS file: /cvs/framework/binfilter/inc/bf_sfx2/topfrm.hxx,v retrieving revision 1.2 diff -u -r1.2 topfrm.hxx --- openoffice.org.orig/binfilter/inc/bf_sfx2/topfrm.hxx 6 Nov 2003 08:26:31 -0000 1.2 -+++ openoffice.org/binfilter/inc/bf_sfx2/topfrm.hxx 2 Jun 2005 07:31:27 -0000 ++++ openoffice.org/binfilter/inc/bf_sfx2/topfrm.hxx 2 Jun 2005 10:20:17 -0000 @@ -80,6 +80,10 @@ // class SfxTopFrame ----------------------------------------------------- @@ -1012,19 +1028,13 @@ class SfxTopFrame : public SfxFrame { friend class SfxTopWindow_Impl; -Index: inc/bf_sfx2/unoctitm.hxx -=================================================================== -RCS file: /cvs/framework/binfilter/inc/bf_sfx2/unoctitm.hxx,v -retrieving revision 1.3 -diff -u -r1.3 unoctitm.hxx ---- openoffice.org.orig/binfilter/inc/bf_sfx2/unoctitm.hxx 13 Apr 2005 08:11:49 -0000 1.3 -+++ openoffice.org/binfilter/inc/bf_sfx2/unoctitm.hxx 2 Jun 2005 07:33:15 -0000 -@@ -184,6 +184,8 @@ - { return aListeners; } +@@ -117,6 +121,9 @@ }; -+class SfxDispatchController_Impl; + // class SfxTopViewFrame ------------------------------------------------- + - class SfxOfficeDispatch : public SfxStatusDispatcher - , public ::com::sun::star::lang::XUnoTunnel ++class SfxTopWindow_Impl; ++class SfxTopViewFrame_Impl; + + class SfxTopViewFrame : public SfxViewFrame { --- openoffice.org-1.9.104-gcjawt.patch DELETED --- From fedora-cvs-commits at redhat.com Thu Jun 2 10:37:01 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 2 Jun 2005 06:37:01 -0400 Subject: rpms/openoffice.org/devel workspace-fpicker4.patch,1.1,1.2 Message-ID: <200506021037.j52Ab1xb027010@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv26996 Modified Files: workspace-fpicker4.patch Log Message: drop removal parts of patch workspace-fpicker4.patch: SalGtkFilePicker.cxx | 339 ++++++++++++++++++++++++++++++--------------------- SalGtkFilePicker.hxx | 22 +-- SalGtkPicker.cxx | 17 +- SalGtkPicker.hxx | 5 makefile.mk | 2 5 files changed, 229 insertions(+), 156 deletions(-) Index: workspace-fpicker4.patch =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/workspace-fpicker4.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- workspace-fpicker4.patch 2 Jun 2005 10:21:29 -0000 1.1 +++ workspace-fpicker4.patch 2 Jun 2005 10:36:57 -0000 1.2 @@ -712,642 +712,6 @@ gint runandwaitforresult(); }; -Index: source/unx/gnome/asynceventnotifier.cxx -=================================================================== -RCS file: source/unx/gnome/asynceventnotifier.cxx -diff -N source/unx/gnome/asynceventnotifier.cxx ---- openoffice.org.orig/fpicker/source/unx/gnome/asynceventnotifier.cxx 18 Jan 2005 13:25:45 -0000 1.3 -+++ openoffice.org/fpicker//dev/null 1 Jan 1970 00:00:00 -0000 -@@ -1,244 +0,0 @@ --/************************************************************************* -- * -- * $RCSfile$ -- * -- * $Revision$ -- * -- * last change: $Author$ $Date$ -- * -- * The Contents of this file are made available subject to the terms of -- * either of the following licenses -- * -- * - GNU Lesser General Public License Version 2.1 -- * - Sun Industry Standards Source License Version 1.1 -- * -- * Sun Microsystems Inc., October, 2000 -- * -- * GNU Lesser General Public License Version 2.1 -- * ============================================= -- * Copyright 2000 by Sun Microsystems, Inc. -- * 901 San Antonio Road, Palo Alto, CA 94303, USA -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser General Public -- * License version 2.1, as published by the Free Software Foundation. -- * -- * This library is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * Lesser General Public License for more details. -- * -- * You should have received a copy of the GNU Lesser General Public -- * License along with this library; if not, write to the Free Software -- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, -- * MA 02111-1307 USA -- * -- * -- * Sun Industry Standards Source License Version 1.1 -- * ================================================= -- * The contents of this file are subject to the Sun Industry Standards -- * Source License Version 1.1 (the "License"); You may not use this file -- * except in compliance with the License. You may obtain a copy of the -- * License at http://www.openoffice.org/license.html. -- * -- * Software provided under this License is provided on an "AS IS" basis, -- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, -- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, -- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. -- * See the License for the specific provisions governing your rights and -- * obligations concerning the Software. -- * -- * The Initial Developer of the Original Code is: Sun Microsystems, Inc. -- * -- * Copyright: 2000 by Sun Microsystems, Inc. -- * -- * All Rights Reserved. -- * -- * Contributor(s): _______________________________________ -- * -- * -- ************************************************************************/ -- --//------------------------------------------------------------------------ --// includes --//------------------------------------------------------------------------ -- --#ifndef _OSL_DIAGNOSE_H_ --#include --#endif -- --#ifndef _ASYNCEVENTNOTIFIER_HXX_ --#include "asynceventnotifier.hxx" --#endif -- --#ifndef _COM_SUN_STAR_UNO_RUNTIMEEXCEPTION_HPP_ --#include --#endif -- --#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPICKERLISTENER_HPP_ --#include --#endif -- --#include -- --//------------------------------------------------ --// --//------------------------------------------------ -- --using namespace com::sun::star; --using ::com::sun::star::ui::dialogs::XFilePickerListener; -- --//------------------------------------------------ --// --//------------------------------------------------ -- --SalGtkAsyncEventNotifier::SalGtkAsyncEventNotifier(cppu::OBroadcastHelper& rBroadcastHelper) : -- m_bRun(false) -- , m_rBroadcastHelper(rBroadcastHelper) --{ --} -- --//------------------------------------------------ --// --//------------------------------------------------ -- --SalGtkAsyncEventNotifier::~SalGtkAsyncEventNotifier() --{ -- OSL_ENSURE(!isRunning(),"Thread not stopped, destroying this instance leads to desaster"); --} -- --//------------------------------------------------ --// --//------------------------------------------------ -- --bool SAL_CALL SalGtkAsyncEventNotifier::startup(bool bCreateSuspended) --{ -- osl::MutexGuard aGuard(m_aMutex); -- -- // m_bRun may already be false because of a -- // call to stop but the thread did not yet -- // terminate so m_hEventNotifierThread is -- // yet a valid thread handle that should -- // not be overwritten -- if (!m_bRun) -- { -- if (bCreateSuspended) -- m_bRun = createSuspended(); -- else -- m_bRun = create(); -- } -- -- OSL_POSTCOND(m_bRun, "Could not start event notifier!"); -- -- return m_bRun; --} -- -- --//------------------------------------------------ --// --//------------------------------------------------ --void SAL_CALL SalGtkAsyncEventNotifier::shutdown() --{ -- osl::ResettableMutexGuard aGuard(m_aMutex); -- -- OSL_PRECOND(m_bRun,"Event notifier does not run!"); -- -- m_bRun = false; -- m_aExitCondition.reset(); -- -- m_aNotifyCondition.set(); -- -- aGuard.clear(); -- m_aExitCondition.wait(); -- -- terminate(); -- join(); --} -- --//------------------------------------------------ --// --//------------------------------------------------ -- --void SAL_CALL SalGtkAsyncEventNotifier::notifyEvent(CEventNotification* EventNotification) --{ -- osl::MutexGuard aGuard(m_aMutex); -- -- OSL_ENSURE(m_bRun,"Event notifier is not running!"); -- -- if (m_bRun) -- { -- m_EventList.push_back(EventNotification); -- m_aNotifyCondition.set(); -- } --} -- --//------------------------------------------------ --// --//------------------------------------------------ -- --size_t SAL_CALL SalGtkAsyncEventNotifier::getEventListSize() --{ -- osl::MutexGuard aGuard(m_aMutex); -- return m_EventList.size(); --} -- --//------------------------------------------------ --// --//------------------------------------------------ -- --CEventNotification* SAL_CALL SalGtkAsyncEventNotifier::getNextEventRecord() --{ -- osl::MutexGuard aGuard(m_aMutex); -- return m_EventList.front(); --} --//------------------------------------------------ --// --//------------------------------------------------ -- --void SAL_CALL SalGtkAsyncEventNotifier::removeNextEventRecord() --{ -- osl::MutexGuard aGuard(m_aMutex); -- m_EventList.pop_front(); --} -- --//------------------------------------------------ --// --//------------------------------------------------ -- --void SAL_CALL SalGtkAsyncEventNotifier::run() --{ -- while (m_bRun) -- { -- m_aNotifyCondition.wait(); -- -- while (getEventListSize() > 0) -- { -- std::auto_ptr EventNotification(getNextEventRecord()); -- removeNextEventRecord(); -- -- ::cppu::OInterfaceContainerHelper* pICHelper = -- m_rBroadcastHelper.getContainer(getCppuType( -- (uno::Reference*)0)); -- -- if (pICHelper) -- { -- ::cppu::OInterfaceIteratorHelper iter(*pICHelper); -- -- while(iter.hasMoreElements()) -- { -- try -- { -- EventNotification->notifyEventListener(iter.next()); -- } -- catch(uno::RuntimeException&) -- { -- OSL_ENSURE(sal_False, -- "RuntimeException during event dispatching"); -- } -- } -- } -- } // while(getEventListSize() > 0) -- m_aNotifyCondition.reset(); -- } // while(m_bRun) -- m_aExitCondition.set(); --} -Index: source/unx/gnome/asynceventnotifier.hxx -=================================================================== -RCS file: source/unx/gnome/asynceventnotifier.hxx -diff -N source/unx/gnome/asynceventnotifier.hxx ---- openoffice.org.orig/fpicker/source/unx/gnome/asynceventnotifier.hxx 18 Jan 2005 13:26:00 -0000 1.3 -+++ openoffice.org/fpicker//dev/null 1 Jan 1970 00:00:00 -0000 -@@ -1,128 +0,0 @@ --/************************************************************************* -- * -- * $RCSfile$ -- * -- * $Revision$ -- * -- * last change: $Author$ $Date$ -- * -- * The Contents of this file are made available subject to the terms of -- * either of the following licenses -- * -- * - GNU Lesser General Public License Version 2.1 -- * - Sun Industry Standards Source License Version 1.1 -- * -- * Sun Microsystems Inc., October, 2000 -- * -- * GNU Lesser General Public License Version 2.1 -- * ============================================= -- * Copyright 2000 by Sun Microsystems, Inc. -- * 901 San Antonio Road, Palo Alto, CA 94303, USA -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser General Public -- * License version 2.1, as published by the Free Software Foundation. -- * -- * This library is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * Lesser General Public License for more details. -- * -- * You should have received a copy of the GNU Lesser General Public -- * License along with this library; if not, write to the Free Software -- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, -- * MA 02111-1307 USA -- * -- * -- * Sun Industry Standards Source License Version 1.1 -- * ================================================= -- * The contents of this file are subject to the Sun Industry Standards -- * Source License Version 1.1 (the "License"); You may not use this file -- * except in compliance with the License. You may obtain a copy of the -- * License at http://www.openoffice.org/license.html. -- * -- * Software provided under this License is provided on an "AS IS" basis, -- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, -- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, -- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. -- * See the License for the specific provisions governing your rights and -- * obligations concerning the Software. -- * -- * The Initial Developer of the Original Code is: Sun Microsystems, Inc. -- * -- * Copyright: 2000 by Sun Microsystems, Inc. -- * -- * All Rights Reserved. -- * -- * Contributor(s): _______________________________________ -- * -- * -- ************************************************************************/ -- --#ifndef _ASYNCEVENTNOTIFIER_HXX_ --#define _ASYNCEVENTNOTIFIER_HXX_ -- --//------------------------------------------------------------------------ --// includes --//------------------------------------------------------------------------ -- --#ifndef _OSL_MUTEX_HXX_ --#include --#endif -- --#ifndef _OSL_CONDITN_HXX_ --#include --#endif -- --#ifndef _CPPUHELPER_INTERFACECONTAINER_H_ --#include --#endif -- --#include --#include -- --#ifndef _EVENTNOTIFICATION_HXX_ --#include "eventnotification.hxx" --#endif --#ifndef _THREAD_HXX_ --#include --#endif -- --//--------------------------------------------- --// --//--------------------------------------------- -- --class SalGtkAsyncEventNotifier : public ::osl::Thread --{ --public: -- SalGtkAsyncEventNotifier(cppu::OBroadcastHelper& rBroadcastHelper); -- ~SalGtkAsyncEventNotifier(); -- -- bool SAL_CALL startup(bool bCreateSuspended = true); -- void SAL_CALL shutdown(); -- -- // this class is responsible for the memory management of -- // the CEventNotification instance -- void SAL_CALL notifyEvent(CEventNotification* EventNotification); --private: -- void SAL_CALL run( ); -- -- bool m_bRun; -- osl::Mutex m_aMutex; -- ::osl::Condition m_aExitCondition; -- ::osl::Condition m_aNotifyCondition; -- -- size_t SAL_CALL getEventListSize(); -- CEventNotification* SAL_CALL getNextEventRecord(); -- void SAL_CALL removeNextEventRecord(); -- --private: -- std::list m_EventList; -- ::cppu::OBroadcastHelper& m_rBroadcastHelper; --// prevent copy and assignment --private: -- SalGtkAsyncEventNotifier( const SalGtkAsyncEventNotifier& ); -- SalGtkAsyncEventNotifier& operator=( const SalGtkAsyncEventNotifier& ); --}; -- --#endif -Index: source/unx/gnome/filepickereventnotification.cxx -=================================================================== -RCS file: source/unx/gnome/filepickereventnotification.cxx -diff -N source/unx/gnome/filepickereventnotification.cxx ---- openoffice.org.orig/fpicker/source/unx/gnome/filepickereventnotification.cxx 8 Sep 2004 17:09:33 -0000 1.2 -+++ openoffice.org/fpicker//dev/null 1 Jan 1970 00:00:00 -0000 -@@ -1,121 +0,0 @@ --/************************************************************************* -- * -- * $RCSfile$ -- * -- * $Revision$ -- * -- * last change: $Author$ $Date$ -- * -- * The Contents of this file are made available subject to the terms of -- * either of the following licenses -- * -- * - GNU Lesser General Public License Version 2.1 -- * - Sun Industry Standards Source License Version 1.1 -- * -- * Sun Microsystems Inc., October, 2000 -- * -- * GNU Lesser General Public License Version 2.1 -- * ============================================= -- * Copyright 2000 by Sun Microsystems, Inc. -- * 901 San Antonio Road, Palo Alto, CA 94303, USA -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser General Public -- * License version 2.1, as published by the Free Software Foundation. -- * -- * This library is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * Lesser General Public License for more details. -- * -- * You should have received a copy of the GNU Lesser General Public -- * License along with this library; if not, write to the Free Software -- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, -- * MA 02111-1307 USA -- * -- * -- * Sun Industry Standards Source License Version 1.1 -- * ================================================= -- * The contents of this file are subject to the Sun Industry Standards -- * Source License Version 1.1 (the "License"); You may not use this file -- * except in compliance with the License. You may obtain a copy of the -- * License at http://www.openoffice.org/license.html. -- * -- * Software provided under this License is provided on an "AS IS" basis, -- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, -- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, -- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. -- * See the License for the specific provisions governing your rights and -- * obligations concerning the Software. -- * -- * The Initial Developer of the Original Code is: Sun Microsystems, Inc. -- * -- * Copyright: 2000 by Sun Microsystems, Inc. -- * -- * All Rights Reserved. -- * -- * Contributor(s): _______________________________________ -- * -- * -- ************************************************************************/ -- --#ifndef _FILEPICKEREVENTNOTIFICATION_HXX_ --#include "filepickereventnotification.hxx" --#endif -- --#ifndef _SAL_TYPES_H_ --#include --#endif -- --//----------------------------------- --// namespace directives --//----------------------------------- -- --using namespace com::sun::star::uno; --using namespace com::sun::star::ui::dialogs; -- --//----------------------------------- --// A FilePicker event without --// parameter --//----------------------------------- -- --SalGtkFilePickerEventNotification::SalGtkFilePickerEventNotification(EventListenerMethod_t EventListenerMethod) : -- m_EventListenerMethod(EventListenerMethod) --{ --} -- --//---------------------------------- --// --//---------------------------------- -- --void SAL_CALL SalGtkFilePickerEventNotification::notifyEventListener( Reference< XInterface > xListener ) --{ -- Reference xFilePickerListener(xListener,UNO_QUERY); -- if (xFilePickerListener.is()) -- (xFilePickerListener.get()->*m_EventListenerMethod)(); --} -- -- --//################################################## -- -- --//---------------------------------- --// A FilePicker event with parameter --//---------------------------------- -- --SalGtkFilePickerParamEventNotification::SalGtkFilePickerParamEventNotification(EventListenerMethod_t EventListenerMethod, const FilePickerEvent& FilePickerEvent) : -- m_EventListenerMethod(EventListenerMethod), -- m_FilePickerEvent(FilePickerEvent) --{ --} -- --//---------------------------------- --// A FilePicker event with parameter --//---------------------------------- -- --void SAL_CALL SalGtkFilePickerParamEventNotification::notifyEventListener( Reference< XInterface > xListener ) --{ -- Reference xFilePickerListener(xListener,UNO_QUERY); -- if (xFilePickerListener.is()) -- (xFilePickerListener.get()->*m_EventListenerMethod)(m_FilePickerEvent); --} -Index: source/unx/gnome/filepickereventnotification.hxx -=================================================================== -RCS file: source/unx/gnome/filepickereventnotification.hxx -diff -N source/unx/gnome/filepickereventnotification.hxx ---- openoffice.org.orig/fpicker/source/unx/gnome/filepickereventnotification.hxx 8 Sep 2004 17:09:45 -0000 1.2 -+++ openoffice.org/fpicker//dev/null 1 Jan 1970 00:00:00 -0000 -@@ -1,115 +0,0 @@ --/************************************************************************* -- * -- * $RCSfile$ -- * -- * $Revision$ -- * -- * last change: $Author$ $Date$ -- * -- * The Contents of this file are made available subject to the terms of -- * either of the following licenses -- * -- * - GNU Lesser General Public License Version 2.1 -- * - Sun Industry Standards Source License Version 1.1 -- * -- * Sun Microsystems Inc., October, 2000 -- * -- * GNU Lesser General Public License Version 2.1 -- * ============================================= -- * Copyright 2000 by Sun Microsystems, Inc. -- * 901 San Antonio Road, Palo Alto, CA 94303, USA -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser General Public -- * License version 2.1, as published by the Free Software Foundation. -- * -- * This library is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * Lesser General Public License for more details. -- * -- * You should have received a copy of the GNU Lesser General Public -- * License along with this library; if not, write to the Free Software -- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, -- * MA 02111-1307 USA -- * -- * -- * Sun Industry Standards Source License Version 1.1 -- * ================================================= -- * The contents of this file are subject to the Sun Industry Standards -- * Source License Version 1.1 (the "License"); You may not use this file -- * except in compliance with the License. You may obtain a copy of the -- * License at http://www.openoffice.org/license.html. -- * -- * Software provided under this License is provided on an "AS IS" basis, -- * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, -- * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, -- * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. -- * See the License for the specific provisions governing your rights and -- * obligations concerning the Software. -- * -- * The Initial Developer of the Original Code is: Sun Microsystems, Inc. -- * -- * Copyright: 2000 by Sun Microsystems, Inc. -- * -- * All Rights Reserved. -- * -- * Contributor(s): _______________________________________ -- * -- * -- ************************************************************************/ -- --#ifndef _FILEPICKEREVENTNOTIFICATION_HXX_ --#define _FILEPICKEREVENTNOTIFICATION_HXX_ -- --#ifndef _EVENTNOTIFICATION_HXX_ --#include "eventnotification.hxx" --#endif -- --#ifndef _COM_SUN_STAR_UI_DIALOGS_XFILEPICKERLISTENER_HPP_ --#include --#endif -- --#ifndef _COM_SUN_STAR_UI_DIALOGS_FILEPICKEREVENT_HPP_ --#include --#endif -- --//----------------------------------- --// A FilePicker event without --// parameter --//----------------------------------- -- --class SalGtkFilePickerEventNotification : public CEventNotification --{ --public: -- typedef void (SAL_CALL ::com::sun::star::ui::dialogs::XFilePickerListener::*EventListenerMethod_t)(); -- --public: -- SalGtkFilePickerEventNotification(EventListenerMethod_t EventListenerMethod); -- -- virtual void SAL_CALL notifyEventListener( com::sun::star::uno::Reference< com::sun::star::uno::XInterface > xListener ); -- --private: -- EventListenerMethod_t m_EventListenerMethod; --}; -- --//---------------------------------- --// A FilePicker event with parameter --//---------------------------------- -- --class SalGtkFilePickerParamEventNotification : public CEventNotification --{ --public: -- typedef void (SAL_CALL ::com::sun::star::ui::dialogs::XFilePickerListener::*EventListenerMethod_t)(const ::com::sun::star::ui::dialogs::FilePickerEvent&); -- -- SalGtkFilePickerParamEventNotification(EventListenerMethod_t EventListenerMethod, const ::com::sun::star::ui::dialogs::FilePickerEvent& FilePickerEvent); -- -- virtual void SAL_CALL notifyEventListener( com::sun::star::uno::Reference< com::sun::star::uno::XInterface > xListener ); -- --private: -- EventListenerMethod_t m_EventListenerMethod; -- com::sun::star::ui::dialogs::FilePickerEvent m_FilePickerEvent; --}; -- -- --#endif Index: source/unx/gnome/makefile.mk =================================================================== RCS file: /cvs/gsl/fpicker/source/unx/gnome/makefile.mk,v From fedora-cvs-commits at redhat.com Thu Jun 2 11:57:15 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 2 Jun 2005 07:57:15 -0400 Subject: rpms/selinux-policy-targeted/FC-4 policy-20050602.patch, NONE, 1.1 selinux-policy-targeted.spec, 1.312, 1.313 policy-20050502.patch, 1.10, NONE policy-20050516.patch, 1.8, NONE Message-ID: <200506021157.j52BvFwJ006132@cvs.devel.redhat.com> Author: dwalsh Update of /cvs/dist/rpms/selinux-policy-targeted/FC-4 In directory cvs.devel.redhat.com:/tmp/cvs-serv6118 Modified Files: selinux-policy-targeted.spec Added Files: policy-20050602.patch Removed Files: policy-20050502.patch policy-20050516.patch Log Message: * Thu Jun 2 2005 Dan Walsh 1.23.17-3.1 - Fix cups using ptal - Fix acct.te policy-20050602.patch: domains/program/unused/acct.te | 2 +- domains/program/unused/cups.te | 6 ++++++ file_contexts/distros.fc | 2 +- file_contexts/types.fc | 1 + net_contexts | 9 +++++++++ 5 files changed, 18 insertions(+), 2 deletions(-) --- NEW FILE policy-20050602.patch --- diff --exclude-from=exclude -N -u -r nsapolicy/domains/program/unused/acct.te policy-1.23.17/domains/program/unused/acct.te --- nsapolicy/domains/program/unused/acct.te 2005-05-25 11:28:28.000000000 -0400 +++ policy-1.23.17/domains/program/unused/acct.te 2005-06-02 07:46:10.000000000 -0400 @@ -21,7 +21,7 @@ # for SSP allow acct_t urandom_device_t:chr_file read; -type acct_data_t, file_type, sysadmfile; +type acct_data_t, file_type, logfile, sysadmfile; allow acct_t self:capability sys_pacct; diff --exclude-from=exclude -N -u -r nsapolicy/domains/program/unused/cups.te policy-1.23.17/domains/program/unused/cups.te --- nsapolicy/domains/program/unused/cups.te 2005-06-02 07:44:15.000000000 -0400 +++ policy-1.23.17/domains/program/unused/cups.te 2005-06-02 07:45:27.000000000 -0400 @@ -150,6 +150,12 @@ allow ptal_t self:capability { chown sys_rawio }; allow ptal_t self:{ unix_dgram_socket unix_stream_socket } create_socket_perms; allow ptal_t self:unix_stream_socket { listen accept }; +can_network_server_tcp(ptal_t) +type ptal_port_t, port_type, reserved_port_type; +allow ptal_t ptal_port_t:tcp_socket name_bind; +allow userdomain ptal_t:unix_stream_socket connectto; +allow userdomain ptal_var_run_t:sock_file write; +allow userdomain ptal_var_run_t:dir search; allow ptal_t self:fifo_file rw_file_perms; allow ptal_t device_t:dir read; allow ptal_t printer_device_t:chr_file rw_file_perms; diff --exclude-from=exclude -N -u -r nsapolicy/file_contexts/distros.fc policy-1.23.17/file_contexts/distros.fc --- nsapolicy/file_contexts/distros.fc 2005-05-25 11:28:30.000000000 -0400 +++ policy-1.23.17/file_contexts/distros.fc 2005-06-02 07:49:02.000000000 -0400 @@ -156,7 +156,7 @@ /usr(/.*)?/Reader/intellinux/plug_ins/.*\.api -- system_u:object_r:shlib_t /usr(/.*)?/Reader/intellinux/plug_ins/AcroForm\.api -- system_u:object_r:texrel_shlib_t /usr(/.*)?/Reader/intellinux/plug_ins/EScript\.api -- system_u:object_r:texrel_shlib_t - +/usr(/.*)?/Reader/intellinux/SPPlugins/ADMPlugin\.apl -- system_u:object_r:texrel_shlib_t ') ifdef(`distro_suse', ` diff --exclude-from=exclude -N -u -r nsapolicy/file_contexts/types.fc policy-1.23.17/file_contexts/types.fc --- nsapolicy/file_contexts/types.fc 2005-06-02 07:44:15.000000000 -0400 +++ policy-1.23.17/file_contexts/types.fc 2005-06-02 07:49:26.000000000 -0400 @@ -499,6 +499,7 @@ # /usr/lib(64)?/[^/]*thunderbird[^/]*/thunderbird -- system_u:object_r:bin_t /usr/lib(64)?/[^/]*thunderbird[^/]*/thunderbird-bin -- system_u:object_r:bin_t +/usr/lib(64)?/[^/]*thunderbird[^/]*/open-browser\.sh -- system_u:object_r:bin_t /usr/lib(64)?/[^/]*thunderbird[^/]*/run-mozilla\.sh -- system_u:object_r:bin_t /usr/lib(64)?/[^/]*thunderbird[^/]*/mozilla-xremote-client -- system_u:object_r:bin_t diff --exclude-from=exclude -N -u -r nsapolicy/net_contexts policy-1.23.17/net_contexts --- nsapolicy/net_contexts 2005-05-25 11:28:29.000000000 -0400 +++ policy-1.23.17/net_contexts 2005-06-02 07:50:04.000000000 -0400 @@ -136,6 +136,14 @@ portcon tcp 995 system_u:object_r:pop_port_t portcon tcp 1109 system_u:object_r:pop_port_t ') +ifdef(`gift.te', ` +portcon tcp 1213 system_u:object_r:giftd_port_t +portcon tcp 1214 system_u:object_r:giftd_fasttrack_port_t +portcon udp 1214 system_u:object_r:giftd_fasttrack_port_t +portcon tcp 2141 system_u:object_r:giftd_openft_port_t +portcon tcp 2513 system_u:object_r:giftd_openft_port_t +portcon tcp 3606 system_u:object_r:giftd_gnutella_port_t +') ifdef(`nessusd.te', `portcon tcp 1241 system_u:object_r:nessus_port_t') ifdef(`monopd.te', `portcon tcp 1234 system_u:object_r:monopd_port_t') ifdef(`radius.te', ` @@ -191,6 +199,7 @@ ') ifdef(`postgresql.te', `portcon tcp 5432 system_u:object_r:postgresql_port_t') ifdef(`nrpe.te', `portcon tcp 5666 system_u:object_r:inetd_child_port_t') +ifdef(`cups.te', `portcon tcp 5703 system_u:object_r:ptal_port_t') ifdef(`xdm.te', ` portcon tcp 5900 system_u:object_r:vnc_port_t ') Index: selinux-policy-targeted.spec =================================================================== RCS file: /cvs/dist/rpms/selinux-policy-targeted/FC-4/selinux-policy-targeted.spec,v retrieving revision 1.312 retrieving revision 1.313 diff -u -r1.312 -r1.313 --- selinux-policy-targeted.spec 28 May 2005 05:16:24 -0000 1.312 +++ selinux-policy-targeted.spec 2 Jun 2005 11:57:13 -0000 1.313 @@ -11,7 +11,7 @@ Summary: SELinux %{type} policy configuration Name: selinux-policy-%{type} Version: 1.23.17 -Release: 3 +Release: 3.1 License: GPL Group: System Environment/Base Source: http://www.nsa.gov/selinux/archives/policy-%{version}.tgz @@ -20,6 +20,7 @@ BuildRoot: %{_tmppath}/%{name}-buildroot Patch: policy-20050525.patch Patch1: policy-%{type}.patch +Patch2: policy-20050602.patch BuildArch: noarch BuildRequires: checkpolicy >= %{CHECKPOLICYVER} m4 policycoreutils >= %{POLICYCOREUTILSVER} @@ -234,6 +235,10 @@ exit 0 %changelog +* Thu Jun 2 2005 Dan Walsh 1.23.17-3.1 +- Fix cups using ptal +- Fix acct.te + * Sat May 28 2005 Dan Walsh 1.23.17-3 - Update policy, to remove crond_log_t - Fix selinuxenabled check --- policy-20050502.patch DELETED --- --- policy-20050516.patch DELETED --- From fedora-cvs-commits at redhat.com Thu Jun 2 12:13:13 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 2 Jun 2005 08:13:13 -0400 Subject: rpms/iiimf/devel iiimd-wrapper,NONE,1.1 iiimf.spec,1.53,1.54 Message-ID: <200506021213.j52CDDp3006309@cvs.devel.redhat.com> Author: tagoh Update of /cvs/dist/rpms/iiimf/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv6297 Modified Files: iiimf.spec Added Files: iiimd-wrapper Log Message: * Thu Jun 2 2005 Akira TAGOH - added a simple wrapper for iiimd to avoid iiimd running as root when it needs to be run at the terminal for debugging purpose. - ensure the directory owner of /var/run/iiim is iiimd. --- NEW FILE iiimd-wrapper --- #! /bin/sh _IIIMD_BIN="/usr/bin/iiimd.bin" _IIIMD_ARGS="" _IIIMD_USER="iiimd" _IIIMD_RUNUSER=0 _F_IIIMD_USER=0 for i in "$@"; do if [ "$i" = "-d" ]; then _IIIMD_RUNUSER=1 _IIIMD_ARGS="$_IIIMD_ARGS $i" elif [ "$i" = "--user" ]; then _F_IIIMD_USER=1 elif [ "$i" = "--help" -o "$i" = "-help" ]; then echo "Usage: `basename $0` [options]" echo "Wrapper options:" echo " --user USER Specify the effective user as USER." echo "IIIMF daemon options:" $_IIIMD_BIN --help exit 1 else if [ $_F_IIIMD_USER -eq 1 ]; then if [ x`echo "$i" | grep -E "[ ;&<>\\\`\$\'\"]+"` = "x" ]; then _IIIMD_USER="$i" _IIIMD_RUNUSER=1 else echo "`basename $0`: Invalid user name: $i" fi _F_IIIMD_USER=0 else _IIIMD_ARGS="$_IIIMD_ARGS $i" fi fi done if [ $_IIIMD_RUNUSER -eq 1 ]; then /sbin/runuser -s /bin/bash - "$_IIIMD_USER" -c "$_IIIMD_BIN$_IIIMD_ARGS" else $_IIIMD_BIN$_IIIMD_ARGS fi Index: iiimf.spec =================================================================== RCS file: /cvs/dist/rpms/iiimf/devel/iiimf.spec,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- iiimf.spec 23 May 2005 12:23:27 -0000 1.53 +++ iiimf.spec 2 Jun 2005 12:13:11 -0000 1.54 @@ -43,6 +43,7 @@ Source3: iiimecf-init.el Source4: xinput.d-iiimf Source5: Iiimx.Xresource +Source6: iiimd-wrapper URL: http://www.openi18n.org/subgroups/im/IIIMF/ Group: Applications/System #Requires: intltool >= 0:0.29-1 @@ -533,6 +534,9 @@ cp %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/%{iiim_service} mkdir -p $RPM_BUILD_ROOT%{_prefix}/X11R6/lib/X11/app-defaults cp %{SOURCE5} $RPM_BUILD_ROOT%{_prefix}/X11R6/lib/X11/app-defaults/Iiimx +# rename iiimd to iiimd.bin for wrapper script. +mv $RPM_BUILD_ROOT%{_bindir}/iiimd $RPM_BUILD_ROOT%{_bindir}/iiimd.bin +install -m 0755 %{SOURCE6} $RPM_BUILD_ROOT%{_bindir}/iiimd # remove unwanted devel files rm $RPM_BUILD_ROOT%{im_dir}/xiiimp.{a,la} @@ -627,7 +631,7 @@ %post server # make sure we own any old unix domain socket -[ -d %{_localstatedir}/run/iiim/.iiimp-unix ] && chown %{iiim_user}:%{iiim_user} -R %{_localstatedir}/run/iiim/.iiimp-unix +[ -d %{_localstatedir}/run/iiim/.iiimp-unix ] && chown %{iiim_user}:%{iiim_user} -R %{_localstatedir}/run/iiim/ /sbin/chkconfig --add iiim %{instle}default/default.so --default --lang en >& /dev/null || : @@ -886,6 +890,7 @@ %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/iiim/iiimd.xml.conf %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{_sysconfdir}/iiim/le.xml.conf %{_bindir}/iiimd +%{_bindir}/iiimd.bin %{im_dir}/iiimd-watchdog %{_bindir}/iiimf-le-tools %{_libexecdir}/iiimf-segv-logger @@ -985,6 +990,11 @@ %endif %changelog +* Thu Jun 2 2005 Akira TAGOH +- added a simple wrapper for iiimd to avoid iiimd running as root + when it needs to be run at the terminal for debugging purpose. +- ensure the directory owner of /var/run/iiim is iiimd. + * Mon May 23 2005 Jens Petersen - 1:12.2-4 - really move gnome-im-properties.desktop to applications dir (#149226) - pass _target_platform instead of _host to update-gtk-immodules From fedora-cvs-commits at redhat.com Thu Jun 2 13:04:25 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 2 Jun 2005 09:04:25 -0400 Subject: rpms/docbook-dtds/devel docbook-dtds.spec,1.9,1.10 Message-ID: <200506021304.j52D4PRs024635@cvs.devel.redhat.com> Author: twaugh Update of /cvs/dist/rpms/docbook-dtds/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv24623 Modified Files: docbook-dtds.spec Log Message: * Thu Jun 2 2005 Tim Waugh 1.0-27 - Increase NAMELEN (bug #36058, bug #159382). Index: docbook-dtds.spec =================================================================== RCS file: /cvs/dist/rpms/docbook-dtds/devel/docbook-dtds.spec,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- docbook-dtds.spec 1 Feb 2005 11:07:24 -0000 1.9 +++ docbook-dtds.spec 2 Jun 2005 13:04:23 -0000 1.10 @@ -1,6 +1,6 @@ Name: docbook-dtds Version: 1.0 -Release: 26 +Release: 27 Group: Applications/Text Summary: SGML and XML document type definitions for DocBook. @@ -140,6 +140,9 @@ # Fix € in SGML. %patch5 -p1 +# Increase NAMELEN (bug #36058, bug #159382). +sed -e's,\(NAMELEN\s\+\)44\(\s\*\)\?$,\1256,' -i.namelen */docbook.dcl + if [ `id -u` -eq 0 ]; then chown -R root:root . chmod -R a+rX,g-w,o-w . @@ -1200,6 +1203,9 @@ fi %changelog +* Thu Jun 2 2005 Tim Waugh 1.0-27 +- Increase NAMELEN (bug #36058, bug #159382). + * Tue Feb 1 2005 Tim Waugh 1.0-26 - DocBook 4.4 SGML and XML. From fedora-cvs-commits at redhat.com Thu Jun 2 14:07:55 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 2 Jun 2005 10:07:55 -0400 Subject: rpms/rpm/devel rpm.spec,1.171,1.172 Message-ID: <200506021407.j52E7tCw010627@cvs.devel.redhat.com> Author: pnasrat Update of /cvs/dist/rpms/rpm/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv10613 Modified Files: rpm.spec Log Message: #159403 Index: rpm.spec =================================================================== RCS file: /cvs/dist/rpms/rpm/devel/rpm.spec,v retrieving revision 1.171 retrieving revision 1.172 diff -u -r1.171 -r1.172 --- rpm.spec 24 May 2005 15:29:06 -0000 1.171 +++ rpm.spec 2 Jun 2005 14:07:52 -0000 1.172 @@ -55,6 +55,7 @@ BuildRequires: neon-devel BuildRequires: sqlite-devel +BuildRequires: libselinux-devel # XXX Red Hat 5.2 has not bzip2 or python %if %{with_bzip2} From fedora-cvs-commits at redhat.com Thu Jun 2 14:14:59 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 2 Jun 2005 10:14:59 -0400 Subject: rpms/openoffice.org/devel workspace.gcc4fwdecl.patch,1.4,1.5 Message-ID: <200506021414.j52EExXA010826@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv10812 Modified Files: workspace.gcc4fwdecl.patch Log Message: . workspace.gcc4fwdecl.patch: bf_forms/source/component/Image.hxx | 0 bf_sfx2/source/inc/loadenv.hxx | 0 bf_sfx2/source/inc/splitwin.hxx | 0 bf_svx/source/editeng/impedit.hxx | 0 binfilter/bf_forms/source/component/Image.hxx | 2 + binfilter/bf_sfx2/source/inc/loadenv.hxx | 1 binfilter/bf_sfx2/source/inc/splitwin.hxx | 1 binfilter/bf_svx/source/editeng/impedit.hxx | 17 ++++++++++ binfilter/inc/bf_sfx2/bindings.hxx | 5 ++ binfilter/inc/bf_sfx2/frame.hxx | 4 ++ binfilter/inc/bf_sfx2/objface.hxx | 2 + binfilter/inc/bf_sfx2/topfrm.hxx | 7 ++++ binfilter/inc/bf_sfx2/unoctitm.hxx | 2 + binfilter/inc/bf_svx/fmview.hxx | 7 ++++ binfilter/inc/bf_svx/svdedxv.hxx | 2 + binfilter/inc/bf_svx/svdhdl.hxx | 2 + binfilter/inc/bf_svx/svdobj.hxx | 4 ++ binfilter/inc/bf_svx/svdograf.hxx | 1 binfilter/inc/bf_svx/svdotext.hxx | 2 + binfilter/inc/bf_svx/svdpntv.hxx | 5 ++ binfilter/inc/bf_svx/unoshape.hxx | 4 ++ inc/bf_sfx2/bindings.hxx | 0 inc/bf_sfx2/frame.hxx | 0 inc/bf_sfx2/objface.hxx | 0 inc/bf_sfx2/topfrm.hxx | 0 inc/bf_sfx2/unoctitm.hxx | 0 inc/bf_svx/fmview.hxx | 0 inc/bf_svx/svdedxv.hxx | 0 inc/bf_svx/svdhdl.hxx | 0 inc/bf_svx/svdobj.hxx | 0 inc/bf_svx/svdograf.hxx | 0 inc/bf_svx/svdotext.hxx | 0 inc/bf_svx/svdpntv.hxx | 0 inc/bf_svx/unoshape.hxx | 0 inc/mapmod.hxx | 0 openoffice.org/automation/source/server/statemnt.hxx | 1 openoffice.org/basctl/source/inc/baside3.hxx | 1 openoffice.org/basctl/source/inc/bastypes.hxx | 1 openoffice.org/basctl/source/inc/dlgedobj.hxx | 1 openoffice.org/comphelper/inc/comphelper/propmultiplex.hxx | 2 + openoffice.org/configmgr/source/api2/confproviderimpl2.hxx | 2 + openoffice.org/configmgr/source/api2/providerimpl.hxx | 1 openoffice.org/connectivity/inc/connectivity/sqliterator.hxx | 2 - openoffice.org/connectivity/source/inc/file/fcomp.hxx | 1 openoffice.org/dbaccess/source/core/dataaccess/ModelImpl.hxx | 3 + openoffice.org/extensions/source/bibliography/framectr.hxx | 1 openoffice.org/extensions/source/bibliography/loadlisteneradapter.hxx | 2 + openoffice.org/forms/source/component/clickableimage.hxx | 1 openoffice.org/padmin/source/padialog.hxx | 1 openoffice.org/psprint/inc/psprint/fontmanager.hxx | 2 + openoffice.org/psprint/inc/psprint/printergfx.hxx | 1 openoffice.org/sc/source/ui/attrdlg/scdlgfact.hxx | 1 openoffice.org/sd/source/ui/inc/animobjs.hxx | 1 openoffice.org/sd/source/ui/inc/navigatr.hxx | 2 + openoffice.org/sd/source/ui/slidesorter/inc/view/SlsLayouter.hxx | 1 openoffice.org/sfx2/inc/bindings.hxx | 1 openoffice.org/sfx2/inc/frame.hxx | 2 + openoffice.org/sfx2/inc/ipclient.hxx | 1 openoffice.org/sfx2/inc/objface.hxx | 1 openoffice.org/sfx2/inc/topfrm.hxx | 2 + openoffice.org/sfx2/inc/unoctitm.hxx | 1 openoffice.org/sfx2/source/doc/sfxbasemodel.cxx | 4 ++ openoffice.org/sfx2/source/inc/splitwin.hxx | 1 openoffice.org/so3/source/inplace/applet2.cxx | 3 + openoffice.org/starmath/inc/symbol.hxx | 2 + openoffice.org/starmath/inc/view.hxx | 1 openoffice.org/stoc/source/inspect/introspection.cxx | 1 openoffice.org/svtools/inc/ctrltool.hxx | 1 openoffice.org/svtools/inc/inettbc.hxx | 2 + openoffice.org/svtools/inc/poolitem.hxx | 2 + openoffice.org/svx/inc/float3d.hxx | 1 openoffice.org/svx/inc/fmgridcl.hxx | 1 openoffice.org/svx/inc/fmpage.hxx | 1 openoffice.org/svx/inc/fmview.hxx | 3 + openoffice.org/svx/inc/graphctl.hxx | 1 openoffice.org/svx/inc/imapdlg.hxx | 1 openoffice.org/svx/inc/srchdlg.hxx | 1 openoffice.org/svx/inc/svdedxv.hxx | 1 openoffice.org/svx/inc/svdfppt.hxx | 1 openoffice.org/svx/inc/svdhdl.hxx | 1 openoffice.org/svx/inc/svdobj.hxx | 1 openoffice.org/svx/inc/svdograf.hxx | 1 openoffice.org/svx/inc/svdotext.hxx | 1 openoffice.org/svx/inc/svdpagv.hxx | 1 openoffice.org/svx/inc/svdpntv.hxx | 2 + openoffice.org/svx/inc/svdvmark.hxx | 1 openoffice.org/svx/inc/unoedsrc.hxx | 1 openoffice.org/svx/inc/unoshape.hxx | 3 - openoffice.org/svx/source/inc/fmpgeimp.hxx | 1 openoffice.org/svx/source/inc/fmvwimp.hxx | 3 + openoffice.org/sw/inc/fchrfmt.hxx | 1 openoffice.org/sw/inc/fmtflcnt.hxx | 1 openoffice.org/sw/inc/fmtfld.hxx | 1 openoffice.org/sw/inc/fmtftn.hxx | 1 openoffice.org/sw/inc/fmtinfmt.hxx | 1 openoffice.org/sw/inc/fmtrfmrk.hxx | 2 + openoffice.org/sw/inc/fmtruby.hxx | 1 openoffice.org/sw/inc/section.hxx | 1 openoffice.org/sw/source/core/access/accfrmobjslist.hxx | 2 + openoffice.org/sw/source/core/inc/doctxm.hxx | 1 openoffice.org/tools/inc/fsys.hxx | 1 openoffice.org/ucb/source/core/ucbstore.hxx | 1 openoffice.org/vcl/inc/alpha.hxx | 1 openoffice.org/vcl/inc/bitmap.hxx | 1 openoffice.org/vcl/inc/outdev.hxx | 1 openoffice.org/xmloff/inc/xmlaustp.hxx | 1 openoffice.org/xmlsecurity/source/helper/xsecctl.hxx | 3 + vcl/inc/mapmod.hxx | 1 108 files changed, 167 insertions(+), 3 deletions(-) Index: workspace.gcc4fwdecl.patch =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/workspace.gcc4fwdecl.patch,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- workspace.gcc4fwdecl.patch 2 Jun 2005 10:21:29 -0000 1.4 +++ workspace.gcc4fwdecl.patch 2 Jun 2005 14:14:56 -0000 1.5 @@ -1038,3 +1038,69 @@ class SfxTopViewFrame : public SfxViewFrame { +Index: inc/bf_svx/svdograf.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_svx/svdograf.hxx,v +retrieving revision 1.2 +diff -u -p -r1.2 svdograf.hxx +--- openoffice.org.orig/binfilter/inc/bf_svx/svdograf.hxx 6 Nov 2003 08:28:53 -0000 1.2 ++++ openoffice.org/binfilter/inc/bf_svx/svdograf.hxx 2 Jun 2005 14:15:01 -0000 +@@ -105,6 +105,7 @@ public: + // -------------- + + class SdrGrafSetItem; ++class SdrGraphicLink; + + class SdrGrafObj: public SdrRectObj + { +Index: inc/bf_svx/fmview.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_svx/fmview.hxx,v +retrieving revision 1.2 +diff -u -p -r1.2 fmview.hxx +--- openoffice.org.orig/binfilter/inc/bf_svx/fmview.hxx 6 Nov 2003 08:27:46 -0000 1.2 ++++ openoffice.org/binfilter/inc/bf_svx/fmview.hxx 2 Jun 2005 14:15:12 -0000 +@@ -88,6 +88,13 @@ namespace svx { + class ODataAccessDescriptor; + } + ++class FmXFormController; ++class FmFormShell; ++class FmXFormShell; ++class FmXFormView; ++class FmExplorer; ++class FmFormObj; ++ + class FmFormView : public E3dView + { + friend class FmXFormController; +Index: bf_sfx2/source/inc/splitwin.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/bf_sfx2/source/inc/splitwin.hxx,v +retrieving revision 1.2 +diff -u -p -r1.2 splitwin.hxx +--- openoffice.org.orig/binfilter/bf_sfx2/source/inc/splitwin.hxx 6 Nov 2003 07:40:05 -0000 1.2 ++++ openoffice.org/binfilter/bf_sfx2/source/inc/splitwin.hxx 2 Jun 2005 14:15:50 -0000 +@@ -71,6 +71,7 @@ class SfxWorkWindow; + class SfxDockingWindow; + class SfxDockArr_Impl; + struct SfxDock_Impl; ++class SfxEmptySplitWin_Impl; + + class SfxSplitWindow : public SplitWindow + { +Index: bf_sfx2/source/inc/loadenv.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/bf_sfx2/source/inc/loadenv.hxx,v +retrieving revision 1.2 +diff -u -p -r1.2 loadenv.hxx +--- openoffice.org.orig/binfilter/bf_sfx2/source/inc/loadenv.hxx 6 Nov 2003 07:39:55 -0000 1.2 ++++ openoffice.org/binfilter/bf_sfx2/source/inc/loadenv.hxx 2 Jun 2005 14:16:19 -0000 +@@ -90,6 +90,7 @@ SV_DECL_REF( LoadEnvironment_Impl ) + class SfxMedium; + class SfxFrame; + class SfxFilterMatcher; ++class SfxLoadEnvironment; + + class LoadEnvironment_Impl : public SvRefBase, public SfxListener + { From fedora-cvs-commits at redhat.com Thu Jun 2 17:02:51 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 2 Jun 2005 13:02:51 -0400 Subject: rpms/openoffice.org/devel workspace.gcc4fwdecl.patch,1.5,1.6 Message-ID: <200506021702.j52H2p6s001740@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv1726 Modified Files: workspace.gcc4fwdecl.patch Log Message: . workspace.gcc4fwdecl.patch: bf_forms/source/component/Image.hxx | 0 bf_sfx2/source/inc/loadenv.hxx | 0 bf_sfx2/source/inc/splitwin.hxx | 0 bf_svx/source/editeng/impedit.hxx | 0 binfilter/bf_forms/source/component/Image.hxx | 2 + binfilter/bf_sfx2/source/inc/loadenv.hxx | 1 binfilter/bf_sfx2/source/inc/splitwin.hxx | 1 binfilter/bf_svx/source/editeng/impedit.hxx | 17 ++++++++++ binfilter/inc/bf_sfx2/bindings.hxx | 5 ++ binfilter/inc/bf_sfx2/frame.hxx | 4 ++ binfilter/inc/bf_sfx2/mnumgr.hxx | 2 + binfilter/inc/bf_sfx2/objface.hxx | 2 + binfilter/inc/bf_sfx2/topfrm.hxx | 7 ++++ binfilter/inc/bf_sfx2/unoctitm.hxx | 2 + binfilter/inc/bf_svx/fmview.hxx | 7 ++++ binfilter/inc/bf_svx/svdedxv.hxx | 2 + binfilter/inc/bf_svx/svdhdl.hxx | 2 + binfilter/inc/bf_svx/svdobj.hxx | 4 ++ binfilter/inc/bf_svx/svdograf.hxx | 1 binfilter/inc/bf_svx/svdotext.hxx | 2 + binfilter/inc/bf_svx/svdpntv.hxx | 5 ++ binfilter/inc/bf_svx/unoshape.hxx | 4 ++ binfilter/inc/bf_xmloff/xmlaustp.hxx | 1 inc/bf_sfx2/bindings.hxx | 0 inc/bf_sfx2/frame.hxx | 0 inc/bf_sfx2/mnumgr.hxx | 0 inc/bf_sfx2/objface.hxx | 0 inc/bf_sfx2/topfrm.hxx | 0 inc/bf_sfx2/unoctitm.hxx | 0 inc/bf_svx/fmview.hxx | 0 inc/bf_svx/svdedxv.hxx | 0 inc/bf_svx/svdhdl.hxx | 0 inc/bf_svx/svdobj.hxx | 0 inc/bf_svx/svdograf.hxx | 0 inc/bf_svx/svdotext.hxx | 0 inc/bf_svx/svdpntv.hxx | 0 inc/bf_svx/unoshape.hxx | 0 inc/bf_xmloff/xmlaustp.hxx | 0 inc/mapmod.hxx | 0 openoffice.org/automation/source/server/statemnt.hxx | 1 openoffice.org/basctl/source/inc/baside3.hxx | 1 openoffice.org/basctl/source/inc/bastypes.hxx | 1 openoffice.org/basctl/source/inc/dlgedobj.hxx | 1 openoffice.org/comphelper/inc/comphelper/propmultiplex.hxx | 2 + openoffice.org/configmgr/source/api2/confproviderimpl2.hxx | 2 + openoffice.org/configmgr/source/api2/providerimpl.hxx | 1 openoffice.org/connectivity/inc/connectivity/sqliterator.hxx | 2 - openoffice.org/connectivity/source/inc/file/fcomp.hxx | 1 openoffice.org/dbaccess/source/core/dataaccess/ModelImpl.hxx | 3 + openoffice.org/extensions/source/bibliography/framectr.hxx | 1 openoffice.org/extensions/source/bibliography/loadlisteneradapter.hxx | 2 + openoffice.org/forms/source/component/clickableimage.hxx | 1 openoffice.org/padmin/source/padialog.hxx | 1 openoffice.org/psprint/inc/psprint/fontmanager.hxx | 2 + openoffice.org/psprint/inc/psprint/printergfx.hxx | 1 openoffice.org/sc/source/ui/attrdlg/scdlgfact.hxx | 1 openoffice.org/sd/source/ui/inc/animobjs.hxx | 1 openoffice.org/sd/source/ui/inc/navigatr.hxx | 2 + openoffice.org/sd/source/ui/slidesorter/inc/view/SlsLayouter.hxx | 1 openoffice.org/sfx2/inc/bindings.hxx | 1 openoffice.org/sfx2/inc/frame.hxx | 2 + openoffice.org/sfx2/inc/ipclient.hxx | 1 openoffice.org/sfx2/inc/objface.hxx | 1 openoffice.org/sfx2/inc/topfrm.hxx | 2 + openoffice.org/sfx2/inc/unoctitm.hxx | 1 openoffice.org/sfx2/source/doc/sfxbasemodel.cxx | 4 ++ openoffice.org/sfx2/source/inc/splitwin.hxx | 1 openoffice.org/so3/source/inplace/applet2.cxx | 3 + openoffice.org/starmath/inc/symbol.hxx | 2 + openoffice.org/starmath/inc/view.hxx | 1 openoffice.org/stoc/source/inspect/introspection.cxx | 1 openoffice.org/svtools/inc/ctrltool.hxx | 1 openoffice.org/svtools/inc/inettbc.hxx | 2 + openoffice.org/svtools/inc/poolitem.hxx | 2 + openoffice.org/svx/inc/float3d.hxx | 1 openoffice.org/svx/inc/fmgridcl.hxx | 1 openoffice.org/svx/inc/fmpage.hxx | 1 openoffice.org/svx/inc/fmview.hxx | 3 + openoffice.org/svx/inc/graphctl.hxx | 1 openoffice.org/svx/inc/imapdlg.hxx | 1 openoffice.org/svx/inc/srchdlg.hxx | 1 openoffice.org/svx/inc/svdedxv.hxx | 1 openoffice.org/svx/inc/svdfppt.hxx | 1 openoffice.org/svx/inc/svdhdl.hxx | 1 openoffice.org/svx/inc/svdobj.hxx | 1 openoffice.org/svx/inc/svdograf.hxx | 1 openoffice.org/svx/inc/svdotext.hxx | 1 openoffice.org/svx/inc/svdpagv.hxx | 1 openoffice.org/svx/inc/svdpntv.hxx | 2 + openoffice.org/svx/inc/svdvmark.hxx | 1 openoffice.org/svx/inc/unoedsrc.hxx | 1 openoffice.org/svx/inc/unoshape.hxx | 3 - openoffice.org/svx/source/inc/fmpgeimp.hxx | 1 openoffice.org/svx/source/inc/fmvwimp.hxx | 3 + openoffice.org/sw/inc/fchrfmt.hxx | 1 openoffice.org/sw/inc/fmtflcnt.hxx | 1 openoffice.org/sw/inc/fmtfld.hxx | 1 openoffice.org/sw/inc/fmtftn.hxx | 1 openoffice.org/sw/inc/fmtinfmt.hxx | 1 openoffice.org/sw/inc/fmtrfmrk.hxx | 2 + openoffice.org/sw/inc/fmtruby.hxx | 1 openoffice.org/sw/inc/section.hxx | 1 openoffice.org/sw/source/core/access/accfrmobjslist.hxx | 2 + openoffice.org/sw/source/core/inc/doctxm.hxx | 1 openoffice.org/tools/inc/fsys.hxx | 1 openoffice.org/ucb/source/core/ucbstore.hxx | 1 openoffice.org/vcl/inc/alpha.hxx | 1 openoffice.org/vcl/inc/bitmap.hxx | 1 openoffice.org/vcl/inc/outdev.hxx | 1 openoffice.org/xmloff/inc/xmlaustp.hxx | 1 openoffice.org/xmlsecurity/source/helper/xsecctl.hxx | 3 + vcl/inc/mapmod.hxx | 1 112 files changed, 170 insertions(+), 3 deletions(-) Index: workspace.gcc4fwdecl.patch =================================================================== RCS file: /cvs/dist/rpms/openoffice.org/devel/workspace.gcc4fwdecl.patch,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- workspace.gcc4fwdecl.patch 2 Jun 2005 14:14:56 -0000 1.5 +++ workspace.gcc4fwdecl.patch 2 Jun 2005 17:02:48 -0000 1.6 @@ -1104,3 +1104,34 @@ class LoadEnvironment_Impl : public SvRefBase, public SfxListener { +Index: inc/bf_xmloff/xmlaustp.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_xmloff/xmlaustp.hxx,v +retrieving revision 1.2 +diff -u -p -u -r1.2 xmlaustp.hxx +--- openoffice.org.orig/binfilter/inc/bf_xmloff/xmlaustp.hxx 5 Dec 2003 09:18:04 -0000 1.2 ++++ openoffice.org/binfilter/inc/bf_xmloff/xmlaustp.hxx 2 Jun 2005 16:57:21 -0000 +@@ -79,6 +79,7 @@ class SvXMLExportPropertyMapper; + class SvXMLNamespaceMap; + class SvXMLAttributeList; + class SvXMLExport; ++class SvXMLAutoStylePoolP_Impl; + + class SvXMLAutoStylePoolP : public UniRefBase + { +Index: inc/bf_sfx2/mnumgr.hxx +=================================================================== +RCS file: /cvs/framework/binfilter/inc/bf_sfx2/mnumgr.hxx,v +retrieving revision 1.2 +diff -u -p -u -r1.2 mnumgr.hxx +--- openoffice.org.orig/binfilter/inc/bf_sfx2/mnumgr.hxx 6 Nov 2003 08:26:19 -0000 1.2 ++++ openoffice.org/binfilter/inc/bf_sfx2/mnumgr.hxx 2 Jun 2005 17:00:31 -0000 +@@ -209,6 +209,8 @@ public: + + //-------------------------------------------------------------------- + ++class SystemWindow; ++ + class SfxMenuBarManager : public SfxMenuManager + { + private: From fedora-cvs-commits at redhat.com Thu Jun 2 17:05:33 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 2 Jun 2005 13:05:33 -0400 Subject: rpms/openoffice.org/devel openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch, 1.9, NONE Message-ID: <200506021705.j52H5X5M001809@cvs.devel.redhat.com> Author: caolanm Update of /cvs/dist/rpms/openoffice.org/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv1798 Removed Files: openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch Log Message: . --- openoffice.org-1.9.106.oooXXXXX.comphelper.missingforward.patch DELETED --- From fedora-cvs-commits at redhat.com Thu Jun 2 19:24:06 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 2 Jun 2005 15:24:06 -0400 Subject: rpms/rsync/devel rsync-2.6.5-xattr.patch, NONE, 1.1 .cvsignore, 1.14, 1.15 rsync.spec, 1.30, 1.31 sources, 1.14, 1.15 Message-ID: <200506021924.j52JO68N017751@cvs.devel.redhat.com> Author: fenlason Update of /cvs/dist/rpms/rsync/devel In directory cvs.devel.redhat.com:/tmp/cvs-serv13299 Modified Files: .cvsignore rsync.spec sources Added Files: rsync-2.6.5-xattr.patch Log Message: Upgrade to 2.6.5 rsync-2.6.5-xattr.patch: Makefile.in | 4 rsync-2.6.4/generator.c | 4 rsync-2.6.4pre2/backup.c | 3 rsync-2.6.4pre2/configure.in | 23 + rsync-2.6.4pre2/lib/sysxattr.c | 41 +++ rsync-2.6.4pre2/options.c | 25 + rsync-2.6.4pre2/rsync.c | 8 rsync-2.6.4pre2/rsync.h | 30 ++ rsync-2.6.4pre2/rsync.yo | 6 rsync-2.6.4pre2/xattr.c | 556 +++++++++++++++++++++++++++++++++++++++++ rsync-2.6.5/flist.c | 6 11 files changed, 701 insertions(+), 5 deletions(-) --- NEW FILE rsync-2.6.5-xattr.patch --- Common subdirectories: rsync-2.6.4pre2-prexattr/autom4te.cache and rsync-2.6.4pre2/autom4te.cache diff -u -N rsync-2.6.4pre2-prexattr/backup.c rsync-2.6.4pre2/backup.c --- rsync-2.6.4pre2-prexattr/backup.c 2005-03-02 20:15:48.000000000 -0500 +++ rsync-2.6.4pre2/backup.c 2005-03-02 20:20:46.000000000 -0500 @@ -136,6 +136,7 @@ do_lchown(fullpath, st.st_uid, st.st_gid); do_chmod(fullpath, st.st_mode); (void)DUP_ACL(end, fullpath, st.st_mode); + (void)DUP_XATTR(end, fullpath ); } } *p = '/'; @@ -189,6 +190,7 @@ return 0; PUSH_KEEP_BACKUP_ACL(file, fname, buf); + PUSH_KEEP_BACKUP_XATTR( file, fname, buf ); /* Check to see if this is a device file, or link */ if (IS_DEVICE(file->mode)) { @@ -264,6 +266,7 @@ } set_perms(buf, file, NULL, 0); CLEANUP_KEEP_BACKUP_ACL(); + CLEANUP_KEEP_BACKUP_XATTR(); free(file); if (verbose > 1) { diff -u -N rsync-2.6.4pre2-prexattr/configure.in rsync-2.6.4pre2/configure.in --- rsync-2.6.4pre2-prexattr/configure.in 2005-03-02 20:15:48.000000000 -0500 +++ rsync-2.6.4pre2/configure.in 2005-03-02 20:20:46.000000000 -0500 @@ -789,6 +789,30 @@ AC_MSG_RESULT(no) ) +AC_CHECK_HEADERS(attr/xattr.h) ++AC_MSG_CHECKING(whether to support extended attributes) +AC_ARG_WITH(xattr-support, +[ --with-xattr-support Include extended attribute support (default=no)], +[ case "$withval" in + yes) + case "$host_os" in + *linux*) + AC_MSG_RESULT(Using Linux xattrs) + AC_DEFINE(HAVE_LINUX_XATTRS, 1, [True if you have Linux xattrs]) + ;; + *) + AC_MSG_RESULT(Xattrs requested but not linux. Good luck) + ;; + esac + ;; + *) + AC_MSG_RESULT(no) + AC_DEFINE(HAVE_NA_XATTRS, 1, [True if you don't have extended attributes]) + esac ], + AC_MSG_RESULT(no) + AC_DEFINE(HAVE_NO_XATTRL, 1, [True if you don't have extended attributes]) +) + AC_CONFIG_FILES([Makefile lib/dummy zlib/dummy popt/dummy shconfig]) AC_OUTPUT --- rsync-2.6.4pre2-prexattr/Makefile.in 2005-03-02 20:15:48.000000000 -0500 +++ rsync-2.6.4pre2/Makefile.in 2005-03-02 20:20:46.000000000 -0500 @@ -27,14 +27,14 @@ HEADERS=byteorder.h config.h errcode.h proto.h rsync.h smb_acls.h lib/pool_alloc.h LIBOBJ=lib/wildmatch.o lib/compat.o lib/snprintf.o lib/mdfour.o \ - lib/permstring.o lib/pool_alloc.o lib/sysacls.o @LIBOBJS@ + lib/permstring.o lib/pool_alloc.o lib/sysacls.o lib/sysxattr.o @LIBOBJS@ ZLIBOBJ=zlib/deflate.o zlib/infblock.o zlib/infcodes.o zlib/inffast.o \ zlib/inflate.o zlib/inftrees.o zlib/infutil.o zlib/trees.o \ zlib/zutil.o zlib/adler32.o OBJS1=rsync.o generator.o receiver.o cleanup.o sender.o exclude.o util.o \ main.o checksum.o match.o syscall.o log.o backup.o OBJS2=options.o flist.o io.o compat.o hlink.o token.o uidlist.o socket.o \ - fileio.o batch.o clientname.o acls.o + fileio.o batch.o clientname.o acls.o xattr.o OBJS3=progress.o pipe.o DAEMON_OBJ = params.o loadparm.o clientserver.o access.o connection.o authenticate.o popt_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \ diff -u -N rsync-2.6.4pre2-prexattr/options.c rsync-2.6.4pre2/options.c --- rsync-2.6.4pre2-prexattr/options.c 2005-03-02 20:15:48.000000000 -0500 +++ rsync-2.6.4pre2/options.c 2005-03-02 20:31:22.000000000 -0500 @@ -45,6 +45,7 @@ int preserve_links = 0; int preserve_hard_links = 0; int preserve_acls = 0; +int preserve_xattrs = 0; int preserve_perms = 0; int preserve_devices = 0; int preserve_uid = 0; @@ -180,6 +181,7 @@ char const *have_inplace = "no "; char const *hardlinks = "no "; char const *acls = "no "; + char const *xattrs = "no "; char const *links = "no "; char const *ipv6 = "no "; STRUCT_STAT *dumstat; @@ -199,7 +201,9 @@ #ifdef SUPPORT_ACLS acls = ""; #endif - +#if SUPPORT_XATTRS + xattrs = ""; +#endif #ifdef SUPPORT_LINKS links = ""; #endif @@ -214,9 +218,9 @@ "Copyright (C) 1996-2005 by Andrew Tridgell and others\n"); rprintf(f, "\n"); rprintf(f, "Capabilities: %d-bit files, %ssocketpairs, " - "%shard links, %sACLs, %ssymlinks, batchfiles, \n", + "%shard links, %sACLs, %sxattrs, %ssymlinks, batchfiles, \n", (int) (sizeof (OFF_T) * 8), - got_socketpair, hardlinks, acls, links); + got_socketpair, hardlinks, acls, xattrs, links); /* Note that this field may not have type ino_t. It depends * on the complicated interaction between largefile feature @@ -287,6 +291,7 @@ rprintf(F," -K, --keep-dirlinks treat symlinked dir on receiver as dir\n"); rprintf(F," -p, --perms preserve permissions\n"); rprintf(F," -A, --acls preserve ACLs (implies --perms)\n"); + rprintf(F," -X, --xattrs preserve extended attributes (implies --perms)\n"); rprintf(F," -o, --owner preserve owner (root only)\n"); rprintf(F," -g, --group preserve group\n"); rprintf(F," -D, --devices preserve devices (root only)\n"); @@ -410,6 +415,7 @@ {"copy-unsafe-links",0, POPT_ARG_NONE, ©_unsafe_links, 0, 0, 0 }, {"perms", 'p', POPT_ARG_NONE, &preserve_perms, 0, 0, 0 }, {"acls", 'A', POPT_ARG_NONE, 0, 'A', 0, 0 }, + {"xattrs", 'X', POPT_ARG_NONE, 0, 'X', 0, 0 }, {"owner", 'o', POPT_ARG_NONE, &preserve_uid, 0, 0, 0 }, {"group", 'g', POPT_ARG_NONE, &preserve_gid, 0, 0, 0 }, {"devices", 'D', POPT_ARG_NONE, &preserve_devices, 0, 0, 0 }, @@ -879,6 +885,17 @@ #endif /* SUPPORT_ACLS */ break; + case 'X': +#if SUPPORT_XATTRS + preserve_xattrs = 1; + preserve_perms = 1; +#else + snprintf(err_buf,sizeof(err_buf), + "extended attributes are not supported on this %s\n", + am_server ? "server" : "client"); + return 0; +#endif /* SUPPORT_XATTRS */ + break; default: /* A large opt value means that set_refuse_options() @@ -1289,6 +1306,8 @@ argstr[x++] = 'H'; if (preserve_acls) argstr[x++] = 'A'; + if ( preserve_xattrs ) + argstr[x++] = 'X'; if (preserve_uid) argstr[x++] = 'o'; if (preserve_gid) Common subdirectories: rsync-2.6.4pre2-prexattr/packaging and rsync-2.6.4pre2/packaging Common subdirectories: rsync-2.6.4pre2-prexattr/patches and rsync-2.6.4pre2/patches Common subdirectories: rsync-2.6.4pre2-prexattr/popt and rsync-2.6.4pre2/popt diff -u -N rsync-2.6.4pre2-prexattr/rsync.c rsync-2.6.4pre2/rsync.c --- rsync-2.6.4pre2-prexattr/rsync.c 2005-03-02 20:15:48.000000000 -0500 +++ rsync-2.6.4pre2/rsync.c 2005-03-02 20:31:22.000000000 -0500 @@ -145,6 +145,14 @@ if (SET_ACL(fname, file) == 0) updated = 1; } + /* If this is a directory, SET_XATTR() will be called on the cleanup + * receive_generator() pass--if we called it here, we might clobber + * writability on the directory (SELinux security contexts are stored + * in xattrs). everything else is OK to do now. */ + if (!S_ISDIR(st->st_mode)) { + if (SET_XATTR(fname, file) == 0) + updated = 1; + } if (verbose > 1 && flags & PERMS_REPORT) { enum logcode code = daemon_log_format_has_i || dry_run diff -u -N rsync-2.6.4pre2-prexattr/rsync.h rsync-2.6.4pre2/rsync.h --- rsync-2.6.4pre2-prexattr/rsync.h 2005-03-02 20:15:48.000000000 -0500 +++ rsync-2.6.4pre2/rsync.h 2005-03-02 20:32:39.000000000 -0500 @@ -662,6 +662,36 @@ #endif /* SUPPORT_ACLS */ #include "smb_acls.h" +#define SUPPORT_XATTRS HAVE_LINUX_XATTRS + +#if SUPPORT_XATTRS +#ifdef HAVE_ATTR_XATTR_H +#include +#endif +#define MAKE_XATTR(file, fname) make_xattr(file, fname) +#define SEND_XATTR(file, f) send_xattr(file, f) +#define RECEIVE_XATTR(file, f) receive_xattr(file, f) +#define SORT_FILE_XATTR_INDEX_LISTS() sort_file_xattr_index_lists() +#define SET_XATTR(fname, file) set_xattr(fname, file) +#define NEXT_XATTR_UID() next_xattr_uid() +#define XATTR_UID_MAP(uid) xattr_uid_map(uid) +#define PUSH_KEEP_BACKUP_XATTR(file, orig, dest) \ + push_keep_backup_xattr(file, orig, dest) +#define CLEANUP_KEEP_BACKUP_XATTR() cleanup_keep_backup_xattr() +#define DUP_XATTR(orig, dest) dup_xattr(orig, dest) +#else /* SUPPORT_XATTRS */ +#define MAKE_XATTR(file, fname) 1 /* checked return value */ +#define SEND_XATTR(file, f) +#define RECEIVE_XATTR(file, f) +#define SORT_FILE_XATTR_INDEX_LISTS() +#define SET_XATTR(fname, file) 0 /* checked return value */ +#define NEXT_XATTR_UID() +#define XATTR_UID_MAP(uid) +#define PUSH_KEEP_BACKUP_XATTR(file, orig, dest) +#define CLEANUP_KEEP_BACKUP_XATTR() +#define DUP_XATTR(src, orig) 0 /* checked return value */ +#endif /* SUPPORT_XATTRS */ + #include "proto.h" /* We have replacement versions of these if they're missing. */ diff -u -N rsync-2.6.4pre2-prexattr/rsync.yo rsync-2.6.4pre2/rsync.yo --- rsync-2.6.4pre2-prexattr/rsync.yo 2005-03-02 20:15:48.000000000 -0500 +++ rsync-2.6.4pre2/rsync.yo 2005-03-02 20:33:53.000000000 -0500 @@ -318,6 +318,7 @@ -K, --keep-dirlinks treat symlinked dir on receiver as dir -p, --perms preserve permissions -A, --acls preserve ACLs (implies -p) [local option] + -X, --xattrs preserve extended attributes (implies -p) [local option] -o, --owner preserve owner (root only) -g, --group preserve group -D, --devices preserve devices (root only) @@ -630,6 +631,11 @@ remote machine's rsync supports this option also. This is a non-standard option. +dit(bf(-X, --xattrs)) This option causes rsync to update the remote +extended attributes to be the same as the local ones. This will work +only if the remote machine's rsync supports this option also. This is +a non-standard option. + dit(bf(-o, --owner)) This option causes rsync to set the owner of the destination file to be the same as the source file. On most systems, only the super-user can set file ownership. By default, the preservation Common subdirectories: rsync-2.6.4pre2-prexattr/support and rsync-2.6.4pre2/support diff -u -N rsync-2.6.4pre2-prexattr/lib/sysxattr.c rsync-2.6.4pre2/sysxattr.c --- rsync-2.6.4pre2-prexattr/lib/sysxattr.c 1969-12-31 19:00:00.000000000 -0500 +++ rsync-2.6.4pre2/lib/sysxattr.c 2005-03-02 20:34:10.000000000 -0500 @@ -0,0 +1,41 @@ +/* Extended attribute support for rsync. */ +/* This file Copyright (C) 2004 Red Hat, Inc. */ +/* Written by Jay Fenlason */ + +/* This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "rsync.h" + +#if defined(HAVE_LINUX_XATTRS) + +ssize_t sys_lgetxattr ( const char *path, const char *name, void *value, size_t size ) +{ + return lgetxattr ( path, name, value, size ); +} + +int sys_lsetxattr ( const char *path, const char *name, const void *value, size_t size, int flags ) +{ + return lsetxattr ( path, name, value, size, flags ); +} + +ssize_t sys_llistxattr ( const char *path, char *list, size_t size ) +{ + return llistxattr ( path, list, size ); +} + +#else + +#endif /* No xattrs */ Common subdirectories: rsync-2.6.4pre2-prexattr/testhelp and rsync-2.6.4pre2/testhelp Common subdirectories: rsync-2.6.4pre2-prexattr/testsuite and rsync-2.6.4pre2/testsuite diff -u -N rsync-2.6.4pre2-prexattr/xattr.c rsync-2.6.4pre2/xattr.c --- rsync-2.6.4pre2-prexattr/xattr.c 1969-12-31 19:00:00.000000000 -0500 +++ rsync-2.6.4pre2/xattr.c 2005-03-02 20:34:47.000000000 -0500 @@ -0,0 +1,556 @@ +/* Extended Attribute support for rsync */ +/* Copyright (C) 2004 Red Hat, Inc */ +/* Written by Jay Fenlason, vaguely based on the ACLs patch */ + +/* This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "rsync.h" + +#if SUPPORT_XATTRS + +extern int preserve_xattrs; +extern int dry_run; + +#define RSYNC_XAL_INITIAL 5 +#define RSYNC_XAL_LIST_INITIAL 100 + + +typedef struct { + size_t name_len; + char *name; + size_t datum_len; + char *datum; +} rsync_xa; + +typedef struct { + size_t count; + size_t alloc; + rsync_xa *rxas; +} rsync_xal; + +typedef struct { + size_t count; + size_t alloc; + rsync_xal *rxals; +} rsync_xal_list; + +static size_t namebuf_len = 0; +static char *namebuf = NULL; + +static size_t datumbuf_len = 0; +static char *datumbuf = NULL; + +static rsync_xal curr_rsync_xal = { 0, 0, NULL }; +static rsync_xal_list rsync_xal_l = { 0, 0, NULL }; + + +/* ------------------------------------------------------------------------- */ + +/* the below stuff is only used by the receiver */ + +/* structure to hold index to rsync_xal_l member corresponding to + * flist->files[i] */ + +typedef struct { + const struct file_struct *file; + int xalidx; +} file_xal_index; + +typedef struct { + size_t count; + size_t alloc; + file_xal_index *filexalidxs; +} file_xal_index_list; + +static file_xal_index_list fxil = {0, 0, NULL }; + +/* stuff for redirecting calls to set_acl() from set_perms() + * for keep_backup() */ +static const struct file_struct *backup_orig_file = NULL; +static const char null_string[] = ""; +static const char *backup_orig_fname = null_string; +static const char *backup_dest_fname = null_string; +static rsync_xal backup_xal; + +/* ------------------------------------------------------------------------- */ + +static void rsync_xal_free ( rsync_xal *x ) { + size_t i; + + for ( i = 0; i < x->count; i++ ) { + free ( x->rxas[i].name ); + /* free ( x->rxas[i].value ); */ + } + x->count = 0; +} + +static int rsync_xal_compare_names ( const void *x1, const void *x2 ) { + const rsync_xa *xa1; + const rsync_xa *xa2; + + xa1 = x1; + xa2 = x2; + return strcmp ( xa1->name, xa2->name ); +} + +static BOOL rsync_xal_get ( const char *fname, rsync_xal *x ) { + ssize_t name_size; + ssize_t datum_size; + ssize_t left; + char *name; + size_t len; + char *ptr; + + if ( ! namebuf ) { + namebuf_len = 100; + namebuf = malloc ( 100 ); + datumbuf_len = 100; + datumbuf = malloc ( 100 ); + if ( ! namebuf || ! datumbuf ) { + rprintf(FERROR, "%s: rsync_xal_get: allocate intial buffers failed: %s\n", + fname, strerror(errno)); + return False; + } + } + + name_size = sys_llistxattr ( fname, namebuf, namebuf_len ); + if ( name_size > namebuf_len ) { + name_size = -1; + errno = ERANGE; + } + if ( name_size < 0 ) { + if ( errno == ENOTSUP ) + return False; + if ( errno == ERANGE ) { + name_size = sys_llistxattr ( fname, NULL, 0 ); + if ( name_size < 0 ) { + rprintf ( FERROR, "%s: rsync_xal_get: llistxattr: %s\n", + fname, strerror(errno) ); + return False; + } + namebuf = realloc ( namebuf, name_size + 1 ); + if ( ! namebuf ) { + rprintf ( FERROR, "%s: rsync_xal_get: reallocate namebuf to %lu failed: %s\n", + fname, (unsigned long)name_size, strerror(errno) ); + return False; + } + namebuf_len = name_size; + name_size = sys_llistxattr ( fname, namebuf, namebuf_len ); + if ( name_size < 0 ) { + rprintf ( FERROR, "%s: rsync_xal_get: re-llistxattr failed: %s\n", + fname, strerror(errno) ); + return False; + } + } else { + rprintf(FERROR, "%s: rsync_xal_get: llistxattr failed: %s\n", + fname, strerror(errno)); + return False; + } + } + rsync_xal_free ( x ); + if ( name_size == 0 ) + return True; + for ( left = name_size, name = namebuf; left > 0 ; left -= len, name += len ) { + len = strlen ( name ) + 1; + + if ( x->count >= x->alloc ) { + size_t new_alloc; + size_t new_size; + rsync_xa *new_rxas; + + new_alloc = ( x->alloc < RSYNC_XAL_INITIAL ) ? RSYNC_XAL_INITIAL : x->alloc * 2; + new_size = new_alloc * sizeof(rsync_xa); + new_rxas = x->alloc ? realloc ( x->rxas, new_size ) : malloc ( new_size ); + if ( new_rxas == NULL ) { + rprintf(FERROR, "%s: rsync_xal_get: allocate %lufailed: %s\n", + fname, (unsigned long)new_size, strerror(errno)); + return False; + } + x->alloc = new_alloc; + x->rxas = new_rxas; + } + datum_size = sys_lgetxattr ( fname, name, datumbuf, datumbuf_len ); + if ( datum_size > datumbuf_len ) { + datum_size = -1; + errno = ERANGE; + } + if ( datum_size < 0 ) { + if ( errno == ENOTSUP ) + return False; + if ( errno == ERANGE ) { + datum_size = sys_lgetxattr ( fname, name, NULL, 0 ); + if ( datum_size < 0 ) { + rprintf ( FERROR, "%s: rsync_xal_get: lgetxattr %s failed: %s\n", + fname, name, strerror(errno) ); + return False; + } + datumbuf = realloc ( datumbuf, datum_size + 1 ); + if ( ! datumbuf ) { + rprintf(FERROR, "%s: rsync_xal_get: allocate %lu for datumbuf failed: %s\n", + fname, (unsigned long)(datum_size + 1), strerror(errno)); + return False; + } + datumbuf_len = datum_size; + datum_size = sys_lgetxattr ( fname, name, datumbuf, datumbuf_len ); + if ( datum_size < 0 ) { + rprintf ( FERROR, "%s: rsync_xal_get: re-lgetxattr of %s failed: %s\n", + name, fname, strerror(errno) ); + return False; + } + } else { + rprintf(FERROR, "%s: rsync_xal_get: lgetxattr %s failed: %s\n", + fname, name, strerror(errno)); + return False; + } + } + ptr = malloc ( len + datum_size ); + strcpy ( ptr, name ); + if ( datum_size ) + memcpy ( ptr + len, datumbuf, datum_size ); + x->rxas[curr_rsync_xal.count].name_len = len; + x->rxas[curr_rsync_xal.count].name = ptr; + x->rxas[curr_rsync_xal.count].datum_len = datum_size; + x->rxas[curr_rsync_xal.count].datum = ptr + len; + x->count++; + } + if ( x->count > 1 ) { + qsort ( x->rxas, x->count, sizeof(rsync_xa), rsync_xal_compare_names ); + } + return True; +} + + +/* generate the xattr(s) for this flist entry; + * xattr(s) are either sent or cleaned-up by send_xattr() below */ + +BOOL make_xattr(const struct file_struct *file, const char *fname) +{ + if (!preserve_xattrs) + return True; + + rsync_xal_get ( fname, &curr_rsync_xal ); + return True; +} + +static ssize_t rsync_xal_find_matching ( void ) { + size_t i; + size_t j; + + for ( i = 0; i < rsync_xal_l.count; i++ ) { + /* Wrong number of elements? */ + if ( rsync_xal_l.rxals[i].count != curr_rsync_xal.count ) + continue; + /* any elements different? */ + for ( j = 0; j < curr_rsync_xal.count; j++ ) { + if ( + rsync_xal_l.rxals[i].rxas[j].name_len != curr_rsync_xal.rxas[j].name_len + || rsync_xal_l.rxals[i].rxas[j].datum_len != curr_rsync_xal.rxas[j].datum_len + || strcmp ( rsync_xal_l.rxals[i].rxas[j].name, curr_rsync_xal.rxas[j].name ) + || memcmp ( rsync_xal_l.rxals[i].rxas[j].datum, curr_rsync_xal.rxas[j].datum, curr_rsync_xal.rxas[j].datum_len ) ) + break; + } + /* no differences found. This is The One! */ + if ( j == curr_rsync_xal.count ) + break; + } + if ( i < rsync_xal_l.count ) + return i; + return (ssize_t)-1; +} + +/* Store curr_rsync_xal on the end of rsync_xal_l */ +static void rsync_xal_store ( void ) { + if ( rsync_xal_l.count <= rsync_xal_l.alloc ) { + size_t new_alloc; + size_t new_size; + void *new_xal; + + new_alloc = ( rsync_xal_l.count < RSYNC_XAL_LIST_INITIAL ) ? RSYNC_XAL_LIST_INITIAL : rsync_xal_l.count * 2; + new_size = new_alloc * sizeof(rsync_xal); + new_xal = rsync_xal_l.count ? realloc ( rsync_xal_l.rxals, new_size ) : malloc ( new_size ); + if ( new_xal == NULL ) { + rprintf ( FERROR, "rsync_xal_store: allocate %lu for new_xal failed\n", (unsigned long)new_size ); + exit_cleanup(RERR_STREAMIO ); + } + rsync_xal_l.alloc = new_alloc; + rsync_xal_l.rxals = new_xal; + } + rsync_xal_l.rxals[rsync_xal_l.count] = curr_rsync_xal; + rsync_xal_l.count++; + curr_rsync_xal.count = 0; + curr_rsync_xal.alloc = 0; +} + +/* send the make_xattr()-generated xattr list for this flist entry, + * or clean up after an flist entry that's not being sent (f == -1) */ + +void send_xattr ( const struct file_struct *file, int f ) +{ + ssize_t index; + + if ( ! preserve_xattrs ) + return; + + if (f == -1) { + rsync_xal_free ( &curr_rsync_xal ); + return; + } + index = rsync_xal_find_matching ( ); + if ( index != -1) { + write_byte(f, 'x' ); + write_int(f, index); + rsync_xal_free ( &curr_rsync_xal ); + } else { + rsync_xa *rxa; + size_t count; + + count = curr_rsync_xal.count; + write_byte(f, 'X' ); + write_int(f, count); + for (rxa = curr_rsync_xal.rxas; count--; rxa++) { + write_int( f, rxa->name_len ); + write_int ( f, rxa->datum_len ); + write_buf ( f, rxa->name, rxa->name_len ); + write_buf ( f, rxa->datum, rxa->datum_len ); + } + rsync_xal_store(); + } +} + + +/* ------------------------------------------------------------------------- */ +/* receive and build the rsync_xattr_lists */ + +void receive_xattr(struct file_struct *file, int f) +{ + char *fname; + int tag; + + if ( ! preserve_xattrs ) + return; + fname = f_name(file); + tag = read_byte(f); + if (tag != 'X' && tag != 'x') { + rprintf(FERROR, "%s: receive_xattr: unknown extended attribute type tag: %c\n", + fname, tag); + exit_cleanup(RERR_STREAMIO); + } + + if ( fxil.alloc <= fxil.count) { + void *new_ptr; + size_t new_alloc; + size_t new_size; + + if ( fxil.count < RSYNC_XAL_LIST_INITIAL ) + new_alloc = fxil.alloc + RSYNC_XAL_LIST_INITIAL; + else + new_alloc = fxil.alloc * 2; + new_size = new_alloc * sizeof(file_xal_index); + if ( fxil.alloc ) + new_ptr = realloc ( fxil.filexalidxs, new_size ); + else + new_ptr = malloc ( new_size ); + if (!new_ptr) + out_of_memory("receive_xattr"); + if (verbose >= 3) { + rprintf(FINFO, "receive_xattr to %lu bytes, %s move\n", + (unsigned long) new_size, + fxil.filexalidxs == new_ptr ? "did not" : "did"); + } + + fxil.filexalidxs = new_ptr; + fxil.alloc = new_alloc; + } + + fxil.filexalidxs[fxil.count].file = file; + if (tag == 'X' ) { + size_t count; + size_t i; + + fxil.filexalidxs[fxil.count].xalidx = rsync_xal_l.count; + + count = read_int ( f ); + curr_rsync_xal.count = count; + curr_rsync_xal.alloc = count; + curr_rsync_xal.rxas = malloc ( count * sizeof(rsync_xa) ); + if ( curr_rsync_xal.rxas == NULL ) { + rprintf(FERROR, "%s: receive_xattr: allocate %lu xas failed\n", + fname, (unsigned long)count ); + exit_cleanup(RERR_STREAMIO); + } + for ( i = 0; i < count; i++ ) { + size_t name_len; + size_t datum_len; + char *ptr; + + name_len = read_int ( f ); + datum_len = read_int ( f ); + ptr = malloc ( name_len + datum_len ); + read_buf ( f, ptr, name_len ); + read_buf ( f, ptr + name_len, datum_len ); + curr_rsync_xal.rxas[i].name_len = name_len; + curr_rsync_xal.rxas[i].datum_len = datum_len; + curr_rsync_xal.rxas[i].name = ptr; + curr_rsync_xal.rxas[i].datum = ptr + name_len; + } + rsync_xal_store(); + } else { + size_t index; + + index = read_int(f); + if ( index >= rsync_xal_l.count) { + rprintf(FERROR, "%s: receive_xattr: xa index %lu out of range\n", +fname, (unsigned long)index ); + exit_cleanup(RERR_STREAMIO); + } + fxil.filexalidxs[fxil.count].xalidx = index; + } + fxil.count++; +} + +static BOOL rsync_xal_set ( const char *fname, rsync_xal *x ) { + size_t i; + int status; + BOOL ret; + + ret = True; + for ( i = 0; i < x->count; i++ ) { + status = sys_lsetxattr ( fname, x->rxas[i].name, x->rxas[i].datum, x->rxas[i].datum_len, 0 ); + if ( status < 0 ) { + rprintf(FERROR, "%s: rsync_xal_set: lsetxattr %s failed: %s\n", + fname, x->rxas[i].name, strerror(errno)); + ret = False; + } + } + return ret; +} + +/* for duplicating xattrs on backups when using backup_dir */ + +int dup_xattr ( const char *orig, const char *bak ) +{ + int ret; + + ret = 0; + if (!preserve_xattrs) + return ret; + + ret = rsync_xal_get ( orig, &backup_xal ); + if ( ret == True ) + ret = rsync_xal_set ( bak, &backup_xal ); + rsync_xal_free ( &backup_xal ); + return ret; +} + +void push_keep_backup_xattr ( const struct file_struct *file, const char *orig, const char *dest ) +{ + if ( ! preserve_xattrs ) + return; + + backup_orig_file = file; + backup_orig_fname = orig; + backup_dest_fname = dest; + rsync_xal_get ( orig, &backup_xal ); +} + +static int set_keep_backup_xal ( void ) { + if ( ! preserve_xattrs ) + return 0; + return rsync_xal_set ( backup_dest_fname, &backup_xal ); +} + +void cleanup_keep_backup_xattr ( void ) +{ + if ( ! preserve_xattrs) + return; + + backup_orig_file = NULL; + backup_orig_fname = null_string; + backup_dest_fname = null_string; + rsync_xal_free ( &backup_xal ); +} + +static int file_xal_index_compare ( const void *x1, const void *x2 ) { + const file_xal_index *xa1; + const file_xal_index *xa2; + + xa1 = x1; + xa2 = x2; + return ( xa1->file == xa2->file) ? 0 : + ( ( xa1->file < xa2->file ) ? -1: 1 ); +} +void sort_file_xattr_index_lists ( void ) +{ + if ( ! preserve_xattrs ) + return; + qsort ( fxil.filexalidxs, fxil.count, sizeof(file_xal_index), + file_xal_index_compare ); +} + + +static int find_file_xal_index( const struct file_struct *file) { + int low = 0, high = fxil.count; + const struct file_struct *file_mid; + + if ( ! high-- ) { + rprintf(FERROR, "find_file_xal_index: no entries\n"); + exit_cleanup(RERR_STREAMIO); + return -1; + } + do { + int mid = (high + low) / 2; + file_mid = fxil.filexalidxs[mid].file; + if (file_mid == file) + return fxil.filexalidxs[mid].xalidx; + if (file_mid > file) + high = mid - 1; + else + low = mid + 1; + } while (low < high); + if (low == high) { + file_mid = fxil.filexalidxs[low].file; + if (file_mid == file) + return fxil.filexalidxs[low].xalidx; + } + rprintf(FERROR, + "find_file_xal_index: can't find entry for file in list\n"); + exit_cleanup(RERR_STREAMIO); + return -1; +} + + +/* set extended attributes on rsync-ed or keep_backup-ed file */ + +int set_xattr ( const char *fname, const struct file_struct *file ) +{ + int updated; + int xalidx; + rsync_xal *x; + + updated = 0; + if ( dry_run || ! preserve_xattrs ) + return 0; + if (file == backup_orig_file) { + if (!strcmp(fname, backup_dest_fname)) + return set_keep_backup_xal(); + } + xalidx = find_file_xal_index( file ); + x = &(rsync_xal_l.rxals[xalidx]); + updated = rsync_xal_set ( fname, x ); + return updated; +} + +#endif /* SUPPORT_XATTRS */ Common subdirectories: rsync-2.6.4pre2-prexattr/zlib and rsync-2.6.4pre2/zlib --- rsync-2.6.4/generator.c.xattr 2005-03-31 09:49:39.000000000 -0500 +++ rsync-2.6.4/generator.c 2005-03-31 09:59:22.000000000 -0500 @@ -715,6 +715,10 @@ if (f_out == -1) SET_ACL(fname, file); #endif +#if SUPPORT_XATTRS + if ( f_out == -1 ) + SET_XATTR( fname, file ); +#endif if (delete_during && f_out != -1 && !phase && dry_run < 2 && (file->flags & FLAG_DEL_HERE)) delete_in_dir(the_file_list, fname, file); --- rsync-2.6.5/flist.c.xattr 2005-06-02 14:26:25.000000000 -0400 +++ rsync-2.6.5/flist.c 2005-06-02 14:33:02.000000000 -0400 @@ -976,6 +976,8 @@ return NULL; if (!MAKE_ACL(file, fname)) return NULL; + if ( ! MAKE_XATTR(file, fname ) ) + return; maybe_emit_filelist_progress(flist->count + flist_count_offset); @@ -985,9 +987,11 @@ flist->files[flist->count++] = file; send_file_entry(file, f, base_flags); SEND_ACL(file, f); + SEND_XATTR ( file, f ); } else { /* Cleanup unsent ACL(s). */ SEND_ACL(file, -1); + SEND_XATTR( file, -1 ); } return file; } @@ -1325,6 +1329,7 @@ file = receive_file_entry(flist, flags, f); RECEIVE_ACL(file, f); + RECEIVE_XATTR(file, f ); if (S_ISREG(file->mode)) stats.total_size += file->length; @@ -1349,6 +1354,7 @@ clean_flist(flist, relative_paths, 1); SORT_FILE_ACL_INDEX_LISTS(); + SORT_FILE_XATTR_INDEX_LISTS(); if (f >= 0) { /* Now send the uid/gid list. This was introduced in Index: .cvsignore =================================================================== RCS file: /cvs/dist/rpms/rsync/devel/.cvsignore,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- .cvsignore 31 Mar 2005 16:17:43 -0000 1.14 +++ .cvsignore 2 Jun 2005 19:24:03 -0000 1.15 @@ -1 +1 @@ -rsync-2.6.4.tar.gz +rsync-2.6.5.tar.gz Index: rsync.spec =================================================================== RCS file: /cvs/dist/rpms/rsync/devel/rsync.spec,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- rsync.spec 17 May 2005 18:06:00 -0000 1.30 +++ rsync.spec 2 Jun 2005 19:24:03 -0000 1.31 @@ -1,14 +1,13 @@ Summary: A program for synchronizing files over a network. Name: rsync -Version: 2.6.4 -Release: 3 +Version: 2.6.5 +Release: 2 Group: Applications/Internet # TAG: for pre versions use -# Source: ftp://rsync.samba.org/pub/rsync/rsync-%{version}pre2.tar.gz +#Source: ftp://rsync.samba.org/pub/rsync/rsync-%{version}pre1.tar.gz Source: ftp://rsync.samba.org/pub/rsync/rsync-%{version}.tar.gz Source1: rsync.xinetd -Patch0: rsync-2.6.4-xattr.patch -Patch1: rsync-2.6.4-address.patch +Patch0: rsync-2.6.5-xattr.patch Prefix: %{_prefix} BuildRoot: /var/tmp/%{name}-root @@ -25,11 +24,10 @@ %prep # TAG: for pre versions use -# % setup -q -n rsync-%{version}pre2 +# % setup -q -n rsync-%{version}pre1 %setup -q patch -p0 < patches/acls.diff %patch0 -p1 -b .xattr -%patch1 -p1 -b .addr %build rm -fr autom4te.cache @@ -59,6 +57,12 @@ %{_mandir}/man5/rsyncd.conf.5* %changelog +* Thu Jun 2 2005 Jay Fenlason 2.6.5-2 +- New upstream release + +* Tue May 17 2005 Jay Fenlason 2.6.5-0.pre1.0 +- new upstream pre-release + * Tue May 17 2005 Jay Fenlason 2.6.4-3 - Include the -address patch from upstream, to close bz#154752 Unable to use --address in client mode Index: sources =================================================================== RCS file: /cvs/dist/rpms/rsync/devel/sources,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- sources 31 Mar 2005 16:17:43 -0000 1.14 +++ sources 2 Jun 2005 19:24:03 -0000 1.15 @@ -1 +1 @@ -a26c454a36148e0e873bedf3c0cc955d rsync-2.6.4.tar.gz +3691cdf1540d0649ba679edce6bae8fc rsync-2.6.5.tar.gz From fedora-cvs-commits at redhat.com Thu Jun 2 19:24:58 2005 From: fedora-cvs-commits at redhat.com (fedora-cvs-commits at redhat.com) Date: Thu, 2 Jun 2005 15:24:58 -0400 Subject: rpms/kernel/FC-3 jwltest-b44-bounce-bufs.patch, NONE, 1.1.24.1 jwltest-bonding-2_6_12-rc2.patch, NONE, 1.1.18.1 jwltest-bonding-sysfs.patch, NONE, 1.1.18.1 jwltest-e100-update-3_4_8-k2.patch, NONE, 1.1.10.1 jwltest-e1000-update-5_7_6-k2.patch, NONE, 1.1.22.1 jwltest-e1000-update-6_0_54-k2.patch, NONE, 1.1.10.1 jwltest-e1000-workqueue-flush.patch, NONE, 1.1.22.1 jwltest-ipw2100-1_1_0.patch, NONE, 1.1.20.1 jwltest-ixgb-update-1_0_90-k2.patch, NONE, 1.1.10.1 jwltest-ixgb-update-1_0_95-k2.patch, NONE, 1.1.10.1 jwltest-tg3-3_27.patch, NONE, 1.1.6.1 kernel-2.6.spec, 1.841, 1.841.2.1 linux-2.6.9-module_version.patch, 1.6, 1.6.22.1 Message-ID: <200506021924.j52JOwsY007214@cvs.devel.redhat.com> Author: linville Update of /cvs/dist/rpms/kernel/FC-3 In directory cvs.devel.redhat.com:/tmp/cvs-serv6198 Modified Files: Tag: private-linville-fc3-jwltest-12-branch kernel-2.6.spec linux-2.6.9-module_version.patch Added Files: Tag: private-linville-fc3-jwltest-12-branch jwltest-b44-bounce-bufs.patch jwltest-bonding-2_6_12-rc2.patch jwltest-bonding-sysfs.patch jwltest-e100-update-3_4_8-k2.patch jwltest-e1000-update-5_7_6-k2.patch jwltest-e1000-update-6_0_54-k2.patch jwltest-e1000-workqueue-flush.patch jwltest-ipw2100-1_1_0.patch jwltest-ixgb-update-1_0_90-k2.patch jwltest-ixgb-update-1_0_95-k2.patch jwltest-tg3-3_27.patch Log Message: jwltest-b44-bounce-bufs.patch: b44.c | 36 +++++++++++++++++++++--------------- b44.h | 3 +-- 2 files changed, 22 insertions(+), 17 deletions(-) --- NEW FILE jwltest-b44-bounce-bufs.patch --- --- linux-2.6.11/drivers/net/b44.h.orig 2005-03-09 16:44:40.753866914 -0500 +++ linux-2.6.11/drivers/net/b44.h 2005-03-09 16:44:50.197605243 -0500 @@ -397,7 +397,6 @@ struct b44 { struct ring_info *rx_buffers; struct ring_info *tx_buffers; - unsigned char *tx_bufs; u32 dma_offset; u32 flags; @@ -429,7 +428,7 @@ struct b44 { struct pci_dev *pdev; struct net_device *dev; - dma_addr_t rx_ring_dma, tx_ring_dma,tx_bufs_dma; + dma_addr_t rx_ring_dma, tx_ring_dma; u32 rx_pending; u32 tx_pending; --- linux-2.6.11/drivers/net/b44.c.orig 2005-03-09 16:44:40.755866647 -0500 +++ linux-2.6.11/drivers/net/b44.c 2005-03-09 16:44:50.199604976 -0500 @@ -908,6 +908,7 @@ static void b44_tx_timeout(struct net_de static int b44_start_xmit(struct sk_buff *skb, struct net_device *dev) { struct b44 *bp = netdev_priv(dev); + struct sk_buff *bounce_skb; dma_addr_t mapping; u32 len, entry, ctrl; @@ -923,15 +924,31 @@ static int b44_start_xmit(struct sk_buff return 1; } - entry = bp->tx_prod; mapping = pci_map_single(bp->pdev, skb->data, len, PCI_DMA_TODEVICE); if(mapping+len > B44_DMA_MASK) { /* Chip can't handle DMA to/from >1GB, use bounce buffer */ - pci_unmap_single(bp->pdev, mapping, len,PCI_DMA_TODEVICE); - memcpy(bp->tx_bufs+entry*TX_PKT_BUF_SZ,skb->data,skb->len); - mapping = pci_map_single(bp->pdev, bp->tx_bufs+entry*TX_PKT_BUF_SZ, len, PCI_DMA_TODEVICE); + pci_unmap_single(bp->pdev, mapping, len, PCI_DMA_TODEVICE); + + bounce_skb = __dev_alloc_skb(TX_PKT_BUF_SZ, + GFP_ATOMIC|GFP_DMA); + if (!bounce_skb) + return NETDEV_TX_BUSY; + + mapping = pci_map_single(bp->pdev, bounce_skb->data, + len, PCI_DMA_TODEVICE); + if(mapping+len > B44_DMA_MASK) { + pci_unmap_single(bp->pdev, mapping, + len, PCI_DMA_TODEVICE); + dev_kfree_skb_any(bounce_skb); + return NETDEV_TX_BUSY; + } + + memcpy(skb_put(bounce_skb, len), skb->data, skb->len); + dev_kfree_skb_any(skb); + skb = bounce_skb; } + entry = bp->tx_prod; bp->tx_buffers[entry].skb = skb; pci_unmap_addr_set(&bp->tx_buffers[entry], mapping, mapping); @@ -1078,11 +1095,6 @@ static void b44_free_consistent(struct b bp->tx_ring, bp->tx_ring_dma); bp->tx_ring = NULL; } - if (bp->tx_bufs) { - pci_free_consistent(bp->pdev, B44_TX_RING_SIZE * TX_PKT_BUF_SZ, - bp->tx_bufs, bp->tx_bufs_dma); - bp->tx_bufs = NULL; - } } /* @@ -1105,12 +1117,6 @@ static int b44_alloc_consistent(struct b goto out_err; memset(bp->tx_buffers, 0, size); - size = B44_TX_RING_SIZE * TX_PKT_BUF_SZ; - bp->tx_bufs = pci_alloc_consistent(bp->pdev, size, &bp->tx_bufs_dma); - if (!bp->tx_bufs) - goto out_err; - memset(bp->tx_bufs, 0, size); - size = DMA_TABLE_BYTES; bp->rx_ring = pci_alloc_consistent(bp->pdev, size, &bp->rx_ring_dma); if (!bp->rx_ring) jwltest-bonding-2_6_12-rc2.patch: bond_3ad.c | 2 +- bond_3ad.h | 1 - bond_alb.c | 16 +++++++++------- bond_main.c | 54 ++++++++++++++++++++---------------------------------- bonding.h | 1 + bonding_compat.h | 7 +++++++ 6 files changed, 38 insertions(+), 43 deletions(-) --- NEW FILE jwltest-bonding-2_6_12-rc2.patch --- --- linux-2.6.11/drivers/net/bonding/bond_3ad.h.orig 2005-04-08 10:48:26.717400547 -0400 +++ linux-2.6.11/drivers/net/bonding/bond_3ad.h 2005-04-08 10:48:44.236065061 -0400 @@ -290,7 +290,6 @@ void bond_3ad_initialize(struct bonding int bond_3ad_bind_slave(struct slave *slave); void bond_3ad_unbind_slave(struct slave *slave); void bond_3ad_state_machine_handler(struct bonding *bond); -void bond_3ad_rx_indication(struct lacpdu *lacpdu, struct slave *slave, u16 length); void bond_3ad_adapter_speed_changed(struct slave *slave); void bond_3ad_adapter_duplex_changed(struct slave *slave); void bond_3ad_handle_link_change(struct slave *slave, char link); --- linux-2.6.11/drivers/net/bonding/bonding.h.orig 2005-04-08 10:48:26.724399614 -0400 +++ linux-2.6.11/drivers/net/bonding/bonding.h 2005-04-08 11:05:22.161032308 -0400 @@ -33,6 +33,7 @@ #include #include #include +#include "bonding_compat.h" #include "bond_3ad.h" #include "bond_alb.h" --- linux-2.6.11/drivers/net/bonding/bonding_compat.h.orig 2005-04-08 11:03:31.727754295 -0400 +++ linux-2.6.11/drivers/net/bonding/bonding_compat.h 2005-04-08 11:05:02.030715962 -0400 @@ -0,0 +1,7 @@ +#ifndef __BONDING_COMPAT_H__ +#define __BONDING_COMPAT_H__ + +#define dev_set_mac_address(dev, sa) \ + (dev)->set_mac_address((dev), (sa)) + +#endif /* __BONDING_COMPAT_H__ */ --- linux-2.6.11/drivers/net/bonding/bond_3ad.c.orig 2005-04-08 10:48:26.715400814 -0400 +++ linux-2.6.11/drivers/net/bonding/bond_3ad.c 2005-04-08 10:48:44.231065728 -0400 @@ -2175,7 +2175,7 @@ out: * received frames (loopback). Since only the payload is given to this * function, it check for loopback. */ -void bond_3ad_rx_indication(struct lacpdu *lacpdu, struct slave *slave, u16 length) +static void bond_3ad_rx_indication(struct lacpdu *lacpdu, struct slave *slave, u16 length) { struct port *port; --- linux-2.6.11/drivers/net/bonding/bond_main.c.orig 2005-04-08 10:48:26.726399348 -0400 +++ linux-2.6.11/drivers/net/bonding/bond_main.c 2005-04-08 10:48:44.257062262 -0400 @@ -793,29 +793,20 @@ struct vlan_entry *bond_next_vlan(struct * @skb: hw accel VLAN tagged skb to transmit * @slave_dev: slave that is supposed to xmit this skbuff * - * When the bond gets an skb to tarnsmit that is + * When the bond gets an skb to transmit that is * already hardware accelerated VLAN tagged, and it * needs to relay this skb to a slave that is not * hw accel capable, the skb needs to be "unaccelerated", * i.e. strip the hwaccel tag and re-insert it as part * of the payload. - * - * Assumption - once a VLAN device is created over the bond device, all - * packets are going to be hardware accelerated VLAN tagged since the IP - * binding is done over the VLAN device */ int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, struct net_device *slave_dev) { unsigned short vlan_id; - int res; if (!list_empty(&bond->vlan_list) && - !(slave_dev->features & NETIF_F_HW_VLAN_TX)) { - res = vlan_get_tag(skb, &vlan_id); - if (res) { - return -EINVAL; - } - + !(slave_dev->features & NETIF_F_HW_VLAN_TX) && + vlan_get_tag(skb, &vlan_id) == 0) { skb->dev = slave_dev; skb = vlan_put_tag(skb, vlan_id); if (!skb) { @@ -1719,7 +1710,7 @@ static int bond_enslave(struct net_devic */ memcpy(addr.sa_data, bond_dev->dev_addr, bond_dev->addr_len); addr.sa_family = slave_dev->type; - res = slave_dev->set_mac_address(slave_dev, &addr); + res = dev_set_mac_address(slave_dev, &addr); if (res) { dprintk("Error %d calling set_mac_address\n", res); goto err_free; @@ -1849,8 +1840,8 @@ static int bond_enslave(struct net_devic if (bond_update_speed_duplex(new_slave) && (new_slave->link != BOND_LINK_DOWN)) { printk(KERN_WARNING DRV_NAME - ": Warning: failed to get speed/duplex from %s, speed " - "forced to 100Mbps, duplex forced to Full.\n", + ": Warning: failed to get speed and duplex from %s, " + "assumed to be 100Mb/sec and Full.\n", new_slave->dev->name); if (bond->params.mode == BOND_MODE_8023AD) { @@ -1991,7 +1982,7 @@ err_close: err_restore_mac: memcpy(addr.sa_data, new_slave->perm_hwaddr, ETH_ALEN); addr.sa_family = slave_dev->type; - slave_dev->set_mac_address(slave_dev, &addr); + dev_set_mac_address(slave_dev, &addr); err_free: kfree(new_slave); @@ -2171,7 +2162,7 @@ static int bond_release(struct net_devic /* restore original ("permanent") mac address */ memcpy(addr.sa_data, slave->perm_hwaddr, ETH_ALEN); addr.sa_family = slave_dev->type; - slave_dev->set_mac_address(slave_dev, &addr); + dev_set_mac_address(slave_dev, &addr); } /* restore the original state of the @@ -2262,7 +2253,7 @@ static int bond_release_all(struct net_d /* restore original ("permanent") mac address*/ memcpy(addr.sa_data, slave->perm_hwaddr, ETH_ALEN); addr.sa_family = slave_dev->type; - slave_dev->set_mac_address(slave_dev, &addr); + dev_set_mac_address(slave_dev, &addr); } /* restore the original state of the IFF_NOARP flag that might have @@ -3898,12 +3889,7 @@ static int bond_change_mtu(struct net_de bond_for_each_slave(bond, slave, i) { dprintk("s %p s->p %p c_m %p\n", slave, slave->prev, slave->dev->change_mtu); - if (slave->dev->change_mtu) { - res = slave->dev->change_mtu(slave->dev, new_mtu); - } else { - slave->dev->mtu = new_mtu; - res = 0; - } + res = dev_set_mtu(slave->dev, new_mtu); if (res) { /* If we failed to set the slave's mtu to the new value @@ -3929,14 +3915,10 @@ unwind: bond_for_each_slave_from_to(bond, slave, i, bond->first_slave, stop_at) { int tmp_res; - if (slave->dev->change_mtu) { - tmp_res = slave->dev->change_mtu(slave->dev, bond_dev->mtu); - if (tmp_res) { - dprintk("unwind err %d dev %s\n", tmp_res, - slave->dev->name); - } - } else { - slave->dev->mtu = bond_dev->mtu; + tmp_res = dev_set_mtu(slave->dev, bond_dev->mtu); + if (tmp_res) { + dprintk("unwind err %d dev %s\n", tmp_res, + slave->dev->name); } } @@ -3988,7 +3970,7 @@ static int bond_set_mac_address(struct n goto unwind; } - res = slave->dev->set_mac_address(slave->dev, addr); + res = dev_set_mac_address(slave->dev, addr); if (res) { /* TODO: consider downing the slave * and retry ? @@ -4014,7 +3996,7 @@ unwind: bond_for_each_slave_from_to(bond, slave, i, bond->first_slave, stop_at) { int tmp_res; - tmp_res = slave->dev->set_mac_address(slave->dev, &tmp_sa); + tmp_res = dev_set_mac_address(slave->dev, &tmp_sa); if (tmp_res) { dprintk("unwind err %d dev %s\n", tmp_res, slave->dev->name); @@ -4306,6 +4288,10 @@ static int __init bond_init(struct net_d */ bond_dev->features |= NETIF_F_VLAN_CHALLENGED; + /* don't acquire bond device's xmit_lock when + * transmitting */ + bond_dev->features |= NETIF_F_LLTX; + /* By default, we declare the bond to be fully * VLAN hardware accelerated capable. Special * care is taken in the various xmit functions --- linux-2.6.11/drivers/net/bonding/bond_alb.c.orig 2005-04-08 10:48:26.719400281 -0400 +++ linux-2.6.11/drivers/net/bonding/bond_alb.c 2005-04-08 10:48:44.241064395 -0400 @@ -54,6 +54,7 @@ #include #include #include +#include #include #include #include @@ -275,7 +276,7 @@ static struct slave *tlb_get_least_loade } /* Caller must hold bond lock for read */ -struct slave *tlb_choose_channel(struct bonding *bond, u32 hash_index, u32 skb_len) +static struct slave *tlb_choose_channel(struct bonding *bond, u32 hash_index, u32 skb_len) { struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); struct tlb_client_info *hash_table; @@ -627,7 +628,7 @@ static void rlb_req_update_subnet_client } /* Caller must hold both bond and ptr locks for read */ -struct slave *rlb_choose_channel(struct sk_buff *skb, struct bonding *bond) +static struct slave *rlb_choose_channel(struct sk_buff *skb, struct bonding *bond) { struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); struct arp_pkt *arp = (struct arp_pkt *)skb->nh.raw; @@ -954,9 +955,9 @@ static int alb_set_slave_mac_addr(struct /* each slave will receive packets destined to a different mac */ memcpy(s_addr.sa_data, addr, dev->addr_len); s_addr.sa_family = dev->type; - if (dev->set_mac_address(dev, &s_addr)) { + if (dev_set_mac_address(dev, &s_addr)) { printk(KERN_ERR DRV_NAME - ": Error: dev->set_mac_address of dev %s failed! ALB " + ": Error: dev_set_mac_address of dev %s failed! ALB " "mode requires that the base driver support setting " "the hw address also when the network device's " "interface is open\n", @@ -1209,7 +1210,7 @@ static int alb_set_mac_address(struct bo /* save net_device's current hw address */ memcpy(tmp_addr, slave->dev->dev_addr, ETH_ALEN); - res = slave->dev->set_mac_address(slave->dev, addr); + res = dev_set_mac_address(slave->dev, addr); /* restore net_device's hw address */ memcpy(slave->dev->dev_addr, tmp_addr, ETH_ALEN); @@ -1229,7 +1230,7 @@ unwind: stop_at = slave; bond_for_each_slave_from_to(bond, slave, i, bond->first_slave, stop_at) { memcpy(tmp_addr, slave->dev->dev_addr, ETH_ALEN); - slave->dev->set_mac_address(slave->dev, &sa); + dev_set_mac_address(slave->dev, &sa); memcpy(slave->dev->dev_addr, tmp_addr, ETH_ALEN); } @@ -1300,7 +1301,8 @@ int bond_alb_xmit(struct sk_buff *skb, s switch (ntohs(skb->protocol)) { case ETH_P_IP: if ((memcmp(eth_data->h_dest, mac_bcast, ETH_ALEN) == 0) || - (skb->nh.iph->daddr == ip_bcast)) { + (skb->nh.iph->daddr == ip_bcast) || + (skb->nh.iph->protocol == IPPROTO_IGMP)) { do_tx_balance = 0; break; } jwltest-bonding-sysfs.patch: Makefile | 2 bond_3ad.c | 74 ++- bond_alb.c | 61 +- bond_main.c | 408 +++++++++++------ bond_sysfs.c | 1348 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ bonding.h | 35 + 6 files changed, 1733 insertions(+), 195 deletions(-) --- NEW FILE jwltest-bonding-sysfs.patch --- --- linux-2.6.11/drivers/net/bonding/bonding.h.orig 2005-04-13 20:24:00.556480998 -0400 +++ linux-2.6.11/drivers/net/bonding/bonding.h 2005-04-13 20:20:13.113828694 -0400 @@ -33,12 +33,13 @@ #include #include #include +#include #include "bonding_compat.h" #include "bond_3ad.h" #include "bond_alb.h" -#define DRV_VERSION "2.6.1" -#define DRV_RELDATE "October 29, 2004" +#define DRV_VERSION "3.1.6" +#define DRV_RELDATE "April 8, 2005" #define DRV_NAME "bonding" #define DRV_DESCRIPTION "Ethernet Channel Bonding Driver" @@ -148,13 +149,18 @@ struct bond_params { u32 arp_targets[BOND_MAX_ARP_TARGETS]; }; +struct bond_parm_tbl { + char *modename; + int mode; +}; + struct vlan_entry { struct list_head vlan_list; unsigned short vlan_id; }; struct slave { - struct net_device *dev; /* first - usefull for panic debug */ + struct net_device *dev; /* first - useful for panic debug */ struct slave *next; struct slave *prev; s16 delay; @@ -180,7 +186,7 @@ struct slave { * beforehand. */ struct bonding { - struct net_device *dev; /* first - usefull for panic debug */ + struct net_device *dev; /* first - useful for panic debug */ struct slave *first_slave; struct slave *curr_active_slave; struct slave *current_arp_slave; @@ -204,6 +210,7 @@ struct bonding { struct bond_params params; struct list_head vlan_list; struct vlan_group *vlgrp; + u32 my_ip; }; /** @@ -248,6 +255,26 @@ extern inline void bond_set_slave_active struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr); int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, struct net_device *slave_dev); +int bond_create(char *name, struct bond_params *params, struct bonding **newbond); +void bond_deinit(struct net_device *bond_dev); +int bond_create_sysfs(void); +void bond_destroy_sysfs(void); +void bond_destroy_sysfs_entry(struct bonding *bond); +int bond_create_sysfs_entry(struct bonding *bond); +int bond_create_slave_symlinks(struct net_device *master, struct net_device *slave); +void bond_destroy_slave_symlinks(struct net_device *master, struct net_device *slave); +int bond_check_abi_ver(void); +int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev, struct slave **vassal); +int bond_release(struct net_device *bond_dev, struct net_device *slave_dev); +int bond_sethwaddr(struct net_device *bond_dev, struct net_device *slave_dev); +void bond_mii_monitor(struct net_device *bond_dev); +void bond_loadbalance_arp_mon(struct net_device *bond_dev); +void bond_activebackup_arp_mon(struct net_device *bond_dev); +void bond_set_mode_ops(struct net_device *bond_dev, int mode); +int bond_parse_parm(char *mode_arg, struct bond_parm_tbl *tbl); +const char *bond_mode_name(int mode); +void bond_select_active_slave(struct bonding *bond); +void bond_change_active_slave(struct bonding *bond, struct slave *new_active); #endif /* _LINUX_BONDING_H */ --- linux-2.6.11/drivers/net/bonding/bond_sysfs.c.orig 2005-04-13 20:24:00.566479664 -0400 +++ linux-2.6.11/drivers/net/bonding/bond_sysfs.c 2005-04-13 20:17:54.578314141 -0400 @@ -0,0 +1,1348 @@ + +/* + * Copyright(c) 2004 Intel Corporation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * The full GNU General Public License is included in this distribution in the + * file called LICENSE. + * + * + * Changes: + * + * 2004/12/12 - Mitch Williams + * - Initial creation of sysfs interface. + * + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* #define BONDING_DEBUG 1 */ +#include "bonding.h" +#define to_class_dev(obj) container_of(obj,struct class_device,kobj) +#define to_net_dev(class) container_of(class, struct net_device, class_dev) +#define to_bond(cd) ((struct bonding *)(to_net_dev(cd)->priv)) + +/*---------------------------- Declarations -------------------------------*/ + +/* Macros for real simple parsing of text. */ +#define eat_nonalnum(str,whence,max) \ + while (whence < max) {if (!isalnum(str[whence])) whence++; else break;}; +#define find_next_nonalpha(str,whence,max) \ + while (whence < max) {if (isalnum(str[whence])) whence++; else break;}; + +extern struct list_head bond_dev_list; +extern struct bond_params bonding_defaults; +extern struct bond_parm_tbl bond_mode_tbl[]; +extern struct bond_parm_tbl bond_lacp_tbl[]; + +static struct class *netdev_class; +/*--------------------------- Data Structures -----------------------------*/ + +/* Bonding sysfs lock. Why can't we just use the subsytem lock? + * Because kobject_register tries to acquire the subsystem lock. If + * we already hold the lock (which we would if the user was creating + * a new bond through the sysfs interface), we deadlock. + */ + +struct rw_semaphore bonding_rwsem; + + + + +/*------------------------------ Functions --------------------------------*/ + +/* + * "show" function for the bond_masters attribute. + * The class parameter is ignored. + */ +static ssize_t bonding_show_bonds(struct class *cls, char *buffer) +{ + int res = 0; + struct bonding *bond; + + down_read(&(bonding_rwsem)); + + list_for_each_entry(bond, &bond_dev_list, bond_list) { + res += sprintf(buffer + res, "%s ", + bond->dev->name); + if (res > (PAGE_SIZE - IFNAMSIZ)) { + dprintk("eek! too many bonds!\n"); + break; + } + } + res += sprintf(buffer + res, "\n"); + res++; + up_read(&(bonding_rwsem)); + return res; +} + +/* + * "store" function for the bond_masters attribute. This is what + * creates and deletes entire bonds. + * + * The class parameter is ignored. + * + * This function uses the eat_nonalnum and eat_alnum macros, define + * above. Why not use sscanf()? Scanf can get strings, but can't filter [...2347 lines suppressed...] +err: + rtnl_lock(); bond_free_all(); - + bond_destroy_sysfs(); rtnl_unlock(); - +out: return res; + } static void __exit bonding_exit(void) { unregister_netdevice_notifier(&bond_netdev_notifier); - rtnl_lock(); bond_free_all(); + bond_destroy_sysfs(); rtnl_unlock(); } --- linux-2.6.11/drivers/net/bonding/Makefile.orig 2005-04-13 20:24:00.543482733 -0400 +++ linux-2.6.11/drivers/net/bonding/Makefile 2005-04-13 20:17:54.579314007 -0400 @@ -4,5 +4,5 @@ obj-$(CONFIG_BONDING) += bonding.o -bonding-objs := bond_main.o bond_3ad.o bond_alb.o +bonding-objs := bond_main.o bond_3ad.o bond_alb.o bond_sysfs.o --- linux-2.6.11/drivers/net/bonding/bond_alb.c.orig 2005-04-13 20:24:00.561480331 -0400 +++ linux-2.6.11/drivers/net/bonding/bond_alb.c 2005-04-13 20:19:01.222421416 -0400 @@ -198,20 +198,21 @@ static int tlb_initialize(struct bonding { struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); int size = TLB_HASH_TABLE_SIZE * sizeof(struct tlb_client_info); + struct tlb_client_info *new_hashtbl; int i; spin_lock_init(&(bond_info->tx_hashtbl_lock)); - _lock_tx_hashtbl(bond); - - bond_info->tx_hashtbl = kmalloc(size, GFP_KERNEL); - if (!bond_info->tx_hashtbl) { + new_hashtbl = kmalloc(size, GFP_KERNEL); + if (!new_hashtbl) { printk(KERN_ERR DRV_NAME - ": Error: %s: Failed to allocate TLB hash table\n", + ": %s: Error: Failed to allocate TLB hash table\n", bond->dev->name); - _unlock_tx_hashtbl(bond); return -1; } + _lock_tx_hashtbl(bond); + + bond_info->tx_hashtbl = new_hashtbl; memset(bond_info->tx_hashtbl, 0, size); @@ -514,7 +515,8 @@ static void rlb_update_client(struct rlb client_info->mac_dst); if (!skb) { printk(KERN_ERR DRV_NAME - ": Error: failed to create an ARP packet\n"); + ": %s: Error: failed to create an ARP packet\n", + client_info->slave->dev->master->name); continue; } @@ -524,7 +526,8 @@ static void rlb_update_client(struct rlb skb = vlan_put_tag(skb, client_info->vlan_id); if (!skb) { printk(KERN_ERR DRV_NAME - ": Error: failed to insert VLAN tag\n"); + ": %s: Error: failed to insert VLAN tag\n", + client_info->slave->dev->master->name); continue; } } @@ -607,8 +610,9 @@ static void rlb_req_update_subnet_client if (!client_info->slave) { printk(KERN_ERR DRV_NAME - ": Error: found a client with no channel in " - "the client's hash table\n"); + ": %s: Error: found a client with no channel in " + "the client's hash table\n", + bond->dev->name); continue; } /*update all clients using this src_ip, that are not assigned @@ -798,21 +802,22 @@ static int rlb_initialize(struct bonding { struct alb_bond_info *bond_info = &(BOND_ALB_INFO(bond)); struct packet_type *pk_type = &(BOND_ALB_INFO(bond).rlb_pkt_type); + struct rlb_client_info *new_hashtbl; int size = RLB_HASH_TABLE_SIZE * sizeof(struct rlb_client_info); int i; spin_lock_init(&(bond_info->rx_hashtbl_lock)); - _lock_rx_hashtbl(bond); - - bond_info->rx_hashtbl = kmalloc(size, GFP_KERNEL); - if (!bond_info->rx_hashtbl) { + new_hashtbl = kmalloc(size, GFP_KERNEL); + if (!new_hashtbl) { printk(KERN_ERR DRV_NAME - ": Error: %s: Failed to allocate RLB hash table\n", + ": %s: Error: Failed to allocate RLB hash table\n", bond->dev->name); - _unlock_rx_hashtbl(bond); return -1; } + _lock_rx_hashtbl(bond); + + bond_info->rx_hashtbl = new_hashtbl; bond_info->rx_hashtbl_head = RLB_NULL_INDEX; @@ -928,7 +933,8 @@ static void alb_send_learning_packets(st skb = vlan_put_tag(skb, vlan->vlan_id); if (!skb) { printk(KERN_ERR DRV_NAME - ": Error: failed to insert VLAN tag\n"); + ": %s: Error: failed to insert VLAN tag\n", + bond->dev->name); continue; } } @@ -957,11 +963,11 @@ static int alb_set_slave_mac_addr(struct s_addr.sa_family = dev->type; if (dev_set_mac_address(dev, &s_addr)) { printk(KERN_ERR DRV_NAME - ": Error: dev_set_mac_address of dev %s failed! ALB " + ": %s: Error: dev_set_mac_address of dev %s failed! ALB " "mode requires that the base driver support setting " "the hw address also when the network device's " "interface is open\n", - dev->name); + dev->master->name, dev->name); return -EOPNOTSUPP; } return 0; @@ -1111,9 +1117,9 @@ static int alb_handle_addr_collision_on_ * of the new slave */ printk(KERN_ERR DRV_NAME - ": Error: the hw address of slave %s is not " + ": %s: Error: the hw address of slave %s is not " "unique - cannot enslave it!", - slave->dev->name); + bond->dev->name, slave->dev->name); return -EINVAL; } @@ -1159,16 +1165,16 @@ static int alb_handle_addr_collision_on_ bond->alb_info.rlb_enabled); printk(KERN_WARNING DRV_NAME - ": Warning: the hw address of slave %s is in use by " + ": %s: Warning: the hw address of slave %s is in use by " "the bond; giving it the hw address of %s\n", - slave->dev->name, free_mac_slave->dev->name); + bond->dev->name, slave->dev->name, free_mac_slave->dev->name); } else if (has_bond_addr) { printk(KERN_ERR DRV_NAME - ": Error: the hw address of slave %s is in use by the " + ": %s: Error: the hw address of slave %s is in use by the " "bond; couldn't find a slave with a free hw address to " "give it (this should not have happened)\n", - slave->dev->name); + bond->dev->name, slave->dev->name); return -EFAULT; } @@ -1256,8 +1262,11 @@ int bond_alb_initialize(struct bonding * tlb_deinitialize(bond); return res; } + } else { + bond->alb_info.rlb_enabled = 0; } + return 0; } @@ -1415,7 +1424,7 @@ void bond_alb_monitor(struct bonding *bo read_lock(&bond->curr_slave_lock); bond_for_each_slave(bond, slave, i) { - alb_send_learning_packets(slave,slave->dev->dev_addr); + alb_send_learning_packets(slave, slave->dev->dev_addr); } read_unlock(&bond->curr_slave_lock); jwltest-e100-update-3_4_8-k2.patch: e100.c | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 139 insertions(+), 26 deletions(-) --- NEW FILE jwltest-e100-update-3_4_8-k2.patch --- --- linux-2.6.11/drivers/net/e100.c.orig 2005-04-29 15:09:55.396191442 -0400 +++ linux-2.6.11/drivers/net/e100.c 2005-04-29 15:09:27.792869860 -0400 @@ -155,9 +155,9 @@ #define DRV_NAME "e100" #define DRV_EXT "-NAPI" -#define DRV_VERSION "3.3.6-k2"DRV_EXT +#define DRV_VERSION "3.4.8-k2"DRV_EXT #define DRV_DESCRIPTION "Intel(R) PRO/100 Network Driver" -#define DRV_COPYRIGHT "Copyright(c) 1999-2004 Intel Corporation" +#define DRV_COPYRIGHT "Copyright(c) 1999-2005 Intel Corporation" #define PFX DRV_NAME ": " #define E100_WATCHDOG_PERIOD (2 * HZ) @@ -210,11 +210,17 @@ static struct pci_device_id e100_id_tabl INTEL_8255X_ETHERNET_DEVICE(0x1069, 6), INTEL_8255X_ETHERNET_DEVICE(0x106A, 6), INTEL_8255X_ETHERNET_DEVICE(0x106B, 6), + INTEL_8255X_ETHERNET_DEVICE(0x1091, 7), + INTEL_8255X_ETHERNET_DEVICE(0x1092, 7), + INTEL_8255X_ETHERNET_DEVICE(0x1093, 7), + INTEL_8255X_ETHERNET_DEVICE(0x1094, 7), + INTEL_8255X_ETHERNET_DEVICE(0x1095, 7), INTEL_8255X_ETHERNET_DEVICE(0x1209, 0), INTEL_8255X_ETHERNET_DEVICE(0x1229, 0), INTEL_8255X_ETHERNET_DEVICE(0x2449, 2), INTEL_8255X_ETHERNET_DEVICE(0x2459, 2), INTEL_8255X_ETHERNET_DEVICE(0x245D, 2), + INTEL_8255X_ETHERNET_DEVICE(0x27DC, 7), { 0, } }; MODULE_DEVICE_TABLE(pci, e100_id_table); @@ -269,6 +275,12 @@ enum scb_status { rus_mask = 0x3C, }; +enum ru_state { + RU_SUSPENDED = 0, + RU_RUNNING = 1, + RU_UNINITIALIZED = -1, +}; + enum scb_stat_ack { stat_ack_not_ours = 0x00, stat_ack_sw_gen = 0x04, @@ -510,7 +522,7 @@ struct nic { struct rx *rx_to_use; struct rx *rx_to_clean; struct rfd blank_rfd; - int ru_running; + enum ru_state ru_running; spinlock_t cb_lock ____cacheline_aligned; spinlock_t cmd_lock; @@ -539,6 +551,7 @@ struct nic { struct timer_list watchdog; struct timer_list blink_timer; struct mii_if_info mii; + struct work_struct tx_timeout_task; enum loopback loopback; struct mem *mem; @@ -770,7 +783,7 @@ static int e100_eeprom_save(struct nic * return 0; } -#define E100_WAIT_SCB_TIMEOUT 40 +#define E100_WAIT_SCB_TIMEOUT 20000 /* we might have to wait 100ms!!! */ static inline int e100_exec_cmd(struct nic *nic, u8 cmd, dma_addr_t dma_addr) { unsigned long flags; @@ -840,6 +853,10 @@ static inline int e100_exec_cb(struct ni * because the controller is too busy, so * let's just queue the command and try again * when another command is scheduled. */ + if(err == -ENOSPC) { + //request a reset + schedule_work(&nic->tx_timeout_task); + } break; } else { nic->cuc_cmd = cuc_resume; @@ -884,7 +901,7 @@ static void mdio_write(struct net_device static void e100_get_defaults(struct nic *nic) { - struct param_range rfds = { .min = 64, .max = 256, .count = 64 }; + struct param_range rfds = { .min = 16, .max = 256, .count = 64 }; struct param_range cbs = { .min = 64, .max = 256, .count = 64 }; pci_read_config_byte(nic->pdev, PCI_REVISION_ID, &nic->rev_id); @@ -899,8 +916,9 @@ static void e100_get_defaults(struct nic /* Quadwords to DMA into FIFO before starting frame transmit */ nic->tx_threshold = 0xE0; - nic->tx_command = cpu_to_le16(cb_tx | cb_i | cb_tx_sf | - ((nic->mac >= mac_82558_D101_A4) ? cb_cid : 0)); + /* no interrupt for every tx completion, delay = 256us if not 557*/ + nic->tx_command = cpu_to_le16(cb_tx | cb_tx_sf | + ((nic->mac >= mac_82558_D101_A4) ? cb_cid : cb_i)); /* Template for a freshly allocated RFD */ nic->blank_rfd.command = cpu_to_le16(cb_el); @@ -964,7 +982,8 @@ static void e100_configure(struct nic *n if(nic->flags & multicast_all) config->multicast_all = 0x1; /* 1=accept, 0=no */ - if(!(nic->flags & wol_magic)) + /* disable WoL when up */ + if(netif_running(nic->netdev) || !(nic->flags & wol_magic)) config->magic_packet_disable = 0x1; /* 1=off, 0=on */ if(nic->mac >= mac_82558_D101_A4) { @@ -1203,7 +1222,9 @@ static void e100_update_stats(struct nic } } - e100_exec_cmd(nic, cuc_dump_reset, 0); + + if(e100_exec_cmd(nic, cuc_dump_reset, 0)) + DPRINTK(TX_ERR, DEBUG, "exec cuc_dump_reset failed\n"); } static void e100_adjust_adaptive_ifs(struct nic *nic, int speed, int duplex) @@ -1279,12 +1300,15 @@ static inline void e100_xmit_prepare(str struct sk_buff *skb) { cb->command = nic->tx_command; + /* interrupt every 16 packets regardless of delay */ + if((nic->cbs_avail & ~15) == nic->cbs_avail) cb->command |= cb_i; cb->u.tcb.tbd_array = cb->dma_addr + offsetof(struct cb, u.tcb.tbd); cb->u.tcb.tcb_byte_count = 0; cb->u.tcb.threshold = nic->tx_threshold; cb->u.tcb.tbd_count = 1; cb->u.tcb.tbd.buf_addr = cpu_to_le32(pci_map_single(nic->pdev, skb->data, skb->len, PCI_DMA_TODEVICE)); + // check for mapping failure? cb->u.tcb.tbd.size = cpu_to_le16(skb->len); } @@ -1297,7 +1321,8 @@ static int e100_xmit_frame(struct sk_buf /* SW workaround for ICH[x] 10Mbps/half duplex Tx hang. Issue a NOP command followed by a 1us delay before issuing the Tx command. */ - e100_exec_cmd(nic, cuc_nop, 0); + if(e100_exec_cmd(nic, cuc_nop, 0)) + DPRINTK(TX_ERR, DEBUG, "exec cuc_nop failed\n"); udelay(1); } @@ -1415,12 +1440,18 @@ static int e100_alloc_cbs(struct nic *ni return 0; } -static inline void e100_start_receiver(struct nic *nic) +static inline void e100_start_receiver(struct nic *nic, struct rx *rx) { + if(!nic->rxs) return; + if(RU_SUSPENDED != nic->ru_running) return; + + /* handle init time starts */ + if(!rx) rx = nic->rxs; + /* (Re)start RU if suspended or idle and RFA is non-NULL */ - if(!nic->ru_running && nic->rx_to_clean->skb) { - e100_exec_cmd(nic, ruc_start, nic->rx_to_clean->dma_addr); - nic->ru_running = 1; + if(rx->skb) { + e100_exec_cmd(nic, ruc_start, rx->dma_addr); + nic->ru_running = RU_RUNNING; } } @@ -1437,6 +1468,13 @@ static inline int e100_rx_alloc_skb(stru rx->dma_addr = pci_map_single(nic->pdev, rx->skb->data, RFD_BUF_LEN, PCI_DMA_BIDIRECTIONAL); + if(pci_dma_mapping_error(rx->dma_addr)) { + dev_kfree_skb_any(rx->skb); + rx->skb = 0; + rx->dma_addr = 0; + return -ENOMEM; + } + /* Link the RFD to end of RFA by linking previous RFD to * this one, and clearing EL bit of previous. */ if(rx->prev->skb) { @@ -1471,7 +1509,7 @@ static inline int e100_rx_indicate(struc /* If data isn't ready, nothing to indicate */ if(unlikely(!(rfd_status & cb_complete))) - return -EAGAIN; + return -ENODATA; /* Get actual data size */ actual_size = le16_to_cpu(rfd->actual_size) & 0x3FFF; @@ -1482,6 +1520,10 @@ static inline int e100_rx_indicate(struc pci_unmap_single(nic->pdev, rx->dma_addr, RFD_BUF_LEN, PCI_DMA_FROMDEVICE); + /* this allows for a fast restart without re-enabling interrupts */ + if(le16_to_cpu(rfd->command) & cb_el) + nic->ru_running = RU_SUSPENDED; + /* Pull off the RFD and put the actual data (minus eth hdr) */ skb_reserve(skb, sizeof(struct rfd)); skb_put(skb, actual_size); @@ -1514,20 +1556,45 @@ static inline void e100_rx_clean(struct unsigned int work_to_do) { struct rx *rx; + int restart_required = 0; + struct rx *rx_to_start = NULL; + + /* are we already rnr? then pay attention!!! this ensures that + * the state machine progression never allows a start with a + * partially cleaned list, avoiding a race between hardware + * and rx_to_clean when in NAPI mode */ + if(RU_SUSPENDED == nic->ru_running) + restart_required = 1; /* Indicate newly arrived packets */ for(rx = nic->rx_to_clean; rx->skb; rx = nic->rx_to_clean = rx->next) { - if(e100_rx_indicate(nic, rx, work_done, work_to_do)) + int err = e100_rx_indicate(nic, rx, work_done, work_to_do); + if(-EAGAIN == err) { + /* hit quota so have more work to do, restart once + * cleanup is complete */ + restart_required = 0; + break; + } else if(-ENODATA == err) break; /* No more to clean */ } + /* save our starting point as the place we'll restart the receiver */ + if(restart_required) + rx_to_start = nic->rx_to_clean; + /* Alloc new skbs to refill list */ for(rx = nic->rx_to_use; !rx->skb; rx = nic->rx_to_use = rx->next) { if(unlikely(e100_rx_alloc_skb(nic, rx))) break; /* Better luck next time (see watchdog) */ } - e100_start_receiver(nic); + if(restart_required) { + // ack the rnr? + writeb(stat_ack_rnr, &nic->csr->scb.stat_ack); + e100_start_receiver(nic, rx_to_start); + if(work_done) + (*work_done)++; + } } static void e100_rx_clean_list(struct nic *nic) @@ -1535,6 +1602,8 @@ static void e100_rx_clean_list(struct ni struct rx *rx; unsigned int i, count = nic->params.rfds.count; + nic->ru_running = RU_UNINITIALIZED; + if(nic->rxs) { for(rx = nic->rxs, i = 0; i < count; rx++, i++) { if(rx->skb) { @@ -1548,7 +1617,6 @@ static void e100_rx_clean_list(struct ni } nic->rx_to_use = nic->rx_to_clean = NULL; - nic->ru_running = 0; } static int e100_rx_alloc_list(struct nic *nic) @@ -1557,6 +1625,7 @@ static int e100_rx_alloc_list(struct nic unsigned int i, count = nic->params.rfds.count; nic->rx_to_use = nic->rx_to_clean = NULL; + nic->ru_running = RU_UNINITIALIZED; if(!(nic->rxs = kmalloc(sizeof(struct rx) * count, GFP_ATOMIC))) return -ENOMEM; @@ -1572,6 +1641,7 @@ static int e100_rx_alloc_list(struct nic } nic->rx_to_use = nic->rx_to_clean = nic->rxs; + nic->ru_running = RU_SUSPENDED; return 0; } @@ -1593,7 +1663,7 @@ static irqreturn_t e100_intr(int irq, vo /* We hit Receive No Resource (RNR); restart RU after cleaning */ if(stat_ack & stat_ack_rnr) - nic->ru_running = 0; + nic->ru_running = RU_SUSPENDED; e100_disable_irq(nic); netif_rx_schedule(netdev); @@ -1663,6 +1733,7 @@ static int e100_change_mtu(struct net_de return 0; } +#ifdef CONFIG_PM static int e100_asf(struct nic *nic) { /* ASF can be enabled from eeprom */ @@ -1671,6 +1742,7 @@ static int e100_asf(struct nic *nic) !(nic->eeprom[eeprom_config_asf] & eeprom_gcl) && ((nic->eeprom[eeprom_smbus_addr] & 0xFF) != 0xFE)); } +#endif static int e100_up(struct nic *nic) { @@ -1683,13 +1755,16 @@ static int e100_up(struct nic *nic) if((err = e100_hw_init(nic))) goto err_clean_cbs; e100_set_multicast_list(nic->netdev); - e100_start_receiver(nic); + e100_start_receiver(nic, 0); mod_timer(&nic->watchdog, jiffies); if((err = request_irq(nic->pdev->irq, e100_intr, SA_SHIRQ, nic->netdev->name, nic->netdev))) goto err_no_irq; - e100_enable_irq(nic); netif_wake_queue(nic->netdev); + netif_poll_enable(nic->netdev); + /* enable ints _after_ enabling poll, preventing a race between + * disable ints+schedule */ + e100_enable_irq(nic); return 0; err_no_irq: @@ -1703,11 +1778,13 @@ err_rx_clean_list: static void e100_down(struct nic *nic) { + /* wait here for poll to complete */ + netif_poll_disable(nic->netdev); + netif_stop_queue(nic->netdev); e100_hw_reset(nic); free_irq(nic->pdev->irq, nic->netdev); del_timer_sync(&nic->watchdog); netif_carrier_off(nic->netdev); - netif_stop_queue(nic->netdev); e100_clean_cbs(nic); e100_rx_clean_list(nic); } @@ -1716,6 +1793,15 @@ static void e100_tx_timeout(struct net_d { struct nic *nic = netdev_priv(netdev); + /* Reset outside of interrupt context, to avoid request_irq + * in interrupt context */ + schedule_work(&nic->tx_timeout_task); +} + +static void e100_tx_timeout_task(struct net_device *netdev) +{ + struct nic *nic = netdev_priv(netdev); + DPRINTK(TX_ERR, DEBUG, "scb.status=0x%02X\n", readb(&nic->csr->scb.status)); e100_down(netdev_priv(netdev)); @@ -1749,7 +1835,7 @@ static int e100_loopback_test(struct nic mdio_write(nic->netdev, nic->mii.phy_id, MII_BMCR, BMCR_LOOPBACK); - e100_start_receiver(nic); + e100_start_receiver(nic, 0); if(!(skb = dev_alloc_skb(ETH_DATA_LEN))) { err = -ENOMEM; @@ -1869,7 +1955,6 @@ static int e100_set_wol(struct net_devic else nic->flags &= ~wol_magic; - pci_enable_wake(nic->pdev, 0, nic->flags & (wol_magic | e100_asf(nic))); e100_exec_cb(nic, NULL, e100_configure); return 0; @@ -2223,6 +2308,7 @@ static int __devinit e100_probe(struct p e100_get_defaults(nic); + /* locks must be initialized before calling hw_reset */ spin_lock_init(&nic->cb_lock); spin_lock_init(&nic->cmd_lock); @@ -2240,6 +2326,9 @@ static int __devinit e100_probe(struct p nic->blink_timer.function = e100_blink_led; nic->blink_timer.data = (unsigned long)nic; + INIT_WORK(&nic->tx_timeout_task, + (void (*)(void *))e100_tx_timeout_task, netdev); + if((err = e100_alloc(nic))) { DPRINTK(PROBE, ERR, "Cannot alloc driver memory, aborting.\n"); goto err_out_iounmap; @@ -2263,7 +2352,8 @@ static int __devinit e100_probe(struct p (nic->eeprom[eeprom_id] & eeprom_id_wol)) nic->flags |= wol_magic; - pci_enable_wake(pdev, 0, nic->flags & (wol_magic | e100_asf(nic))); + /* ack any pending wake events, disable PME */ + pci_enable_wake(pdev, 0, 0); strcpy(netdev->name, "eth%d"); if((err = register_netdev(netdev))) { @@ -2335,7 +2425,10 @@ static int e100_resume(struct pci_dev *p pci_set_power_state(pdev, PCI_D0); pci_restore_state(pdev); - e100_hw_init(nic); + /* ack any pending wake events, disable PME */ + pci_enable_wake(pdev, 0, 0); + if(e100_hw_init(nic)) + DPRINTK(HW, ERR, "e100_hw_init failed\n"); netif_device_attach(netdev); if(netif_running(netdev)) @@ -2345,6 +2438,21 @@ static int e100_resume(struct pci_dev *p } #endif + +static void e100_shutdown(struct device *dev) +{ + struct pci_dev *pdev = container_of(dev, struct pci_dev, dev); + struct net_device *netdev = pci_get_drvdata(pdev); + struct nic *nic = netdev_priv(netdev); + +#ifdef CONFIG_PM + pci_enable_wake(pdev, 0, nic->flags & (wol_magic | e100_asf(nic))); +#else + pci_enable_wake(pdev, 0, nic->flags & (wol_magic)); +#endif +} + + static struct pci_driver e100_driver = { .name = DRV_NAME, .id_table = e100_id_table, @@ -2354,6 +2462,11 @@ static struct pci_driver e100_driver = { .suspend = e100_suspend, .resume = e100_resume, #endif + + .driver = { + .shutdown = e100_shutdown, + } + }; static int __init e100_init_module(void) jwltest-e1000-update-5_7_6-k2.patch: e1000.h | 3 e1000_ethtool.c | 11 +- e1000_hw.c | 86 +++++++++-------- e1000_hw.h | 11 +- e1000_main.c | 275 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 5 files changed, 309 insertions(+), 77 deletions(-) --- NEW FILE jwltest-e1000-update-5_7_6-k2.patch --- --- linux-2.6.11/drivers/net/e1000/e1000_hw.c.orig 2005-03-18 15:21:34.767630045 -0500 +++ linux-2.6.11/drivers/net/e1000/e1000_hw.c 2005-03-18 15:22:07.541256468 -0500 @@ -1572,7 +1572,8 @@ e1000_phy_force_speed_duplex(struct e100 if(mii_status_reg & MII_SR_LINK_STATUS) break; msec_delay(100); } - if((i == 0) && (hw->phy_type == e1000_phy_m88)) { + if((i == 0) && + (hw->phy_type == e1000_phy_m88)) { /* We didn't get link. Reset the DSP and wait again for link. */ ret_val = e1000_phy_reset_dsp(hw); if(ret_val) { @@ -2503,7 +2504,7 @@ e1000_read_phy_reg(struct e1000_hw *hw, } } - ret_val = e1000_read_phy_reg_ex(hw, IGP01E1000_PHY_PAGE_SELECT & reg_addr, + ret_val = e1000_read_phy_reg_ex(hw, MAX_PHY_REG_ADDRESS & reg_addr, phy_data); return ret_val; @@ -2609,7 +2610,7 @@ e1000_write_phy_reg(struct e1000_hw *hw, } } - ret_val = e1000_write_phy_reg_ex(hw, IGP01E1000_PHY_PAGE_SELECT & reg_addr, + ret_val = e1000_write_phy_reg_ex(hw, MAX_PHY_REG_ADDRESS & reg_addr, phy_data); return ret_val; @@ -2955,8 +2956,7 @@ e1000_phy_m88_get_info(struct e1000_hw * /* Check polarity status */ ret_val = e1000_check_polarity(hw, &polarity); if(ret_val) - return ret_val; - + return ret_val; phy_info->cable_polarity = polarity; ret_val = e1000_read_phy_reg(hw, M88E1000_PHY_SPEC_STATUS, &phy_data); @@ -2966,9 +2966,9 @@ e1000_phy_m88_get_info(struct e1000_hw * phy_info->mdix_mode = (phy_data & M88E1000_PSSR_MDIX) >> M88E1000_PSSR_MDIX_SHIFT; - if(phy_data & M88E1000_PSSR_1000MBS) { - /* Cable Length Estimation and Local/Remote Receiver Informatoion - * are only valid at 1000 Mbps + if ((phy_data & M88E1000_PSSR_SPEED) == M88E1000_PSSR_1000MBS) { + /* Cable Length Estimation and Local/Remote Receiver Information + * are only valid at 1000 Mbps. */ phy_info->cable_length = ((phy_data & M88E1000_PSSR_CABLE_LENGTH) >> M88E1000_PSSR_CABLE_LENGTH_SHIFT); @@ -4639,41 +4639,44 @@ e1000_get_bus_info(struct e1000_hw *hw) { uint32_t status; - if(hw->mac_type < e1000_82543) { + switch (hw->mac_type) { + case e1000_82542_rev2_0: + case e1000_82542_rev2_1: hw->bus_type = e1000_bus_type_unknown; hw->bus_speed = e1000_bus_speed_unknown; hw->bus_width = e1000_bus_width_unknown; - return; - } - - status = E1000_READ_REG(hw, STATUS); - hw->bus_type = (status & E1000_STATUS_PCIX_MODE) ? - e1000_bus_type_pcix : e1000_bus_type_pci; + break; + default: + status = E1000_READ_REG(hw, STATUS); + hw->bus_type = (status & E1000_STATUS_PCIX_MODE) ? + e1000_bus_type_pcix : e1000_bus_type_pci; - if(hw->device_id == E1000_DEV_ID_82546EB_QUAD_COPPER) { - hw->bus_speed = (hw->bus_type == e1000_bus_type_pci) ? - e1000_bus_speed_66 : e1000_bus_speed_120; - } else if(hw->bus_type == e1000_bus_type_pci) { - hw->bus_speed = (status & E1000_STATUS_PCI66) ? - e1000_bus_speed_66 : e1000_bus_speed_33; - } else { - switch (status & E1000_STATUS_PCIX_SPEED) { - case E1000_STATUS_PCIX_SPEED_66: - hw->bus_speed = e1000_bus_speed_66; - break; - case E1000_STATUS_PCIX_SPEED_100: - hw->bus_speed = e1000_bus_speed_100; - break; - case E1000_STATUS_PCIX_SPEED_133: - hw->bus_speed = e1000_bus_speed_133; - break; - default: - hw->bus_speed = e1000_bus_speed_reserved; - break; + if(hw->device_id == E1000_DEV_ID_82546EB_QUAD_COPPER) { + hw->bus_speed = (hw->bus_type == e1000_bus_type_pci) ? + e1000_bus_speed_66 : e1000_bus_speed_120; + } else if(hw->bus_type == e1000_bus_type_pci) { + hw->bus_speed = (status & E1000_STATUS_PCI66) ? + e1000_bus_speed_66 : e1000_bus_speed_33; + } else { + switch (status & E1000_STATUS_PCIX_SPEED) { + case E1000_STATUS_PCIX_SPEED_66: + hw->bus_speed = e1000_bus_speed_66; + break; + case E1000_STATUS_PCIX_SPEED_100: + hw->bus_speed = e1000_bus_speed_100; + break; + case E1000_STATUS_PCIX_SPEED_133: + hw->bus_speed = e1000_bus_speed_133; + break; + default: + hw->bus_speed = e1000_bus_speed_reserved; + break; + } } + hw->bus_width = (status & E1000_STATUS_BUS64) ? + e1000_bus_width_64 : e1000_bus_width_32; + break; } - hw->bus_width = (status & E1000_STATUS_BUS64) ? - e1000_bus_width_64 : e1000_bus_width_32; } /****************************************************************************** * Reads a value from one of the devices registers using port I/O (as opposed @@ -4738,6 +4741,7 @@ e1000_get_cable_length(struct e1000_hw * uint16_t agc_value = 0; uint16_t cur_agc, min_agc = IGP01E1000_AGC_LENGTH_TABLE_SIZE; uint16_t i, phy_data; + uint16_t cable_length; DEBUGFUNC("e1000_get_cable_length"); @@ -4749,10 +4753,11 @@ e1000_get_cable_length(struct e1000_hw * &phy_data); if(ret_val) return ret_val; + cable_length = (phy_data & M88E1000_PSSR_CABLE_LENGTH) >> + M88E1000_PSSR_CABLE_LENGTH_SHIFT; /* Convert the enum value to ranged values */ - switch((phy_data & M88E1000_PSSR_CABLE_LENGTH) >> - M88E1000_PSSR_CABLE_LENGTH_SHIFT) { + switch (cable_length) { case e1000_cable_length_50: *min_length = 0; *max_length = e1000_igp_cable_length_50; @@ -4919,8 +4924,7 @@ e1000_check_downshift(struct e1000_hw *h return ret_val; hw->speed_downgraded = (phy_data & IGP01E1000_PLHR_SS_DOWNGRADE) ? 1 : 0; - } - else if(hw->phy_type == e1000_phy_m88) { + } else if(hw->phy_type == e1000_phy_m88) { ret_val = e1000_read_phy_reg(hw, M88E1000_PHY_SPEC_STATUS, &phy_data); if(ret_val) --- linux-2.6.11/drivers/net/e1000/e1000_hw.h.orig 2005-03-18 15:21:34.770629645 -0500 +++ linux-2.6.11/drivers/net/e1000/e1000_hw.h 2005-03-18 15:22:07.549255401 -0500 @@ -369,6 +369,7 @@ int32_t e1000_set_d3_lplu_state(struct e #define E1000_DEV_ID_82546GB_SERDES 0x107B #define E1000_DEV_ID_82546GB_PCIE 0x108A #define E1000_DEV_ID_82547EI 0x1019 + #define NODE_ADDRESS_SIZE 6 #define ETH_LENGTH_OF_ADDRESS 6 @@ -1734,6 +1735,9 @@ struct e1000_hw { #define PHY_1000T_STATUS 0x0A /* 1000Base-T Status Reg */ #define PHY_EXT_STATUS 0x0F /* Extended Status Reg */ +#define MAX_PHY_REG_ADDRESS 0x1F /* 5 bit address bus (0-0x1F) */ +#define MAX_PHY_MULTI_PAGE_REG 0xF /* Registers equal on all pages */ + /* M88E1000 Specific Registers */ #define M88E1000_PHY_SPEC_CTRL 0x10 /* PHY Specific Control Register */ #define M88E1000_PHY_SPEC_STATUS 0x11 /* PHY Specific Status Register */ @@ -1794,8 +1798,7 @@ struct e1000_hw { #define IGP01E1000_ANALOG_REGS_PAGE 0x20C0 -#define MAX_PHY_REG_ADDRESS 0x1F /* 5 bit address bus (0-0x1F) */ -#define MAX_PHY_MULTI_PAGE_REG 0xF /*Registers that are equal on all pages*/ + /* PHY Control Register */ #define MII_CR_SPEED_SELECT_MSB 0x0040 /* bits 6,13: 10=1000, 01=100, 00=10 */ #define MII_CR_COLL_TEST_ENABLE 0x0080 /* Collision test enable */ @@ -2098,7 +2101,11 @@ struct e1000_hw { #define IGP01E1000_ANALOG_FUSE_FINE_1 0x0080 #define IGP01E1000_ANALOG_FUSE_FINE_10 0x0500 + /* Bit definitions for valid PHY IDs. */ +/* I = Integrated + * E = External + */ #define M88E1000_E_PHY_ID 0x01410C50 #define M88E1000_I_PHY_ID 0x01410C30 #define M88E1011_I_PHY_ID 0x01410C20 --- linux-2.6.11/drivers/net/e1000/e1000.h.orig 2005-03-18 15:21:34.764630445 -0500 +++ linux-2.6.11/drivers/net/e1000/e1000.h 2005-03-18 15:22:07.532257669 -0500 @@ -138,6 +138,7 @@ struct e1000_adapter; #define E1000_RX_BUFFER_WRITE 16 /* Must be power of 2 */ #define AUTO_ALL_MODES 0 +#define E1000_EEPROM_82544_APM 0x0004 #define E1000_EEPROM_APME 0x0400 #ifndef E1000_MASTER_SLAVE @@ -209,6 +210,7 @@ struct e1000_adapter { /* TX */ struct e1000_desc_ring tx_ring; + struct e1000_buffer previous_buffer_info; spinlock_t tx_lock; uint32_t txd_cmd; uint32_t tx_int_delay; @@ -222,6 +224,7 @@ struct e1000_adapter { uint32_t tx_fifo_size; atomic_t tx_fifo_stall; boolean_t pcix_82544; + boolean_t detect_tx_hung; /* RX */ struct e1000_desc_ring rx_ring; --- linux-2.6.11/drivers/net/e1000/e1000_ethtool.c.orig 2005-03-18 15:21:34.762630712 -0500 +++ linux-2.6.11/drivers/net/e1000/e1000_ethtool.c 2005-03-18 15:22:07.526258470 -0500 @@ -1310,7 +1310,7 @@ e1000_run_loopback_test(struct e1000_ada struct e1000_desc_ring *txdr = &adapter->test_tx_ring; struct e1000_desc_ring *rxdr = &adapter->test_rx_ring; struct pci_dev *pdev = adapter->pdev; - int i; + int i, ret_val; E1000_WRITE_REG(&adapter->hw, RDT, rxdr->count - 1); @@ -1330,11 +1330,12 @@ e1000_run_loopback_test(struct e1000_ada rxdr->buffer_info[i].length, PCI_DMA_FROMDEVICE); - if (!e1000_check_lbtest_frame(rxdr->buffer_info[i++].skb, 1024)) - return 0; - } while (i < 64); + ret_val = e1000_check_lbtest_frame(rxdr->buffer_info[i].skb, + 1024); + i++; + } while (ret_val != 0 && i < 64); - return 13; + return ret_val; } static int --- linux-2.6.11/drivers/net/e1000/e1000_main.c.orig 2005-03-18 15:21:34.773629245 -0500 +++ linux-2.6.11/drivers/net/e1000/e1000_main.c 2005-03-18 15:22:07.557254333 -0500 @@ -35,6 +35,14 @@ * - More errlogging support from Jon Mason * - Fix TSO issues on PPC64 machines -- Jon Mason * + * 5.7.1 12/16/04 + * - Resurrect 82547EI/GI related fix in e1000_intr to avoid deadlocks. This + * fix was removed as it caused system instability. The suspected cause of + * this is the called to e1000_irq_disable in e1000_intr. Inlined the + * required piece of e1000_irq_disable into e1000_intr - Anton Blanchard + * 5.7.0 12/10/04 + * - include fix to the condition that determines when to quit NAPI - Robert Olsson + * - use netif_poll_{disable/enable} to synchronize between NAPI and i/f up/down * 5.6.5 11/01/04 * - Enabling NETIF_F_SG without checksum offload is illegal - John Mason @@ -57,7 +65,7 @@ char e1000_driver_string[] = "Intel(R) P #else #define DRIVERNAPI "-NAPI" #endif -char e1000_driver_version[] = "5.6.10.1-k2"DRIVERNAPI; +char e1000_driver_version[] = "5.7.6-k2"DRIVERNAPI; char e1000_copyright[] = "Copyright (c) 1999-2004 Intel Corporation."; /* e1000_pci_tbl - PCI Device ID Table @@ -81,6 +89,7 @@ static struct pci_device_id e1000_pci_tb INTEL_E1000_ETHERNET_DEVICE(0x1011), INTEL_E1000_ETHERNET_DEVICE(0x1012), INTEL_E1000_ETHERNET_DEVICE(0x1013), + INTEL_E1000_ETHERNET_DEVICE(0x1014), INTEL_E1000_ETHERNET_DEVICE(0x1015), INTEL_E1000_ETHERNET_DEVICE(0x1016), INTEL_E1000_ETHERNET_DEVICE(0x1017), @@ -308,6 +317,9 @@ e1000_up(struct e1000_adapter *adapter) mod_timer(&adapter->watchdog_timer, jiffies); e1000_irq_enable(adapter); +#ifdef CONFIG_E1000_NAPI + netif_poll_enable(netdev); +#endif return 0; } @@ -321,6 +333,10 @@ e1000_down(struct e1000_adapter *adapter del_timer_sync(&adapter->tx_fifo_stall_timer); del_timer_sync(&adapter->watchdog_timer); del_timer_sync(&adapter->phy_info_timer); + +#ifdef CONFIG_E1000_NAPI + netif_poll_disable(netdev); +#endif adapter->link_speed = 0; adapter->link_duplex = 0; netif_carrier_off(netdev); @@ -414,6 +430,7 @@ e1000_probe(struct pci_dev *pdev, int i; int err; uint16_t eeprom_data; + uint16_t eeprom_apme_mask = E1000_EEPROM_APME; if((err = pci_enable_device(pdev))) return err; @@ -510,9 +527,6 @@ e1000_probe(struct pci_dev *pdev, } #ifdef NETIF_F_TSO - /* Disbaled for now until root-cause is found for - * hangs reported against non-IA archs. TSO can be - * enabled using ethtool -K eth tso on */ if((adapter->hw.mac_type >= e1000_82544) && (adapter->hw.mac_type != e1000_82547)) netdev->features |= NETIF_F_TSO; @@ -584,6 +598,11 @@ e1000_probe(struct pci_dev *pdev, case e1000_82542_rev2_1: case e1000_82543: break; + case e1000_82544: + e1000_read_eeprom(&adapter->hw, + EEPROM_INIT_CONTROL2_REG, 1, &eeprom_data); + eeprom_apme_mask = E1000_EEPROM_82544_APM; + break; case e1000_82546: case e1000_82546_rev_3: if((E1000_READ_REG(&adapter->hw, STATUS) & E1000_STATUS_FUNC_1) @@ -598,7 +617,7 @@ e1000_probe(struct pci_dev *pdev, EEPROM_INIT_CONTROL3_PORT_A, 1, &eeprom_data); break; } - if(eeprom_data & E1000_EEPROM_APME) + if(eeprom_data & eeprom_apme_mask) adapter->wol |= E1000_WUFC_MAG; /* reset the hardware with the new settings */ @@ -807,6 +826,31 @@ e1000_close(struct net_device *netdev) } /** + * e1000_check_64k_bound - check that memory doesn't cross 64kB boundary + * @adapter: address of board private structure + * @begin: address of beginning of memory + * @end: address of end of memory + **/ +static inline boolean_t +e1000_check_64k_bound(struct e1000_adapter *adapter, + void *start, unsigned long len) +{ + unsigned long begin = (unsigned long) start; + unsigned long end = begin + len; + + /* first rev 82545 and 82546 need to not allow any memory + * write location to cross a 64k boundary due to errata 23 */ + if (adapter->hw.mac_type == e1000_82545 || + adapter->hw.mac_type == e1000_82546 ) { + + /* check buffer doesn't cross 64kB */ + return ((begin ^ (end - 1)) >> 16) != 0 ? FALSE : TRUE; + } + + return TRUE; +} + +/** * e1000_setup_tx_resources - allocate Tx resources (Descriptors) * @adapter: board private structure * @@ -824,7 +868,7 @@ e1000_setup_tx_resources(struct e1000_ad txdr->buffer_info = vmalloc(size); if(!txdr->buffer_info) { DPRINTK(PROBE, ERR, - "Unble to Allocate Memory for the Transmit descriptor ring\n"); + "Unable to Allocate Memory for the Transmit descriptor ring\n"); return -ENOMEM; } memset(txdr->buffer_info, 0, size); @@ -836,11 +880,42 @@ e1000_setup_tx_resources(struct e1000_ad txdr->desc = pci_alloc_consistent(pdev, txdr->size, &txdr->dma); if(!txdr->desc) { +setup_tx_desc_die: DPRINTK(PROBE, ERR, - "Unble to Allocate Memory for the Transmit descriptor ring\n"); + "Unable to Allocate Memory for the Transmit descriptor ring\n"); vfree(txdr->buffer_info); return -ENOMEM; } + + /* fix for errata 23, cant cross 64kB boundary */ + if (!e1000_check_64k_bound(adapter, txdr->desc, txdr->size)) { + void *olddesc = txdr->desc; + dma_addr_t olddma = txdr->dma; + DPRINTK(TX_ERR,ERR,"txdr align check failed: %u bytes at %p\n", + txdr->size, txdr->desc); + /* try again, without freeing the previous */ + txdr->desc = pci_alloc_consistent(pdev, txdr->size, &txdr->dma); + /* failed allocation, critial failure */ + if(!txdr->desc) { + pci_free_consistent(pdev, txdr->size, olddesc, olddma); + goto setup_tx_desc_die; + } + + if (!e1000_check_64k_bound(adapter, txdr->desc, txdr->size)) { + /* give up */ + pci_free_consistent(pdev, txdr->size, + txdr->desc, txdr->dma); + pci_free_consistent(pdev, txdr->size, olddesc, olddma); + DPRINTK(PROBE, ERR, + "Unable to Allocate aligned Memory for the Transmit" + " descriptor ring\n"); + vfree(txdr->buffer_info); + return -ENOMEM; + } else { + /* free old, move on with the new one since its okay */ + pci_free_consistent(pdev, txdr->size, olddesc, olddma); + } + } memset(txdr->desc, 0, txdr->size); txdr->next_to_use = 0; @@ -945,7 +1020,7 @@ e1000_setup_rx_resources(struct e1000_ad rxdr->buffer_info = vmalloc(size); if(!rxdr->buffer_info) { DPRINTK(PROBE, ERR, - "Unble to Allocate Memory for the Recieve descriptor ring\n"); + "Unable to Allocate Memory for the Recieve descriptor ring\n"); return -ENOMEM; } memset(rxdr->buffer_info, 0, size); @@ -958,11 +1033,43 @@ e1000_setup_rx_resources(struct e1000_ad rxdr->desc = pci_alloc_consistent(pdev, rxdr->size, &rxdr->dma); if(!rxdr->desc) { +setup_rx_desc_die: DPRINTK(PROBE, ERR, "Unble to Allocate Memory for the Recieve descriptor ring\n"); vfree(rxdr->buffer_info); return -ENOMEM; } + + /* fix for errata 23, cant cross 64kB boundary */ + if (!e1000_check_64k_bound(adapter, rxdr->desc, rxdr->size)) { + void *olddesc = rxdr->desc; + dma_addr_t olddma = rxdr->dma; + DPRINTK(RX_ERR,ERR, + "rxdr align check failed: %u bytes at %p\n", + rxdr->size, rxdr->desc); + /* try again, without freeing the previous */ + rxdr->desc = pci_alloc_consistent(pdev, rxdr->size, &rxdr->dma); + /* failed allocation, critial failure */ + if(!rxdr->desc) { + pci_free_consistent(pdev, rxdr->size, olddesc, olddma); + goto setup_rx_desc_die; + } + + if (!e1000_check_64k_bound(adapter, rxdr->desc, rxdr->size)) { + /* give up */ + pci_free_consistent(pdev, rxdr->size, + rxdr->desc, rxdr->dma); + pci_free_consistent(pdev, rxdr->size, olddesc, olddma); + DPRINTK(PROBE, ERR, + "Unable to Allocate aligned Memory for the" + " Receive descriptor ring\n"); + vfree(rxdr->buffer_info); + return -ENOMEM; + } else { + /* free old, move on with the new one since its okay */ + pci_free_consistent(pdev, rxdr->size, olddesc, olddma); + } + } memset(rxdr->desc, 0, rxdr->size); rxdr->next_to_clean = 0; @@ -1096,6 +1203,7 @@ e1000_unmap_and_free_tx_resource(struct struct e1000_buffer *buffer_info) { struct pci_dev *pdev = adapter->pdev; + if(buffer_info->dma) { pci_unmap_page(pdev, buffer_info->dma, @@ -1124,6 +1232,11 @@ e1000_clean_tx_ring(struct e1000_adapter /* Free all the Tx ring sk_buffs */ + if (likely(adapter->previous_buffer_info.skb != NULL)) { + e1000_unmap_and_free_tx_resource(adapter, + &adapter->previous_buffer_info); + } + for(i = 0; i < tx_ring->count; i++) { buffer_info = &tx_ring->buffer_info[i]; e1000_unmap_and_free_tx_resource(adapter, buffer_info); @@ -1425,7 +1538,6 @@ e1000_watchdog(unsigned long data) struct e1000_adapter *adapter = (struct e1000_adapter *) data; struct net_device *netdev = adapter->netdev; struct e1000_desc_ring *txdr = &adapter->tx_ring; - unsigned int i; uint32_t link; e1000_check_for_link(&adapter->hw); @@ -1505,12 +1617,8 @@ e1000_watchdog(unsigned long data) /* Cause software interrupt to ensure rx ring is cleaned */ E1000_WRITE_REG(&adapter->hw, ICS, E1000_ICS_RXDMT0); - /* Early detection of hung controller */ - i = txdr->next_to_clean; - if(txdr->buffer_info[i].dma && - time_after(jiffies, txdr->buffer_info[i].time_stamp + HZ) && - !(E1000_READ_REG(&adapter->hw, STATUS) & E1000_STATUS_TXOFF)) - netif_stop_queue(netdev); + /* Force detection of hung controller every watchdog period*/ + adapter->detect_tx_hung = TRUE; /* Reset the timer */ mod_timer(&adapter->watchdog_timer, jiffies + 2 * HZ); @@ -1522,7 +1630,7 @@ e1000_watchdog(unsigned long data) #define E1000_TX_FLAGS_VLAN_MASK 0xffff0000 #define E1000_TX_FLAGS_VLAN_SHIFT 16 -static inline boolean_t +static inline int e1000_tso(struct e1000_adapter *adapter, struct sk_buff *skb) { #ifdef NETIF_F_TSO @@ -1531,8 +1639,19 @@ e1000_tso(struct e1000_adapter *adapter, uint32_t cmd_length = 0; uint16_t ipcse, tucse, mss; uint8_t ipcss, ipcso, tucss, tucso, hdr_len; +#if 0 /* Not in RHEL4 (see below)... */ + int err; +#endif if(skb_shinfo(skb)->tso_size) { +#if 0 /* Not in RHEL4... */ + if (skb_header_cloned(skb)) { + err = pskb_expand_head(skb, 0, 0, GFP_ATOMIC); + if (err) + return err; + } +#endif + hdr_len = ((skb->h.raw - skb->data) + (skb->h.th->doff << 2)); mss = skb_shinfo(skb)->tso_size; skb->nh.iph->tot_len = 0; @@ -1569,11 +1688,11 @@ e1000_tso(struct e1000_adapter *adapter, if(++i == adapter->tx_ring.count) i = 0; adapter->tx_ring.next_to_use = i; - return TRUE; + return 1; } #endif - return FALSE; + return 0; } static inline boolean_t @@ -1798,6 +1917,7 @@ e1000_xmit_frame(struct sk_buff *skb, st unsigned int nr_frags = 0; unsigned int mss = 0; int count = 0; + int tso; unsigned int f; len -= skb->data_len; @@ -1869,7 +1989,13 @@ e1000_xmit_frame(struct sk_buff *skb, st first = adapter->tx_ring.next_to_use; - if(likely(e1000_tso(adapter, skb))) + tso = e1000_tso(adapter, skb); + if (tso < 0) { + dev_kfree_skb_any(skb); + return NETDEV_TX_OK; + } + + if (likely(tso)) tx_flags |= E1000_TX_FLAGS_TSO; else if(likely(e1000_tx_csum(adapter, skb))) tx_flags |= E1000_TX_FLAGS_CSUM; @@ -2151,10 +2277,28 @@ e1000_intr(int irq, void *data, struct p __netif_rx_schedule(netdev); } #else + /* Writing IMC and IMS is needed for 82547. + Due to Hub Link bus being occupied, an interrupt + de-assertion message is not able to be sent. + When an interrupt assertion message is generated later, + two messages are re-ordered and sent out. + That causes APIC to think 82547 is in de-assertion + state, while 82547 is in assertion state, resulting + in dead lock. Writing IMC forces 82547 into + de-assertion state. + */ + if(hw->mac_type == e1000_82547 || hw->mac_type == e1000_82547_rev_2){ + atomic_inc(&adapter->irq_sem); + E1000_WRITE_REG(&adapter->hw, IMC, ~0); + } + for(i = 0; i < E1000_MAX_INTR; i++) if(unlikely(!e1000_clean_rx_irq(adapter) & !e1000_clean_tx_irq(adapter))) break; + + if(hw->mac_type == e1000_82547 || hw->mac_type == e1000_82547_rev_2) + e1000_irq_enable(adapter); #endif return IRQ_HANDLED; @@ -2174,24 +2318,21 @@ e1000_clean(struct net_device *netdev, i int tx_cleaned; int work_done = 0; - if (!netif_carrier_ok(netdev)) - goto quit_polling; - tx_cleaned = e1000_clean_tx_irq(adapter); e1000_clean_rx_irq(adapter, &work_done, work_to_do); *budget -= work_done; netdev->quota -= work_done; - /* if no Rx and Tx cleanup work was done, exit the polling mode */ - if(!tx_cleaned || (work_done < work_to_do) || + /* if no Tx and not enough Rx work done, exit the polling mode */ + if((!tx_cleaned && (work_done < work_to_do)) || !netif_running(netdev)) { -quit_polling: netif_rx_complete(netdev); + netif_rx_complete(netdev); e1000_irq_enable(adapter); return 0; } - return (work_done >= work_to_do); + return 1; } #endif @@ -2215,11 +2356,34 @@ e1000_clean_tx_irq(struct e1000_adapter eop_desc = E1000_TX_DESC(*tx_ring, eop); while(eop_desc->upper.data & cpu_to_le32(E1000_TXD_STAT_DD)) { + /* pre-mature writeback of Tx descriptors */ + /* clear (free buffers and unmap pci_mapping) */ + /* previous_buffer_info */ + if (likely(adapter->previous_buffer_info.skb != NULL)) { + e1000_unmap_and_free_tx_resource(adapter, + &adapter->previous_buffer_info); + } + for(cleaned = FALSE; !cleaned; ) { tx_desc = E1000_TX_DESC(*tx_ring, i); buffer_info = &tx_ring->buffer_info[i]; + cleaned = (i == eop); + + /* pre-mature writeback of Tx descriptors */ + /* save the cleaning of the this for the */ + /* next iteration */ + if (cleaned) { + memcpy(&adapter->previous_buffer_info, + buffer_info, + sizeof(struct e1000_buffer)); + memset(buffer_info, + 0, + sizeof(struct e1000_buffer)); + } else { + e1000_unmap_and_free_tx_resource(adapter, + buffer_info); + } - e1000_unmap_and_free_tx_resource(adapter, buffer_info); tx_desc->buffer_addr = 0; tx_desc->lower.data = 0; tx_desc->upper.data = 0; @@ -2241,6 +2405,16 @@ e1000_clean_tx_irq(struct e1000_adapter netif_wake_queue(netdev); spin_unlock(&adapter->tx_lock); + + if(adapter->detect_tx_hung) { + /* detect a transmit hang in hardware, this serializes the + * check with the clearing of time_stamp and movement of i */ + adapter->detect_tx_hung = FALSE; + if(tx_ring->buffer_info[i].dma && + time_after(jiffies, tx_ring->buffer_info[i].time_stamp + HZ) && + !(E1000_READ_REG(&adapter->hw, STATUS) & E1000_STATUS_TXOFF)) + netif_stop_queue(netdev); + } return cleaned; } @@ -2407,19 +2581,43 @@ e1000_alloc_rx_buffers(struct e1000_adap struct e1000_rx_desc *rx_desc; struct e1000_buffer *buffer_info; struct sk_buff *skb; - unsigned int i; + unsigned int i, bufsz; i = rx_ring->next_to_use; buffer_info = &rx_ring->buffer_info[i]; while(!buffer_info->skb) { - skb = dev_alloc_skb(adapter->rx_buffer_len + NET_IP_ALIGN); + bufsz = adapter->rx_buffer_len + NET_IP_ALIGN; + skb = dev_alloc_skb(bufsz); if(unlikely(!skb)) { /* Better luck next round */ break; } + /* fix for errata 23, cant cross 64kB boundary */ + if (!e1000_check_64k_bound(adapter, skb->data, bufsz)) { + struct sk_buff *oldskb = skb; + DPRINTK(RX_ERR,ERR, + "skb align check failed: %u bytes at %p\n", + bufsz, skb->data); + /* try again, without freeing the previous */ + skb = dev_alloc_skb(bufsz); + if (!skb) { + dev_kfree_skb(oldskb); + break; + } + if (!e1000_check_64k_bound(adapter, skb->data, bufsz)) { + /* give up */ + dev_kfree_skb(skb); + dev_kfree_skb(oldskb); + break; /* while !buffer_info->skb */ + } else { + /* move on with the new one */ + dev_kfree_skb(oldskb); + } + } + /* Make buffer alignment 2 beyond a 16 byte boundary * this will result in a 16 byte aligned IP header after * the 14 byte MAC header is removed @@ -2435,6 +2633,25 @@ e1000_alloc_rx_buffers(struct e1000_adap adapter->rx_buffer_len, PCI_DMA_FROMDEVICE); + /* fix for errata 23, cant cross 64kB boundary */ + if(!e1000_check_64k_bound(adapter, + (void *)(unsigned long)buffer_info->dma, + adapter->rx_buffer_len)) { + DPRINTK(RX_ERR,ERR, + "dma align check failed: %u bytes at %ld\n", + adapter->rx_buffer_len, (unsigned long)buffer_info->dma); + + dev_kfree_skb(skb); + buffer_info->skb = NULL; + + pci_unmap_single(pdev, + buffer_info->dma, + adapter->rx_buffer_len, + PCI_DMA_FROMDEVICE); + + break; /* while !buffer_info->skb */ + } + rx_desc = E1000_RX_DESC(*rx_ring, i); rx_desc->buffer_addr = cpu_to_le64(buffer_info->dma); jwltest-e1000-update-6_0_54-k2.patch: e1000.h | 37 e1000_ethtool.c | 105 +- e1000_hw.c | 2147 +++++++++++++++++++++++++++++++++++++++++++------------- e1000_hw.h | 570 ++++++++++++++ e1000_main.c | 1149 +++++++++++++++++++++++------ e1000_osdep.h | 32 e1000_param.c | 3 7 files changed, 3250 insertions(+), 793 deletions(-) --- NEW FILE jwltest-e1000-update-6_0_54-k2.patch --- --- linux-2.6.11/drivers/net/e1000/e1000_osdep.h.orig 2005-04-29 14:33:35.000000000 -0400 +++ linux-2.6.11/drivers/net/e1000/e1000_osdep.h 2005-04-29 14:31:12.000000000 -0400 @@ -1,7 +1,7 @@ /******************************************************************************* - Copyright(c) 1999 - 2004 Intel Corporation. All rights reserved. + Copyright(c) 1999 - 2005 Intel Corporation. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -42,7 +42,12 @@ #include #ifndef msec_delay -#define msec_delay(x) msleep(x) +#define msec_delay(x) do { if(in_interrupt()) { \ + /* Don't mdelay in interrupt context! */ \ + BUG(); \ + } else { \ + msleep(x); \ + } } while(0) /* Some workarounds require millisecond delays and are run during interrupt * context. Most notably, when establishing link, the phy may need tweaking @@ -96,6 +101,29 @@ typedef enum { (((a)->mac_type >= e1000_82543) ? E1000_##reg : E1000_82542_##reg) + \ ((offset) << 2))) +#define E1000_READ_REG_ARRAY_DWORD E1000_READ_REG_ARRAY +#define E1000_WRITE_REG_ARRAY_DWORD E1000_WRITE_REG_ARRAY + +#define E1000_WRITE_REG_ARRAY_WORD(a, reg, offset, value) ( \ + writew((value), ((a)->hw_addr + \ + (((a)->mac_type >= e1000_82543) ? E1000_##reg : E1000_82542_##reg) + \ + ((offset) << 1)))) + +#define E1000_READ_REG_ARRAY_WORD(a, reg, offset) ( \ + readw((a)->hw_addr + \ + (((a)->mac_type >= e1000_82543) ? E1000_##reg : E1000_82542_##reg) + \ + ((offset) << 1))) + +#define E1000_WRITE_REG_ARRAY_BYTE(a, reg, offset, value) ( \ + writeb((value), ((a)->hw_addr + \ + (((a)->mac_type >= e1000_82543) ? E1000_##reg : E1000_82542_##reg) + \ + (offset)))) + +#define E1000_READ_REG_ARRAY_BYTE(a, reg, offset) ( \ + readb((a)->hw_addr + \ + (((a)->mac_type >= e1000_82543) ? E1000_##reg : E1000_82542_##reg) + \ + (offset))) + #define E1000_WRITE_FLUSH(a) E1000_READ_REG(a, STATUS) #endif /* _E1000_OSDEP_H_ */ --- linux-2.6.11/drivers/net/e1000/e1000_hw.c.orig 2005-04-29 14:33:03.000000000 -0400 +++ linux-2.6.11/drivers/net/e1000/e1000_hw.c 2005-04-29 14:31:12.000000000 -0400 @@ -1,7 +1,7 @@ /******************************************************************************* - Copyright(c) 1999 - 2004 Intel Corporation. All rights reserved. + Copyright(c) 1999 - 2005 Intel Corporation. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -63,10 +63,11 @@ static uint16_t e1000_shift_in_ee_bits(s static int32_t e1000_acquire_eeprom(struct e1000_hw *hw); static void e1000_release_eeprom(struct e1000_hw *hw); static void e1000_standby_eeprom(struct e1000_hw *hw); -static int32_t e1000_id_led_init(struct e1000_hw * hw); static int32_t e1000_set_vco_speed(struct e1000_hw *hw); static int32_t e1000_polarity_reversal_workaround(struct e1000_hw *hw); static int32_t e1000_set_phy_mode(struct e1000_hw *hw); +static int32_t e1000_host_if_read_cookie(struct e1000_hw *hw, uint8_t *buffer); +static uint8_t e1000_calculate_mng_checksum(char *buffer, uint32_t length); /* IGP cable length table */ static const @@ -80,6 +81,17 @@ uint16_t e1000_igp_cable_length_table[IG 100, 100, 100, 100, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120}; +static const +uint16_t e1000_igp_2_cable_length_table[IGP02E1000_AGC_LENGTH_TABLE_SIZE] = + { 8, 13, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, + 22, 24, 27, 30, 32, 35, 37, 40, 42, 44, 47, 49, 51, 54, 56, 58, + 32, 35, 38, 41, 44, 47, 50, 53, 55, 58, 61, 63, 66, 69, 71, 74, + 43, 47, 51, 54, 58, 61, 64, 67, 71, 74, 77, 80, 82, 85, 88, 90, + 57, 62, 66, 70, 74, 77, 81, 85, 88, 91, 94, 97, 100, 103, 106, 108, + 73, 78, 82, 87, 91, 95, 98, 102, 105, 109, 112, 114, 117, 119, 122, 124, + 91, 96, 101, 105, 109, 113, 116, 119, 122, 125, 127, 128, 128, 128, 128, 128, + 108, 113, 117, 121, 124, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128}; + /****************************************************************************** * Set the phy type member in the hw struct. @@ -91,10 +103,14 @@ e1000_set_phy_type(struct e1000_hw *hw) { DEBUGFUNC("e1000_set_phy_type"); + if(hw->mac_type == e1000_undefined) + return -E1000_ERR_PHY_TYPE; + switch(hw->phy_id) { case M88E1000_E_PHY_ID: case M88E1000_I_PHY_ID: case M88E1011_I_PHY_ID: + case M88E1111_I_PHY_ID: hw->phy_type = e1000_phy_m88; break; case IGP01E1000_I_PHY_ID: @@ -128,7 +144,6 @@ e1000_phy_init_script(struct e1000_hw *h DEBUGFUNC("e1000_phy_init_script"); - if(hw->phy_init_script) { msec_delay(20); @@ -271,6 +286,7 @@ e1000_set_mac_type(struct e1000_hw *hw) case E1000_DEV_ID_82546GB_FIBER: case E1000_DEV_ID_82546GB_SERDES: case E1000_DEV_ID_82546GB_PCIE: + case E1000_DEV_ID_82546GB_QUAD_COPPER: hw->mac_type = e1000_82546_rev_3; break; case E1000_DEV_ID_82541EI: @@ -289,12 +305,19 @@ e1000_set_mac_type(struct e1000_hw *hw) case E1000_DEV_ID_82547GI: hw->mac_type = e1000_82547_rev_2; break; + case E1000_DEV_ID_82573E: + case E1000_DEV_ID_82573E_IAMT: + hw->mac_type = e1000_82573; + break; default: /* Should never have loaded on this device */ return -E1000_ERR_MAC_TYPE; } switch(hw->mac_type) { + case e1000_82573: + hw->eeprom_semaphore_present = TRUE; + /* fall through */ case e1000_82541: case e1000_82547: case e1000_82541_rev_2: @@ -360,6 +383,9 @@ e1000_reset_hw(struct e1000_hw *hw) uint32_t icr; uint32_t manc; uint32_t led_ctrl; + uint32_t timeout; + uint32_t extcnf_ctrl; + int32_t ret_val; DEBUGFUNC("e1000_reset_hw"); @@ -369,6 +395,15 @@ e1000_reset_hw(struct e1000_hw *hw) e1000_pci_clear_mwi(hw); } + if(hw->bus_type == e1000_bus_type_pci_express) { + /* Prevent the PCI-E bus from sticking if there is no TLP connection + * on the last TLP read/write transaction when MAC is reset. + */ + if(e1000_disable_pciex_master(hw) != E1000_SUCCESS) { + DEBUGOUT("PCI-E Master disable polling has failed.\n"); + } + } + /* Clear interrupt mask to stop board from generating interrupts */ DEBUGOUT("Masking off all interrupts\n"); E1000_WRITE_REG(hw, IMC, 0xffffffff); @@ -393,10 +428,32 @@ e1000_reset_hw(struct e1000_hw *hw) /* Must reset the PHY before resetting the MAC */ if((hw->mac_type == e1000_82541) || (hw->mac_type == e1000_82547)) { - E1000_WRITE_REG_IO(hw, CTRL, (ctrl | E1000_CTRL_PHY_RST)); + E1000_WRITE_REG(hw, CTRL, (ctrl | E1000_CTRL_PHY_RST)); msec_delay(5); } + /* Must acquire the MDIO ownership before MAC reset. + * Ownership defaults to firmware after a reset. */ + if(hw->mac_type == e1000_82573) { + timeout = 10; + + extcnf_ctrl = E1000_READ_REG(hw, EXTCNF_CTRL); + extcnf_ctrl |= E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP; + + do { + E1000_WRITE_REG(hw, EXTCNF_CTRL, extcnf_ctrl); + extcnf_ctrl = E1000_READ_REG(hw, EXTCNF_CTRL); + + if(extcnf_ctrl & E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP) + break; + else + extcnf_ctrl |= E1000_EXTCNF_CTRL_MDIO_SW_OWNERSHIP; [...5789 lines suppressed...] + */ + rx_desc->read.buffer_addr[j+1] = + cpu_to_le64(ps_page_dma->ps_page_dma[j]); + } + + skb = dev_alloc_skb(adapter->rx_ps_bsize0 + NET_IP_ALIGN); + + if(unlikely(!skb)) + break; + + /* Make buffer alignment 2 beyond a 16 byte boundary + * this will result in a 16 byte aligned IP header after + * the 14 byte MAC header is removed + */ + skb_reserve(skb, NET_IP_ALIGN); + + skb->dev = netdev; + + buffer_info->skb = skb; + buffer_info->length = adapter->rx_ps_bsize0; + buffer_info->dma = pci_map_single(pdev, skb->data, + adapter->rx_ps_bsize0, + PCI_DMA_FROMDEVICE); + + rx_desc->read.buffer_addr[0] = cpu_to_le64(buffer_info->dma); + + if(unlikely((i & ~(E1000_RX_BUFFER_WRITE - 1)) == i)) { + /* Force memory writes to complete before letting h/w + * know there are new descriptors to fetch. (Only + * applicable for weak-ordered memory model archs, + * such as IA-64). */ + wmb(); + /* Hardware increments by 16 bytes, but packet split + * descriptors are 32 bytes...so we increment tail + * twice as much. + */ + E1000_WRITE_REG(&adapter->hw, RDT, i<<1); + } + + if(unlikely(++i == rx_ring->count)) i = 0; + buffer_info = &rx_ring->buffer_info[i]; + ps_page = &rx_ring->ps_page[i]; + ps_page_dma = &rx_ring->ps_page_dma[i]; + } + +no_buffers: + rx_ring->next_to_use = i; +} + +/** * e1000_smartspeed - Workaround for SmartSpeed on 82541 and 82547 controllers. * @adapter: **/ @@ -2858,9 +3462,10 @@ void e1000_pci_set_mwi(struct e1000_hw *hw) { struct e1000_adapter *adapter = hw->back; + int ret_val = pci_set_mwi(adapter->pdev); - int ret; - ret = pci_set_mwi(adapter->pdev); + if(ret_val) + DPRINTK(PROBE, ERR, "Error in setting MWI\n"); } void @@ -2919,6 +3524,7 @@ e1000_vlan_rx_register(struct net_device rctl |= E1000_RCTL_VFE; rctl &= ~E1000_RCTL_CFIEN; E1000_WRITE_REG(&adapter->hw, RCTL, rctl); + e1000_update_mng_vlan(adapter); } else { /* disable VLAN tag insert/strip */ ctrl = E1000_READ_REG(&adapter->hw, CTRL); @@ -2929,6 +3535,10 @@ e1000_vlan_rx_register(struct net_device rctl = E1000_READ_REG(&adapter->hw, RCTL); rctl &= ~E1000_RCTL_VFE; E1000_WRITE_REG(&adapter->hw, RCTL, rctl); + if(adapter->mng_vlan_id != (uint16_t)E1000_MNG_VLAN_NONE) { + e1000_vlan_rx_kill_vid(netdev, adapter->mng_vlan_id); + adapter->mng_vlan_id = E1000_MNG_VLAN_NONE; + } } e1000_irq_enable(adapter); @@ -2939,7 +3549,10 @@ e1000_vlan_rx_add_vid(struct net_device { struct e1000_adapter *adapter = netdev->priv; uint32_t vfta, index; - + if((adapter->hw.mng_cookie.status & + E1000_MNG_DHCP_COOKIE_STATUS_VLAN_SUPPORT) && + (vid == adapter->mng_vlan_id)) + return; /* add VID to filter table */ index = (vid >> 5) & 0x7F; vfta = E1000_READ_REG_ARRAY(&adapter->hw, VFTA, index); @@ -2960,6 +3573,10 @@ e1000_vlan_rx_kill_vid(struct net_device e1000_irq_enable(adapter); + if((adapter->hw.mng_cookie.status & + E1000_MNG_DHCP_COOKIE_STATUS_VLAN_SUPPORT) && + (vid == adapter->mng_vlan_id)) + return; /* remove VID from filter table */ index = (vid >> 5) & 0x7F; vfta = E1000_READ_REG_ARRAY(&adapter->hw, VFTA, index); @@ -3006,8 +3623,7 @@ e1000_set_spd_dplx(struct e1000_adapter break; case SPEED_1000 + DUPLEX_HALF: /* not supported */ default: - DPRINTK(PROBE, ERR, - "Unsupported Speed/Duplexity configuration\n"); + DPRINTK(PROBE, ERR, "Unsupported Speed/Duplex configuration\n"); return -EINVAL; } return 0; @@ -3035,7 +3651,7 @@ e1000_suspend(struct pci_dev *pdev, uint { struct net_device *netdev = pci_get_drvdata(pdev); struct e1000_adapter *adapter = netdev->priv; - uint32_t ctrl, ctrl_ext, rctl, manc, status; + uint32_t ctrl, ctrl_ext, rctl, manc, status, swsm; uint32_t wufc = adapter->wol; netif_device_detach(netdev); @@ -3077,6 +3693,9 @@ e1000_suspend(struct pci_dev *pdev, uint E1000_WRITE_REG(&adapter->hw, CTRL_EXT, ctrl_ext); } + /* Allow time for pending master requests to run */ + e1000_disable_pciex_master(&adapter->hw); + E1000_WRITE_REG(&adapter->hw, WUC, E1000_WUC_PME_EN); E1000_WRITE_REG(&adapter->hw, WUFC, wufc); pci_enable_wake(pdev, 3, 1); @@ -3101,6 +3720,16 @@ e1000_suspend(struct pci_dev *pdev, uint } } + switch(adapter->hw.mac_type) { + case e1000_82573: + swsm = E1000_READ_REG(&adapter->hw, SWSM); + E1000_WRITE_REG(&adapter->hw, SWSM, + swsm & ~E1000_SWSM_DRV_LOAD); + break; + default: + break; + } + pci_disable_device(pdev); state = (state > 0) ? 3 : 0; @@ -3115,13 +3744,12 @@ e1000_resume(struct pci_dev *pdev) { struct net_device *netdev = pci_get_drvdata(pdev); struct e1000_adapter *adapter = netdev->priv; - uint32_t manc, ret; + uint32_t manc, ret, swsm; pci_set_power_state(pdev, 0); pci_restore_state(pdev); ret = pci_enable_device(pdev); - if (pdev->is_busmaster) - pci_set_master(pdev); + pci_set_master(pdev); pci_enable_wake(pdev, 3, 0); pci_enable_wake(pdev, 4, 0); /* 4 == D3 cold */ @@ -3141,10 +3769,19 @@ e1000_resume(struct pci_dev *pdev) E1000_WRITE_REG(&adapter->hw, MANC, manc); } + switch(adapter->hw.mac_type) { + case e1000_82573: + swsm = E1000_READ_REG(&adapter->hw, SWSM); + E1000_WRITE_REG(&adapter->hw, SWSM, + swsm | E1000_SWSM_DRV_LOAD); + break; + default: + break; + } + return 0; } #endif - #ifdef CONFIG_NET_POLL_CONTROLLER /* * Polling 'interrupt' - used by things like netconsole to send skbs @@ -3152,7 +3789,7 @@ e1000_resume(struct pci_dev *pdev) * the interrupt routine is executing. */ static void -e1000_netpoll (struct net_device *netdev) +e1000_netpoll(struct net_device *netdev) { struct e1000_adapter *adapter = netdev->priv; disable_irq(adapter->pdev->irq); jwltest-e1000-workqueue-flush.patch: e1000_main.c | 2 ++ 1 files changed, 2 insertions(+) --- NEW FILE jwltest-e1000-workqueue-flush.patch --- --- linux-2.6.11/drivers/net/e1000/e1000_main.c.orig 2005-03-18 15:28:40.346833843 -0500 +++ linux-2.6.11/drivers/net/e1000/e1000_main.c 2005-03-18 15:29:22.822164850 -0500 @@ -666,6 +666,8 @@ e1000_remove(struct pci_dev *pdev) struct e1000_adapter *adapter = netdev->priv; uint32_t manc; + flush_scheduled_work(); + if(adapter->hw.mac_type >= e1000_82540 && adapter->hw.media_type == e1000_media_type_copper) { manc = E1000_READ_REG(&adapter->hw, MANC); jwltest-ipw2100-1_1_0.patch: Documentation/networking/README.ipw2100 | 162 drivers/net/wireless/Kconfig | 55 drivers/net/wireless/Makefile | 4 drivers/net/wireless/ieee80211/ieee80211.h | 83 drivers/net/wireless/ieee80211/ieee80211_crypt.c | 4 drivers/net/wireless/ieee80211/ieee80211_crypt.h | 6 drivers/net/wireless/ieee80211/ieee80211_crypt_ccmp.c | 3 drivers/net/wireless/ieee80211/ieee80211_crypt_tkip.c | 3 drivers/net/wireless/ieee80211/ieee80211_crypt_wep.c | 4 drivers/net/wireless/ieee80211/ieee80211_module.c | 50 drivers/net/wireless/ieee80211/ieee80211_rx.c | 226 drivers/net/wireless/ieee80211/ieee80211_tx.c | 113 drivers/net/wireless/ieee80211/ieee80211_wx.c | 148 drivers/net/wireless/ipw2100.c | 8649 +++++++++++++++++ drivers/net/wireless/ipw2100.h | 1278 ++ drivers/net/wireless/ipw2100/LICENSE | 339 drivers/net/wireless/ipw2100/Makefile | 15 drivers/net/wireless/ipw2100/ipw2100.c | 8972 ------------------ drivers/net/wireless/ipw2100/ipw2100.h | 1287 -- 19 files changed, 10407 insertions(+), 10994 deletions(-) --- NEW FILE jwltest-ipw2100-1_1_0.patch --- --- /dev/null 2004-02-23 16:02:56.000000000 -0500 +++ linux-2.6.11/drivers/net/wireless/ipw2100.h 2005-05-25 15:14:31.599405022 -0400 @@ -0,0 +1,1278 @@ +/****************************************************************************** + + Copyright(c) 2003 - 2005 Intel Corporation. All rights reserved. + + This program is free software; you can redistribute it and/or modify it + under the terms of version 2 of the GNU General Public License as + published by the Free Software Foundation. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along with + this program; if not, write to the Free Software Foundation, Inc., 59 + Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + The full GNU General Public License is included in this distribution in the + file called LICENSE. + + Contact Information: + James P. Ketrenos + Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 + +******************************************************************************/ +#ifndef _IPW2100_H +#define _IPW2100_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // new driver API + +#include "ieee80211.h" + +#include + +#ifndef IRQ_NONE +typedef void irqreturn_t; +#define IRQ_NONE +#define IRQ_HANDLED +#define IRQ_RETVAL(x) +#endif + +#if WIRELESS_EXT < 17 +#define IW_QUAL_QUAL_INVALID 0x10 +#define IW_QUAL_LEVEL_INVALID 0x20 +#define IW_QUAL_NOISE_INVALID 0x40 +#endif + +#if ( LINUX_VERSION_CODE < KERNEL_VERSION(2,6,5) ) +#define pci_dma_sync_single_for_cpu pci_dma_sync_single +#define pci_dma_sync_single_for_device pci_dma_sync_single +#endif + +#ifndef HAVE_FREE_NETDEV +#define free_netdev(x) kfree(x) +#endif + + + +struct ipw2100_priv; +struct ipw2100_tx_packet; +struct ipw2100_rx_packet; + +#ifdef CONFIG_IPW_DEBUG +enum { IPW_DEBUG_ENABLED = 1 }; +extern u32 ipw2100_debug_level; +#define IPW_DEBUG(level, message...) \ +do { \ + if (ipw2100_debug_level & (level)) { \ + printk(KERN_DEBUG "ipw2100: %c %s ", \ + in_interrupt() ? 'I' : 'U', __FUNCTION__); \ + printk(message); \ + } \ +} while (0) +#else +enum { IPW_DEBUG_ENABLED = 0 }; +#define IPW_DEBUG(level, message...) do {} while (0) +#endif /* CONFIG_IPW_DEBUG */ + +#define IPW_DL_UNINIT 0x80000000 +#define IPW_DL_NONE 0x00000000 +#define IPW_DL_ALL 0x7FFFFFFF + +/* + * To use the debug system; + * + * If you are defining a new debug classification, simply add it to the #define + * list here in the form of: + * + * #define IPW_DL_xxxx VALUE + * + * shifting value to the left one bit from the previous entry. xxxx should be + * the name of the classification (for example, WEP) + * + * You then need to either add a IPW2100_xxxx_DEBUG() macro definition for your + * classification, or use IPW_DEBUG(IPW_DL_xxxx, ...) whenever you want + * to send output to that classification. + * + * To add your debug level to the list of levels seen when you perform + * + * % cat /proc/net/ipw2100/debug_level + * + * you simply need to add your entry to the ipw2100_debug_levels array. + * + * If you do not see debug_level in /proc/net/ipw2100 then you do not have + * CONFIG_IPW_DEBUG defined in your kernel configuration + * + */ + +#define IPW_DL_ERROR BIT(0) +#define IPW_DL_WARNING BIT(1) +#define IPW_DL_INFO BIT(2) +#define IPW_DL_WX BIT(3) +#define IPW_DL_HC BIT(5) +#define IPW_DL_STATE BIT(6) + +#define IPW_DL_NOTIF BIT(10) +#define IPW_DL_SCAN BIT(11) +#define IPW_DL_ASSOC BIT(12) +#define IPW_DL_DROP BIT(13) + +#define IPW_DL_IOCTL BIT(14) +#define IPW_DL_RF_KILL BIT(17) + + +#define IPW_DL_MANAGE BIT(15) +#define IPW_DL_FW BIT(16) + +#define IPW_DL_FRAG BIT(21) +#define IPW_DL_WEP BIT(22) +#define IPW_DL_TX BIT(23) +#define IPW_DL_RX BIT(24) +#define IPW_DL_ISR BIT(25) +#define IPW_DL_IO BIT(26) +#define IPW_DL_TRACE BIT(28) + +#define IPW_DEBUG_ERROR(f, a...) printk(KERN_ERR DRV_NAME ": " f, ## a) +#define IPW_DEBUG_WARNING(f, a...) printk(KERN_WARNING DRV_NAME ": " f, ## a) +#define IPW_DEBUG_INFO(f...) IPW_DEBUG(IPW_DL_INFO, ## f) +#define IPW_DEBUG_WX(f...) IPW_DEBUG(IPW_DL_WX, ## f) +#define IPW_DEBUG_SCAN(f...) IPW_DEBUG(IPW_DL_SCAN, ## f) +#define IPW_DEBUG_NOTIF(f...) IPW_DEBUG(IPW_DL_NOTIF, ## f) +#define IPW_DEBUG_TRACE(f...) IPW_DEBUG(IPW_DL_TRACE, ## f) +#define IPW_DEBUG_RX(f...) IPW_DEBUG(IPW_DL_RX, ## f) +#define IPW_DEBUG_TX(f...) IPW_DEBUG(IPW_DL_TX, ## f) +#define IPW_DEBUG_ISR(f...) IPW_DEBUG(IPW_DL_ISR, ## f) +#define IPW_DEBUG_MANAGEMENT(f...) IPW_DEBUG(IPW_DL_MANAGE, ## f) +#define IPW_DEBUG_WEP(f...) IPW_DEBUG(IPW_DL_WEP, ## f) +#define IPW_DEBUG_HC(f...) IPW_DEBUG(IPW_DL_HC, ## f) +#define IPW_DEBUG_FRAG(f...) IPW_DEBUG(IPW_DL_FRAG, ## f) +#define IPW_DEBUG_FW(f...) IPW_DEBUG(IPW_DL_FW, ## f) +#define IPW_DEBUG_RF_KILL(f...) IPW_DEBUG(IPW_DL_RF_KILL, ## f) +#define IPW_DEBUG_DROP(f...) IPW_DEBUG(IPW_DL_DROP, ## f) +#define IPW_DEBUG_IO(f...) IPW_DEBUG(IPW_DL_IO, ## f) +#define IPW_DEBUG_IOCTL(f...) IPW_DEBUG(IPW_DL_IOCTL, ## f) +#define IPW_DEBUG_STATE(f, a...) IPW_DEBUG(IPW_DL_STATE | IPW_DL_ASSOC | IPW_DL_INFO, f, ## a) +#define IPW_DEBUG_ASSOC(f, a...) IPW_DEBUG(IPW_DL_ASSOC | IPW_DL_INFO, f, ## a) + + +#define VERIFY(f) \ +{ \ + int status = 0; \ + status = f; \ + if(status) \ + return status; \ +} + +enum { + IPW_HW_STATE_DISABLED = 1, + IPW_HW_STATE_ENABLED = 0 +}; + +struct ssid_context { + char ssid[IW_ESSID_MAX_SIZE + 1]; + int ssid_len; + unsigned char bssid[ETH_ALEN]; + int port_type; + int channel; + +}; + +extern const char *port_type_str[]; +extern const char *band_str[]; + +#define NUMBER_OF_BD_PER_COMMAND_PACKET 1 [...22261 lines suppressed...] +- 802.1x (tested with XSupplicant 1.0.1) + +Enabled (but not supported) features: - Monitor/RFMon mode -- transmit power control -- long/short preamble support -- power states support (ACPI) +- WPA/WPA2 -TODO ------------- ----- ----- ---- --- -- - -- Fix bugs... The biggies: - C3 corruption - Fragmentation +The distinction between officially supported and enabled is a reflection +on the amount of validation and interoperability testing that has been +performed on a given feature. -Command Line Parameters ------------- ----- ----- ---- --- -- - +=========================== +2. Command Line Parameters +--------------------------- If the driver is built as a module, the following optional parameters are used by entering them on the command line with the modprobe command using this @@ -34,54 +61,82 @@ syntax: modprobe ipw2100 [