From ed at FreeBSD.org Thu Jan 1 00:19:52 2009 From: ed at FreeBSD.org (Ed Schouten) Date: Thu Jan 1 00:20:03 2009 Subject: svn commit: r186664 - head/sys/kern Message-ID: <200901010019.n010JpBu039017@svn.freebsd.org> Author: ed Date: Thu Jan 1 00:19:51 2009 New Revision: 186664 URL: http://svn.freebsd.org/changeset/base/186664 Log: Don't clobber sysctl_root()'s error number. When sysctl() is being called with a buffer that is too small, it will return ENOMEM. Unfortunately the changes I made the other day sets the error number to 0, because it just returns the error number of the copyout(). Revert this part of the change. Modified: head/sys/kern/kern_sysctl.c Modified: head/sys/kern/kern_sysctl.c ============================================================================== --- head/sys/kern/kern_sysctl.c Wed Dec 31 23:44:34 2008 (r186663) +++ head/sys/kern/kern_sysctl.c Thu Jan 1 00:19:51 2009 (r186664) @@ -1371,8 +1371,11 @@ __sysctl(struct thread *td, struct sysct uap->new, uap->newlen, &j, 0); if (error && error != ENOMEM) return (error); - if (uap->oldlenp) - error = copyout(&j, uap->oldlenp, sizeof(j)); + if (uap->oldlenp) { + int i = copyout(&j, uap->oldlenp, sizeof(j)); + if (i) + return (i); + } return (error); } From alc at FreeBSD.org Thu Jan 1 00:31:47 2009 From: alc at FreeBSD.org (Alan Cox) Date: Thu Jan 1 00:31:53 2009 Subject: svn commit: r186665 - head/sys/vm Message-ID: <200901010031.n010Vk34039265@svn.freebsd.org> Author: alc Date: Thu Jan 1 00:31:46 2009 New Revision: 186665 URL: http://svn.freebsd.org/changeset/base/186665 Log: Resurrect shared map locks allowing greater concurrency during some map operations, such as page faults. An earlier version of this change was ... Reviewed by: kib Tested by: pho MFC after: 6 weeks Modified: head/sys/vm/vm_map.c head/sys/vm/vm_map.h Modified: head/sys/vm/vm_map.c ============================================================================== --- head/sys/vm/vm_map.c Thu Jan 1 00:19:51 2009 (r186664) +++ head/sys/vm/vm_map.c Thu Jan 1 00:31:46 2009 (r186665) @@ -470,7 +470,7 @@ _vm_map_lock_read(vm_map_t map, const ch if (map->system_map) _mtx_lock_flags(&map->system_mtx, 0, file, line); else - (void)_sx_xlock(&map->lock, 0, file, line); + (void)_sx_slock(&map->lock, 0, file, line); } void @@ -480,7 +480,7 @@ _vm_map_unlock_read(vm_map_t map, const if (map->system_map) _mtx_unlock_flags(&map->system_mtx, 0, file, line); else - _sx_xunlock(&map->lock, file, line); + _sx_sunlock(&map->lock, file, line); } int @@ -503,20 +503,44 @@ _vm_map_trylock_read(vm_map_t map, const error = map->system_map ? !_mtx_trylock(&map->system_mtx, 0, file, line) : - !_sx_try_xlock(&map->lock, file, line); + !_sx_try_slock(&map->lock, file, line); return (error == 0); } +/* + * _vm_map_lock_upgrade: [ internal use only ] + * + * Tries to upgrade a read (shared) lock on the specified map to a write + * (exclusive) lock. Returns the value "0" if the upgrade succeeds and a + * non-zero value if the upgrade fails. If the upgrade fails, the map is + * returned without a read or write lock held. + * + * Requires that the map be read locked. + */ int _vm_map_lock_upgrade(vm_map_t map, const char *file, int line) { + unsigned int last_timestamp; -#ifdef INVARIANTS if (map->system_map) { +#ifdef INVARIANTS _mtx_assert(&map->system_mtx, MA_OWNED, file, line); - } else - _sx_assert(&map->lock, SX_XLOCKED, file, line); #endif + } else { + if (!_sx_try_upgrade(&map->lock, file, line)) { + last_timestamp = map->timestamp; + _sx_sunlock(&map->lock, file, line); + /* + * If the map's timestamp does not change while the + * map is unlocked, then the upgrade succeeds. + */ + (void)_sx_xlock(&map->lock, 0, file, line); + if (last_timestamp != map->timestamp) { + _sx_xunlock(&map->lock, file, line); + return (1); + } + } + } map->timestamp++; return (0); } @@ -525,12 +549,28 @@ void _vm_map_lock_downgrade(vm_map_t map, const char *file, int line) { -#ifdef INVARIANTS if (map->system_map) { +#ifdef INVARIANTS _mtx_assert(&map->system_mtx, MA_OWNED, file, line); - } else - _sx_assert(&map->lock, SX_XLOCKED, file, line); #endif + } else + _sx_downgrade(&map->lock, file, line); +} + +/* + * vm_map_locked: + * + * Returns a non-zero value if the caller holds a write (exclusive) lock + * on the specified map and the value "0" otherwise. + */ +int +vm_map_locked(vm_map_t map) +{ + + if (map->system_map) + return (mtx_owned(&map->system_mtx)); + else + return (sx_xlocked(&map->lock)); } /* @@ -902,6 +942,7 @@ vm_map_lookup_entry( vm_map_entry_t *entry) /* OUT */ { vm_map_entry_t cur; + boolean_t locked; /* * If the map is empty, then the map entry immediately preceding @@ -913,8 +954,17 @@ vm_map_lookup_entry( else if (address >= cur->start && cur->end > address) { *entry = cur; return (TRUE); - } else { + } else if ((locked = vm_map_locked(map)) || + sx_try_upgrade(&map->lock)) { + /* + * Splay requires a write lock on the map. However, it only + * restructures the binary search tree; it does not otherwise + * change the map. Thus, the map's timestamp need not change + * on a temporary upgrade. + */ map->root = cur = vm_map_entry_splay(address, cur); + if (!locked) + sx_downgrade(&map->lock); /* * If "address" is contained within a map entry, the new root @@ -927,7 +977,29 @@ vm_map_lookup_entry( return (TRUE); } else *entry = cur->prev; - } + } else + /* + * Since the map is only locked for read access, perform a + * standard binary search tree lookup for "address". + */ + for (;;) { + if (address < cur->start) { + if (cur->left == NULL) { + *entry = cur->prev; + break; + } + cur = cur->left; + } else if (cur->end > address) { + *entry = cur; + return (TRUE); + } else { + if (cur->right == NULL) { + *entry = cur; + break; + } + cur = cur->right; + } + } return (FALSE); } Modified: head/sys/vm/vm_map.h ============================================================================== --- head/sys/vm/vm_map.h Thu Jan 1 00:19:51 2009 (r186664) +++ head/sys/vm/vm_map.h Thu Jan 1 00:31:46 2009 (r186665) @@ -269,6 +269,7 @@ int _vm_map_trylock(vm_map_t map, const int _vm_map_trylock_read(vm_map_t map, const char *file, int line); int _vm_map_lock_upgrade(vm_map_t map, const char *file, int line); void _vm_map_lock_downgrade(vm_map_t map, const char *file, int line); +int vm_map_locked(vm_map_t map); int vm_map_unlock_and_wait(vm_map_t map, int timo); void vm_map_wakeup(vm_map_t map); From obrien at FreeBSD.org Thu Jan 1 02:07:33 2009 From: obrien at FreeBSD.org (David E. O'Brien) Date: Thu Jan 1 02:07:41 2009 Subject: svn commit: r186666 - head/sys/sys Message-ID: <200901010207.n0127WUm041111@svn.freebsd.org> Author: obrien Date: Thu Jan 1 02:07:32 2009 New Revision: 186666 URL: http://svn.freebsd.org/changeset/base/186666 Log: style(9) Verified with: svn diff -x -Bbw elf_common.h Modified: head/sys/sys/elf_common.h Modified: head/sys/sys/elf_common.h ============================================================================== --- head/sys/sys/elf_common.h Thu Jan 1 00:31:46 2009 (r186665) +++ head/sys/sys/elf_common.h Thu Jan 1 02:07:32 2009 (r186666) @@ -27,7 +27,7 @@ */ #ifndef _SYS_ELF_COMMON_H_ -#define _SYS_ELF_COMMON_H_ 1 +#define _SYS_ELF_COMMON_H_ 1 /* * ELF definitions that are independent of architecture or word size. @@ -50,267 +50,267 @@ typedef struct { /* Indexes into the e_ident array. Keep synced with http://www.sco.com/developers/gabi/latest/ch4.eheader.html */ -#define EI_MAG0 0 /* Magic number, byte 0. */ -#define EI_MAG1 1 /* Magic number, byte 1. */ -#define EI_MAG2 2 /* Magic number, byte 2. */ -#define EI_MAG3 3 /* Magic number, byte 3. */ -#define EI_CLASS 4 /* Class of machine. */ -#define EI_DATA 5 /* Data format. */ -#define EI_VERSION 6 /* ELF format version. */ -#define EI_OSABI 7 /* Operating system / ABI identification */ -#define EI_ABIVERSION 8 /* ABI version */ -#define OLD_EI_BRAND 8 /* Start of architecture identification. */ -#define EI_PAD 9 /* Start of padding (per SVR4 ABI). */ -#define EI_NIDENT 16 /* Size of e_ident array. */ +#define EI_MAG0 0 /* Magic number, byte 0. */ +#define EI_MAG1 1 /* Magic number, byte 1. */ +#define EI_MAG2 2 /* Magic number, byte 2. */ +#define EI_MAG3 3 /* Magic number, byte 3. */ +#define EI_CLASS 4 /* Class of machine. */ +#define EI_DATA 5 /* Data format. */ +#define EI_VERSION 6 /* ELF format version. */ +#define EI_OSABI 7 /* Operating system / ABI identification */ +#define EI_ABIVERSION 8 /* ABI version */ +#define OLD_EI_BRAND 8 /* Start of architecture identification. */ +#define EI_PAD 9 /* Start of padding (per SVR4 ABI). */ +#define EI_NIDENT 16 /* Size of e_ident array. */ /* Values for the magic number bytes. */ -#define ELFMAG0 0x7f -#define ELFMAG1 'E' -#define ELFMAG2 'L' -#define ELFMAG3 'F' -#define ELFMAG "\177ELF" /* magic string */ -#define SELFMAG 4 /* magic string size */ +#define ELFMAG0 0x7f +#define ELFMAG1 'E' +#define ELFMAG2 'L' +#define ELFMAG3 'F' +#define ELFMAG "\177ELF" /* magic string */ +#define SELFMAG 4 /* magic string size */ /* Values for e_ident[EI_VERSION] and e_version. */ -#define EV_NONE 0 -#define EV_CURRENT 1 +#define EV_NONE 0 +#define EV_CURRENT 1 /* Values for e_ident[EI_CLASS]. */ -#define ELFCLASSNONE 0 /* Unknown class. */ -#define ELFCLASS32 1 /* 32-bit architecture. */ -#define ELFCLASS64 2 /* 64-bit architecture. */ +#define ELFCLASSNONE 0 /* Unknown class. */ +#define ELFCLASS32 1 /* 32-bit architecture. */ +#define ELFCLASS64 2 /* 64-bit architecture. */ /* Values for e_ident[EI_DATA]. */ -#define ELFDATANONE 0 /* Unknown data format. */ -#define ELFDATA2LSB 1 /* 2's complement little-endian. */ -#define ELFDATA2MSB 2 /* 2's complement big-endian. */ +#define ELFDATANONE 0 /* Unknown data format. */ +#define ELFDATA2LSB 1 /* 2's complement little-endian. */ +#define ELFDATA2MSB 2 /* 2's complement big-endian. */ /* Values for e_ident[EI_OSABI]. */ -#define ELFOSABI_NONE 0 /* UNIX System V ABI */ -#define ELFOSABI_HPUX 1 /* HP-UX operating system */ -#define ELFOSABI_NETBSD 2 /* NetBSD */ -#define ELFOSABI_LINUX 3 /* GNU/Linux */ -#define ELFOSABI_HURD 4 /* GNU/Hurd */ -#define ELFOSABI_86OPEN 5 /* 86Open common IA32 ABI */ -#define ELFOSABI_SOLARIS 6 /* Solaris */ -#define ELFOSABI_AIX 7 /* AIX */ -#define ELFOSABI_IRIX 8 /* IRIX */ -#define ELFOSABI_FREEBSD 9 /* FreeBSD */ -#define ELFOSABI_TRU64 10 /* TRU64 UNIX */ -#define ELFOSABI_MODESTO 11 /* Novell Modesto */ -#define ELFOSABI_OPENBSD 12 /* OpenBSD */ -#define ELFOSABI_OPENVMS 13 /* Open VMS */ -#define ELFOSABI_NSK 14 /* HP Non-Stop Kernel */ -#define ELFOSABI_AROS 15 /* Amiga Research OS */ -#define ELFOSABI_ARM 97 /* ARM */ -#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ +#define ELFOSABI_NONE 0 /* UNIX System V ABI */ +#define ELFOSABI_HPUX 1 /* HP-UX operating system */ +#define ELFOSABI_NETBSD 2 /* NetBSD */ +#define ELFOSABI_LINUX 3 /* GNU/Linux */ +#define ELFOSABI_HURD 4 /* GNU/Hurd */ +#define ELFOSABI_86OPEN 5 /* 86Open common IA32 ABI */ +#define ELFOSABI_SOLARIS 6 /* Solaris */ +#define ELFOSABI_AIX 7 /* AIX */ +#define ELFOSABI_IRIX 8 /* IRIX */ +#define ELFOSABI_FREEBSD 9 /* FreeBSD */ +#define ELFOSABI_TRU64 10 /* TRU64 UNIX */ +#define ELFOSABI_MODESTO 11 /* Novell Modesto */ +#define ELFOSABI_OPENBSD 12 /* OpenBSD */ +#define ELFOSABI_OPENVMS 13 /* Open VMS */ +#define ELFOSABI_NSK 14 /* HP Non-Stop Kernel */ +#define ELFOSABI_AROS 15 /* Amiga Research OS */ +#define ELFOSABI_ARM 97 /* ARM */ +#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ -#define ELFOSABI_SYSV ELFOSABI_NONE /* symbol used in old spec */ -#define ELFOSABI_MONTEREY ELFOSABI_AIX /* Monterey */ +#define ELFOSABI_SYSV ELFOSABI_NONE /* symbol used in old spec */ +#define ELFOSABI_MONTEREY ELFOSABI_AIX /* Monterey */ /* e_ident */ -#define IS_ELF(ehdr) ((ehdr).e_ident[EI_MAG0] == ELFMAG0 && \ +#define IS_ELF(ehdr) ((ehdr).e_ident[EI_MAG0] == ELFMAG0 && \ (ehdr).e_ident[EI_MAG1] == ELFMAG1 && \ (ehdr).e_ident[EI_MAG2] == ELFMAG2 && \ (ehdr).e_ident[EI_MAG3] == ELFMAG3) /* Values for e_type. */ -#define ET_NONE 0 /* Unknown type. */ -#define ET_REL 1 /* Relocatable. */ -#define ET_EXEC 2 /* Executable. */ -#define ET_DYN 3 /* Shared object. */ -#define ET_CORE 4 /* Core file. */ -#define ET_LOOS 0xfe00 /* First operating system specific. */ -#define ET_HIOS 0xfeff /* Last operating system-specific. */ -#define ET_LOPROC 0xff00 /* First processor-specific. */ -#define ET_HIPROC 0xffff /* Last processor-specific. */ +#define ET_NONE 0 /* Unknown type. */ +#define ET_REL 1 /* Relocatable. */ +#define ET_EXEC 2 /* Executable. */ +#define ET_DYN 3 /* Shared object. */ +#define ET_CORE 4 /* Core file. */ +#define ET_LOOS 0xfe00 /* First operating system specific. */ +#define ET_HIOS 0xfeff /* Last operating system-specific. */ +#define ET_LOPROC 0xff00 /* First processor-specific. */ +#define ET_HIPROC 0xffff /* Last processor-specific. */ /* Values for e_machine. */ -#define EM_NONE 0 /* Unknown machine. */ -#define EM_M32 1 /* AT&T WE32100. */ -#define EM_SPARC 2 /* Sun SPARC. */ -#define EM_386 3 /* Intel i386. */ -#define EM_68K 4 /* Motorola 68000. */ -#define EM_88K 5 /* Motorola 88000. */ -#define EM_860 7 /* Intel i860. */ -#define EM_MIPS 8 /* MIPS R3000 Big-Endian only. */ -#define EM_S370 9 /* IBM System/370. */ -#define EM_MIPS_RS3_LE 10 /* MIPS R3000 Little-Endian. */ -#define EM_PARISC 15 /* HP PA-RISC. */ -#define EM_VPP500 17 /* Fujitsu VPP500. */ -#define EM_SPARC32PLUS 18 /* SPARC v8plus. */ -#define EM_960 19 /* Intel 80960. */ -#define EM_PPC 20 /* PowerPC 32-bit. */ -#define EM_PPC64 21 /* PowerPC 64-bit. */ -#define EM_S390 22 /* IBM System/390. */ -#define EM_V800 36 /* NEC V800. */ -#define EM_FR20 37 /* Fujitsu FR20. */ -#define EM_RH32 38 /* TRW RH-32. */ -#define EM_RCE 39 /* Motorola RCE. */ -#define EM_ARM 40 /* ARM. */ -#define EM_SH 42 /* Hitachi SH. */ -#define EM_SPARCV9 43 /* SPARC v9 64-bit. */ -#define EM_TRICORE 44 /* Siemens TriCore embedded processor. */ -#define EM_ARC 45 /* Argonaut RISC Core. */ -#define EM_H8_300 46 /* Hitachi H8/300. */ -#define EM_H8_300H 47 /* Hitachi H8/300H. */ -#define EM_H8S 48 /* Hitachi H8S. */ -#define EM_H8_500 49 /* Hitachi H8/500. */ -#define EM_IA_64 50 /* Intel IA-64 Processor. */ -#define EM_MIPS_X 51 /* Stanford MIPS-X. */ -#define EM_COLDFIRE 52 /* Motorola ColdFire. */ -#define EM_68HC12 53 /* Motorola M68HC12. */ -#define EM_MMA 54 /* Fujitsu MMA. */ -#define EM_PCP 55 /* Siemens PCP. */ -#define EM_NCPU 56 /* Sony nCPU. */ -#define EM_NDR1 57 /* Denso NDR1 microprocessor. */ -#define EM_STARCORE 58 /* Motorola Star*Core processor. */ -#define EM_ME16 59 /* Toyota ME16 processor. */ -#define EM_ST100 60 /* STMicroelectronics ST100 processor. */ -#define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ processor. */ -#define EM_X86_64 62 /* Advanced Micro Devices x86-64 */ +#define EM_NONE 0 /* Unknown machine. */ +#define EM_M32 1 /* AT&T WE32100. */ +#define EM_SPARC 2 /* Sun SPARC. */ +#define EM_386 3 /* Intel i386. */ +#define EM_68K 4 /* Motorola 68000. */ +#define EM_88K 5 /* Motorola 88000. */ +#define EM_860 7 /* Intel i860. */ +#define EM_MIPS 8 /* MIPS R3000 Big-Endian only. */ +#define EM_S370 9 /* IBM System/370. */ +#define EM_MIPS_RS3_LE 10 /* MIPS R3000 Little-Endian. */ +#define EM_PARISC 15 /* HP PA-RISC. */ +#define EM_VPP500 17 /* Fujitsu VPP500. */ +#define EM_SPARC32PLUS 18 /* SPARC v8plus. */ +#define EM_960 19 /* Intel 80960. */ +#define EM_PPC 20 /* PowerPC 32-bit. */ +#define EM_PPC64 21 /* PowerPC 64-bit. */ +#define EM_S390 22 /* IBM System/390. */ +#define EM_V800 36 /* NEC V800. */ +#define EM_FR20 37 /* Fujitsu FR20. */ +#define EM_RH32 38 /* TRW RH-32. */ +#define EM_RCE 39 /* Motorola RCE. */ +#define EM_ARM 40 /* ARM. */ +#define EM_SH 42 /* Hitachi SH. */ +#define EM_SPARCV9 43 /* SPARC v9 64-bit. */ +#define EM_TRICORE 44 /* Siemens TriCore embedded processor. */ +#define EM_ARC 45 /* Argonaut RISC Core. */ +#define EM_H8_300 46 /* Hitachi H8/300. */ +#define EM_H8_300H 47 /* Hitachi H8/300H. */ +#define EM_H8S 48 /* Hitachi H8S. */ +#define EM_H8_500 49 /* Hitachi H8/500. */ +#define EM_IA_64 50 /* Intel IA-64 Processor. */ +#define EM_MIPS_X 51 /* Stanford MIPS-X. */ +#define EM_COLDFIRE 52 /* Motorola ColdFire. */ +#define EM_68HC12 53 /* Motorola M68HC12. */ +#define EM_MMA 54 /* Fujitsu MMA. */ +#define EM_PCP 55 /* Siemens PCP. */ +#define EM_NCPU 56 /* Sony nCPU. */ +#define EM_NDR1 57 /* Denso NDR1 microprocessor. */ +#define EM_STARCORE 58 /* Motorola Star*Core processor. */ +#define EM_ME16 59 /* Toyota ME16 processor. */ +#define EM_ST100 60 /* STMicroelectronics ST100 processor. */ +#define EM_TINYJ 61 /* Advanced Logic Corp. TinyJ processor. */ +#define EM_X86_64 62 /* Advanced Micro Devices x86-64 */ #define EM_AMD64 EM_X86_64 /* Advanced Micro Devices x86-64 (compat) */ -#define EM_PDSP 63 /* Sony DSP Processor. */ -#define EM_FX66 66 /* Siemens FX66 microcontroller. */ -#define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 +#define EM_PDSP 63 /* Sony DSP Processor. */ +#define EM_FX66 66 /* Siemens FX66 microcontroller. */ +#define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 microcontroller. */ -#define EM_ST7 68 /* STmicroelectronics ST7 8-bit +#define EM_ST7 68 /* STmicroelectronics ST7 8-bit microcontroller. */ -#define EM_68HC16 69 /* Motorola MC68HC16 microcontroller. */ -#define EM_68HC11 70 /* Motorola MC68HC11 microcontroller. */ -#define EM_68HC08 71 /* Motorola MC68HC08 microcontroller. */ -#define EM_68HC05 72 /* Motorola MC68HC05 microcontroller. */ -#define EM_SVX 73 /* Silicon Graphics SVx. */ -#define EM_ST19 74 /* STMicroelectronics ST19 8-bit mc. */ -#define EM_VAX 75 /* Digital VAX. */ -#define EM_CRIS 76 /* Axis Communications 32-bit embedded +#define EM_68HC16 69 /* Motorola MC68HC16 microcontroller. */ +#define EM_68HC11 70 /* Motorola MC68HC11 microcontroller. */ +#define EM_68HC08 71 /* Motorola MC68HC08 microcontroller. */ +#define EM_68HC05 72 /* Motorola MC68HC05 microcontroller. */ +#define EM_SVX 73 /* Silicon Graphics SVx. */ +#define EM_ST19 74 /* STMicroelectronics ST19 8-bit mc. */ +#define EM_VAX 75 /* Digital VAX. */ +#define EM_CRIS 76 /* Axis Communications 32-bit embedded processor. */ -#define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded +#define EM_JAVELIN 77 /* Infineon Technologies 32-bit embedded processor. */ -#define EM_FIREPATH 78 /* Element 14 64-bit DSP Processor. */ -#define EM_ZSP 79 /* LSI Logic 16-bit DSP Processor. */ -#define EM_MMIX 80 /* Donald Knuth's educational 64-bit proc. */ -#define EM_HUANY 81 /* Harvard University machine-independent +#define EM_FIREPATH 78 /* Element 14 64-bit DSP Processor. */ +#define EM_ZSP 79 /* LSI Logic 16-bit DSP Processor. */ +#define EM_MMIX 80 /* Donald Knuth's educational 64-bit proc. */ +#define EM_HUANY 81 /* Harvard University machine-independent object files. */ -#define EM_PRISM 82 /* SiTera Prism. */ -#define EM_AVR 83 /* Atmel AVR 8-bit microcontroller. */ -#define EM_FR30 84 /* Fujitsu FR30. */ -#define EM_D10V 85 /* Mitsubishi D10V. */ -#define EM_D30V 86 /* Mitsubishi D30V. */ -#define EM_V850 87 /* NEC v850. */ -#define EM_M32R 88 /* Mitsubishi M32R. */ -#define EM_MN10300 89 /* Matsushita MN10300. */ -#define EM_MN10200 90 /* Matsushita MN10200. */ -#define EM_PJ 91 /* picoJava. */ -#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor. */ -#define EM_ARC_A5 93 /* ARC Cores Tangent-A5. */ -#define EM_XTENSA 94 /* Tensilica Xtensa Architecture. */ -#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor. */ -#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose +#define EM_PRISM 82 /* SiTera Prism. */ +#define EM_AVR 83 /* Atmel AVR 8-bit microcontroller. */ +#define EM_FR30 84 /* Fujitsu FR30. */ +#define EM_D10V 85 /* Mitsubishi D10V. */ +#define EM_D30V 86 /* Mitsubishi D30V. */ +#define EM_V850 87 /* NEC v850. */ +#define EM_M32R 88 /* Mitsubishi M32R. */ +#define EM_MN10300 89 /* Matsushita MN10300. */ +#define EM_MN10200 90 /* Matsushita MN10200. */ +#define EM_PJ 91 /* picoJava. */ +#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor. */ +#define EM_ARC_A5 93 /* ARC Cores Tangent-A5. */ +#define EM_XTENSA 94 /* Tensilica Xtensa Architecture. */ +#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor. */ +#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose Processor. */ -#define EM_NS32K 97 /* National Semiconductor 32000 series. */ -#define EM_TPC 98 /* Tenor Network TPC processor. */ -#define EM_SNP1K 99 /* Trebia SNP 1000 processor. */ -#define EM_ST200 100 /* STMicroelectronics ST200 microcontroller. */ -#define EM_IP2K 101 /* Ubicom IP2xxx microcontroller family. */ -#define EM_MAX 102 /* MAX Processor. */ -#define EM_CR 103 /* National Semiconductor CompactRISC +#define EM_NS32K 97 /* National Semiconductor 32000 series. */ +#define EM_TPC 98 /* Tenor Network TPC processor. */ +#define EM_SNP1K 99 /* Trebia SNP 1000 processor. */ +#define EM_ST200 100 /* STMicroelectronics ST200 microcontroller. */ +#define EM_IP2K 101 /* Ubicom IP2xxx microcontroller family. */ +#define EM_MAX 102 /* MAX Processor. */ +#define EM_CR 103 /* National Semiconductor CompactRISC microprocessor. */ -#define EM_F2MC16 104 /* Fujitsu F2MC16. */ -#define EM_MSP430 105 /* Texas Instruments embedded microcontroller +#define EM_F2MC16 104 /* Fujitsu F2MC16. */ +#define EM_MSP430 105 /* Texas Instruments embedded microcontroller msp430. */ -#define EM_BLACKFIN 106 /* Analog Devices Blackfin (DSP) processor. */ -#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors. */ -#define EM_SEP 108 /* Sharp embedded microprocessor. */ -#define EM_ARCA 109 /* Arca RISC Microprocessor. */ -#define EM_UNICORE 110 /* Microprocessor series from PKU-Unity Ltd. +#define EM_BLACKFIN 106 /* Analog Devices Blackfin (DSP) processor. */ +#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors. */ +#define EM_SEP 108 /* Sharp embedded microprocessor. */ +#define EM_ARCA 109 /* Arca RISC Microprocessor. */ +#define EM_UNICORE 110 /* Microprocessor series from PKU-Unity Ltd. and MPRC of Peking University */ /* Non-standard or deprecated. */ -#define EM_486 6 /* Intel i486. */ -#define EM_MIPS_RS4_BE 10 /* MIPS R4000 Big-Endian */ -#define EM_ALPHA_STD 41 /* Digital Alpha (standard value). */ -#define EM_ALPHA 0x9026 /* Alpha (written in the absence of an ABI) */ +#define EM_486 6 /* Intel i486. */ +#define EM_MIPS_RS4_BE 10 /* MIPS R4000 Big-Endian */ +#define EM_ALPHA_STD 41 /* Digital Alpha (standard value). */ +#define EM_ALPHA 0x9026 /* Alpha (written in the absence of an ABI) */ /* Special section indexes. */ -#define SHN_UNDEF 0 /* Undefined, missing, irrelevant. */ -#define SHN_LORESERVE 0xff00 /* First of reserved range. */ -#define SHN_LOPROC 0xff00 /* First processor-specific. */ -#define SHN_HIPROC 0xff1f /* Last processor-specific. */ -#define SHN_LOOS 0xff20 /* First operating system-specific. */ -#define SHN_HIOS 0xff3f /* Last operating system-specific. */ -#define SHN_ABS 0xfff1 /* Absolute values. */ -#define SHN_COMMON 0xfff2 /* Common data. */ -#define SHN_XINDEX 0xffff /* Escape -- index stored elsewhere. */ -#define SHN_HIRESERVE 0xffff /* Last of reserved range. */ +#define SHN_UNDEF 0 /* Undefined, missing, irrelevant. */ +#define SHN_LORESERVE 0xff00 /* First of reserved range. */ +#define SHN_LOPROC 0xff00 /* First processor-specific. */ +#define SHN_HIPROC 0xff1f /* Last processor-specific. */ +#define SHN_LOOS 0xff20 /* First operating system-specific. */ +#define SHN_HIOS 0xff3f /* Last operating system-specific. */ +#define SHN_ABS 0xfff1 /* Absolute values. */ +#define SHN_COMMON 0xfff2 /* Common data. */ +#define SHN_XINDEX 0xffff /* Escape -- index stored elsewhere. */ +#define SHN_HIRESERVE 0xffff /* Last of reserved range. */ /* sh_type */ -#define SHT_NULL 0 /* inactive */ -#define SHT_PROGBITS 1 /* program defined information */ -#define SHT_SYMTAB 2 /* symbol table section */ -#define SHT_STRTAB 3 /* string table section */ -#define SHT_RELA 4 /* relocation section with addends */ -#define SHT_HASH 5 /* symbol hash table section */ -#define SHT_DYNAMIC 6 /* dynamic section */ -#define SHT_NOTE 7 /* note section */ -#define SHT_NOBITS 8 /* no space section */ -#define SHT_REL 9 /* relocation section - no addends */ -#define SHT_SHLIB 10 /* reserved - purpose unknown */ -#define SHT_DYNSYM 11 /* dynamic symbol table section */ -#define SHT_INIT_ARRAY 14 /* Initialization function pointers. */ -#define SHT_FINI_ARRAY 15 /* Termination function pointers. */ -#define SHT_PREINIT_ARRAY 16 /* Pre-initialization function ptrs. */ -#define SHT_GROUP 17 /* Section group. */ -#define SHT_SYMTAB_SHNDX 18 /* Section indexes (see SHN_XINDEX). */ -#define SHT_LOOS 0x60000000 /* First of OS specific semantics */ -#define SHT_LOSUNW 0x6ffffff4 -#define SHT_SUNW_dof 0x6ffffff4 -#define SHT_SUNW_cap 0x6ffffff5 -#define SHT_SUNW_SIGNATURE 0x6ffffff6 -#define SHT_SUNW_ANNOTATE 0x6ffffff7 -#define SHT_SUNW_DEBUGSTR 0x6ffffff8 -#define SHT_SUNW_DEBUG 0x6ffffff9 -#define SHT_SUNW_move 0x6ffffffa -#define SHT_SUNW_COMDAT 0x6ffffffb -#define SHT_SUNW_syminfo 0x6ffffffc -#define SHT_SUNW_verdef 0x6ffffffd -#define SHT_GNU_verdef 0x6ffffffd /* Symbol versions provided */ -#define SHT_SUNW_verneed 0x6ffffffe -#define SHT_GNU_verneed 0x6ffffffe /* Symbol versions required */ -#define SHT_SUNW_versym 0x6fffffff -#define SHT_GNU_versym 0x6fffffff /* Symbol version table */ -#define SHT_HISUNW 0x6fffffff -#define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */ -#define SHT_LOPROC 0x70000000 /* reserved range for processor */ -#define SHT_AMD64_UNWIND 0x70000001 /* unwind information */ -#define SHT_HIPROC 0x7fffffff /* specific section header types */ -#define SHT_LOUSER 0x80000000 /* reserved range for application */ -#define SHT_HIUSER 0xffffffff /* specific indexes */ +#define SHT_NULL 0 /* inactive */ +#define SHT_PROGBITS 1 /* program defined information */ +#define SHT_SYMTAB 2 /* symbol table section */ +#define SHT_STRTAB 3 /* string table section */ +#define SHT_RELA 4 /* relocation section with addends */ +#define SHT_HASH 5 /* symbol hash table section */ +#define SHT_DYNAMIC 6 /* dynamic section */ +#define SHT_NOTE 7 /* note section */ +#define SHT_NOBITS 8 /* no space section */ +#define SHT_REL 9 /* relocation section - no addends */ +#define SHT_SHLIB 10 /* reserved - purpose unknown */ +#define SHT_DYNSYM 11 /* dynamic symbol table section */ +#define SHT_INIT_ARRAY 14 /* Initialization function pointers. */ +#define SHT_FINI_ARRAY 15 /* Termination function pointers. */ +#define SHT_PREINIT_ARRAY 16 /* Pre-initialization function ptrs. */ +#define SHT_GROUP 17 /* Section group. */ +#define SHT_SYMTAB_SHNDX 18 /* Section indexes (see SHN_XINDEX). */ +#define SHT_LOOS 0x60000000 /* First of OS specific semantics */ +#define SHT_LOSUNW 0x6ffffff4 +#define SHT_SUNW_dof 0x6ffffff4 +#define SHT_SUNW_cap 0x6ffffff5 +#define SHT_SUNW_SIGNATURE 0x6ffffff6 +#define SHT_SUNW_ANNOTATE 0x6ffffff7 +#define SHT_SUNW_DEBUGSTR 0x6ffffff8 +#define SHT_SUNW_DEBUG 0x6ffffff9 +#define SHT_SUNW_move 0x6ffffffa +#define SHT_SUNW_COMDAT 0x6ffffffb +#define SHT_SUNW_syminfo 0x6ffffffc +#define SHT_SUNW_verdef 0x6ffffffd +#define SHT_GNU_verdef 0x6ffffffd /* Symbol versions provided */ +#define SHT_SUNW_verneed 0x6ffffffe +#define SHT_GNU_verneed 0x6ffffffe /* Symbol versions required */ +#define SHT_SUNW_versym 0x6fffffff +#define SHT_GNU_versym 0x6fffffff /* Symbol version table */ +#define SHT_HISUNW 0x6fffffff +#define SHT_HIOS 0x6fffffff /* Last of OS specific semantics */ +#define SHT_LOPROC 0x70000000 /* reserved range for processor */ +#define SHT_AMD64_UNWIND 0x70000001 /* unwind information */ +#define SHT_HIPROC 0x7fffffff /* specific section header types */ +#define SHT_LOUSER 0x80000000 /* reserved range for application */ +#define SHT_HIUSER 0xffffffff /* specific indexes */ /* Flags for sh_flags. */ -#define SHF_WRITE 0x1 /* Section contains writable data. */ -#define SHF_ALLOC 0x2 /* Section occupies memory. */ -#define SHF_EXECINSTR 0x4 /* Section contains instructions. */ -#define SHF_MERGE 0x10 /* Section may be merged. */ -#define SHF_STRINGS 0x20 /* Section contains strings. */ -#define SHF_INFO_LINK 0x40 /* sh_info holds section index. */ -#define SHF_LINK_ORDER 0x80 /* Special ordering requirements. */ -#define SHF_OS_NONCONFORMING 0x100 /* OS-specific processing required. */ -#define SHF_GROUP 0x200 /* Member of section group. */ -#define SHF_TLS 0x400 /* Section contains TLS data. */ -#define SHF_MASKOS 0x0ff00000 /* OS-specific semantics. */ -#define SHF_MASKPROC 0xf0000000 /* Processor-specific semantics. */ +#define SHF_WRITE 0x1 /* Section contains writable data. */ +#define SHF_ALLOC 0x2 /* Section occupies memory. */ +#define SHF_EXECINSTR 0x4 /* Section contains instructions. */ +#define SHF_MERGE 0x10 /* Section may be merged. */ +#define SHF_STRINGS 0x20 /* Section contains strings. */ +#define SHF_INFO_LINK 0x40 /* sh_info holds section index. */ +#define SHF_LINK_ORDER 0x80 /* Special ordering requirements. */ +#define SHF_OS_NONCONFORMING 0x100 /* OS-specific processing required. */ +#define SHF_GROUP 0x200 /* Member of section group. */ +#define SHF_TLS 0x400 /* Section contains TLS data. */ +#define SHF_MASKOS 0x0ff00000 /* OS-specific semantics. */ +#define SHF_MASKPROC 0xf0000000 /* Processor-specific semantics. */ /* Values for p_type. */ -#define PT_NULL 0 /* Unused entry. */ -#define PT_LOAD 1 /* Loadable segment. */ -#define PT_DYNAMIC 2 /* Dynamic linking information segment. */ -#define PT_INTERP 3 /* Pathname of interpreter. */ -#define PT_NOTE 4 /* Auxiliary information. */ -#define PT_SHLIB 5 /* Reserved (not used). */ -#define PT_PHDR 6 /* Location of program header itself. */ +#define PT_NULL 0 /* Unused entry. */ +#define PT_LOAD 1 /* Loadable segment. */ +#define PT_DYNAMIC 2 /* Dynamic linking information segment. */ +#define PT_INTERP 3 /* Pathname of interpreter. */ +#define PT_NOTE 4 /* Auxiliary information. */ +#define PT_SHLIB 5 /* Reserved (not used). */ +#define PT_PHDR 6 /* Location of program header itself. */ #define PT_TLS 7 /* Thread local storage segment */ -#define PT_LOOS 0x60000000 /* First OS-specific. */ +#define PT_LOOS 0x60000000 /* First OS-specific. */ #define PT_SUNW_UNWIND 0x6464e550 /* amd64 UNWIND program header */ #define PT_GNU_EH_FRAME 0x6474e550 #define PT_LOSUNW 0x6ffffffa @@ -319,48 +319,48 @@ typedef struct { #define PT_SUNWDTRACE 0x6ffffffc /* private */ #define PT_SUNWCAP 0x6ffffffd /* hard/soft capabilities segment */ #define PT_HISUNW 0x6fffffff -#define PT_HIOS 0x6fffffff /* Last OS-specific. */ -#define PT_LOPROC 0x70000000 /* First processor-specific type. */ -#define PT_HIPROC 0x7fffffff /* Last processor-specific type. */ +#define PT_HIOS 0x6fffffff /* Last OS-specific. */ +#define PT_LOPROC 0x70000000 /* First processor-specific type. */ +#define PT_HIPROC 0x7fffffff /* Last processor-specific type. */ /* Values for p_flags. */ -#define PF_X 0x1 /* Executable. */ -#define PF_W 0x2 /* Writable. */ -#define PF_R 0x4 /* Readable. */ -#define PF_MASKOS 0x0ff00000 /* Operating system-specific. */ -#define PF_MASKPROC 0xf0000000 /* Processor-specific. */ +#define PF_X 0x1 /* Executable. */ +#define PF_W 0x2 /* Writable. */ +#define PF_R 0x4 /* Readable. */ +#define PF_MASKOS 0x0ff00000 /* Operating system-specific. */ +#define PF_MASKPROC 0xf0000000 /* Processor-specific. */ /* Extended program header index. */ #define PN_XNUM 0xffff /* Values for d_tag. */ -#define DT_NULL 0 /* Terminating entry. */ -#define DT_NEEDED 1 /* String table offset of a needed shared +#define DT_NULL 0 /* Terminating entry. */ +#define DT_NEEDED 1 /* String table offset of a needed shared library. */ -#define DT_PLTRELSZ 2 /* Total size in bytes of PLT relocations. */ -#define DT_PLTGOT 3 /* Processor-dependent address. */ -#define DT_HASH 4 /* Address of symbol hash table. */ -#define DT_STRTAB 5 /* Address of string table. */ -#define DT_SYMTAB 6 /* Address of symbol table. */ -#define DT_RELA 7 /* Address of ElfNN_Rela relocations. */ -#define DT_RELASZ 8 /* Total size of ElfNN_Rela relocations. */ -#define DT_RELAENT 9 /* Size of each ElfNN_Rela relocation entry. */ -#define DT_STRSZ 10 /* Size of string table. */ -#define DT_SYMENT 11 /* Size of each symbol table entry. */ -#define DT_INIT 12 /* Address of initialization function. */ -#define DT_FINI 13 /* Address of finalization function. */ -#define DT_SONAME 14 /* String table offset of shared object +#define DT_PLTRELSZ 2 /* Total size in bytes of PLT relocations. */ +#define DT_PLTGOT 3 /* Processor-dependent address. */ +#define DT_HASH 4 /* Address of symbol hash table. */ +#define DT_STRTAB 5 /* Address of string table. */ +#define DT_SYMTAB 6 /* Address of symbol table. */ +#define DT_RELA 7 /* Address of ElfNN_Rela relocations. */ +#define DT_RELASZ 8 /* Total size of ElfNN_Rela relocations. */ +#define DT_RELAENT 9 /* Size of each ElfNN_Rela relocation entry. */ +#define DT_STRSZ 10 /* Size of string table. */ +#define DT_SYMENT 11 /* Size of each symbol table entry. */ +#define DT_INIT 12 /* Address of initialization function. */ +#define DT_FINI 13 /* Address of finalization function. */ +#define DT_SONAME 14 /* String table offset of shared object name. */ -#define DT_RPATH 15 /* String table offset of library path. [sup] */ -#define DT_SYMBOLIC 16 /* Indicates "symbolic" linking. [sup] */ -#define DT_REL 17 /* Address of ElfNN_Rel relocations. */ -#define DT_RELSZ 18 /* Total size of ElfNN_Rel relocations. */ -#define DT_RELENT 19 /* Size of each ElfNN_Rel relocation. */ -#define DT_PLTREL 20 /* Type of relocation used for PLT. */ -#define DT_DEBUG 21 /* Reserved (not used). */ -#define DT_TEXTREL 22 /* Indicates there may be relocations in +#define DT_RPATH 15 /* String table offset of library path. [sup] */ +#define DT_SYMBOLIC 16 /* Indicates "symbolic" linking. [sup] */ +#define DT_REL 17 /* Address of ElfNN_Rel relocations. */ +#define DT_RELSZ 18 /* Total size of ElfNN_Rel relocations. */ +#define DT_RELENT 19 /* Size of each ElfNN_Rel relocation. */ +#define DT_PLTREL 20 /* Type of relocation used for PLT. */ +#define DT_DEBUG 21 /* Reserved (not used). */ +#define DT_TEXTREL 22 /* Indicates there may be relocations in non-writable segments. [sup] */ -#define DT_JMPREL 23 /* Address of PLT relocations. */ +#define DT_JMPREL 23 /* Address of PLT relocations. */ #define DT_BIND_NOW 24 /* [sup] */ #define DT_INIT_ARRAY 25 /* Address of the array of pointers to initialization functions */ @@ -455,63 +455,63 @@ typedef struct { thread-local storage scheme. */ /* Values for n_type. Used in core files. */ -#define NT_PRSTATUS 1 /* Process status. */ -#define NT_FPREGSET 2 /* Floating point registers. */ -#define NT_PRPSINFO 3 /* Process state info. */ +#define NT_PRSTATUS 1 /* Process status. */ +#define NT_FPREGSET 2 /* Floating point registers. */ +#define NT_PRPSINFO 3 /* Process state info. */ /* Symbol Binding - ELFNN_ST_BIND - st_info */ -#define STB_LOCAL 0 /* Local symbol */ -#define STB_GLOBAL 1 /* Global symbol */ -#define STB_WEAK 2 /* like global - lower precedence */ -#define STB_LOOS 10 /* Reserved range for operating system */ -#define STB_HIOS 12 /* specific semantics. */ -#define STB_LOPROC 13 /* reserved range for processor */ -#define STB_HIPROC 15 /* specific semantics. */ +#define STB_LOCAL 0 /* Local symbol */ +#define STB_GLOBAL 1 /* Global symbol */ +#define STB_WEAK 2 /* like global - lower precedence */ +#define STB_LOOS 10 /* Reserved range for operating system */ +#define STB_HIOS 12 /* specific semantics. */ +#define STB_LOPROC 13 /* reserved range for processor */ +#define STB_HIPROC 15 /* specific semantics. */ /* Symbol type - ELFNN_ST_TYPE - st_info */ -#define STT_NOTYPE 0 /* Unspecified type. */ -#define STT_OBJECT 1 /* Data object. */ -#define STT_FUNC 2 /* Function. */ -#define STT_SECTION 3 /* Section. */ -#define STT_FILE 4 /* Source file. */ -#define STT_COMMON 5 /* Uninitialized common block. */ -#define STT_TLS 6 /* TLS object. */ -#define STT_NUM 7 -#define STT_LOOS 10 /* Reserved range for operating system */ -#define STT_HIOS 12 /* specific semantics. */ -#define STT_LOPROC 13 /* reserved range for processor */ -#define STT_HIPROC 15 /* specific semantics. */ +#define STT_NOTYPE 0 /* Unspecified type. */ +#define STT_OBJECT 1 /* Data object. */ +#define STT_FUNC 2 /* Function. */ +#define STT_SECTION 3 /* Section. */ +#define STT_FILE 4 /* Source file. */ +#define STT_COMMON 5 /* Uninitialized common block. */ +#define STT_TLS 6 /* TLS object. */ +#define STT_NUM 7 +#define STT_LOOS 10 /* Reserved range for operating system */ +#define STT_HIOS 12 /* specific semantics. */ +#define STT_LOPROC 13 /* reserved range for processor */ +#define STT_HIPROC 15 /* specific semantics. */ /* Symbol visibility - ELFNN_ST_VISIBILITY - st_other */ -#define STV_DEFAULT 0x0 /* Default visibility (see binding). */ -#define STV_INTERNAL 0x1 /* Special meaning in relocatable objects. */ -#define STV_HIDDEN 0x2 /* Not visible. */ -#define STV_PROTECTED 0x3 /* Visible but not preemptible. */ -#define STV_EXPORTED 0x4 -#define STV_SINGLETON 0x5 -#define STV_ELIMINATE 0x6 +#define STV_DEFAULT 0x0 /* Default visibility (see binding). */ +#define STV_INTERNAL 0x1 /* Special meaning in relocatable objects. */ +#define STV_HIDDEN 0x2 /* Not visible. */ +#define STV_PROTECTED 0x3 /* Visible but not preemptible. */ +#define STV_EXPORTED 0x4 +#define STV_SINGLETON 0x5 +#define STV_ELIMINATE 0x6 /* Special symbol table indexes. */ -#define STN_UNDEF 0 /* Undefined symbol index. */ +#define STN_UNDEF 0 /* Undefined symbol index. */ /* Symbol versioning flags. */ #define VER_DEF_CURRENT 1 -#define VER_DEF_IDX(x) VER_NDX(x) +#define VER_DEF_IDX(x) VER_NDX(x) #define VER_FLG_BASE 0x01 #define VER_FLG_WEAK 0x02 #define VER_NEED_CURRENT 1 -#define VER_NEED_WEAK (1u << 15) -#define VER_NEED_HIDDEN VER_NDX_HIDDEN -#define VER_NEED_IDX(x) VER_NDX(x) +#define VER_NEED_WEAK (1u << 15) +#define VER_NEED_HIDDEN VER_NDX_HIDDEN +#define VER_NEED_IDX(x) VER_NDX(x) #define VER_NDX_LOCAL 0 #define VER_NDX_GLOBAL 1 -#define VER_NDX_GIVEN 2 +#define VER_NDX_GIVEN 2 -#define VER_NDX_HIDDEN (1u << 15) -#define VER_NDX(x) ((x) & ~(1u << 15)) +#define VER_NDX_HIDDEN (1u << 15) +#define VER_NDX(x) ((x) & ~(1u << 15)) #define CA_SUNW_NULL 0 #define CA_SUNW_HW_1 1 /* first hardware capabilities entry */ @@ -763,30 +763,30 @@ typedef struct { /* * TLS relocations */ -#define R_PPC_TLS 67 -#define R_PPC_DTPMOD32 68 -#define R_PPC_TPREL16 69 -#define R_PPC_TPREL16_LO 70 -#define R_PPC_TPREL16_HI 71 -#define R_PPC_TPREL16_HA 72 -#define R_PPC_TPREL32 73 -#define R_PPC_DTPREL16 74 -#define R_PPC_DTPREL16_LO 75 -#define R_PPC_DTPREL16_HI 76 -#define R_PPC_DTPREL16_HA 77 -#define R_PPC_DTPREL32 78 -#define R_PPC_GOT_TLSGD16 79 -#define R_PPC_GOT_TLSGD16_LO 80 -#define R_PPC_GOT_TLSGD16_HI 81 -#define R_PPC_GOT_TLSGD16_HA 82 -#define R_PPC_GOT_TLSLD16 83 -#define R_PPC_GOT_TLSLD16_LO 84 -#define R_PPC_GOT_TLSLD16_HI 85 -#define R_PPC_GOT_TLSLD16_HA 86 -#define R_PPC_GOT_TPREL16 87 -#define R_PPC_GOT_TPREL16_LO 88 -#define R_PPC_GOT_TPREL16_HI 89 -#define R_PPC_GOT_TPREL16_HA 90 +#define R_PPC_TLS 67 +#define R_PPC_DTPMOD32 68 +#define R_PPC_TPREL16 69 +#define R_PPC_TPREL16_LO 70 +#define R_PPC_TPREL16_HI 71 +#define R_PPC_TPREL16_HA 72 +#define R_PPC_TPREL32 73 +#define R_PPC_DTPREL16 74 +#define R_PPC_DTPREL16_LO 75 +#define R_PPC_DTPREL16_HI 76 +#define R_PPC_DTPREL16_HA 77 +#define R_PPC_DTPREL32 78 +#define R_PPC_GOT_TLSGD16 79 +#define R_PPC_GOT_TLSGD16_LO 80 +#define R_PPC_GOT_TLSGD16_HI 81 +#define R_PPC_GOT_TLSGD16_HA 82 +#define R_PPC_GOT_TLSLD16 83 +#define R_PPC_GOT_TLSLD16_LO 84 +#define R_PPC_GOT_TLSLD16_HI 85 +#define R_PPC_GOT_TLSLD16_HA 86 +#define R_PPC_GOT_TPREL16 87 +#define R_PPC_GOT_TPREL16_LO 88 +#define R_PPC_GOT_TPREL16_HI 89 +#define R_PPC_GOT_TPREL16_HA 90 /* * The remaining relocs are from the Embedded ELF ABI, and are not in the From obrien at FreeBSD.org Thu Jan 1 02:08:57 2009 From: obrien at FreeBSD.org (David E. O'Brien) Date: Thu Jan 1 02:09:03 2009 Subject: svn commit: r186667 - head/sys/sys Message-ID: <200901010208.n0128ugu041171@svn.freebsd.org> Author: obrien Date: Thu Jan 1 02:08:56 2009 New Revision: 186667 URL: http://svn.freebsd.org/changeset/base/186667 Log: style(9) Verified with: svn diff -x -Bbw elf_generic.h elf64.h Modified: head/sys/sys/elf64.h head/sys/sys/elf_generic.h Modified: head/sys/sys/elf64.h ============================================================================== --- head/sys/sys/elf64.h Thu Jan 1 02:07:32 2009 (r186666) +++ head/sys/sys/elf64.h Thu Jan 1 02:08:56 2009 (r186667) @@ -141,16 +141,16 @@ typedef struct { } Elf64_Rela; /* Macros for accessing the fields of r_info. */ -#define ELF64_R_SYM(info) ((info) >> 32) -#define ELF64_R_TYPE(info) ((info) & 0xffffffffL) +#define ELF64_R_SYM(info) ((info) >> 32) +#define ELF64_R_TYPE(info) ((info) & 0xffffffffL) /* Macro for constructing r_info from field values. */ -#define ELF64_R_INFO(sym, type) (((sym) << 32) + ((type) & 0xffffffffL)) +#define ELF64_R_INFO(sym, type) (((sym) << 32) + ((type) & 0xffffffffL)) #define ELF64_R_TYPE_DATA(info) (((Elf64_Xword)(info)<<32)>>40) #define ELF64_R_TYPE_ID(info) (((Elf64_Xword)(info)<<56)>>56) #define ELF64_R_TYPE_INFO(data, type) \ - (((Elf64_Xword)(data)<<8)+(Elf64_Xword)(type)) + (((Elf64_Xword)(data)<<8)+(Elf64_Xword)(type)) /* * Note entry header @@ -197,14 +197,14 @@ typedef struct { } Elf64_Sym; /* Macros for accessing the fields of st_info. */ -#define ELF64_ST_BIND(info) ((info) >> 4) -#define ELF64_ST_TYPE(info) ((info) & 0xf) +#define ELF64_ST_BIND(info) ((info) >> 4) +#define ELF64_ST_TYPE(info) ((info) & 0xf) /* Macro for constructing st_info from field values. */ -#define ELF64_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf)) +#define ELF64_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf)) /* Macro for accessing the fields of st_other. */ -#define ELF64_ST_VISIBILITY(oth) ((oth) & 0x3) +#define ELF64_ST_VISIBILITY(oth) ((oth) & 0x3) /* Structures used by Sun & GNU-style symbol versioning. */ typedef struct { Modified: head/sys/sys/elf_generic.h ============================================================================== --- head/sys/sys/elf_generic.h Thu Jan 1 02:07:32 2009 (r186666) +++ head/sys/sys/elf_generic.h Thu Jan 1 02:08:56 2009 (r186667) @@ -27,7 +27,7 @@ */ #ifndef _SYS_ELF_GENERIC_H_ -#define _SYS_ELF_GENERIC_H_ 1 +#define _SYS_ELF_GENERIC_H_ 1 #include @@ -40,20 +40,20 @@ #error "__ELF_WORD_SIZE must be defined as 32 or 64" #endif -#define ELF_CLASS __CONCAT(ELFCLASS,__ELF_WORD_SIZE) +#define ELF_CLASS __CONCAT(ELFCLASS,__ELF_WORD_SIZE) #if BYTE_ORDER == LITTLE_ENDIAN -#define ELF_DATA ELFDATA2LSB +#define ELF_DATA ELFDATA2LSB #elif BYTE_ORDER == BIG_ENDIAN -#define ELF_DATA ELFDATA2MSB +#define ELF_DATA ELFDATA2MSB #else #error "Unknown byte order" #endif -#define __elfN(x) __CONCAT(__CONCAT(__CONCAT(elf,__ELF_WORD_SIZE),_),x) -#define __ElfN(x) __CONCAT(__CONCAT(__CONCAT(Elf,__ELF_WORD_SIZE),_),x) -#define __ELFN(x) __CONCAT(__CONCAT(__CONCAT(ELF,__ELF_WORD_SIZE),_),x) -#define __ElfType(x) typedef __ElfN(x) __CONCAT(Elf_,x) +#define __elfN(x) __CONCAT(__CONCAT(__CONCAT(elf,__ELF_WORD_SIZE),_),x) +#define __ElfN(x) __CONCAT(__CONCAT(__CONCAT(Elf,__ELF_WORD_SIZE),_),x) +#define __ELFN(x) __CONCAT(__CONCAT(__CONCAT(ELF,__ELF_WORD_SIZE),_),x) +#define __ElfType(x) typedef __ElfN(x) __CONCAT(Elf_,x) __ElfType(Addr); __ElfType(Half); @@ -78,11 +78,11 @@ __ElfType(Hashelt); __ElfType(Size); __ElfType(Ssize); -#define ELF_R_SYM __ELFN(R_SYM) -#define ELF_R_TYPE __ELFN(R_TYPE) -#define ELF_R_INFO __ELFN(R_INFO) -#define ELF_ST_BIND __ELFN(ST_BIND) -#define ELF_ST_TYPE __ELFN(ST_TYPE) -#define ELF_ST_INFO __ELFN(ST_INFO) +#define ELF_R_SYM __ELFN(R_SYM) +#define ELF_R_TYPE __ELFN(R_TYPE) +#define ELF_R_INFO __ELFN(R_INFO) +#define ELF_ST_BIND __ELFN(ST_BIND) +#define ELF_ST_TYPE __ELFN(ST_TYPE) +#define ELF_ST_INFO __ELFN(ST_INFO) #endif /* !_SYS_ELF_GENERIC_H_ */ From obrien at FreeBSD.org Thu Jan 1 02:11:02 2009 From: obrien at FreeBSD.org (David E. O'Brien) Date: Thu Jan 1 02:11:08 2009 Subject: svn commit: r186668 - head/sys/sys Message-ID: <200901010211.n012B1YQ041269@svn.freebsd.org> Author: obrien Date: Thu Jan 1 02:11:01 2009 New Revision: 186668 URL: http://svn.freebsd.org/changeset/base/186668 Log: style(9) Differences from 'svn diff -x -Bbw' are trivially verifiable as only style(9). Modified: head/sys/sys/imgact_elf.h head/sys/sys/link_elf.h Modified: head/sys/sys/imgact_elf.h ============================================================================== --- head/sys/sys/imgact_elf.h Thu Jan 1 02:08:56 2009 (r186667) +++ head/sys/sys/imgact_elf.h Thu Jan 1 02:11:01 2009 (r186668) @@ -29,13 +29,13 @@ */ #ifndef _SYS_IMGACT_ELF_H_ -#define _SYS_IMGACT_ELF_H_ +#define _SYS_IMGACT_ELF_H_ #include #ifdef _KERNEL -#define AUXARGS_ENTRY(pos, id, val) {suword(pos++, id); suword(pos++, val);} +#define AUXARGS_ENTRY(pos, id, val) {suword(pos++, id); suword(pos++, val);} struct thread; @@ -62,14 +62,14 @@ typedef struct { const char *interp_path; struct sysentvec *sysvec; const char *interp_newpath; - int flags; -#define BI_CAN_EXEC_DYN 0x0001 + int flags; +#define BI_CAN_EXEC_DYN 0x0001 } __ElfN(Brandinfo); __ElfType(Auxargs); __ElfType(Brandinfo); -#define MAX_BRANDS 8 +#define MAX_BRANDS 8 int __elfN(brand_inuse)(Elf_Brandinfo *entry); int __elfN(insert_brand_entry)(Elf_Brandinfo *entry); @@ -80,7 +80,7 @@ int __elfN(coredump)(struct thread *, st /* Machine specific function to dump per-thread information. */ void __elfN(dump_thread)(struct thread *, void *, size_t *); -extern int __elfN(fallback_brand); +int __elfN(fallback_brand); #endif /* _KERNEL */ Modified: head/sys/sys/link_elf.h ============================================================================== --- head/sys/sys/link_elf.h Thu Jan 1 02:08:56 2009 (r186667) +++ head/sys/sys/link_elf.h Thu Jan 1 02:11:01 2009 (r186668) @@ -39,7 +39,7 @@ */ #ifndef _SYS_LINK_ELF_H_ -#define _SYS_LINK_ELF_H_ +#define _SYS_LINK_ELF_H_ #include @@ -70,9 +70,9 @@ struct r_debug { void (*r_brk)(struct r_debug *, struct link_map *); /* pointer to break point */ enum { - RT_CONSISTENT, /* things are stable */ - RT_ADD, /* adding a shared library */ - RT_DELETE /* removing a shared library */ + RT_CONSISTENT, /* things are stable */ + RT_ADD, /* adding a shared library */ + RT_DELETE /* removing a shared library */ } r_state; }; @@ -90,8 +90,7 @@ struct dl_phdr_info __BEGIN_DECLS -typedef int (*__dl_iterate_hdr_callback)(struct dl_phdr_info *, size_t, - void *); +typedef int (*__dl_iterate_hdr_callback)(struct dl_phdr_info *, size_t, void *); extern int dl_iterate_phdr(__dl_iterate_hdr_callback, void *); __END_DECLS From obrien at FreeBSD.org Thu Jan 1 02:29:18 2009 From: obrien at FreeBSD.org (David E. O'Brien) Date: Thu Jan 1 02:29:30 2009 Subject: svn commit: r186669 - head/sys/sys Message-ID: <200901010229.n012TIh1041681@svn.freebsd.org> Author: obrien Date: Thu Jan 1 02:29:17 2009 New Revision: 186669 URL: http://svn.freebsd.org/changeset/base/186669 Log: style(9) Verfied with: svn diff -x -Bbw file.h showing empty diff Modified: head/sys/sys/file.h Modified: head/sys/sys/file.h ============================================================================== --- head/sys/sys/file.h Thu Jan 1 02:11:01 2009 (r186668) +++ head/sys/sys/file.h Thu Jan 1 02:29:17 2009 (r186669) @@ -119,7 +119,7 @@ struct file { struct ucred *f_cred; /* associated credentials. */ struct vnode *f_vnode; /* NULL or applicable vnode */ short f_type; /* descriptor type */ - short f_vnread_flags; /* (f) Sleep lock for f_offset */ + short f_vnread_flags; /* (f) Sleep lock for f_offset */ volatile u_int f_flag; /* see fcntl.h */ volatile u_int f_count; /* reference count */ /* From kientzle at FreeBSD.org Thu Jan 1 02:29:58 2009 From: kientzle at FreeBSD.org (Tim Kientzle) Date: Thu Jan 1 02:30:09 2009 Subject: svn commit: r186670 - head/lib/libarchive Message-ID: <200901010229.n012TvPk041728@svn.freebsd.org> Author: kientzle Date: Thu Jan 1 02:29:57 2009 New Revision: 186670 URL: http://svn.freebsd.org/changeset/base/186670 Log: Don't try to read the next Gzip header after we reach the end of the compressed stream. This is desirable behavior, but the implementation here is very broken and causes strange problems, so disable it for now. Thanks to Simon L. Nielsen for reporting this problem. Modified: head/lib/libarchive/archive_read_support_compression_gzip.c Modified: head/lib/libarchive/archive_read_support_compression_gzip.c ============================================================================== --- head/lib/libarchive/archive_read_support_compression_gzip.c Thu Jan 1 02:29:17 2009 (r186669) +++ head/lib/libarchive/archive_read_support_compression_gzip.c Thu Jan 1 02:29:57 2009 (r186670) @@ -428,8 +428,9 @@ gzip_source_read(struct archive_read_sou "Failed to clean up gzip decompressor"); return (ARCHIVE_FATAL); } - /* Restart header parser with the next block. */ - state->header_state = state->header_done = 0; + /* zlib has been torn down */ + state->header_done = 0; + state->eof = 1; /* FALL THROUGH */ case Z_OK: /* Decompressor made some progress. */ /* If we filled our buffer, update stats and return. */ From obrien at FreeBSD.org Thu Jan 1 05:38:50 2009 From: obrien at FreeBSD.org (David E. O'Brien) Date: Thu Jan 1 05:39:02 2009 Subject: svn commit: r186674 - svnadmin/conf Message-ID: <200901010538.n015coRC045621@svn.freebsd.org> Author: obrien Date: Thu Jan 1 05:38:49 2009 New Revision: 186674 URL: http://svn.freebsd.org/changeset/base/186674 Log: file flattening is in progress Modified: svnadmin/conf/paths Modified: svnadmin/conf/paths ============================================================================== --- svnadmin/conf/paths Thu Jan 1 03:10:11 2009 (r186673) +++ svnadmin/conf/paths Thu Jan 1 05:38:49 2009 (r186674) @@ -47,6 +47,7 @@ ^vendor/cpio ^vendor/bind9 ^vendor/bsnmp +^vendor/file ^vendor/gdtoa ^vendor/libbegemot ^vendor/ncurses From obrien at FreeBSD.org Thu Jan 1 05:39:48 2009 From: obrien at FreeBSD.org (David E. O'Brien) Date: Thu Jan 1 05:40:04 2009 Subject: svn commit: r186675 - in vendor/file: 3.14/usr.bin/file 3.14/usr.bin/file/Magdir 3.19/usr.bin/file 3.19/usr.bin/file/Magdir 3.22/usr.bin/file 3.22/usr.bin/file/Magdir 3.32 3.32/Magdir 3.32/contrib ... Message-ID: <200901010539.n015dlk1045679@svn.freebsd.org> Author: obrien Date: Thu Jan 1 05:39:43 2009 New Revision: 186675 URL: http://svn.freebsd.org/changeset/base/186675 Log: Flatten the file vendor area. Remove the svn:keywords property from the vendor files. Added: vendor/file/3.32/Header (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/Header vendor/file/3.32/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/LEGAL.NOTICE vendor/file/3.32/Localstuff (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/Localstuff vendor/file/3.32/MAINT (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/MAINT vendor/file/3.32/Magdir/ - copied from r186673, vendor/file/3.32/contrib/file/Magdir/ vendor/file/3.32/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/Makefile.am vendor/file/3.32/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/Makefile.in vendor/file/3.32/Makefile.std (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/Makefile.std vendor/file/3.32/README (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/README vendor/file/3.32/acconfig.h (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/acconfig.h vendor/file/3.32/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/acinclude.m4 vendor/file/3.32/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/aclocal.m4 vendor/file/3.32/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/apprentice.c vendor/file/3.32/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/ascmagic.c vendor/file/3.32/compress.c (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/compress.c vendor/file/3.32/config.h.in (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/config.h.in vendor/file/3.32/configure (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/configure vendor/file/3.32/configure.in (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/configure.in vendor/file/3.32/file.c (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/file.c vendor/file/3.32/file.h (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/file.h vendor/file/3.32/file.man (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/file.man vendor/file/3.32/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/fsmagic.c vendor/file/3.32/install-sh (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/install-sh vendor/file/3.32/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/is_tar.c vendor/file/3.32/magic.man (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/magic.man vendor/file/3.32/magic.mime (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/magic.mime vendor/file/3.32/magic2mime (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/magic2mime vendor/file/3.32/missing (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/missing vendor/file/3.32/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/mkinstalldirs vendor/file/3.32/names.h (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/names.h vendor/file/3.32/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/patchlevel.h vendor/file/3.32/print.c (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/print.c vendor/file/3.32/readelf.c (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/readelf.c vendor/file/3.32/readelf.h (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/readelf.h vendor/file/3.32/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/softmagic.c vendor/file/3.32/stamp-h.in (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/stamp-h.in vendor/file/3.32/tar.h (props changed) - copied unchanged from r186673, vendor/file/3.32/contrib/file/tar.h vendor/file/3.33/Header (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/Header vendor/file/3.33/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/LEGAL.NOTICE vendor/file/3.33/Localstuff (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/Localstuff vendor/file/3.33/MAINT (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/MAINT vendor/file/3.33/Magdir/ - copied from r186673, vendor/file/3.33/contrib/file/Magdir/ vendor/file/3.33/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/Makefile.am vendor/file/3.33/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/Makefile.in vendor/file/3.33/Makefile.std (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/Makefile.std vendor/file/3.33/README (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/README vendor/file/3.33/acconfig.h (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/acconfig.h vendor/file/3.33/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/acinclude.m4 vendor/file/3.33/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/aclocal.m4 vendor/file/3.33/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/apprentice.c vendor/file/3.33/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/ascmagic.c vendor/file/3.33/compress.c (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/compress.c vendor/file/3.33/config.h.in (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/config.h.in vendor/file/3.33/configure (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/configure vendor/file/3.33/configure.in (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/configure.in vendor/file/3.33/file.c (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/file.c vendor/file/3.33/file.h (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/file.h vendor/file/3.33/file.man (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/file.man vendor/file/3.33/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/fsmagic.c vendor/file/3.33/install-sh (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/install-sh vendor/file/3.33/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/is_tar.c vendor/file/3.33/magic.man (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/magic.man vendor/file/3.33/magic.mime (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/magic.mime vendor/file/3.33/magic2mime (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/magic2mime vendor/file/3.33/missing (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/missing vendor/file/3.33/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/mkinstalldirs vendor/file/3.33/names.h (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/names.h vendor/file/3.33/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/patchlevel.h vendor/file/3.33/print.c (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/print.c vendor/file/3.33/readelf.c (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/readelf.c vendor/file/3.33/readelf.h (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/readelf.h vendor/file/3.33/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/softmagic.c vendor/file/3.33/stamp-h.in (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/stamp-h.in vendor/file/3.33/tar.h (props changed) - copied unchanged from r186673, vendor/file/3.33/contrib/file/tar.h vendor/file/3.34/Header (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/Header vendor/file/3.34/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/LEGAL.NOTICE vendor/file/3.34/Localstuff (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/Localstuff vendor/file/3.34/MAINT (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/MAINT vendor/file/3.34/Magdir/ - copied from r186673, vendor/file/3.34/contrib/file/Magdir/ vendor/file/3.34/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/Makefile.am vendor/file/3.34/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/Makefile.in vendor/file/3.34/Makefile.std (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/Makefile.std vendor/file/3.34/README (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/README vendor/file/3.34/acconfig.h (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/acconfig.h vendor/file/3.34/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/acinclude.m4 vendor/file/3.34/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/aclocal.m4 vendor/file/3.34/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/apprentice.c vendor/file/3.34/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/ascmagic.c vendor/file/3.34/compress.c (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/compress.c vendor/file/3.34/config.h.in (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/config.h.in vendor/file/3.34/configure (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/configure vendor/file/3.34/configure.in (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/configure.in vendor/file/3.34/file.c (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/file.c vendor/file/3.34/file.h (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/file.h vendor/file/3.34/file.man (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/file.man vendor/file/3.34/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/fsmagic.c vendor/file/3.34/install-sh (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/install-sh vendor/file/3.34/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/is_tar.c vendor/file/3.34/magic.man (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/magic.man vendor/file/3.34/magic.mime (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/magic.mime vendor/file/3.34/magic2mime (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/magic2mime vendor/file/3.34/missing (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/missing vendor/file/3.34/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/mkinstalldirs vendor/file/3.34/names.h (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/names.h vendor/file/3.34/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/patchlevel.h vendor/file/3.34/print.c (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/print.c vendor/file/3.34/readelf.c (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/readelf.c vendor/file/3.34/readelf.h (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/readelf.h vendor/file/3.34/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/softmagic.c vendor/file/3.34/stamp-h.in (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/stamp-h.in vendor/file/3.34/tar.h (props changed) - copied unchanged from r186673, vendor/file/3.34/contrib/file/tar.h vendor/file/3.35/Header (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/Header vendor/file/3.35/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/LEGAL.NOTICE vendor/file/3.35/Localstuff (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/Localstuff vendor/file/3.35/MAINT (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/MAINT vendor/file/3.35/Magdir/ - copied from r186673, vendor/file/3.35/contrib/file/Magdir/ vendor/file/3.35/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/Makefile.am vendor/file/3.35/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/Makefile.in vendor/file/3.35/Makefile.std (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/Makefile.std vendor/file/3.35/README (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/README vendor/file/3.35/acconfig.h (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/acconfig.h vendor/file/3.35/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/acinclude.m4 vendor/file/3.35/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/aclocal.m4 vendor/file/3.35/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/apprentice.c vendor/file/3.35/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/ascmagic.c vendor/file/3.35/compress.c (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/compress.c vendor/file/3.35/config.h.in (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/config.h.in vendor/file/3.35/configure (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/configure vendor/file/3.35/configure.in (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/configure.in vendor/file/3.35/file.c (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/file.c vendor/file/3.35/file.h (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/file.h vendor/file/3.35/file.man (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/file.man vendor/file/3.35/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/fsmagic.c vendor/file/3.35/install-sh (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/install-sh vendor/file/3.35/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/is_tar.c vendor/file/3.35/magic.man (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/magic.man vendor/file/3.35/magic.mime (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/magic.mime vendor/file/3.35/magic2mime (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/magic2mime vendor/file/3.35/missing (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/missing vendor/file/3.35/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/mkinstalldirs vendor/file/3.35/names.h (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/names.h vendor/file/3.35/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/patchlevel.h vendor/file/3.35/print.c (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/print.c vendor/file/3.35/readelf.c (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/readelf.c vendor/file/3.35/readelf.h (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/readelf.h vendor/file/3.35/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/softmagic.c vendor/file/3.35/stamp-h.in (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/stamp-h.in vendor/file/3.35/tar.h (props changed) - copied unchanged from r186673, vendor/file/3.35/contrib/file/tar.h vendor/file/3.36/Header (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/Header vendor/file/3.36/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/LEGAL.NOTICE vendor/file/3.36/Localstuff (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/Localstuff vendor/file/3.36/MAINT (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/MAINT vendor/file/3.36/Magdir/ - copied from r186673, vendor/file/3.36/contrib/file/Magdir/ vendor/file/3.36/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/Makefile.am vendor/file/3.36/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/Makefile.in vendor/file/3.36/Makefile.std (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/Makefile.std vendor/file/3.36/README (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/README vendor/file/3.36/acconfig.h (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/acconfig.h vendor/file/3.36/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/acinclude.m4 vendor/file/3.36/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/aclocal.m4 vendor/file/3.36/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/apprentice.c vendor/file/3.36/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/ascmagic.c vendor/file/3.36/compress.c (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/compress.c vendor/file/3.36/config.h.in (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/config.h.in vendor/file/3.36/configure (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/configure vendor/file/3.36/configure.in (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/configure.in vendor/file/3.36/file.c (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/file.c vendor/file/3.36/file.h (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/file.h vendor/file/3.36/file.man (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/file.man vendor/file/3.36/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/fsmagic.c vendor/file/3.36/install-sh (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/install-sh vendor/file/3.36/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/is_tar.c vendor/file/3.36/magic.man (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/magic.man vendor/file/3.36/magic.mime (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/magic.mime vendor/file/3.36/magic2mime (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/magic2mime vendor/file/3.36/missing (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/missing vendor/file/3.36/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/mkinstalldirs vendor/file/3.36/names.h (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/names.h vendor/file/3.36/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/patchlevel.h vendor/file/3.36/print.c (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/print.c vendor/file/3.36/readelf.c (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/readelf.c vendor/file/3.36/readelf.h (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/readelf.h vendor/file/3.36/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/softmagic.c vendor/file/3.36/stamp-h.in (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/stamp-h.in vendor/file/3.36/tar.h (props changed) - copied unchanged from r186673, vendor/file/3.36/contrib/file/tar.h vendor/file/3.37/Header (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/Header vendor/file/3.37/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/LEGAL.NOTICE vendor/file/3.37/Localstuff (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/Localstuff vendor/file/3.37/MAINT (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/MAINT vendor/file/3.37/Magdir/ - copied from r186673, vendor/file/3.37/contrib/file/Magdir/ vendor/file/3.37/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/Makefile.am vendor/file/3.37/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/Makefile.in vendor/file/3.37/Makefile.std (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/Makefile.std vendor/file/3.37/README (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/README vendor/file/3.37/acconfig.h (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/acconfig.h vendor/file/3.37/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/acinclude.m4 vendor/file/3.37/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/aclocal.m4 vendor/file/3.37/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/apprentice.c vendor/file/3.37/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/ascmagic.c vendor/file/3.37/compress.c (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/compress.c vendor/file/3.37/config.h.in (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/config.h.in vendor/file/3.37/configure (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/configure vendor/file/3.37/configure.in (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/configure.in vendor/file/3.37/file.c (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/file.c vendor/file/3.37/file.h (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/file.h vendor/file/3.37/file.man (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/file.man vendor/file/3.37/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/fsmagic.c vendor/file/3.37/install-sh (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/install-sh vendor/file/3.37/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/is_tar.c vendor/file/3.37/magic.man (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/magic.man vendor/file/3.37/magic.mime (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/magic.mime vendor/file/3.37/magic2mime (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/magic2mime vendor/file/3.37/missing (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/missing vendor/file/3.37/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/mkinstalldirs vendor/file/3.37/names.h (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/names.h vendor/file/3.37/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/patchlevel.h vendor/file/3.37/print.c (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/print.c vendor/file/3.37/readelf.c (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/readelf.c vendor/file/3.37/readelf.h (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/readelf.h vendor/file/3.37/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/softmagic.c vendor/file/3.37/stamp-h.in (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/stamp-h.in vendor/file/3.37/tar.h (props changed) - copied unchanged from r186673, vendor/file/3.37/contrib/file/tar.h vendor/file/3.39/Header (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/Header vendor/file/3.39/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/LEGAL.NOTICE vendor/file/3.39/Localstuff (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/Localstuff vendor/file/3.39/MAINT (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/MAINT vendor/file/3.39/Magdir/ - copied from r186673, vendor/file/3.39/contrib/file/Magdir/ vendor/file/3.39/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/Makefile.am vendor/file/3.39/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/Makefile.in vendor/file/3.39/Makefile.std (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/Makefile.std vendor/file/3.39/README (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/README vendor/file/3.39/acconfig.h (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/acconfig.h vendor/file/3.39/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/acinclude.m4 vendor/file/3.39/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/aclocal.m4 vendor/file/3.39/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/apprentice.c vendor/file/3.39/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/ascmagic.c vendor/file/3.39/compress.c (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/compress.c vendor/file/3.39/config.h.in (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/config.h.in vendor/file/3.39/configure (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/configure vendor/file/3.39/configure.in (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/configure.in vendor/file/3.39/file.c (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/file.c vendor/file/3.39/file.h (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/file.h vendor/file/3.39/file.man (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/file.man vendor/file/3.39/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/fsmagic.c vendor/file/3.39/install-sh (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/install-sh vendor/file/3.39/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/is_tar.c vendor/file/3.39/magic.man (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/magic.man vendor/file/3.39/magic.mime (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/magic.mime vendor/file/3.39/magic2mime (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/magic2mime vendor/file/3.39/missing (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/missing vendor/file/3.39/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/mkinstalldirs vendor/file/3.39/names.h (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/names.h vendor/file/3.39/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/patchlevel.h vendor/file/3.39/print.c (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/print.c vendor/file/3.39/readelf.c (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/readelf.c vendor/file/3.39/readelf.h (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/readelf.h vendor/file/3.39/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/softmagic.c vendor/file/3.39/stamp-h.in (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/stamp-h.in vendor/file/3.39/tar.h (props changed) - copied unchanged from r186673, vendor/file/3.39/contrib/file/tar.h vendor/file/3.40/Header (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/Header vendor/file/3.40/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/LEGAL.NOTICE vendor/file/3.40/Localstuff (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/Localstuff vendor/file/3.40/MAINT (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/MAINT vendor/file/3.40/Magdir/ - copied from r186673, vendor/file/3.40/contrib/file/Magdir/ vendor/file/3.40/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/Makefile.am vendor/file/3.40/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/Makefile.in vendor/file/3.40/Makefile.std (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/Makefile.std vendor/file/3.40/README (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/README vendor/file/3.40/acconfig.h (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/acconfig.h vendor/file/3.40/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/acinclude.m4 vendor/file/3.40/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/aclocal.m4 vendor/file/3.40/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/apprentice.c vendor/file/3.40/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/ascmagic.c vendor/file/3.40/compress.c (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/compress.c vendor/file/3.40/config.h.in (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/config.h.in vendor/file/3.40/configure (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/configure vendor/file/3.40/configure.in (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/configure.in vendor/file/3.40/file.c (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/file.c vendor/file/3.40/file.h (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/file.h vendor/file/3.40/file.man (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/file.man vendor/file/3.40/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/fsmagic.c vendor/file/3.40/install-sh (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/install-sh vendor/file/3.40/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/is_tar.c vendor/file/3.40/magic.man (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/magic.man vendor/file/3.40/magic.mime (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/magic.mime vendor/file/3.40/magic2mime (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/magic2mime vendor/file/3.40/missing (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/missing vendor/file/3.40/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/mkinstalldirs vendor/file/3.40/names.h (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/names.h vendor/file/3.40/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/patchlevel.h vendor/file/3.40/print.c (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/print.c vendor/file/3.40/readelf.c (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/readelf.c vendor/file/3.40/readelf.h (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/readelf.h vendor/file/3.40/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/softmagic.c vendor/file/3.40/stamp-h.in (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/stamp-h.in vendor/file/3.40/tar.h (props changed) - copied unchanged from r186673, vendor/file/3.40/contrib/file/tar.h vendor/file/3.41/Header (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/Header vendor/file/3.41/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/LEGAL.NOTICE vendor/file/3.41/Localstuff (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/Localstuff vendor/file/3.41/MAINT (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/MAINT vendor/file/3.41/Magdir/ - copied from r186673, vendor/file/3.41/contrib/file/Magdir/ vendor/file/3.41/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/Makefile.am vendor/file/3.41/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/Makefile.in vendor/file/3.41/Makefile.std (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/Makefile.std vendor/file/3.41/README (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/README vendor/file/3.41/acconfig.h (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/acconfig.h vendor/file/3.41/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/acinclude.m4 vendor/file/3.41/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/aclocal.m4 vendor/file/3.41/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/apprentice.c vendor/file/3.41/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/ascmagic.c vendor/file/3.41/compress.c (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/compress.c vendor/file/3.41/config.h.in (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/config.h.in vendor/file/3.41/configure (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/configure vendor/file/3.41/configure.in (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/configure.in vendor/file/3.41/file.c (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/file.c vendor/file/3.41/file.h (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/file.h vendor/file/3.41/file.man (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/file.man vendor/file/3.41/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/fsmagic.c vendor/file/3.41/install-sh (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/install-sh vendor/file/3.41/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/is_tar.c vendor/file/3.41/magic.man (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/magic.man vendor/file/3.41/magic.mime (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/magic.mime vendor/file/3.41/magic2mime (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/magic2mime vendor/file/3.41/missing (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/missing vendor/file/3.41/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/mkinstalldirs vendor/file/3.41/names.h (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/names.h vendor/file/3.41/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/patchlevel.h vendor/file/3.41/print.c (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/print.c vendor/file/3.41/readelf.c (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/readelf.c vendor/file/3.41/readelf.h (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/readelf.h vendor/file/3.41/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/softmagic.c vendor/file/3.41/stamp-h.in (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/stamp-h.in vendor/file/3.41/tar.h (props changed) - copied unchanged from r186673, vendor/file/3.41/contrib/file/tar.h vendor/file/4.10/ChangeLog (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/ChangeLog vendor/file/4.10/Header (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/Header vendor/file/4.10/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/LEGAL.NOTICE vendor/file/4.10/Localstuff (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/Localstuff vendor/file/4.10/MAINT (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/MAINT vendor/file/4.10/Magdir/ - copied from r186673, vendor/file/4.10/contrib/file/Magdir/ vendor/file/4.10/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/Makefile.am vendor/file/4.10/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/Makefile.in vendor/file/4.10/README (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/README vendor/file/4.10/acconfig.h (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/acconfig.h vendor/file/4.10/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/acinclude.m4 vendor/file/4.10/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/aclocal.m4 vendor/file/4.10/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/apprentice.c vendor/file/4.10/apptype.c (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/apptype.c vendor/file/4.10/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/ascmagic.c vendor/file/4.10/compress.c (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/compress.c vendor/file/4.10/config.h.in (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/config.h.in vendor/file/4.10/configure (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/configure vendor/file/4.10/configure.in (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/configure.in vendor/file/4.10/file.c (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/file.c vendor/file/4.10/file.h (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/file.h vendor/file/4.10/file.man (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/file.man vendor/file/4.10/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/fsmagic.c vendor/file/4.10/funcs.c (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/funcs.c vendor/file/4.10/install-sh (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/install-sh vendor/file/4.10/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/is_tar.c vendor/file/4.10/libmagic.man (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/libmagic.man vendor/file/4.10/magic.c (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/magic.c vendor/file/4.10/magic.h (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/magic.h vendor/file/4.10/magic.man (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/magic.man vendor/file/4.10/magic.mime (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/magic.mime vendor/file/4.10/magic2mime (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/magic2mime vendor/file/4.10/missing (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/missing vendor/file/4.10/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/mkinstalldirs vendor/file/4.10/names.h (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/names.h vendor/file/4.10/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/patchlevel.h vendor/file/4.10/print.c (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/print.c vendor/file/4.10/readelf.c (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/readelf.c vendor/file/4.10/readelf.h (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/readelf.h vendor/file/4.10/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/softmagic.c vendor/file/4.10/stamp-h.in (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/stamp-h.in vendor/file/4.10/tar.h (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/tar.h vendor/file/4.10/test.c (props changed) - copied unchanged from r186673, vendor/file/4.10/contrib/file/test.c vendor/file/4.12/ChangeLog (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/ChangeLog vendor/file/4.12/Header (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/Header vendor/file/4.12/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/LEGAL.NOTICE vendor/file/4.12/Localstuff (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/Localstuff vendor/file/4.12/MAINT (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/MAINT vendor/file/4.12/Magdir/ - copied from r186673, vendor/file/4.12/contrib/file/Magdir/ vendor/file/4.12/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/Makefile.am vendor/file/4.12/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/Makefile.in vendor/file/4.12/PORTING (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/PORTING vendor/file/4.12/README (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/README vendor/file/4.12/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/acinclude.m4 vendor/file/4.12/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/aclocal.m4 vendor/file/4.12/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/apprentice.c vendor/file/4.12/apptype.c (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/apptype.c vendor/file/4.12/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/ascmagic.c vendor/file/4.12/compress.c (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/compress.c vendor/file/4.12/config.h.in (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/config.h.in vendor/file/4.12/configure (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/configure vendor/file/4.12/configure.in (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/configure.in vendor/file/4.12/file.c (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/file.c vendor/file/4.12/file.h (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/file.h vendor/file/4.12/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/fsmagic.c vendor/file/4.12/funcs.c (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/funcs.c vendor/file/4.12/install-sh (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/install-sh vendor/file/4.12/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/is_tar.c vendor/file/4.12/magic.c (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/magic.c vendor/file/4.12/magic.h (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/magic.h vendor/file/4.12/magic.mime (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/magic.mime vendor/file/4.12/magic2mime (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/magic2mime vendor/file/4.12/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/mkinstalldirs vendor/file/4.12/names.h (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/names.h vendor/file/4.12/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/patchlevel.h vendor/file/4.12/print.c (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/print.c vendor/file/4.12/readelf.c (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/readelf.c vendor/file/4.12/readelf.h (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/readelf.h vendor/file/4.12/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/softmagic.c vendor/file/4.12/tar.h (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/tar.h vendor/file/4.12/test.c (props changed) - copied unchanged from r186673, vendor/file/4.12/contrib/file/test.c vendor/file/4.17/ChangeLog (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/ChangeLog vendor/file/4.17/Header (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/Header vendor/file/4.17/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/LEGAL.NOTICE vendor/file/4.17/Localstuff (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/Localstuff vendor/file/4.17/MAINT (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/MAINT vendor/file/4.17/Magdir/ - copied from r186673, vendor/file/4.17/contrib/file/Magdir/ vendor/file/4.17/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/Makefile.am vendor/file/4.17/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/Makefile.in vendor/file/4.17/PORTING (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/PORTING vendor/file/4.17/README (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/README vendor/file/4.17/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/acinclude.m4 vendor/file/4.17/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/aclocal.m4 vendor/file/4.17/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/apprentice.c vendor/file/4.17/apptype.c (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/apptype.c vendor/file/4.17/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/ascmagic.c vendor/file/4.17/compress.c (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/compress.c vendor/file/4.17/config.h.in (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/config.h.in vendor/file/4.17/configure (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/configure vendor/file/4.17/configure.in (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/configure.in vendor/file/4.17/file.c (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/file.c vendor/file/4.17/file.h (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/file.h vendor/file/4.17/file.man (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/file.man vendor/file/4.17/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/fsmagic.c vendor/file/4.17/funcs.c (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/funcs.c vendor/file/4.17/install-sh (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/install-sh vendor/file/4.17/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/is_tar.c vendor/file/4.17/libmagic.man (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/libmagic.man vendor/file/4.17/magic.c (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/magic.c vendor/file/4.17/magic.h (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/magic.h vendor/file/4.17/magic.man (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/magic.man vendor/file/4.17/magic.mime (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/magic.mime vendor/file/4.17/magic2mime (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/magic2mime vendor/file/4.17/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/mkinstalldirs vendor/file/4.17/names.h (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/names.h vendor/file/4.17/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/patchlevel.h vendor/file/4.17/print.c (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/print.c vendor/file/4.17/readelf.c (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/readelf.c vendor/file/4.17/readelf.h (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/readelf.h vendor/file/4.17/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/softmagic.c vendor/file/4.17/tar.h (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/tar.h vendor/file/4.17/test.c (props changed) - copied unchanged from r186673, vendor/file/4.17/contrib/file/test.c vendor/file/4.17a/ChangeLog (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/ChangeLog vendor/file/4.17a/FREEBSD-upgrade (contents, props changed) - copied, changed from r186673, vendor/file/4.17a/contrib/file/FREEBSD-upgrade vendor/file/4.17a/Header (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/Header vendor/file/4.17a/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/LEGAL.NOTICE vendor/file/4.17a/Localstuff (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/Localstuff vendor/file/4.17a/MAINT (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/MAINT vendor/file/4.17a/Magdir/ - copied from r186673, vendor/file/4.17a/contrib/file/Magdir/ vendor/file/4.17a/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/Makefile.am vendor/file/4.17a/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/Makefile.in vendor/file/4.17a/Makefile.std (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/Makefile.std vendor/file/4.17a/PORTING (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/PORTING vendor/file/4.17a/README (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/README vendor/file/4.17a/acconfig.h (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/acconfig.h vendor/file/4.17a/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/acinclude.m4 vendor/file/4.17a/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/aclocal.m4 vendor/file/4.17a/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/apprentice.c vendor/file/4.17a/apptype.c (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/apptype.c vendor/file/4.17a/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/ascmagic.c vendor/file/4.17a/compress.c (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/compress.c vendor/file/4.17a/config.h.in (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/config.h.in vendor/file/4.17a/configure (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/configure vendor/file/4.17a/configure.in (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/configure.in vendor/file/4.17a/file.c (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/file.c vendor/file/4.17a/file.h (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/file.h vendor/file/4.17a/file.man (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/file.man vendor/file/4.17a/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/fsmagic.c vendor/file/4.17a/funcs.c (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/funcs.c vendor/file/4.17a/install-sh (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/install-sh vendor/file/4.17a/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/is_tar.c vendor/file/4.17a/libmagic.man (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/libmagic.man vendor/file/4.17a/magic.c (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/magic.c vendor/file/4.17a/magic.h (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/magic.h vendor/file/4.17a/magic.man (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/magic.man vendor/file/4.17a/magic.mime (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/magic.mime vendor/file/4.17a/magic2mime (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/magic2mime vendor/file/4.17a/missing (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/missing vendor/file/4.17a/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/mkinstalldirs vendor/file/4.17a/names.h (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/names.h vendor/file/4.17a/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/patchlevel.h vendor/file/4.17a/print.c (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/print.c vendor/file/4.17a/readelf.c (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/readelf.c vendor/file/4.17a/readelf.h (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/readelf.h vendor/file/4.17a/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/softmagic.c vendor/file/4.17a/stamp-h.in (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/stamp-h.in vendor/file/4.17a/tar.h (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/tar.h vendor/file/4.17a/test.c (props changed) - copied unchanged from r186673, vendor/file/4.17a/contrib/file/test.c vendor/file/4.19/ChangeLog (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/ChangeLog vendor/file/4.19/Header (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/Header vendor/file/4.19/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/LEGAL.NOTICE vendor/file/4.19/Localstuff (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/Localstuff vendor/file/4.19/MAINT (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/MAINT vendor/file/4.19/Magdir/ - copied from r186673, vendor/file/4.19/contrib/file/Magdir/ vendor/file/4.19/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/Makefile.am vendor/file/4.19/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/Makefile.in vendor/file/4.19/README (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/README vendor/file/4.19/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/acinclude.m4 vendor/file/4.19/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/aclocal.m4 vendor/file/4.19/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/apprentice.c vendor/file/4.19/apptype.c (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/apptype.c vendor/file/4.19/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/ascmagic.c vendor/file/4.19/compress.c (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/compress.c vendor/file/4.19/config.h.in (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/config.h.in vendor/file/4.19/configure (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/configure vendor/file/4.19/configure.in (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/configure.in vendor/file/4.19/file.c (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/file.c vendor/file/4.19/file.h (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/file.h vendor/file/4.19/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/fsmagic.c vendor/file/4.19/funcs.c (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/funcs.c vendor/file/4.19/install-sh (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/install-sh vendor/file/4.19/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/is_tar.c vendor/file/4.19/magic.c (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/magic.c vendor/file/4.19/magic.h (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/magic.h vendor/file/4.19/magic.mime (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/magic.mime vendor/file/4.19/magic2mime (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/magic2mime vendor/file/4.19/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/mkinstalldirs vendor/file/4.19/names.h (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/names.h vendor/file/4.19/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/patchlevel.h vendor/file/4.19/print.c (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/print.c vendor/file/4.19/readelf.c (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/readelf.c vendor/file/4.19/readelf.h (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/readelf.h vendor/file/4.19/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/softmagic.c vendor/file/4.19/tar.h (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/tar.h vendor/file/4.19/test.c (props changed) - copied unchanged from r186673, vendor/file/4.19/contrib/file/test.c vendor/file/4.21/ChangeLog (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/ChangeLog vendor/file/4.21/FREEBSD-upgrade (contents, props changed) - copied, changed from r186673, vendor/file/4.21/contrib/file/FREEBSD-upgrade vendor/file/4.21/Header (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/Header vendor/file/4.21/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/LEGAL.NOTICE vendor/file/4.21/Localstuff (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/Localstuff vendor/file/4.21/MAINT (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/MAINT vendor/file/4.21/Magdir/ - copied from r186673, vendor/file/4.21/contrib/file/Magdir/ vendor/file/4.21/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/Makefile.am vendor/file/4.21/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/Makefile.in vendor/file/4.21/Makefile.std (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/Makefile.std vendor/file/4.21/PORTING (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/PORTING vendor/file/4.21/README (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/README vendor/file/4.21/acconfig.h (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/acconfig.h vendor/file/4.21/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/acinclude.m4 vendor/file/4.21/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/aclocal.m4 vendor/file/4.21/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/apprentice.c vendor/file/4.21/apptype.c (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/apptype.c vendor/file/4.21/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/ascmagic.c vendor/file/4.21/compress.c (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/compress.c vendor/file/4.21/config.h.in (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/config.h.in vendor/file/4.21/configure (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/configure vendor/file/4.21/configure.in (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/configure.in vendor/file/4.21/file.c (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/file.c vendor/file/4.21/file.h (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/file.h vendor/file/4.21/file.man (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/file.man vendor/file/4.21/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/fsmagic.c vendor/file/4.21/funcs.c (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/funcs.c vendor/file/4.21/install-sh (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/install-sh vendor/file/4.21/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/is_tar.c vendor/file/4.21/libmagic.man (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/libmagic.man vendor/file/4.21/magic.c (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/magic.c vendor/file/4.21/magic.h (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/magic.h vendor/file/4.21/magic.man (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/magic.man vendor/file/4.21/magic.mime (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/magic.mime vendor/file/4.21/magic2mime (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/magic2mime vendor/file/4.21/missing (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/missing vendor/file/4.21/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/mkinstalldirs vendor/file/4.21/names.h (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/names.h vendor/file/4.21/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/patchlevel.h vendor/file/4.21/print.c (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/print.c vendor/file/4.21/readelf.c (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/readelf.c vendor/file/4.21/readelf.h (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/readelf.h vendor/file/4.21/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/softmagic.c vendor/file/4.21/stamp-h.in (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/stamp-h.in vendor/file/4.21/tar.h (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/tar.h vendor/file/4.21/test.c (props changed) - copied unchanged from r186673, vendor/file/4.21/contrib/file/test.c vendor/file/4.23-r1.46/ChangeLog (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/ChangeLog vendor/file/4.23-r1.46/Header (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/Header vendor/file/4.23-r1.46/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/LEGAL.NOTICE vendor/file/4.23-r1.46/Localstuff (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/Localstuff vendor/file/4.23-r1.46/MAINT (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/MAINT vendor/file/4.23-r1.46/Magdir/ - copied from r186673, vendor/file/4.23-r1.46/contrib/file/Magdir/ vendor/file/4.23-r1.46/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/Makefile.am vendor/file/4.23-r1.46/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/Makefile.in vendor/file/4.23-r1.46/PORTING (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/PORTING vendor/file/4.23-r1.46/README (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/README vendor/file/4.23-r1.46/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/acinclude.m4 vendor/file/4.23-r1.46/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/aclocal.m4 vendor/file/4.23-r1.46/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/apprentice.c vendor/file/4.23-r1.46/apptype.c (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/apptype.c vendor/file/4.23-r1.46/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/ascmagic.c vendor/file/4.23-r1.46/compress.c (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/compress.c vendor/file/4.23-r1.46/config.h.in (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/config.h.in vendor/file/4.23-r1.46/configure (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/configure vendor/file/4.23-r1.46/configure.in (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/configure.in vendor/file/4.23-r1.46/file.c (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/file.c vendor/file/4.23-r1.46/file.h (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/file.h vendor/file/4.23-r1.46/file.man (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/file.man vendor/file/4.23-r1.46/file_opts.h (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/file_opts.h vendor/file/4.23-r1.46/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/fsmagic.c vendor/file/4.23-r1.46/funcs.c (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/funcs.c vendor/file/4.23-r1.46/install-sh (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/install-sh vendor/file/4.23-r1.46/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/is_tar.c vendor/file/4.23-r1.46/libmagic.man (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/libmagic.man vendor/file/4.23-r1.46/magic.c (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/magic.c vendor/file/4.23-r1.46/magic.h (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/magic.h vendor/file/4.23-r1.46/magic.man (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/magic.man vendor/file/4.23-r1.46/magic.mime (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/magic.mime vendor/file/4.23-r1.46/magic2mime (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/magic2mime vendor/file/4.23-r1.46/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/mkinstalldirs vendor/file/4.23-r1.46/names.h (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/names.h vendor/file/4.23-r1.46/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/patchlevel.h vendor/file/4.23-r1.46/print.c (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/print.c vendor/file/4.23-r1.46/readelf.c (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/readelf.c vendor/file/4.23-r1.46/readelf.h (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/readelf.h vendor/file/4.23-r1.46/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/softmagic.c vendor/file/4.23-r1.46/tar.h (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/tar.h vendor/file/4.23-r1.46/test.c (props changed) - copied unchanged from r186673, vendor/file/4.23-r1.46/contrib/file/test.c vendor/file/4.23/ChangeLog (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/ChangeLog vendor/file/4.23/Header (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/Header vendor/file/4.23/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/LEGAL.NOTICE vendor/file/4.23/Localstuff (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/Localstuff vendor/file/4.23/MAINT (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/MAINT vendor/file/4.23/Magdir/ - copied from r186673, vendor/file/4.23/contrib/file/Magdir/ vendor/file/4.23/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/Makefile.am vendor/file/4.23/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/Makefile.in vendor/file/4.23/PORTING (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/PORTING vendor/file/4.23/README (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/README vendor/file/4.23/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/acinclude.m4 vendor/file/4.23/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/aclocal.m4 vendor/file/4.23/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/apprentice.c vendor/file/4.23/apptype.c (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/apptype.c vendor/file/4.23/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/ascmagic.c vendor/file/4.23/compress.c (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/compress.c vendor/file/4.23/config.h.in (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/config.h.in vendor/file/4.23/configure (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/configure vendor/file/4.23/configure.in (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/configure.in vendor/file/4.23/file.c (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/file.c vendor/file/4.23/file.h (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/file.h vendor/file/4.23/file.man (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/file.man vendor/file/4.23/file_opts.h (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/file_opts.h vendor/file/4.23/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/fsmagic.c vendor/file/4.23/funcs.c (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/funcs.c vendor/file/4.23/install-sh (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/install-sh vendor/file/4.23/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/is_tar.c vendor/file/4.23/libmagic.man (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/libmagic.man vendor/file/4.23/magic.c (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/magic.c vendor/file/4.23/magic.h (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/magic.h vendor/file/4.23/magic.man (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/magic.man vendor/file/4.23/magic.mime (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/magic.mime vendor/file/4.23/magic2mime (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/magic2mime vendor/file/4.23/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/mkinstalldirs vendor/file/4.23/names.h (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/names.h vendor/file/4.23/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/patchlevel.h vendor/file/4.23/print.c (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/print.c vendor/file/4.23/readelf.c (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/readelf.c vendor/file/4.23/readelf.h (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/readelf.h vendor/file/4.23/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/softmagic.c vendor/file/4.23/tar.h (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/tar.h vendor/file/4.23/test.c (props changed) - copied unchanged from r186673, vendor/file/4.23/contrib/file/test.c vendor/file/dist/ChangeLog (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/ChangeLog vendor/file/dist/FREEBSD-upgrade (contents, props changed) - copied, changed from r186673, vendor/file/dist/contrib/file/FREEBSD-upgrade vendor/file/dist/Header (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/Header vendor/file/dist/LEGAL.NOTICE (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/LEGAL.NOTICE vendor/file/dist/Localstuff (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/Localstuff vendor/file/dist/MAINT (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/MAINT vendor/file/dist/Magdir/ - copied from r186673, vendor/file/dist/contrib/file/Magdir/ vendor/file/dist/Makefile.am (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/Makefile.am vendor/file/dist/Makefile.in (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/Makefile.in vendor/file/dist/Makefile.std (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/Makefile.std vendor/file/dist/PORTING (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/PORTING vendor/file/dist/README (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/README vendor/file/dist/acinclude.m4 (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/acinclude.m4 vendor/file/dist/aclocal.m4 (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/aclocal.m4 vendor/file/dist/apprentice.c (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/apprentice.c vendor/file/dist/apptype.c (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/apptype.c vendor/file/dist/ascmagic.c (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/ascmagic.c vendor/file/dist/compress.c (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/compress.c vendor/file/dist/config.h.in (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/config.h.in vendor/file/dist/configure (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/configure vendor/file/dist/configure.in (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/configure.in vendor/file/dist/file.c (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/file.c vendor/file/dist/file.h (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/file.h vendor/file/dist/file.man (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/file.man vendor/file/dist/file_opts.h (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/file_opts.h vendor/file/dist/fsmagic.c (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/fsmagic.c vendor/file/dist/funcs.c (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/funcs.c vendor/file/dist/install-sh (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/install-sh vendor/file/dist/is_tar.c (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/is_tar.c vendor/file/dist/libmagic.man (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/libmagic.man vendor/file/dist/magic.c (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/magic.c vendor/file/dist/magic.h (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/magic.h vendor/file/dist/magic.man (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/magic.man vendor/file/dist/magic.mime (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/magic.mime vendor/file/dist/magic2mime (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/magic2mime vendor/file/dist/mkinstalldirs (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/mkinstalldirs vendor/file/dist/names.h (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/names.h vendor/file/dist/patchlevel.h (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/patchlevel.h vendor/file/dist/print.c (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/print.c vendor/file/dist/readelf.c (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/readelf.c vendor/file/dist/readelf.h (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/readelf.h vendor/file/dist/softmagic.c (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/softmagic.c vendor/file/dist/tar.h (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/tar.h vendor/file/dist/test.c (props changed) - copied unchanged from r186673, vendor/file/dist/contrib/file/test.c Deleted: vendor/file/3.32/contrib/ vendor/file/3.33/contrib/ vendor/file/3.34/contrib/ vendor/file/3.35/contrib/ vendor/file/3.36/contrib/ vendor/file/3.37/contrib/ vendor/file/3.39/contrib/ vendor/file/3.40/contrib/ vendor/file/3.41/contrib/file/Header vendor/file/3.41/contrib/file/LEGAL.NOTICE vendor/file/3.41/contrib/file/Localstuff vendor/file/3.41/contrib/file/MAINT vendor/file/3.41/contrib/file/Magdir/ vendor/file/3.41/contrib/file/Makefile.am vendor/file/3.41/contrib/file/Makefile.in vendor/file/3.41/contrib/file/Makefile.std vendor/file/3.41/contrib/file/README vendor/file/3.41/contrib/file/acconfig.h vendor/file/3.41/contrib/file/acinclude.m4 vendor/file/3.41/contrib/file/aclocal.m4 vendor/file/3.41/contrib/file/apprentice.c vendor/file/3.41/contrib/file/ascmagic.c vendor/file/3.41/contrib/file/compress.c vendor/file/3.41/contrib/file/config.h.in vendor/file/3.41/contrib/file/configure vendor/file/3.41/contrib/file/configure.in vendor/file/3.41/contrib/file/file.c vendor/file/3.41/contrib/file/file.h vendor/file/3.41/contrib/file/file.man vendor/file/3.41/contrib/file/fsmagic.c vendor/file/3.41/contrib/file/install-sh vendor/file/3.41/contrib/file/is_tar.c vendor/file/3.41/contrib/file/magic.man vendor/file/3.41/contrib/file/magic.mime vendor/file/3.41/contrib/file/magic2mime vendor/file/3.41/contrib/file/missing vendor/file/3.41/contrib/file/mkinstalldirs vendor/file/3.41/contrib/file/names.h vendor/file/3.41/contrib/file/patchlevel.h vendor/file/3.41/contrib/file/print.c vendor/file/3.41/contrib/file/readelf.c vendor/file/3.41/contrib/file/readelf.h vendor/file/3.41/contrib/file/softmagic.c vendor/file/3.41/contrib/file/stamp-h.in vendor/file/3.41/contrib/file/tar.h vendor/file/4.10/contrib/ vendor/file/4.12/contrib/ vendor/file/4.17/contrib/ vendor/file/4.17a/contrib/file/ChangeLog vendor/file/4.17a/contrib/file/FREEBSD-upgrade vendor/file/4.17a/contrib/file/Header vendor/file/4.17a/contrib/file/LEGAL.NOTICE vendor/file/4.17a/contrib/file/Localstuff vendor/file/4.17a/contrib/file/MAINT vendor/file/4.17a/contrib/file/Magdir/ vendor/file/4.17a/contrib/file/Makefile.am vendor/file/4.17a/contrib/file/Makefile.in vendor/file/4.17a/contrib/file/Makefile.std vendor/file/4.17a/contrib/file/PORTING vendor/file/4.17a/contrib/file/README vendor/file/4.17a/contrib/file/acconfig.h vendor/file/4.17a/contrib/file/acinclude.m4 vendor/file/4.17a/contrib/file/aclocal.m4 vendor/file/4.17a/contrib/file/apprentice.c vendor/file/4.17a/contrib/file/apptype.c vendor/file/4.17a/contrib/file/ascmagic.c vendor/file/4.17a/contrib/file/compress.c vendor/file/4.17a/contrib/file/config.h.in vendor/file/4.17a/contrib/file/configure vendor/file/4.17a/contrib/file/configure.in vendor/file/4.17a/contrib/file/file.c vendor/file/4.17a/contrib/file/file.h vendor/file/4.17a/contrib/file/file.man vendor/file/4.17a/contrib/file/fsmagic.c vendor/file/4.17a/contrib/file/funcs.c vendor/file/4.17a/contrib/file/install-sh vendor/file/4.17a/contrib/file/is_tar.c vendor/file/4.17a/contrib/file/libmagic.man vendor/file/4.17a/contrib/file/magic.c vendor/file/4.17a/contrib/file/magic.h vendor/file/4.17a/contrib/file/magic.man vendor/file/4.17a/contrib/file/magic.mime vendor/file/4.17a/contrib/file/magic2mime vendor/file/4.17a/contrib/file/missing vendor/file/4.17a/contrib/file/mkinstalldirs vendor/file/4.17a/contrib/file/names.h vendor/file/4.17a/contrib/file/patchlevel.h vendor/file/4.17a/contrib/file/print.c vendor/file/4.17a/contrib/file/readelf.c vendor/file/4.17a/contrib/file/readelf.h vendor/file/4.17a/contrib/file/softmagic.c vendor/file/4.17a/contrib/file/stamp-h.in vendor/file/4.17a/contrib/file/tar.h vendor/file/4.17a/contrib/file/test.c vendor/file/4.19/contrib/ vendor/file/4.21/contrib/ vendor/file/4.23-r1.46/contrib/ vendor/file/4.23/contrib/ vendor/file/dist/contrib/ vendor/file/dist/usr.bin/ Modified: vendor/file/3.14/usr.bin/file/LEGAL.NOTICE (props changed) vendor/file/3.14/usr.bin/file/MAINT (props changed) vendor/file/3.14/usr.bin/file/Magdir/Header (props changed) vendor/file/3.14/usr.bin/file/Magdir/Localstuff (props changed) vendor/file/3.14/usr.bin/file/Magdir/alliant (props changed) vendor/file/3.14/usr.bin/file/Magdir/apl (props changed) vendor/file/3.14/usr.bin/file/Magdir/apple (props changed) vendor/file/3.14/usr.bin/file/Magdir/ar (props changed) vendor/file/3.14/usr.bin/file/Magdir/arc (props changed) vendor/file/3.14/usr.bin/file/Magdir/archive (props changed) vendor/file/3.14/usr.bin/file/Magdir/att3b (props changed) vendor/file/3.14/usr.bin/file/Magdir/audio (props changed) vendor/file/3.14/usr.bin/file/Magdir/blit (props changed) vendor/file/3.14/usr.bin/file/Magdir/bsdi (props changed) vendor/file/3.14/usr.bin/file/Magdir/c-lang (props changed) vendor/file/3.14/usr.bin/file/Magdir/chi (props changed) vendor/file/3.14/usr.bin/file/Magdir/clipper (props changed) vendor/file/3.14/usr.bin/file/Magdir/commands (props changed) vendor/file/3.14/usr.bin/file/Magdir/compress (props changed) vendor/file/3.14/usr.bin/file/Magdir/convex (props changed) vendor/file/3.14/usr.bin/file/Magdir/cpio (props changed) vendor/file/3.14/usr.bin/file/Magdir/diamond (props changed) vendor/file/3.14/usr.bin/file/Magdir/diff (props changed) vendor/file/3.14/usr.bin/file/Magdir/ditroff (props changed) vendor/file/3.14/usr.bin/file/Magdir/dump (props changed) vendor/file/3.14/usr.bin/file/Magdir/elf (props changed) vendor/file/3.14/usr.bin/file/Magdir/encore (props changed) vendor/file/3.14/usr.bin/file/Magdir/floppy.raw (props changed) vendor/file/3.14/usr.bin/file/Magdir/fonts (props changed) vendor/file/3.14/usr.bin/file/Magdir/frame (props changed) vendor/file/3.14/usr.bin/file/Magdir/gzip (props changed) vendor/file/3.14/usr.bin/file/Magdir/hp (props changed) vendor/file/3.14/usr.bin/file/Magdir/ibm370 (props changed) vendor/file/3.14/usr.bin/file/Magdir/ibm6000 (props changed) vendor/file/3.14/usr.bin/file/Magdir/iff (props changed) vendor/file/3.14/usr.bin/file/Magdir/imagen (props changed) vendor/file/3.14/usr.bin/file/Magdir/images (props changed) vendor/file/3.14/usr.bin/file/Magdir/intel (props changed) vendor/file/3.14/usr.bin/file/Magdir/interleaf (props changed) vendor/file/3.14/usr.bin/file/Magdir/iris (props changed) vendor/file/3.14/usr.bin/file/Magdir/ispell (props changed) vendor/file/3.14/usr.bin/file/Magdir/lex (props changed) vendor/file/3.14/usr.bin/file/Magdir/lif (props changed) vendor/file/3.14/usr.bin/file/Magdir/linux (props changed) vendor/file/3.14/usr.bin/file/Magdir/magic (props changed) vendor/file/3.14/usr.bin/file/Magdir/mail.news (props changed) vendor/file/3.14/usr.bin/file/Magdir/microsoft (props changed) vendor/file/3.14/usr.bin/file/Magdir/mips (props changed) vendor/file/3.14/usr.bin/file/Magdir/mirage (props changed) vendor/file/3.14/usr.bin/file/Magdir/mkid (props changed) vendor/file/3.14/usr.bin/file/Magdir/mmdf (props changed) vendor/file/3.14/usr.bin/file/Magdir/motorola (props changed) vendor/file/3.14/usr.bin/file/Magdir/ms-dos (props changed) vendor/file/3.14/usr.bin/file/Magdir/ncr (props changed) vendor/file/3.14/usr.bin/file/Magdir/netbsd (props changed) vendor/file/3.14/usr.bin/file/Magdir/news (props changed) vendor/file/3.14/usr.bin/file/Magdir/pbm (props changed) vendor/file/3.14/usr.bin/file/Magdir/pdp (props changed) vendor/file/3.14/usr.bin/file/Magdir/pgp (props changed) vendor/file/3.14/usr.bin/file/Magdir/pkgadd (props changed) vendor/file/3.14/usr.bin/file/Magdir/plus5 (props changed) vendor/file/3.14/usr.bin/file/Magdir/postscript (props changed) vendor/file/3.14/usr.bin/file/Magdir/psdbms (props changed) vendor/file/3.14/usr.bin/file/Magdir/pyramid (props changed) vendor/file/3.14/usr.bin/file/Magdir/rle (props changed) vendor/file/3.14/usr.bin/file/Magdir/sc (props changed) vendor/file/3.14/usr.bin/file/Magdir/sccs (props changed) vendor/file/3.14/usr.bin/file/Magdir/sendmail (props changed) vendor/file/3.14/usr.bin/file/Magdir/sequent (props changed) vendor/file/3.14/usr.bin/file/Magdir/sgml (props changed) vendor/file/3.14/usr.bin/file/Magdir/softquad (props changed) vendor/file/3.14/usr.bin/file/Magdir/sun (props changed) vendor/file/3.14/usr.bin/file/Magdir/sunraster (props changed) vendor/file/3.14/usr.bin/file/Magdir/terminfo (props changed) vendor/file/3.14/usr.bin/file/Magdir/tex (props changed) vendor/file/3.14/usr.bin/file/Magdir/troff (props changed) vendor/file/3.14/usr.bin/file/Magdir/typeset (props changed) vendor/file/3.14/usr.bin/file/Magdir/unknown (props changed) vendor/file/3.14/usr.bin/file/Magdir/uuencode (props changed) vendor/file/3.14/usr.bin/file/Magdir/varied.out (props changed) vendor/file/3.14/usr.bin/file/Magdir/vax (props changed) vendor/file/3.14/usr.bin/file/Magdir/visx (props changed) vendor/file/3.14/usr.bin/file/Magdir/x11 (props changed) vendor/file/3.14/usr.bin/file/Magdir/zilog (props changed) vendor/file/3.14/usr.bin/file/Magdir/zyxel (props changed) vendor/file/3.14/usr.bin/file/Makefile (props changed) vendor/file/3.14/usr.bin/file/PORTING (props changed) vendor/file/3.14/usr.bin/file/README (props changed) vendor/file/3.14/usr.bin/file/apprentice.c (props changed) vendor/file/3.14/usr.bin/file/ascmagic.c (props changed) vendor/file/3.14/usr.bin/file/compress.c (props changed) vendor/file/3.14/usr.bin/file/file.1 (props changed) vendor/file/3.14/usr.bin/file/file.c (props changed) vendor/file/3.14/usr.bin/file/file.h (props changed) vendor/file/3.14/usr.bin/file/fsmagic.c (props changed) vendor/file/3.14/usr.bin/file/is_tar.c (props changed) vendor/file/3.14/usr.bin/file/magic.5 (props changed) vendor/file/3.14/usr.bin/file/names.h (props changed) vendor/file/3.14/usr.bin/file/patchlevel.h (props changed) vendor/file/3.14/usr.bin/file/print.c (props changed) vendor/file/3.14/usr.bin/file/softmagic.c (props changed) vendor/file/3.14/usr.bin/file/tar.h (props changed) vendor/file/3.19/usr.bin/file/LEGAL.NOTICE (props changed) vendor/file/3.19/usr.bin/file/MAINT (props changed) vendor/file/3.19/usr.bin/file/Magdir/Header (props changed) vendor/file/3.19/usr.bin/file/Magdir/Localstuff (props changed) vendor/file/3.19/usr.bin/file/Magdir/alliant (props changed) vendor/file/3.19/usr.bin/file/Magdir/animation (props changed) vendor/file/3.19/usr.bin/file/Magdir/apl (props changed) vendor/file/3.19/usr.bin/file/Magdir/apple (props changed) vendor/file/3.19/usr.bin/file/Magdir/archive (props changed) vendor/file/3.19/usr.bin/file/Magdir/att3b (props changed) vendor/file/3.19/usr.bin/file/Magdir/audio (props changed) vendor/file/3.19/usr.bin/file/Magdir/blit (props changed) vendor/file/3.19/usr.bin/file/Magdir/c-lang (props changed) vendor/file/3.19/usr.bin/file/Magdir/chi (props changed) vendor/file/3.19/usr.bin/file/Magdir/clipper (props changed) vendor/file/3.19/usr.bin/file/Magdir/commands (props changed) vendor/file/3.19/usr.bin/file/Magdir/compress (props changed) vendor/file/3.19/usr.bin/file/Magdir/convex (props changed) vendor/file/3.19/usr.bin/file/Magdir/database (props changed) vendor/file/3.19/usr.bin/file/Magdir/diamond (props changed) vendor/file/3.19/usr.bin/file/Magdir/diff (props changed) vendor/file/3.19/usr.bin/file/Magdir/dump (props changed) vendor/file/3.19/usr.bin/file/Magdir/elf (props changed) vendor/file/3.19/usr.bin/file/Magdir/encore (props changed) vendor/file/3.19/usr.bin/file/Magdir/filesystems (props changed) vendor/file/3.19/usr.bin/file/Magdir/fonts (props changed) vendor/file/3.19/usr.bin/file/Magdir/frame (props changed) vendor/file/3.19/usr.bin/file/Magdir/hp (props changed) vendor/file/3.19/usr.bin/file/Magdir/ibm370 (props changed) vendor/file/3.19/usr.bin/file/Magdir/ibm6000 (props changed) vendor/file/3.19/usr.bin/file/Magdir/iff (props changed) vendor/file/3.19/usr.bin/file/Magdir/images (props changed) vendor/file/3.19/usr.bin/file/Magdir/intel (props changed) vendor/file/3.19/usr.bin/file/Magdir/interleaf (props changed) vendor/file/3.19/usr.bin/file/Magdir/ispell (props changed) vendor/file/3.19/usr.bin/file/Magdir/karma (props changed) vendor/file/3.19/usr.bin/file/Magdir/lex (props changed) vendor/file/3.19/usr.bin/file/Magdir/lif (props changed) vendor/file/3.19/usr.bin/file/Magdir/linux (props changed) vendor/file/3.19/usr.bin/file/Magdir/lisp (props changed) vendor/file/3.19/usr.bin/file/Magdir/magic (props changed) vendor/file/3.19/usr.bin/file/Magdir/mail.news (props changed) vendor/file/3.19/usr.bin/file/Magdir/microsoft (props changed) vendor/file/3.19/usr.bin/file/Magdir/mirage (props changed) vendor/file/3.19/usr.bin/file/Magdir/mkid (props changed) vendor/file/3.19/usr.bin/file/Magdir/mmdf (props changed) vendor/file/3.19/usr.bin/file/Magdir/motorola (props changed) vendor/file/3.19/usr.bin/file/Magdir/ms-dos (props changed) vendor/file/3.19/usr.bin/file/Magdir/ncr (props changed) vendor/file/3.19/usr.bin/file/Magdir/netbsd (props changed) vendor/file/3.19/usr.bin/file/Magdir/news (props changed) vendor/file/3.19/usr.bin/file/Magdir/pbm (props changed) vendor/file/3.19/usr.bin/file/Magdir/pdf (props changed) vendor/file/3.19/usr.bin/file/Magdir/pdp (props changed) vendor/file/3.19/usr.bin/file/Magdir/pgp (props changed) vendor/file/3.19/usr.bin/file/Magdir/pkgadd (props changed) vendor/file/3.19/usr.bin/file/Magdir/plus5 (props changed) vendor/file/3.19/usr.bin/file/Magdir/printer (props changed) vendor/file/3.19/usr.bin/file/Magdir/psdbms (props changed) vendor/file/3.19/usr.bin/file/Magdir/pyramid (props changed) vendor/file/3.19/usr.bin/file/Magdir/rpm (props changed) vendor/file/3.19/usr.bin/file/Magdir/rtf (props changed) vendor/file/3.19/usr.bin/file/Magdir/sc (props changed) vendor/file/3.19/usr.bin/file/Magdir/sccs (props changed) vendor/file/3.19/usr.bin/file/Magdir/sendmail (props changed) vendor/file/3.19/usr.bin/file/Magdir/sequent (props changed) vendor/file/3.19/usr.bin/file/Magdir/sgi (props changed) vendor/file/3.19/usr.bin/file/Magdir/sgml (props changed) vendor/file/3.19/usr.bin/file/Magdir/softquad (props changed) vendor/file/3.19/usr.bin/file/Magdir/sun (props changed) vendor/file/3.19/usr.bin/file/Magdir/terminfo (props changed) vendor/file/3.19/usr.bin/file/Magdir/tex (props changed) vendor/file/3.19/usr.bin/file/Magdir/timezone (props changed) vendor/file/3.19/usr.bin/file/Magdir/troff (props changed) vendor/file/3.19/usr.bin/file/Magdir/typeset (props changed) vendor/file/3.19/usr.bin/file/Magdir/unknown (props changed) vendor/file/3.19/usr.bin/file/Magdir/uuencode (props changed) vendor/file/3.19/usr.bin/file/Magdir/varied.out (props changed) vendor/file/3.19/usr.bin/file/Magdir/vax (props changed) vendor/file/3.19/usr.bin/file/Magdir/visx (props changed) vendor/file/3.19/usr.bin/file/Magdir/vms (props changed) vendor/file/3.19/usr.bin/file/Magdir/zilog (props changed) vendor/file/3.19/usr.bin/file/Magdir/zyxel (props changed) vendor/file/3.19/usr.bin/file/Makefile (props changed) vendor/file/3.19/usr.bin/file/PORTING (props changed) vendor/file/3.19/usr.bin/file/README (props changed) vendor/file/3.19/usr.bin/file/apprentice.c (props changed) vendor/file/3.19/usr.bin/file/ascmagic.c (props changed) vendor/file/3.19/usr.bin/file/compress.c (props changed) vendor/file/3.19/usr.bin/file/file.1 (props changed) vendor/file/3.19/usr.bin/file/file.c (props changed) vendor/file/3.19/usr.bin/file/file.h (props changed) vendor/file/3.19/usr.bin/file/fsmagic.c (props changed) vendor/file/3.19/usr.bin/file/is_tar.c (props changed) vendor/file/3.19/usr.bin/file/magic.5 (props changed) vendor/file/3.19/usr.bin/file/names.h (props changed) vendor/file/3.19/usr.bin/file/patchlevel.h (props changed) vendor/file/3.19/usr.bin/file/print.c (props changed) vendor/file/3.19/usr.bin/file/softmagic.c (props changed) vendor/file/3.19/usr.bin/file/tar.h (props changed) vendor/file/3.22/usr.bin/file/LEGAL.NOTICE (props changed) vendor/file/3.22/usr.bin/file/MAINT (props changed) vendor/file/3.22/usr.bin/file/Magdir/Header (props changed) vendor/file/3.22/usr.bin/file/Magdir/Localstuff (props changed) vendor/file/3.22/usr.bin/file/Magdir/alliant (props changed) vendor/file/3.22/usr.bin/file/Magdir/alpha (props changed) vendor/file/3.22/usr.bin/file/Magdir/amanda (props changed) vendor/file/3.22/usr.bin/file/Magdir/amigaos (props changed) vendor/file/3.22/usr.bin/file/Magdir/animation (props changed) vendor/file/3.22/usr.bin/file/Magdir/apl (props changed) vendor/file/3.22/usr.bin/file/Magdir/apple (props changed) vendor/file/3.22/usr.bin/file/Magdir/archive (props changed) vendor/file/3.22/usr.bin/file/Magdir/asterix (props changed) vendor/file/3.22/usr.bin/file/Magdir/att3b (props changed) vendor/file/3.22/usr.bin/file/Magdir/audio (props changed) vendor/file/3.22/usr.bin/file/Magdir/blit (props changed) vendor/file/3.22/usr.bin/file/Magdir/bsdi (props changed) vendor/file/3.22/usr.bin/file/Magdir/c-lang (props changed) vendor/file/3.22/usr.bin/file/Magdir/chi (props changed) vendor/file/3.22/usr.bin/file/Magdir/clipper (props changed) vendor/file/3.22/usr.bin/file/Magdir/commands (props changed) vendor/file/3.22/usr.bin/file/Magdir/compress (props changed) vendor/file/3.22/usr.bin/file/Magdir/convex (props changed) vendor/file/3.22/usr.bin/file/Magdir/database (props changed) vendor/file/3.22/usr.bin/file/Magdir/diamond (props changed) vendor/file/3.22/usr.bin/file/Magdir/diff (props changed) vendor/file/3.22/usr.bin/file/Magdir/digital (props changed) vendor/file/3.22/usr.bin/file/Magdir/dump (props changed) vendor/file/3.22/usr.bin/file/Magdir/elf (props changed) vendor/file/3.22/usr.bin/file/Magdir/encore (props changed) vendor/file/3.22/usr.bin/file/Magdir/filesystems (props changed) vendor/file/3.22/usr.bin/file/Magdir/fonts (props changed) vendor/file/3.22/usr.bin/file/Magdir/frame (props changed) vendor/file/3.22/usr.bin/file/Magdir/freebsd (props changed) vendor/file/3.22/usr.bin/file/Magdir/hp (props changed) vendor/file/3.22/usr.bin/file/Magdir/ibm370 (props changed) vendor/file/3.22/usr.bin/file/Magdir/ibm6000 (props changed) vendor/file/3.22/usr.bin/file/Magdir/iff (props changed) vendor/file/3.22/usr.bin/file/Magdir/images (props changed) vendor/file/3.22/usr.bin/file/Magdir/intel (props changed) vendor/file/3.22/usr.bin/file/Magdir/interleaf (props changed) vendor/file/3.22/usr.bin/file/Magdir/island (props changed) vendor/file/3.22/usr.bin/file/Magdir/ispell (props changed) vendor/file/3.22/usr.bin/file/Magdir/java (props changed) vendor/file/3.22/usr.bin/file/Magdir/karma (props changed) vendor/file/3.22/usr.bin/file/Magdir/lex (props changed) vendor/file/3.22/usr.bin/file/Magdir/lif (props changed) vendor/file/3.22/usr.bin/file/Magdir/linux (props changed) vendor/file/3.22/usr.bin/file/Magdir/lisp (props changed) vendor/file/3.22/usr.bin/file/Magdir/mach (props changed) vendor/file/3.22/usr.bin/file/Magdir/magic (props changed) vendor/file/3.22/usr.bin/file/Magdir/mail.news (props changed) vendor/file/3.22/usr.bin/file/Magdir/mirage (props changed) vendor/file/3.22/usr.bin/file/Magdir/mkid (props changed) vendor/file/3.22/usr.bin/file/Magdir/mmdf (props changed) vendor/file/3.22/usr.bin/file/Magdir/motorola (props changed) vendor/file/3.22/usr.bin/file/Magdir/ms-dos (props changed) vendor/file/3.22/usr.bin/file/Magdir/ncr (props changed) vendor/file/3.22/usr.bin/file/Magdir/netbsd (props changed) vendor/file/3.22/usr.bin/file/Magdir/news (props changed) vendor/file/3.22/usr.bin/file/Magdir/osf1 (props changed) vendor/file/3.22/usr.bin/file/Magdir/pbm (props changed) vendor/file/3.22/usr.bin/file/Magdir/pdf (props changed) vendor/file/3.22/usr.bin/file/Magdir/pdp (props changed) vendor/file/3.22/usr.bin/file/Magdir/pgp (props changed) vendor/file/3.22/usr.bin/file/Magdir/pkgadd (props changed) vendor/file/3.22/usr.bin/file/Magdir/plus5 (props changed) vendor/file/3.22/usr.bin/file/Magdir/printer (props changed) vendor/file/3.22/usr.bin/file/Magdir/psdbms (props changed) vendor/file/3.22/usr.bin/file/Magdir/pyramid (props changed) vendor/file/3.22/usr.bin/file/Magdir/rpm (props changed) vendor/file/3.22/usr.bin/file/Magdir/rtf (props changed) vendor/file/3.22/usr.bin/file/Magdir/sc (props changed) vendor/file/3.22/usr.bin/file/Magdir/sccs (props changed) vendor/file/3.22/usr.bin/file/Magdir/sendmail (props changed) vendor/file/3.22/usr.bin/file/Magdir/sequent (props changed) vendor/file/3.22/usr.bin/file/Magdir/sgi (props changed) vendor/file/3.22/usr.bin/file/Magdir/sgml (props changed) vendor/file/3.22/usr.bin/file/Magdir/sniffer (props changed) vendor/file/3.22/usr.bin/file/Magdir/softquad (props changed) vendor/file/3.22/usr.bin/file/Magdir/sun (props changed) vendor/file/3.22/usr.bin/file/Magdir/terminfo (props changed) vendor/file/3.22/usr.bin/file/Magdir/tex (props changed) vendor/file/3.22/usr.bin/file/Magdir/timezone (props changed) vendor/file/3.22/usr.bin/file/Magdir/troff (props changed) vendor/file/3.22/usr.bin/file/Magdir/typeset (props changed) vendor/file/3.22/usr.bin/file/Magdir/unknown (props changed) vendor/file/3.22/usr.bin/file/Magdir/uuencode (props changed) vendor/file/3.22/usr.bin/file/Magdir/varied.out (props changed) vendor/file/3.22/usr.bin/file/Magdir/vax (props changed) vendor/file/3.22/usr.bin/file/Magdir/visx (props changed) vendor/file/3.22/usr.bin/file/Magdir/vms (props changed) vendor/file/3.22/usr.bin/file/Magdir/xenix (props changed) vendor/file/3.22/usr.bin/file/Magdir/zilog (props changed) vendor/file/3.22/usr.bin/file/Magdir/zyxel (props changed) vendor/file/3.22/usr.bin/file/Makefile (props changed) vendor/file/3.22/usr.bin/file/PORTING (props changed) vendor/file/3.22/usr.bin/file/README (props changed) vendor/file/3.22/usr.bin/file/apprentice.c (props changed) vendor/file/3.22/usr.bin/file/ascmagic.c (props changed) vendor/file/3.22/usr.bin/file/compress.c (props changed) vendor/file/3.22/usr.bin/file/file.1 (props changed) vendor/file/3.22/usr.bin/file/file.c (props changed) vendor/file/3.22/usr.bin/file/file.h (props changed) vendor/file/3.22/usr.bin/file/fsmagic.c (props changed) vendor/file/3.22/usr.bin/file/internat.c (props changed) vendor/file/3.22/usr.bin/file/is_tar.c (props changed) vendor/file/3.22/usr.bin/file/magic.5 (props changed) vendor/file/3.22/usr.bin/file/names.h (props changed) vendor/file/3.22/usr.bin/file/patchlevel.h (props changed) vendor/file/3.22/usr.bin/file/print.c (props changed) vendor/file/3.22/usr.bin/file/readelf.c (props changed) vendor/file/3.22/usr.bin/file/readelf.h (props changed) vendor/file/3.22/usr.bin/file/softmagic.c (props changed) vendor/file/3.22/usr.bin/file/tar.h (props changed) vendor/file/3.32/Magdir/adventure (props changed) vendor/file/3.32/Magdir/allegro (props changed) vendor/file/3.32/Magdir/alliant (props changed) vendor/file/3.32/Magdir/alpha (props changed) vendor/file/3.32/Magdir/amanda (props changed) vendor/file/3.32/Magdir/amigaos (props changed) vendor/file/3.32/Magdir/animation (props changed) vendor/file/3.32/Magdir/apl (props changed) vendor/file/3.32/Magdir/apple (props changed) vendor/file/3.32/Magdir/applix (props changed) vendor/file/3.32/Magdir/archive (props changed) vendor/file/3.32/Magdir/asterix (props changed) vendor/file/3.32/Magdir/att3b (props changed) vendor/file/3.32/Magdir/audio (props changed) vendor/file/3.32/Magdir/blender (props changed) vendor/file/3.32/Magdir/blit (props changed) vendor/file/3.32/Magdir/bsdi (props changed) vendor/file/3.32/Magdir/c-lang (props changed) vendor/file/3.32/Magdir/chi (props changed) vendor/file/3.32/Magdir/cisco (props changed) vendor/file/3.32/Magdir/claris (props changed) vendor/file/3.32/Magdir/clipper (props changed) vendor/file/3.32/Magdir/commands (props changed) vendor/file/3.32/Magdir/compress (props changed) vendor/file/3.32/Magdir/console (props changed) vendor/file/3.32/Magdir/convex (props changed) vendor/file/3.32/Magdir/database (props changed) vendor/file/3.32/Magdir/diamond (props changed) vendor/file/3.32/Magdir/diff (props changed) vendor/file/3.32/Magdir/digital (props changed) vendor/file/3.32/Magdir/dump (props changed) vendor/file/3.32/Magdir/elf (props changed) vendor/file/3.32/Magdir/encore (props changed) vendor/file/3.32/Magdir/epoc (props changed) vendor/file/3.32/Magdir/filesystems (props changed) vendor/file/3.32/Magdir/flash (props changed) vendor/file/3.32/Magdir/fonts (props changed) vendor/file/3.32/Magdir/frame (props changed) vendor/file/3.32/Magdir/freebsd (props changed) vendor/file/3.32/Magdir/fsav (props changed) vendor/file/3.32/Magdir/gimp (props changed) vendor/file/3.32/Magdir/gnu (props changed) vendor/file/3.32/Magdir/grace (props changed) vendor/file/3.32/Magdir/hp (props changed) vendor/file/3.32/Magdir/ibm370 (props changed) vendor/file/3.32/Magdir/ibm6000 (props changed) vendor/file/3.32/Magdir/iff (props changed) vendor/file/3.32/Magdir/images (props changed) vendor/file/3.32/Magdir/intel (props changed) vendor/file/3.32/Magdir/interleaf (props changed) vendor/file/3.32/Magdir/island (props changed) vendor/file/3.32/Magdir/ispell (props changed) vendor/file/3.32/Magdir/java (props changed) vendor/file/3.32/Magdir/jpeg (props changed) vendor/file/3.32/Magdir/karma (props changed) vendor/file/3.32/Magdir/lecter (props changed) vendor/file/3.32/Magdir/lex (props changed) vendor/file/3.32/Magdir/lif (props changed) vendor/file/3.32/Magdir/linux (props changed) vendor/file/3.32/Magdir/lisp (props changed) vendor/file/3.32/Magdir/mach (props changed) vendor/file/3.32/Magdir/macintosh (props changed) vendor/file/3.32/Magdir/magic (props changed) vendor/file/3.32/Magdir/mail.news (props changed) vendor/file/3.32/Magdir/maple (props changed) vendor/file/3.32/Magdir/mathematica (props changed) vendor/file/3.32/Magdir/mcrypt (props changed) vendor/file/3.32/Magdir/mime (props changed) vendor/file/3.32/Magdir/mirage (props changed) vendor/file/3.32/Magdir/mkid (props changed) vendor/file/3.32/Magdir/mmdf (props changed) vendor/file/3.32/Magdir/modem (props changed) vendor/file/3.32/Magdir/motorola (props changed) vendor/file/3.32/Magdir/msdos (props changed) vendor/file/3.32/Magdir/msvc (props changed) vendor/file/3.32/Magdir/ncr (props changed) vendor/file/3.32/Magdir/netbsd (props changed) vendor/file/3.32/Magdir/netscape (props changed) vendor/file/3.32/Magdir/news (props changed) vendor/file/3.32/Magdir/octave (props changed) vendor/file/3.32/Magdir/olf (props changed) vendor/file/3.32/Magdir/os2 (props changed) vendor/file/3.32/Magdir/os9 (props changed) vendor/file/3.32/Magdir/osf1 (props changed) vendor/file/3.32/Magdir/palm (props changed) vendor/file/3.32/Magdir/pbm (props changed) vendor/file/3.32/Magdir/pdf (props changed) vendor/file/3.32/Magdir/pdp (props changed) vendor/file/3.32/Magdir/pgp (props changed) vendor/file/3.32/Magdir/pkgadd (props changed) vendor/file/3.32/Magdir/plus5 (props changed) vendor/file/3.32/Magdir/printer (props changed) vendor/file/3.32/Magdir/project (props changed) vendor/file/3.32/Magdir/psdbms (props changed) vendor/file/3.32/Magdir/pyramid (props changed) vendor/file/3.32/Magdir/python (props changed) vendor/file/3.32/Magdir/riff (props changed) vendor/file/3.32/Magdir/rpm (props changed) vendor/file/3.32/Magdir/rtf (props changed) vendor/file/3.32/Magdir/sc (props changed) vendor/file/3.32/Magdir/sccs (props changed) vendor/file/3.32/Magdir/sendmail (props changed) vendor/file/3.32/Magdir/sequent (props changed) vendor/file/3.32/Magdir/sgi (props changed) vendor/file/3.32/Magdir/sgml (props changed) vendor/file/3.32/Magdir/sniffer (props changed) vendor/file/3.32/Magdir/softquad (props changed) vendor/file/3.32/Magdir/spectrum (props changed) vendor/file/3.32/Magdir/sun (props changed) vendor/file/3.32/Magdir/teapot (props changed) vendor/file/3.32/Magdir/terminfo (props changed) vendor/file/3.32/Magdir/tex (props changed) vendor/file/3.32/Magdir/ti-8x (props changed) vendor/file/3.32/Magdir/timezone (props changed) vendor/file/3.32/Magdir/troff (props changed) vendor/file/3.32/Magdir/typeset (props changed) vendor/file/3.32/Magdir/unknown (props changed) vendor/file/3.32/Magdir/uuencode (props changed) vendor/file/3.32/Magdir/varied.out (props changed) vendor/file/3.32/Magdir/vax (props changed) vendor/file/3.32/Magdir/vicar (props changed) vendor/file/3.32/Magdir/visx (props changed) vendor/file/3.32/Magdir/vms (props changed) vendor/file/3.32/Magdir/vmware (props changed) vendor/file/3.32/Magdir/wordperfect (props changed) vendor/file/3.32/Magdir/xdelta (props changed) vendor/file/3.32/Magdir/xenix (props changed) vendor/file/3.32/Magdir/zilog (props changed) vendor/file/3.32/Magdir/zyxel (props changed) vendor/file/3.33/Magdir/adventure (props changed) vendor/file/3.33/Magdir/allegro (props changed) vendor/file/3.33/Magdir/alliant (props changed) vendor/file/3.33/Magdir/alpha (props changed) vendor/file/3.33/Magdir/amanda (props changed) vendor/file/3.33/Magdir/amigaos (props changed) vendor/file/3.33/Magdir/animation (props changed) vendor/file/3.33/Magdir/apl (props changed) vendor/file/3.33/Magdir/apple (props changed) vendor/file/3.33/Magdir/applix (props changed) vendor/file/3.33/Magdir/archive (props changed) vendor/file/3.33/Magdir/asterix (props changed) vendor/file/3.33/Magdir/att3b (props changed) vendor/file/3.33/Magdir/audio (props changed) vendor/file/3.33/Magdir/blender (props changed) vendor/file/3.33/Magdir/blit (props changed) vendor/file/3.33/Magdir/bsdi (props changed) vendor/file/3.33/Magdir/c-lang (props changed) vendor/file/3.33/Magdir/chi (props changed) vendor/file/3.33/Magdir/cisco (props changed) vendor/file/3.33/Magdir/claris (props changed) vendor/file/3.33/Magdir/clipper (props changed) vendor/file/3.33/Magdir/commands (props changed) vendor/file/3.33/Magdir/compress (props changed) vendor/file/3.33/Magdir/console (props changed) vendor/file/3.33/Magdir/convex (props changed) vendor/file/3.33/Magdir/ctags (props changed) vendor/file/3.33/Magdir/database (props changed) vendor/file/3.33/Magdir/diamond (props changed) vendor/file/3.33/Magdir/diff (props changed) vendor/file/3.33/Magdir/digital (props changed) vendor/file/3.33/Magdir/dump (props changed) vendor/file/3.33/Magdir/elf (props changed) vendor/file/3.33/Magdir/encore (props changed) vendor/file/3.33/Magdir/epoc (props changed) vendor/file/3.33/Magdir/filesystems (props changed) vendor/file/3.33/Magdir/flash (props changed) vendor/file/3.33/Magdir/fonts (props changed) vendor/file/3.33/Magdir/frame (props changed) vendor/file/3.33/Magdir/freebsd (props changed) vendor/file/3.33/Magdir/fsav (props changed) vendor/file/3.33/Magdir/gimp (props changed) vendor/file/3.33/Magdir/gnu (props changed) vendor/file/3.33/Magdir/grace (props changed) vendor/file/3.33/Magdir/hp (props changed) vendor/file/3.33/Magdir/ibm370 (props changed) vendor/file/3.33/Magdir/ibm6000 (props changed) vendor/file/3.33/Magdir/iff (props changed) vendor/file/3.33/Magdir/images (props changed) vendor/file/3.33/Magdir/intel (props changed) vendor/file/3.33/Magdir/interleaf (props changed) vendor/file/3.33/Magdir/island (props changed) vendor/file/3.33/Magdir/ispell (props changed) vendor/file/3.33/Magdir/java (props changed) vendor/file/3.33/Magdir/jpeg (props changed) vendor/file/3.33/Magdir/karma (props changed) vendor/file/3.33/Magdir/lecter (props changed) vendor/file/3.33/Magdir/lex (props changed) vendor/file/3.33/Magdir/lif (props changed) vendor/file/3.33/Magdir/linux (props changed) vendor/file/3.33/Magdir/lisp (props changed) vendor/file/3.33/Magdir/mach (props changed) vendor/file/3.33/Magdir/macintosh (props changed) vendor/file/3.33/Magdir/magic (props changed) vendor/file/3.33/Magdir/mail.news (props changed) vendor/file/3.33/Magdir/maple (props changed) vendor/file/3.33/Magdir/mathematica (props changed) vendor/file/3.33/Magdir/mcrypt (props changed) vendor/file/3.33/Magdir/mime (props changed) vendor/file/3.33/Magdir/mirage (props changed) vendor/file/3.33/Magdir/mkid (props changed) vendor/file/3.33/Magdir/mmdf (props changed) vendor/file/3.33/Magdir/modem (props changed) vendor/file/3.33/Magdir/motorola (props changed) vendor/file/3.33/Magdir/msdos (props changed) vendor/file/3.33/Magdir/msvc (props changed) vendor/file/3.33/Magdir/ncr (props changed) vendor/file/3.33/Magdir/netbsd (props changed) vendor/file/3.33/Magdir/netscape (props changed) vendor/file/3.33/Magdir/news (props changed) vendor/file/3.33/Magdir/octave (props changed) vendor/file/3.33/Magdir/olf (props changed) vendor/file/3.33/Magdir/os2 (props changed) vendor/file/3.33/Magdir/os9 (props changed) vendor/file/3.33/Magdir/osf1 (props changed) vendor/file/3.33/Magdir/palm (props changed) vendor/file/3.33/Magdir/pbm (props changed) vendor/file/3.33/Magdir/pdf (props changed) vendor/file/3.33/Magdir/pdp (props changed) vendor/file/3.33/Magdir/pgp (props changed) vendor/file/3.33/Magdir/pkgadd (props changed) vendor/file/3.33/Magdir/plus5 (props changed) vendor/file/3.33/Magdir/printer (props changed) vendor/file/3.33/Magdir/project (props changed) vendor/file/3.33/Magdir/psdbms (props changed) vendor/file/3.33/Magdir/pyramid (props changed) vendor/file/3.33/Magdir/python (props changed) vendor/file/3.33/Magdir/riff (props changed) vendor/file/3.33/Magdir/rpm (props changed) vendor/file/3.33/Magdir/rtf (props changed) vendor/file/3.33/Magdir/sc (props changed) vendor/file/3.33/Magdir/sccs (props changed) vendor/file/3.33/Magdir/sendmail (props changed) vendor/file/3.33/Magdir/sequent (props changed) vendor/file/3.33/Magdir/sgi (props changed) vendor/file/3.33/Magdir/sgml (props changed) vendor/file/3.33/Magdir/sniffer (props changed) vendor/file/3.33/Magdir/softquad (props changed) vendor/file/3.33/Magdir/spectrum (props changed) vendor/file/3.33/Magdir/sun (props changed) vendor/file/3.33/Magdir/teapot (props changed) vendor/file/3.33/Magdir/terminfo (props changed) vendor/file/3.33/Magdir/tex (props changed) vendor/file/3.33/Magdir/ti-8x (props changed) vendor/file/3.33/Magdir/timezone (props changed) vendor/file/3.33/Magdir/troff (props changed) vendor/file/3.33/Magdir/typeset (props changed) vendor/file/3.33/Magdir/unknown (props changed) vendor/file/3.33/Magdir/uuencode (props changed) vendor/file/3.33/Magdir/varied.out (props changed) vendor/file/3.33/Magdir/vax (props changed) vendor/file/3.33/Magdir/vicar (props changed) vendor/file/3.33/Magdir/visx (props changed) vendor/file/3.33/Magdir/vms (props changed) vendor/file/3.33/Magdir/vmware (props changed) vendor/file/3.33/Magdir/wordperfect (props changed) vendor/file/3.33/Magdir/xdelta (props changed) vendor/file/3.33/Magdir/xenix (props changed) vendor/file/3.33/Magdir/zilog (props changed) vendor/file/3.33/Magdir/zyxel (props changed) vendor/file/3.34/Magdir/adventure (props changed) vendor/file/3.34/Magdir/allegro (props changed) vendor/file/3.34/Magdir/alliant (props changed) vendor/file/3.34/Magdir/alpha (props changed) vendor/file/3.34/Magdir/amanda (props changed) vendor/file/3.34/Magdir/amigaos (props changed) vendor/file/3.34/Magdir/animation (props changed) vendor/file/3.34/Magdir/apl (props changed) vendor/file/3.34/Magdir/apple (props changed) vendor/file/3.34/Magdir/applix (props changed) vendor/file/3.34/Magdir/archive (props changed) vendor/file/3.34/Magdir/asterix (props changed) vendor/file/3.34/Magdir/att3b (props changed) vendor/file/3.34/Magdir/audio (props changed) vendor/file/3.34/Magdir/blender (props changed) vendor/file/3.34/Magdir/blit (props changed) vendor/file/3.34/Magdir/bsdi (props changed) vendor/file/3.34/Magdir/c-lang (props changed) vendor/file/3.34/Magdir/chi (props changed) vendor/file/3.34/Magdir/cisco (props changed) vendor/file/3.34/Magdir/claris (props changed) vendor/file/3.34/Magdir/clipper (props changed) vendor/file/3.34/Magdir/commands (props changed) vendor/file/3.34/Magdir/compress (props changed) vendor/file/3.34/Magdir/console (props changed) vendor/file/3.34/Magdir/convex (props changed) vendor/file/3.34/Magdir/ctags (props changed) vendor/file/3.34/Magdir/database (props changed) vendor/file/3.34/Magdir/diamond (props changed) vendor/file/3.34/Magdir/diff (props changed) vendor/file/3.34/Magdir/digital (props changed) vendor/file/3.34/Magdir/dump (props changed) vendor/file/3.34/Magdir/dyadic (props changed) vendor/file/3.34/Magdir/editors (props changed) vendor/file/3.34/Magdir/elf (props changed) vendor/file/3.34/Magdir/encore (props changed) vendor/file/3.34/Magdir/epoc (props changed) vendor/file/3.34/Magdir/filesystems (props changed) vendor/file/3.34/Magdir/flash (props changed) vendor/file/3.34/Magdir/fonts (props changed) vendor/file/3.34/Magdir/frame (props changed) vendor/file/3.34/Magdir/freebsd (props changed) vendor/file/3.34/Magdir/fsav (props changed) vendor/file/3.34/Magdir/gimp (props changed) vendor/file/3.34/Magdir/gnu (props changed) vendor/file/3.34/Magdir/grace (props changed) vendor/file/3.34/Magdir/hitachi-sh (props changed) vendor/file/3.34/Magdir/hp (props changed) vendor/file/3.34/Magdir/ibm370 (props changed) vendor/file/3.34/Magdir/ibm6000 (props changed) vendor/file/3.34/Magdir/iff (props changed) vendor/file/3.34/Magdir/images (props changed) vendor/file/3.34/Magdir/intel (props changed) vendor/file/3.34/Magdir/interleaf (props changed) vendor/file/3.34/Magdir/island (props changed) vendor/file/3.34/Magdir/ispell (props changed) vendor/file/3.34/Magdir/java (props changed) vendor/file/3.34/Magdir/jpeg (props changed) vendor/file/3.34/Magdir/karma (props changed) vendor/file/3.34/Magdir/lecter (props changed) vendor/file/3.34/Magdir/lex (props changed) vendor/file/3.34/Magdir/lif (props changed) vendor/file/3.34/Magdir/linux (props changed) vendor/file/3.34/Magdir/lisp (props changed) vendor/file/3.34/Magdir/mach (props changed) vendor/file/3.34/Magdir/macintosh (props changed) vendor/file/3.34/Magdir/magic (props changed) vendor/file/3.34/Magdir/mail.news (props changed) vendor/file/3.34/Magdir/maple (props changed) vendor/file/3.34/Magdir/mathematica (props changed) vendor/file/3.34/Magdir/mcrypt (props changed) vendor/file/3.34/Magdir/mime (props changed) vendor/file/3.34/Magdir/mirage (props changed) vendor/file/3.34/Magdir/mkid (props changed) vendor/file/3.34/Magdir/mmdf (props changed) vendor/file/3.34/Magdir/modem (props changed) vendor/file/3.34/Magdir/motorola (props changed) vendor/file/3.34/Magdir/msdos (props changed) vendor/file/3.34/Magdir/msvc (props changed) vendor/file/3.34/Magdir/ncr (props changed) vendor/file/3.34/Magdir/netbsd (props changed) vendor/file/3.34/Magdir/netscape (props changed) vendor/file/3.34/Magdir/news (props changed) vendor/file/3.34/Magdir/octave (props changed) vendor/file/3.34/Magdir/olf (props changed) vendor/file/3.34/Magdir/os2 (props changed) vendor/file/3.34/Magdir/os9 (props changed) vendor/file/3.34/Magdir/osf1 (props changed) vendor/file/3.34/Magdir/palm (props changed) vendor/file/3.34/Magdir/parix (props changed) vendor/file/3.34/Magdir/pbm (props changed) vendor/file/3.34/Magdir/pdf (props changed) vendor/file/3.34/Magdir/pdp (props changed) vendor/file/3.34/Magdir/pgp (props changed) vendor/file/3.34/Magdir/pkgadd (props changed) vendor/file/3.34/Magdir/plus5 (props changed) vendor/file/3.34/Magdir/printer (props changed) vendor/file/3.34/Magdir/project (props changed) vendor/file/3.34/Magdir/psdbms (props changed) vendor/file/3.34/Magdir/pyramid (props changed) vendor/file/3.34/Magdir/python (props changed) vendor/file/3.34/Magdir/riff (props changed) vendor/file/3.34/Magdir/rpm (props changed) vendor/file/3.34/Magdir/rtf (props changed) vendor/file/3.34/Magdir/sc (props changed) vendor/file/3.34/Magdir/sccs (props changed) vendor/file/3.34/Magdir/sendmail (props changed) vendor/file/3.34/Magdir/sequent (props changed) vendor/file/3.34/Magdir/sgi (props changed) vendor/file/3.34/Magdir/sgml (props changed) vendor/file/3.34/Magdir/sniffer (props changed) vendor/file/3.34/Magdir/softquad (props changed) vendor/file/3.34/Magdir/spectrum (props changed) vendor/file/3.34/Magdir/sun (props changed) vendor/file/3.34/Magdir/teapot (props changed) vendor/file/3.34/Magdir/terminfo (props changed) vendor/file/3.34/Magdir/tex (props changed) vendor/file/3.34/Magdir/ti-8x (props changed) vendor/file/3.34/Magdir/timezone (props changed) vendor/file/3.34/Magdir/troff (props changed) vendor/file/3.34/Magdir/tuxedo (props changed) vendor/file/3.34/Magdir/typeset (props changed) vendor/file/3.34/Magdir/unknown (props changed) vendor/file/3.34/Magdir/uuencode (props changed) vendor/file/3.34/Magdir/varied.out (props changed) vendor/file/3.34/Magdir/vax (props changed) vendor/file/3.34/Magdir/vicar (props changed) vendor/file/3.34/Magdir/visx (props changed) vendor/file/3.34/Magdir/vms (props changed) vendor/file/3.34/Magdir/vmware (props changed) vendor/file/3.34/Magdir/wordperfect (props changed) vendor/file/3.34/Magdir/xdelta (props changed) vendor/file/3.34/Magdir/xenix (props changed) vendor/file/3.34/Magdir/zilog (props changed) vendor/file/3.34/Magdir/zyxel (props changed) vendor/file/3.35/Magdir/adventure (props changed) vendor/file/3.35/Magdir/allegro (props changed) vendor/file/3.35/Magdir/alliant (props changed) vendor/file/3.35/Magdir/alpha (props changed) vendor/file/3.35/Magdir/amanda (props changed) vendor/file/3.35/Magdir/amigaos (props changed) vendor/file/3.35/Magdir/animation (props changed) vendor/file/3.35/Magdir/apl (props changed) vendor/file/3.35/Magdir/apple (props changed) vendor/file/3.35/Magdir/applix (props changed) vendor/file/3.35/Magdir/archive (props changed) vendor/file/3.35/Magdir/asterix (props changed) vendor/file/3.35/Magdir/att3b (props changed) vendor/file/3.35/Magdir/audio (props changed) vendor/file/3.35/Magdir/blender (props changed) vendor/file/3.35/Magdir/blit (props changed) vendor/file/3.35/Magdir/bsdi (props changed) vendor/file/3.35/Magdir/c-lang (props changed) vendor/file/3.35/Magdir/chi (props changed) vendor/file/3.35/Magdir/cisco (props changed) vendor/file/3.35/Magdir/claris (props changed) vendor/file/3.35/Magdir/clipper (props changed) vendor/file/3.35/Magdir/commands (props changed) vendor/file/3.35/Magdir/compress (props changed) vendor/file/3.35/Magdir/console (props changed) vendor/file/3.35/Magdir/convex (props changed) vendor/file/3.35/Magdir/ctags (props changed) vendor/file/3.35/Magdir/database (props changed) vendor/file/3.35/Magdir/diamond (props changed) vendor/file/3.35/Magdir/diff (props changed) vendor/file/3.35/Magdir/digital (props changed) vendor/file/3.35/Magdir/dump (props changed) vendor/file/3.35/Magdir/dyadic (props changed) vendor/file/3.35/Magdir/editors (props changed) vendor/file/3.35/Magdir/elf (props changed) vendor/file/3.35/Magdir/encore (props changed) vendor/file/3.35/Magdir/epoc (props changed) vendor/file/3.35/Magdir/filesystems (props changed) vendor/file/3.35/Magdir/flash (props changed) vendor/file/3.35/Magdir/fonts (props changed) vendor/file/3.35/Magdir/frame (props changed) vendor/file/3.35/Magdir/freebsd (props changed) vendor/file/3.35/Magdir/fsav (props changed) vendor/file/3.35/Magdir/gimp (props changed) vendor/file/3.35/Magdir/gnu (props changed) vendor/file/3.35/Magdir/grace (props changed) vendor/file/3.35/Magdir/hitachi-sh (props changed) vendor/file/3.35/Magdir/hp (props changed) vendor/file/3.35/Magdir/ibm370 (props changed) vendor/file/3.35/Magdir/ibm6000 (props changed) vendor/file/3.35/Magdir/iff (props changed) vendor/file/3.35/Magdir/images (props changed) vendor/file/3.35/Magdir/intel (props changed) vendor/file/3.35/Magdir/interleaf (props changed) vendor/file/3.35/Magdir/island (props changed) vendor/file/3.35/Magdir/ispell (props changed) vendor/file/3.35/Magdir/java (props changed) vendor/file/3.35/Magdir/jpeg (props changed) vendor/file/3.35/Magdir/karma (props changed) vendor/file/3.35/Magdir/lecter (props changed) vendor/file/3.35/Magdir/lex (props changed) vendor/file/3.35/Magdir/lif (props changed) vendor/file/3.35/Magdir/linux (props changed) vendor/file/3.35/Magdir/lisp (props changed) vendor/file/3.35/Magdir/mach (props changed) vendor/file/3.35/Magdir/macintosh (props changed) vendor/file/3.35/Magdir/magic (props changed) vendor/file/3.35/Magdir/mail.news (props changed) vendor/file/3.35/Magdir/maple (props changed) vendor/file/3.35/Magdir/mathematica (props changed) vendor/file/3.35/Magdir/mcrypt (props changed) vendor/file/3.35/Magdir/mime (props changed) vendor/file/3.35/Magdir/mips (props changed) vendor/file/3.35/Magdir/mirage (props changed) vendor/file/3.35/Magdir/mkid (props changed) vendor/file/3.35/Magdir/mmdf (props changed) vendor/file/3.35/Magdir/modem (props changed) vendor/file/3.35/Magdir/motorola (props changed) vendor/file/3.35/Magdir/msdos (props changed) vendor/file/3.35/Magdir/msvc (props changed) vendor/file/3.35/Magdir/ncr (props changed) vendor/file/3.35/Magdir/netbsd (props changed) vendor/file/3.35/Magdir/netscape (props changed) vendor/file/3.35/Magdir/news (props changed) vendor/file/3.35/Magdir/octave (props changed) vendor/file/3.35/Magdir/olf (props changed) vendor/file/3.35/Magdir/os2 (props changed) vendor/file/3.35/Magdir/os9 (props changed) vendor/file/3.35/Magdir/osf1 (props changed) vendor/file/3.35/Magdir/palm (props changed) vendor/file/3.35/Magdir/parix (props changed) vendor/file/3.35/Magdir/pbm (props changed) vendor/file/3.35/Magdir/pdf (props changed) vendor/file/3.35/Magdir/pdp (props changed) vendor/file/3.35/Magdir/pgp (props changed) vendor/file/3.35/Magdir/pkgadd (props changed) vendor/file/3.35/Magdir/plus5 (props changed) vendor/file/3.35/Magdir/printer (props changed) vendor/file/3.35/Magdir/project (props changed) vendor/file/3.35/Magdir/psdbms (props changed) vendor/file/3.35/Magdir/pyramid (props changed) vendor/file/3.35/Magdir/python (props changed) vendor/file/3.35/Magdir/riff (props changed) vendor/file/3.35/Magdir/rpm (props changed) vendor/file/3.35/Magdir/rtf (props changed) vendor/file/3.35/Magdir/sc (props changed) vendor/file/3.35/Magdir/sccs (props changed) vendor/file/3.35/Magdir/sendmail (props changed) vendor/file/3.35/Magdir/sequent (props changed) vendor/file/3.35/Magdir/sgml (props changed) vendor/file/3.35/Magdir/sniffer (props changed) vendor/file/3.35/Magdir/softquad (props changed) vendor/file/3.35/Magdir/spectrum (props changed) vendor/file/3.35/Magdir/sun (props changed) vendor/file/3.35/Magdir/teapot (props changed) vendor/file/3.35/Magdir/terminfo (props changed) vendor/file/3.35/Magdir/tex (props changed) vendor/file/3.35/Magdir/ti-8x (props changed) vendor/file/3.35/Magdir/timezone (props changed) vendor/file/3.35/Magdir/troff (props changed) vendor/file/3.35/Magdir/tuxedo (props changed) vendor/file/3.35/Magdir/typeset (props changed) vendor/file/3.35/Magdir/unknown (props changed) vendor/file/3.35/Magdir/uuencode (props changed) vendor/file/3.35/Magdir/varied.out (props changed) vendor/file/3.35/Magdir/vax (props changed) vendor/file/3.35/Magdir/vicar (props changed) vendor/file/3.35/Magdir/visx (props changed) vendor/file/3.35/Magdir/vms (props changed) vendor/file/3.35/Magdir/vmware (props changed) vendor/file/3.35/Magdir/wordperfect (props changed) vendor/file/3.35/Magdir/xdelta (props changed) vendor/file/3.35/Magdir/xenix (props changed) vendor/file/3.35/Magdir/zilog (props changed) vendor/file/3.35/Magdir/zyxel (props changed) vendor/file/3.36/Magdir/adi (props changed) vendor/file/3.36/Magdir/adventure (props changed) vendor/file/3.36/Magdir/allegro (props changed) vendor/file/3.36/Magdir/alliant (props changed) vendor/file/3.36/Magdir/alpha (props changed) vendor/file/3.36/Magdir/amanda (props changed) vendor/file/3.36/Magdir/amigaos (props changed) vendor/file/3.36/Magdir/animation (props changed) vendor/file/3.36/Magdir/apl (props changed) vendor/file/3.36/Magdir/apple (props changed) vendor/file/3.36/Magdir/applix (props changed) vendor/file/3.36/Magdir/archive (props changed) vendor/file/3.36/Magdir/asterix (props changed) vendor/file/3.36/Magdir/att3b (props changed) vendor/file/3.36/Magdir/audio (props changed) vendor/file/3.36/Magdir/blender (props changed) vendor/file/3.36/Magdir/blit (props changed) vendor/file/3.36/Magdir/bsdi (props changed) vendor/file/3.36/Magdir/c-lang (props changed) vendor/file/3.36/Magdir/chi (props changed) vendor/file/3.36/Magdir/cisco (props changed) vendor/file/3.36/Magdir/claris (props changed) vendor/file/3.36/Magdir/clipper (props changed) vendor/file/3.36/Magdir/commands (props changed) vendor/file/3.36/Magdir/compress (props changed) vendor/file/3.36/Magdir/console (props changed) vendor/file/3.36/Magdir/convex (props changed) vendor/file/3.36/Magdir/ctags (props changed) vendor/file/3.36/Magdir/database (props changed) vendor/file/3.36/Magdir/diamond (props changed) vendor/file/3.36/Magdir/diff (props changed) vendor/file/3.36/Magdir/digital (props changed) vendor/file/3.36/Magdir/dump (props changed) vendor/file/3.36/Magdir/dyadic (props changed) vendor/file/3.36/Magdir/editors (props changed) vendor/file/3.36/Magdir/elf (props changed) vendor/file/3.36/Magdir/encore (props changed) vendor/file/3.36/Magdir/epoc (props changed) vendor/file/3.36/Magdir/filesystems (props changed) vendor/file/3.36/Magdir/flash (props changed) vendor/file/3.36/Magdir/fonts (props changed) vendor/file/3.36/Magdir/frame (props changed) vendor/file/3.36/Magdir/freebsd (props changed) vendor/file/3.36/Magdir/fsav (props changed) vendor/file/3.36/Magdir/gimp (props changed) vendor/file/3.36/Magdir/gnu (props changed) vendor/file/3.36/Magdir/grace (props changed) vendor/file/3.36/Magdir/hitachi-sh (props changed) vendor/file/3.36/Magdir/hp (props changed) vendor/file/3.36/Magdir/ibm370 (props changed) vendor/file/3.36/Magdir/ibm6000 (props changed) vendor/file/3.36/Magdir/iff (props changed) vendor/file/3.36/Magdir/images (props changed) vendor/file/3.36/Magdir/intel (props changed) vendor/file/3.36/Magdir/interleaf (props changed) vendor/file/3.36/Magdir/island (props changed) vendor/file/3.36/Magdir/ispell (props changed) vendor/file/3.36/Magdir/java (props changed) vendor/file/3.36/Magdir/jpeg (props changed) vendor/file/3.36/Magdir/karma (props changed) vendor/file/3.36/Magdir/lecter (props changed) vendor/file/3.36/Magdir/lex (props changed) vendor/file/3.36/Magdir/lif (props changed) vendor/file/3.36/Magdir/linux (props changed) vendor/file/3.36/Magdir/lisp (props changed) vendor/file/3.36/Magdir/mach (props changed) vendor/file/3.36/Magdir/macintosh (props changed) vendor/file/3.36/Magdir/magic (props changed) vendor/file/3.36/Magdir/mail.news (props changed) vendor/file/3.36/Magdir/maple (props changed) vendor/file/3.36/Magdir/mathematica (props changed) vendor/file/3.36/Magdir/mcrypt (props changed) vendor/file/3.36/Magdir/mime (props changed) vendor/file/3.36/Magdir/mips (props changed) vendor/file/3.36/Magdir/mirage (props changed) vendor/file/3.36/Magdir/mkid (props changed) vendor/file/3.36/Magdir/mmdf (props changed) vendor/file/3.36/Magdir/modem (props changed) vendor/file/3.36/Magdir/motorola (props changed) vendor/file/3.36/Magdir/msdos (props changed) vendor/file/3.36/Magdir/msvc (props changed) vendor/file/3.36/Magdir/ncr (props changed) vendor/file/3.36/Magdir/netbsd (props changed) vendor/file/3.36/Magdir/netscape (props changed) vendor/file/3.36/Magdir/news (props changed) vendor/file/3.36/Magdir/octave (props changed) vendor/file/3.36/Magdir/olf (props changed) vendor/file/3.36/Magdir/os2 (props changed) vendor/file/3.36/Magdir/os9 (props changed) vendor/file/3.36/Magdir/osf1 (props changed) vendor/file/3.36/Magdir/palm (props changed) vendor/file/3.36/Magdir/parix (props changed) vendor/file/3.36/Magdir/pbm (props changed) vendor/file/3.36/Magdir/pdf (props changed) vendor/file/3.36/Magdir/pdp (props changed) vendor/file/3.36/Magdir/pgp (props changed) vendor/file/3.36/Magdir/pkgadd (props changed) vendor/file/3.36/Magdir/plus5 (props changed) vendor/file/3.36/Magdir/printer (props changed) vendor/file/3.36/Magdir/project (props changed) vendor/file/3.36/Magdir/psdbms (props changed) vendor/file/3.36/Magdir/pyramid (props changed) vendor/file/3.36/Magdir/python (props changed) vendor/file/3.36/Magdir/riff (props changed) vendor/file/3.36/Magdir/rpm (props changed) vendor/file/3.36/Magdir/rtf (props changed) vendor/file/3.36/Magdir/sc (props changed) vendor/file/3.36/Magdir/sccs (props changed) vendor/file/3.36/Magdir/sendmail (props changed) vendor/file/3.36/Magdir/sequent (props changed) vendor/file/3.36/Magdir/sgml (props changed) vendor/file/3.36/Magdir/sharc (props changed) vendor/file/3.36/Magdir/sketch (props changed) vendor/file/3.36/Magdir/smalltalk (props changed) vendor/file/3.36/Magdir/sniffer (props changed) vendor/file/3.36/Magdir/softquad (props changed) vendor/file/3.36/Magdir/spectrum (props changed) vendor/file/3.36/Magdir/sun (props changed) vendor/file/3.36/Magdir/sysex (props changed) vendor/file/3.36/Magdir/teapot (props changed) vendor/file/3.36/Magdir/terminfo (props changed) vendor/file/3.36/Magdir/tex (props changed) vendor/file/3.36/Magdir/ti-8x (props changed) vendor/file/3.36/Magdir/timezone (props changed) vendor/file/3.36/Magdir/troff (props changed) vendor/file/3.36/Magdir/tuxedo (props changed) vendor/file/3.36/Magdir/typeset (props changed) vendor/file/3.36/Magdir/unknown (props changed) vendor/file/3.36/Magdir/uuencode (props changed) vendor/file/3.36/Magdir/varied.out (props changed) vendor/file/3.36/Magdir/vax (props changed) vendor/file/3.36/Magdir/vicar (props changed) vendor/file/3.36/Magdir/visx (props changed) vendor/file/3.36/Magdir/vms (props changed) vendor/file/3.36/Magdir/vmware (props changed) vendor/file/3.36/Magdir/vorbis (props changed) vendor/file/3.36/Magdir/wordperfect (props changed) vendor/file/3.36/Magdir/xdelta (props changed) vendor/file/3.36/Magdir/xenix (props changed) vendor/file/3.36/Magdir/zilog (props changed) vendor/file/3.36/Magdir/zyxel (props changed) vendor/file/3.37/Magdir/adi (props changed) vendor/file/3.37/Magdir/adventure (props changed) vendor/file/3.37/Magdir/allegro (props changed) vendor/file/3.37/Magdir/alliant (props changed) vendor/file/3.37/Magdir/alpha (props changed) vendor/file/3.37/Magdir/amanda (props changed) vendor/file/3.37/Magdir/amigaos (props changed) vendor/file/3.37/Magdir/animation (props changed) vendor/file/3.37/Magdir/apl (props changed) vendor/file/3.37/Magdir/apple (props changed) vendor/file/3.37/Magdir/applix (props changed) vendor/file/3.37/Magdir/archive (props changed) vendor/file/3.37/Magdir/asterix (props changed) vendor/file/3.37/Magdir/att3b (props changed) vendor/file/3.37/Magdir/audio (props changed) vendor/file/3.37/Magdir/blender (props changed) vendor/file/3.37/Magdir/blit (props changed) vendor/file/3.37/Magdir/bsdi (props changed) vendor/file/3.37/Magdir/c-lang (props changed) vendor/file/3.37/Magdir/chi (props changed) vendor/file/3.37/Magdir/cisco (props changed) vendor/file/3.37/Magdir/citrus (props changed) vendor/file/3.37/Magdir/claris (props changed) vendor/file/3.37/Magdir/clipper (props changed) vendor/file/3.37/Magdir/commands (props changed) vendor/file/3.37/Magdir/compress (props changed) vendor/file/3.37/Magdir/console (props changed) vendor/file/3.37/Magdir/convex (props changed) vendor/file/3.37/Magdir/ctags (props changed) vendor/file/3.37/Magdir/database (props changed) vendor/file/3.37/Magdir/diamond (props changed) vendor/file/3.37/Magdir/diff (props changed) vendor/file/3.37/Magdir/digital (props changed) vendor/file/3.37/Magdir/dump (props changed) vendor/file/3.37/Magdir/dyadic (props changed) vendor/file/3.37/Magdir/editors (props changed) vendor/file/3.37/Magdir/elf (props changed) vendor/file/3.37/Magdir/encore (props changed) vendor/file/3.37/Magdir/epoc (props changed) vendor/file/3.37/Magdir/filesystems (props changed) vendor/file/3.37/Magdir/flash (props changed) vendor/file/3.37/Magdir/fonts (props changed) vendor/file/3.37/Magdir/frame (props changed) vendor/file/3.37/Magdir/freebsd (props changed) vendor/file/3.37/Magdir/fsav (props changed) vendor/file/3.37/Magdir/gimp (props changed) vendor/file/3.37/Magdir/gnu (props changed) vendor/file/3.37/Magdir/grace (props changed) vendor/file/3.37/Magdir/hitachi-sh (props changed) vendor/file/3.37/Magdir/hp (props changed) vendor/file/3.37/Magdir/ibm370 (props changed) vendor/file/3.37/Magdir/ibm6000 (props changed) vendor/file/3.37/Magdir/iff (props changed) vendor/file/3.37/Magdir/images (props changed) vendor/file/3.37/Magdir/intel (props changed) vendor/file/3.37/Magdir/interleaf (props changed) vendor/file/3.37/Magdir/island (props changed) vendor/file/3.37/Magdir/ispell (props changed) vendor/file/3.37/Magdir/java (props changed) vendor/file/3.37/Magdir/jpeg (props changed) vendor/file/3.37/Magdir/karma (props changed) vendor/file/3.37/Magdir/lecter (props changed) vendor/file/3.37/Magdir/lex (props changed) vendor/file/3.37/Magdir/lif (props changed) vendor/file/3.37/Magdir/linux (props changed) vendor/file/3.37/Magdir/lisp (props changed) vendor/file/3.37/Magdir/mach (props changed) vendor/file/3.37/Magdir/macintosh (props changed) vendor/file/3.37/Magdir/magic (props changed) vendor/file/3.37/Magdir/mail.news (props changed) vendor/file/3.37/Magdir/maple (props changed) vendor/file/3.37/Magdir/mathematica (props changed) vendor/file/3.37/Magdir/mcrypt (props changed) vendor/file/3.37/Magdir/mime (props changed) vendor/file/3.37/Magdir/mips (props changed) vendor/file/3.37/Magdir/mirage (props changed) vendor/file/3.37/Magdir/mkid (props changed) vendor/file/3.37/Magdir/mmdf (props changed) vendor/file/3.37/Magdir/modem (props changed) vendor/file/3.37/Magdir/motorola (props changed) vendor/file/3.37/Magdir/msdos (props changed) vendor/file/3.37/Magdir/msvc (props changed) vendor/file/3.37/Magdir/natinst (props changed) vendor/file/3.37/Magdir/ncr (props changed) vendor/file/3.37/Magdir/netbsd (props changed) vendor/file/3.37/Magdir/netscape (props changed) vendor/file/3.37/Magdir/news (props changed) vendor/file/3.37/Magdir/octave (props changed) vendor/file/3.37/Magdir/olf (props changed) vendor/file/3.37/Magdir/os2 (props changed) vendor/file/3.37/Magdir/os9 (props changed) vendor/file/3.37/Magdir/osf1 (props changed) vendor/file/3.37/Magdir/palm (props changed) vendor/file/3.37/Magdir/parix (props changed) vendor/file/3.37/Magdir/pbm (props changed) vendor/file/3.37/Magdir/pdf (props changed) vendor/file/3.37/Magdir/pdp (props changed) vendor/file/3.37/Magdir/pgp (props changed) vendor/file/3.37/Magdir/pkgadd (props changed) vendor/file/3.37/Magdir/plus5 (props changed) vendor/file/3.37/Magdir/printer (props changed) vendor/file/3.37/Magdir/project (props changed) vendor/file/3.37/Magdir/psdbms (props changed) vendor/file/3.37/Magdir/pyramid (props changed) vendor/file/3.37/Magdir/python (props changed) vendor/file/3.37/Magdir/riff (props changed) vendor/file/3.37/Magdir/rpm (props changed) vendor/file/3.37/Magdir/rtf (props changed) vendor/file/3.37/Magdir/sc (props changed) vendor/file/3.37/Magdir/sccs (props changed) vendor/file/3.37/Magdir/sendmail (props changed) vendor/file/3.37/Magdir/sequent (props changed) vendor/file/3.37/Magdir/sgml (props changed) vendor/file/3.37/Magdir/sharc (props changed) vendor/file/3.37/Magdir/sketch (props changed) vendor/file/3.37/Magdir/smalltalk (props changed) vendor/file/3.37/Magdir/sniffer (props changed) vendor/file/3.37/Magdir/softquad (props changed) vendor/file/3.37/Magdir/spectrum (props changed) vendor/file/3.37/Magdir/sun (props changed) vendor/file/3.37/Magdir/sysex (props changed) vendor/file/3.37/Magdir/teapot (props changed) vendor/file/3.37/Magdir/terminfo (props changed) vendor/file/3.37/Magdir/tex (props changed) vendor/file/3.37/Magdir/ti-8x (props changed) vendor/file/3.37/Magdir/timezone (props changed) vendor/file/3.37/Magdir/troff (props changed) vendor/file/3.37/Magdir/tuxedo (props changed) vendor/file/3.37/Magdir/typeset (props changed) vendor/file/3.37/Magdir/unknown (props changed) vendor/file/3.37/Magdir/uuencode (props changed) vendor/file/3.37/Magdir/varied.out (props changed) vendor/file/3.37/Magdir/vax (props changed) vendor/file/3.37/Magdir/vicar (props changed) vendor/file/3.37/Magdir/visx (props changed) vendor/file/3.37/Magdir/vms (props changed) vendor/file/3.37/Magdir/vmware (props changed) vendor/file/3.37/Magdir/vorbis (props changed) vendor/file/3.37/Magdir/wordperfect (props changed) vendor/file/3.37/Magdir/xdelta (props changed) vendor/file/3.37/Magdir/xenix (props changed) vendor/file/3.37/Magdir/zilog (props changed) vendor/file/3.37/Magdir/zyxel (props changed) vendor/file/3.39/Magdir/acorn (props changed) vendor/file/3.39/Magdir/adi (props changed) vendor/file/3.39/Magdir/adventure (props changed) vendor/file/3.39/Magdir/allegro (props changed) vendor/file/3.39/Magdir/alliant (props changed) vendor/file/3.39/Magdir/alpha (props changed) vendor/file/3.39/Magdir/amanda (props changed) vendor/file/3.39/Magdir/amigaos (props changed) vendor/file/3.39/Magdir/animation (props changed) vendor/file/3.39/Magdir/apl (props changed) vendor/file/3.39/Magdir/apple (props changed) vendor/file/3.39/Magdir/applix (props changed) vendor/file/3.39/Magdir/archive (props changed) vendor/file/3.39/Magdir/asterix (props changed) vendor/file/3.39/Magdir/att3b (props changed) vendor/file/3.39/Magdir/audio (props changed) vendor/file/3.39/Magdir/blender (props changed) vendor/file/3.39/Magdir/blit (props changed) vendor/file/3.39/Magdir/bsdi (props changed) vendor/file/3.39/Magdir/c-lang (props changed) vendor/file/3.39/Magdir/cddb (props changed) vendor/file/3.39/Magdir/chi (props changed) vendor/file/3.39/Magdir/cisco (props changed) vendor/file/3.39/Magdir/citrus (props changed) vendor/file/3.39/Magdir/claris (props changed) vendor/file/3.39/Magdir/clipper (props changed) vendor/file/3.39/Magdir/commands (props changed) vendor/file/3.39/Magdir/compress (props changed) vendor/file/3.39/Magdir/console (props changed) vendor/file/3.39/Magdir/convex (props changed) vendor/file/3.39/Magdir/ctags (props changed) vendor/file/3.39/Magdir/cvs (props changed) vendor/file/3.39/Magdir/database (props changed) vendor/file/3.39/Magdir/diamond (props changed) vendor/file/3.39/Magdir/diff (props changed) vendor/file/3.39/Magdir/digital (props changed) vendor/file/3.39/Magdir/dolby (props changed) vendor/file/3.39/Magdir/dump (props changed) vendor/file/3.39/Magdir/dyadic (props changed) vendor/file/3.39/Magdir/editors (props changed) vendor/file/3.39/Magdir/elf (props changed) vendor/file/3.39/Magdir/encore (props changed) vendor/file/3.39/Magdir/epoc (props changed) vendor/file/3.39/Magdir/filesystems (props changed) vendor/file/3.39/Magdir/flash (props changed) vendor/file/3.39/Magdir/fonts (props changed) vendor/file/3.39/Magdir/frame (props changed) vendor/file/3.39/Magdir/freebsd (props changed) vendor/file/3.39/Magdir/fsav (props changed) vendor/file/3.39/Magdir/gimp (props changed) vendor/file/3.39/Magdir/gnu (props changed) vendor/file/3.39/Magdir/grace (props changed) vendor/file/3.39/Magdir/gringotts (props changed) vendor/file/3.39/Magdir/hitachi-sh (props changed) vendor/file/3.39/Magdir/hp (props changed) vendor/file/3.39/Magdir/human68k (props changed) vendor/file/3.39/Magdir/ibm370 (props changed) vendor/file/3.39/Magdir/ibm6000 (props changed) vendor/file/3.39/Magdir/iff (props changed) vendor/file/3.39/Magdir/images (props changed) vendor/file/3.39/Magdir/impulse (props changed) vendor/file/3.39/Magdir/intel (props changed) vendor/file/3.39/Magdir/interleaf (props changed) vendor/file/3.39/Magdir/island (props changed) vendor/file/3.39/Magdir/ispell (props changed) vendor/file/3.39/Magdir/java (props changed) vendor/file/3.39/Magdir/jpeg (props changed) vendor/file/3.39/Magdir/karma (props changed) vendor/file/3.39/Magdir/lecter (props changed) vendor/file/3.39/Magdir/lex (props changed) vendor/file/3.39/Magdir/lif (props changed) vendor/file/3.39/Magdir/linux (props changed) vendor/file/3.39/Magdir/lisp (props changed) vendor/file/3.39/Magdir/mach (props changed) vendor/file/3.39/Magdir/macintosh (props changed) vendor/file/3.39/Magdir/magic (props changed) vendor/file/3.39/Magdir/mail.news (props changed) vendor/file/3.39/Magdir/maple (props changed) vendor/file/3.39/Magdir/mathematica (props changed) vendor/file/3.39/Magdir/mcrypt (props changed) vendor/file/3.39/Magdir/mime (props changed) vendor/file/3.39/Magdir/mips (props changed) vendor/file/3.39/Magdir/mirage (props changed) vendor/file/3.39/Magdir/mkid (props changed) vendor/file/3.39/Magdir/mlssa (props changed) vendor/file/3.39/Magdir/mmdf (props changed) vendor/file/3.39/Magdir/modem (props changed) vendor/file/3.39/Magdir/motorola (props changed) vendor/file/3.39/Magdir/msdos (props changed) vendor/file/3.39/Magdir/msvc (props changed) vendor/file/3.39/Magdir/natinst (props changed) vendor/file/3.39/Magdir/ncr (props changed) vendor/file/3.39/Magdir/netbsd (props changed) vendor/file/3.39/Magdir/netscape (props changed) vendor/file/3.39/Magdir/news (props changed) vendor/file/3.39/Magdir/nitpicker (props changed) vendor/file/3.39/Magdir/octave (props changed) vendor/file/3.39/Magdir/olf (props changed) vendor/file/3.39/Magdir/os2 (props changed) vendor/file/3.39/Magdir/os9 (props changed) vendor/file/3.39/Magdir/osf1 (props changed) vendor/file/3.39/Magdir/palm (props changed) vendor/file/3.39/Magdir/parix (props changed) vendor/file/3.39/Magdir/pbm (props changed) vendor/file/3.39/Magdir/pdf (props changed) vendor/file/3.39/Magdir/pdp (props changed) vendor/file/3.39/Magdir/perl (props changed) vendor/file/3.39/Magdir/pgp (props changed) vendor/file/3.39/Magdir/pkgadd (props changed) vendor/file/3.39/Magdir/plus5 (props changed) vendor/file/3.39/Magdir/printer (props changed) vendor/file/3.39/Magdir/project (props changed) vendor/file/3.39/Magdir/psdbms (props changed) vendor/file/3.39/Magdir/pulsar (props changed) vendor/file/3.39/Magdir/pyramid (props changed) vendor/file/3.39/Magdir/python (props changed) vendor/file/3.39/Magdir/riff (props changed) vendor/file/3.39/Magdir/rpm (props changed) vendor/file/3.39/Magdir/rtf (props changed) vendor/file/3.39/Magdir/sc (props changed) vendor/file/3.39/Magdir/sccs (props changed) vendor/file/3.39/Magdir/sendmail (props changed) vendor/file/3.39/Magdir/sequent (props changed) vendor/file/3.39/Magdir/sgml (props changed) vendor/file/3.39/Magdir/sharc (props changed) vendor/file/3.39/Magdir/sketch (props changed) vendor/file/3.39/Magdir/smalltalk (props changed) vendor/file/3.39/Magdir/sniffer (props changed) vendor/file/3.39/Magdir/softquad (props changed) vendor/file/3.39/Magdir/spectrum (props changed) vendor/file/3.39/Magdir/sun (props changed) vendor/file/3.39/Magdir/sysex (props changed) vendor/file/3.39/Magdir/teapot (props changed) vendor/file/3.39/Magdir/terminfo (props changed) vendor/file/3.39/Magdir/tex (props changed) vendor/file/3.39/Magdir/tgif (props changed) vendor/file/3.39/Magdir/ti-8x (props changed) vendor/file/3.39/Magdir/timezone (props changed) vendor/file/3.39/Magdir/troff (props changed) vendor/file/3.39/Magdir/tuxedo (props changed) vendor/file/3.39/Magdir/typeset (props changed) vendor/file/3.39/Magdir/unknown (props changed) vendor/file/3.39/Magdir/uuencode (props changed) vendor/file/3.39/Magdir/varied.out (props changed) vendor/file/3.39/Magdir/vax (props changed) vendor/file/3.39/Magdir/vicar (props changed) vendor/file/3.39/Magdir/visx (props changed) vendor/file/3.39/Magdir/vms (props changed) vendor/file/3.39/Magdir/vmware (props changed) vendor/file/3.39/Magdir/vorbis (props changed) vendor/file/3.39/Magdir/vxl (props changed) vendor/file/3.39/Magdir/wordperfect (props changed) vendor/file/3.39/Magdir/xdelta (props changed) vendor/file/3.39/Magdir/xenix (props changed) vendor/file/3.39/Magdir/zilog (props changed) vendor/file/3.39/Magdir/zyxel (props changed) vendor/file/3.40/Magdir/acorn (props changed) vendor/file/3.40/Magdir/adi (props changed) vendor/file/3.40/Magdir/adventure (props changed) vendor/file/3.40/Magdir/allegro (props changed) vendor/file/3.40/Magdir/alliant (props changed) vendor/file/3.40/Magdir/alpha (props changed) vendor/file/3.40/Magdir/amanda (props changed) vendor/file/3.40/Magdir/amigaos (props changed) vendor/file/3.40/Magdir/animation (props changed) vendor/file/3.40/Magdir/apl (props changed) vendor/file/3.40/Magdir/apple (props changed) vendor/file/3.40/Magdir/applix (props changed) vendor/file/3.40/Magdir/archive (props changed) vendor/file/3.40/Magdir/asterix (props changed) vendor/file/3.40/Magdir/att3b (props changed) vendor/file/3.40/Magdir/audio (props changed) vendor/file/3.40/Magdir/blender (props changed) vendor/file/3.40/Magdir/blit (props changed) vendor/file/3.40/Magdir/bsdi (props changed) vendor/file/3.40/Magdir/c-lang (props changed) vendor/file/3.40/Magdir/cddb (props changed) vendor/file/3.40/Magdir/chi (props changed) vendor/file/3.40/Magdir/cisco (props changed) vendor/file/3.40/Magdir/citrus (props changed) vendor/file/3.40/Magdir/claris (props changed) vendor/file/3.40/Magdir/clipper (props changed) vendor/file/3.40/Magdir/commands (props changed) vendor/file/3.40/Magdir/compress (props changed) vendor/file/3.40/Magdir/console (props changed) vendor/file/3.40/Magdir/convex (props changed) vendor/file/3.40/Magdir/ctags (props changed) vendor/file/3.40/Magdir/cvs (props changed) vendor/file/3.40/Magdir/database (props changed) vendor/file/3.40/Magdir/diamond (props changed) vendor/file/3.40/Magdir/diff (props changed) vendor/file/3.40/Magdir/digital (props changed) vendor/file/3.40/Magdir/dolby (props changed) vendor/file/3.40/Magdir/dump (props changed) vendor/file/3.40/Magdir/dyadic (props changed) vendor/file/3.40/Magdir/editors (props changed) vendor/file/3.40/Magdir/elf (props changed) vendor/file/3.40/Magdir/encore (props changed) vendor/file/3.40/Magdir/epoc (props changed) vendor/file/3.40/Magdir/filesystems (props changed) vendor/file/3.40/Magdir/flash (props changed) vendor/file/3.40/Magdir/fonts (props changed) vendor/file/3.40/Magdir/frame (props changed) vendor/file/3.40/Magdir/freebsd (props changed) vendor/file/3.40/Magdir/fsav (props changed) vendor/file/3.40/Magdir/gimp (props changed) vendor/file/3.40/Magdir/gnu (props changed) vendor/file/3.40/Magdir/grace (props changed) vendor/file/3.40/Magdir/gringotts (props changed) vendor/file/3.40/Magdir/hitachi-sh (props changed) vendor/file/3.40/Magdir/hp (props changed) vendor/file/3.40/Magdir/human68k (props changed) vendor/file/3.40/Magdir/ibm370 (props changed) vendor/file/3.40/Magdir/ibm6000 (props changed) vendor/file/3.40/Magdir/iff (props changed) vendor/file/3.40/Magdir/images (props changed) vendor/file/3.40/Magdir/intel (props changed) vendor/file/3.40/Magdir/interleaf (props changed) vendor/file/3.40/Magdir/island (props changed) vendor/file/3.40/Magdir/ispell (props changed) vendor/file/3.40/Magdir/java (props changed) vendor/file/3.40/Magdir/jpeg (props changed) vendor/file/3.40/Magdir/karma (props changed) vendor/file/3.40/Magdir/lecter (props changed) vendor/file/3.40/Magdir/lex (props changed) vendor/file/3.40/Magdir/lif (props changed) vendor/file/3.40/Magdir/linux (props changed) vendor/file/3.40/Magdir/lisp (props changed) vendor/file/3.40/Magdir/mach (props changed) vendor/file/3.40/Magdir/macintosh (props changed) vendor/file/3.40/Magdir/magic (props changed) vendor/file/3.40/Magdir/mail.news (props changed) vendor/file/3.40/Magdir/maple (props changed) vendor/file/3.40/Magdir/mathematica (props changed) vendor/file/3.40/Magdir/mcrypt (props changed) vendor/file/3.40/Magdir/mime (props changed) vendor/file/3.40/Magdir/mips (props changed) vendor/file/3.40/Magdir/mirage (props changed) vendor/file/3.40/Magdir/mkid (props changed) vendor/file/3.40/Magdir/mlssa (props changed) vendor/file/3.40/Magdir/mmdf (props changed) vendor/file/3.40/Magdir/modem (props changed) vendor/file/3.40/Magdir/motorola (props changed) vendor/file/3.40/Magdir/msdos (props changed) vendor/file/3.40/Magdir/msvc (props changed) vendor/file/3.40/Magdir/natinst (props changed) vendor/file/3.40/Magdir/ncr (props changed) vendor/file/3.40/Magdir/netbsd (props changed) vendor/file/3.40/Magdir/netscape (props changed) vendor/file/3.40/Magdir/news (props changed) vendor/file/3.40/Magdir/nitpicker (props changed) vendor/file/3.40/Magdir/octave (props changed) vendor/file/3.40/Magdir/olf (props changed) vendor/file/3.40/Magdir/os2 (props changed) vendor/file/3.40/Magdir/os9 (props changed) vendor/file/3.40/Magdir/osf1 (props changed) vendor/file/3.40/Magdir/palm (props changed) vendor/file/3.40/Magdir/parix (props changed) vendor/file/3.40/Magdir/pbm (props changed) vendor/file/3.40/Magdir/pdf (props changed) vendor/file/3.40/Magdir/pdp (props changed) vendor/file/3.40/Magdir/perl (props changed) vendor/file/3.40/Magdir/pgp (props changed) vendor/file/3.40/Magdir/pkgadd (props changed) vendor/file/3.40/Magdir/plus5 (props changed) vendor/file/3.40/Magdir/printer (props changed) vendor/file/3.40/Magdir/project (props changed) vendor/file/3.40/Magdir/psdbms (props changed) vendor/file/3.40/Magdir/pulsar (props changed) vendor/file/3.40/Magdir/pyramid (props changed) vendor/file/3.40/Magdir/python (props changed) vendor/file/3.40/Magdir/riff (props changed) vendor/file/3.40/Magdir/rpm (props changed) vendor/file/3.40/Magdir/rtf (props changed) vendor/file/3.40/Magdir/sc (props changed) vendor/file/3.40/Magdir/sccs (props changed) vendor/file/3.40/Magdir/sendmail (props changed) vendor/file/3.40/Magdir/sequent (props changed) vendor/file/3.40/Magdir/sgml (props changed) vendor/file/3.40/Magdir/sharc (props changed) vendor/file/3.40/Magdir/sketch (props changed) vendor/file/3.40/Magdir/smalltalk (props changed) vendor/file/3.40/Magdir/sniffer (props changed) vendor/file/3.40/Magdir/softquad (props changed) vendor/file/3.40/Magdir/spectrum (props changed) vendor/file/3.40/Magdir/sun (props changed) vendor/file/3.40/Magdir/sysex (props changed) vendor/file/3.40/Magdir/teapot (props changed) vendor/file/3.40/Magdir/terminfo (props changed) vendor/file/3.40/Magdir/tex (props changed) vendor/file/3.40/Magdir/tgif (props changed) vendor/file/3.40/Magdir/ti-8x (props changed) vendor/file/3.40/Magdir/timezone (props changed) vendor/file/3.40/Magdir/troff (props changed) vendor/file/3.40/Magdir/tuxedo (props changed) vendor/file/3.40/Magdir/typeset (props changed) vendor/file/3.40/Magdir/unknown (props changed) vendor/file/3.40/Magdir/uuencode (props changed) vendor/file/3.40/Magdir/varied.out (props changed) vendor/file/3.40/Magdir/vax (props changed) vendor/file/3.40/Magdir/vicar (props changed) vendor/file/3.40/Magdir/visx (props changed) vendor/file/3.40/Magdir/vms (props changed) vendor/file/3.40/Magdir/vmware (props changed) vendor/file/3.40/Magdir/vorbis (props changed) vendor/file/3.40/Magdir/vxl (props changed) vendor/file/3.40/Magdir/wordperfect (props changed) vendor/file/3.40/Magdir/xdelta (props changed) vendor/file/3.40/Magdir/xenix (props changed) vendor/file/3.40/Magdir/zilog (props changed) vendor/file/3.40/Magdir/zyxel (props changed) vendor/file/3.41/Magdir/acorn (props changed) vendor/file/3.41/Magdir/adi (props changed) vendor/file/3.41/Magdir/adventure (props changed) vendor/file/3.41/Magdir/allegro (props changed) vendor/file/3.41/Magdir/alliant (props changed) vendor/file/3.41/Magdir/alpha (props changed) vendor/file/3.41/Magdir/amanda (props changed) vendor/file/3.41/Magdir/amigaos (props changed) vendor/file/3.41/Magdir/animation (props changed) vendor/file/3.41/Magdir/apl (props changed) vendor/file/3.41/Magdir/apple (props changed) vendor/file/3.41/Magdir/applix (props changed) vendor/file/3.41/Magdir/archive (props changed) vendor/file/3.41/Magdir/asterix (props changed) vendor/file/3.41/Magdir/att3b (props changed) vendor/file/3.41/Magdir/audio (props changed) vendor/file/3.41/Magdir/blender (props changed) vendor/file/3.41/Magdir/blit (props changed) vendor/file/3.41/Magdir/bsdi (props changed) vendor/file/3.41/Magdir/c-lang (props changed) vendor/file/3.41/Magdir/cddb (props changed) vendor/file/3.41/Magdir/chi (props changed) vendor/file/3.41/Magdir/cisco (props changed) vendor/file/3.41/Magdir/citrus (props changed) vendor/file/3.41/Magdir/claris (props changed) vendor/file/3.41/Magdir/clipper (props changed) vendor/file/3.41/Magdir/commands (props changed) vendor/file/3.41/Magdir/compress (props changed) vendor/file/3.41/Magdir/console (props changed) vendor/file/3.41/Magdir/convex (props changed) vendor/file/3.41/Magdir/ctags (props changed) vendor/file/3.41/Magdir/cvs (props changed) vendor/file/3.41/Magdir/database (props changed) vendor/file/3.41/Magdir/diamond (props changed) vendor/file/3.41/Magdir/diff (props changed) vendor/file/3.41/Magdir/digital (props changed) vendor/file/3.41/Magdir/dolby (props changed) vendor/file/3.41/Magdir/dump (props changed) vendor/file/3.41/Magdir/dyadic (props changed) vendor/file/3.41/Magdir/editors (props changed) vendor/file/3.41/Magdir/elf (props changed) vendor/file/3.41/Magdir/encore (props changed) vendor/file/3.41/Magdir/epoc (props changed) vendor/file/3.41/Magdir/filesystems (props changed) vendor/file/3.41/Magdir/flash (props changed) vendor/file/3.41/Magdir/fonts (props changed) vendor/file/3.41/Magdir/frame (props changed) vendor/file/3.41/Magdir/freebsd (props changed) vendor/file/3.41/Magdir/fsav (props changed) vendor/file/3.41/Magdir/gimp (props changed) vendor/file/3.41/Magdir/gnu (props changed) vendor/file/3.41/Magdir/grace (props changed) vendor/file/3.41/Magdir/gringotts (props changed) vendor/file/3.41/Magdir/hdf (props changed) vendor/file/3.41/Magdir/hitachi-sh (props changed) vendor/file/3.41/Magdir/hp (props changed) vendor/file/3.41/Magdir/human68k (props changed) vendor/file/3.41/Magdir/ibm370 (props changed) vendor/file/3.41/Magdir/ibm6000 (props changed) vendor/file/3.41/Magdir/iff (props changed) vendor/file/3.41/Magdir/images (props changed) vendor/file/3.41/Magdir/intel (props changed) vendor/file/3.41/Magdir/interleaf (props changed) vendor/file/3.41/Magdir/island (props changed) vendor/file/3.41/Magdir/ispell (props changed) vendor/file/3.41/Magdir/java (props changed) vendor/file/3.41/Magdir/jpeg (props changed) vendor/file/3.41/Magdir/karma (props changed) vendor/file/3.41/Magdir/lecter (props changed) vendor/file/3.41/Magdir/lex (props changed) vendor/file/3.41/Magdir/lif (props changed) vendor/file/3.41/Magdir/linux (props changed) vendor/file/3.41/Magdir/lisp (props changed) vendor/file/3.41/Magdir/mach (props changed) vendor/file/3.41/Magdir/macintosh (props changed) vendor/file/3.41/Magdir/magic (props changed) vendor/file/3.41/Magdir/mail.news (props changed) vendor/file/3.41/Magdir/maple (props changed) vendor/file/3.41/Magdir/mathematica (props changed) vendor/file/3.41/Magdir/mcrypt (props changed) vendor/file/3.41/Magdir/mime (props changed) vendor/file/3.41/Magdir/mips (props changed) vendor/file/3.41/Magdir/mirage (props changed) vendor/file/3.41/Magdir/mkid (props changed) vendor/file/3.41/Magdir/mlssa (props changed) vendor/file/3.41/Magdir/mmdf (props changed) vendor/file/3.41/Magdir/modem (props changed) vendor/file/3.41/Magdir/motorola (props changed) vendor/file/3.41/Magdir/msdos (props changed) vendor/file/3.41/Magdir/msvc (props changed) vendor/file/3.41/Magdir/natinst (props changed) vendor/file/3.41/Magdir/ncr (props changed) vendor/file/3.41/Magdir/netbsd (props changed) vendor/file/3.41/Magdir/netscape (props changed) vendor/file/3.41/Magdir/news (props changed) vendor/file/3.41/Magdir/nitpicker (props changed) vendor/file/3.41/Magdir/octave (props changed) vendor/file/3.41/Magdir/olf (props changed) vendor/file/3.41/Magdir/os2 (props changed) vendor/file/3.41/Magdir/os9 (props changed) vendor/file/3.41/Magdir/osf1 (props changed) vendor/file/3.41/Magdir/palm (props changed) vendor/file/3.41/Magdir/parix (props changed) vendor/file/3.41/Magdir/pbm (props changed) vendor/file/3.41/Magdir/pdf (props changed) vendor/file/3.41/Magdir/pdp (props changed) vendor/file/3.41/Magdir/perl (props changed) vendor/file/3.41/Magdir/pgp (props changed) vendor/file/3.41/Magdir/pkgadd (props changed) vendor/file/3.41/Magdir/plus5 (props changed) vendor/file/3.41/Magdir/printer (props changed) vendor/file/3.41/Magdir/project (props changed) vendor/file/3.41/Magdir/psdbms (props changed) vendor/file/3.41/Magdir/pulsar (props changed) vendor/file/3.41/Magdir/pyramid (props changed) vendor/file/3.41/Magdir/python (props changed) vendor/file/3.41/Magdir/riff (props changed) vendor/file/3.41/Magdir/rpm (props changed) vendor/file/3.41/Magdir/rtf (props changed) vendor/file/3.41/Magdir/sc (props changed) vendor/file/3.41/Magdir/sccs (props changed) vendor/file/3.41/Magdir/sendmail (props changed) vendor/file/3.41/Magdir/sequent (props changed) vendor/file/3.41/Magdir/sgml (props changed) vendor/file/3.41/Magdir/sharc (props changed) vendor/file/3.41/Magdir/sketch (props changed) vendor/file/3.41/Magdir/smalltalk (props changed) vendor/file/3.41/Magdir/sniffer (props changed) vendor/file/3.41/Magdir/softquad (props changed) vendor/file/3.41/Magdir/spectrum (props changed) vendor/file/3.41/Magdir/sql (props changed) vendor/file/3.41/Magdir/sun (props changed) vendor/file/3.41/Magdir/sysex (props changed) vendor/file/3.41/Magdir/teapot (props changed) vendor/file/3.41/Magdir/terminfo (props changed) vendor/file/3.41/Magdir/tex (props changed) vendor/file/3.41/Magdir/tgif (props changed) vendor/file/3.41/Magdir/ti-8x (props changed) vendor/file/3.41/Magdir/timezone (props changed) vendor/file/3.41/Magdir/troff (props changed) vendor/file/3.41/Magdir/tuxedo (props changed) vendor/file/3.41/Magdir/typeset (props changed) vendor/file/3.41/Magdir/unknown (props changed) vendor/file/3.41/Magdir/uuencode (props changed) vendor/file/3.41/Magdir/varied.out (props changed) vendor/file/3.41/Magdir/vax (props changed) vendor/file/3.41/Magdir/vicar (props changed) vendor/file/3.41/Magdir/visx (props changed) vendor/file/3.41/Magdir/vms (props changed) vendor/file/3.41/Magdir/vmware (props changed) vendor/file/3.41/Magdir/vorbis (props changed) vendor/file/3.41/Magdir/vxl (props changed) vendor/file/3.41/Magdir/wordperfect (props changed) vendor/file/3.41/Magdir/xdelta (props changed) vendor/file/3.41/Magdir/xenix (props changed) vendor/file/3.41/Magdir/zilog (props changed) vendor/file/3.41/Magdir/zyxel (props changed) vendor/file/3.41/contrib/file/.cvsignore (props changed) vendor/file/4.10/Magdir/acorn (props changed) vendor/file/4.10/Magdir/adi (props changed) vendor/file/4.10/Magdir/adventure (props changed) vendor/file/4.10/Magdir/allegro (props changed) vendor/file/4.10/Magdir/alliant (props changed) vendor/file/4.10/Magdir/alpha (props changed) vendor/file/4.10/Magdir/amanda (props changed) vendor/file/4.10/Magdir/amigaos (props changed) vendor/file/4.10/Magdir/animation (props changed) vendor/file/4.10/Magdir/apl (props changed) vendor/file/4.10/Magdir/apple (props changed) vendor/file/4.10/Magdir/applix (props changed) vendor/file/4.10/Magdir/archive (props changed) vendor/file/4.10/Magdir/asterix (props changed) vendor/file/4.10/Magdir/att3b (props changed) vendor/file/4.10/Magdir/audio (props changed) vendor/file/4.10/Magdir/bFLT (props changed) vendor/file/4.10/Magdir/blender (props changed) vendor/file/4.10/Magdir/blit (props changed) vendor/file/4.10/Magdir/bout (props changed) vendor/file/4.10/Magdir/bsdi (props changed) vendor/file/4.10/Magdir/c-lang (props changed) vendor/file/4.10/Magdir/c64 (props changed) vendor/file/4.10/Magdir/cad (props changed) vendor/file/4.10/Magdir/cddb (props changed) vendor/file/4.10/Magdir/chi (props changed) vendor/file/4.10/Magdir/chord (props changed) vendor/file/4.10/Magdir/cisco (props changed) vendor/file/4.10/Magdir/citrus (props changed) vendor/file/4.10/Magdir/claris (props changed) vendor/file/4.10/Magdir/clipper (props changed) vendor/file/4.10/Magdir/commands (props changed) vendor/file/4.10/Magdir/communications (props changed) vendor/file/4.10/Magdir/compress (props changed) vendor/file/4.10/Magdir/console (props changed) vendor/file/4.10/Magdir/convex (props changed) vendor/file/4.10/Magdir/ctags (props changed) vendor/file/4.10/Magdir/dact (props changed) vendor/file/4.10/Magdir/database (props changed) vendor/file/4.10/Magdir/diamond (props changed) vendor/file/4.10/Magdir/diff (props changed) vendor/file/4.10/Magdir/digital (props changed) vendor/file/4.10/Magdir/dolby (props changed) vendor/file/4.10/Magdir/dump (props changed) vendor/file/4.10/Magdir/dyadic (props changed) vendor/file/4.10/Magdir/editors (props changed) vendor/file/4.10/Magdir/elf (props changed) vendor/file/4.10/Magdir/encore (props changed) vendor/file/4.10/Magdir/epoc (props changed) vendor/file/4.10/Magdir/fcs (props changed) vendor/file/4.10/Magdir/filesystems (props changed) vendor/file/4.10/Magdir/flash (props changed) vendor/file/4.10/Magdir/fonts (props changed) vendor/file/4.10/Magdir/frame (props changed) vendor/file/4.10/Magdir/freebsd (props changed) vendor/file/4.10/Magdir/fsav (props changed) vendor/file/4.10/Magdir/games (props changed) vendor/file/4.10/Magdir/gcc (props changed) vendor/file/4.10/Magdir/geos (props changed) vendor/file/4.10/Magdir/gimp (props changed) vendor/file/4.10/Magdir/gnu (props changed) vendor/file/4.10/Magdir/grace (props changed) vendor/file/4.10/Magdir/gringotts (props changed) vendor/file/4.10/Magdir/hdf (props changed) vendor/file/4.10/Magdir/hitachi-sh (props changed) vendor/file/4.10/Magdir/hp (props changed) vendor/file/4.10/Magdir/human68k (props changed) vendor/file/4.10/Magdir/ibm370 (props changed) vendor/file/4.10/Magdir/ibm6000 (props changed) vendor/file/4.10/Magdir/iff (props changed) vendor/file/4.10/Magdir/images (props changed) vendor/file/4.10/Magdir/intel (props changed) vendor/file/4.10/Magdir/interleaf (props changed) vendor/file/4.10/Magdir/island (props changed) vendor/file/4.10/Magdir/ispell (props changed) vendor/file/4.10/Magdir/java (props changed) vendor/file/4.10/Magdir/jpeg (props changed) vendor/file/4.10/Magdir/karma (props changed) vendor/file/4.10/Magdir/lecter (props changed) vendor/file/4.10/Magdir/lex (props changed) vendor/file/4.10/Magdir/lif (props changed) vendor/file/4.10/Magdir/linux (props changed) vendor/file/4.10/Magdir/lisp (props changed) vendor/file/4.10/Magdir/mach (props changed) vendor/file/4.10/Magdir/macintosh (props changed) vendor/file/4.10/Magdir/magic (props changed) vendor/file/4.10/Magdir/mail.news (props changed) vendor/file/4.10/Magdir/maple (props changed) vendor/file/4.10/Magdir/mathematica (props changed) vendor/file/4.10/Magdir/matroska (props changed) vendor/file/4.10/Magdir/mcrypt (props changed) vendor/file/4.10/Magdir/mime (props changed) vendor/file/4.10/Magdir/mips (props changed) vendor/file/4.10/Magdir/mirage (props changed) vendor/file/4.10/Magdir/misctools (props changed) vendor/file/4.10/Magdir/mkid (props changed) vendor/file/4.10/Magdir/mlssa (props changed) vendor/file/4.10/Magdir/mmdf (props changed) vendor/file/4.10/Magdir/modem (props changed) vendor/file/4.10/Magdir/motorola (props changed) vendor/file/4.10/Magdir/msdos (props changed) vendor/file/4.10/Magdir/msvc (props changed) vendor/file/4.10/Magdir/natinst (props changed) vendor/file/4.10/Magdir/ncr (props changed) vendor/file/4.10/Magdir/netbsd (props changed) vendor/file/4.10/Magdir/netscape (props changed) vendor/file/4.10/Magdir/news (props changed) vendor/file/4.10/Magdir/nitpicker (props changed) vendor/file/4.10/Magdir/ocaml (props changed) vendor/file/4.10/Magdir/octave (props changed) vendor/file/4.10/Magdir/olf (props changed) vendor/file/4.10/Magdir/os2 (props changed) vendor/file/4.10/Magdir/os9 (props changed) vendor/file/4.10/Magdir/osf1 (props changed) vendor/file/4.10/Magdir/palm (props changed) vendor/file/4.10/Magdir/parix (props changed) vendor/file/4.10/Magdir/pbm (props changed) vendor/file/4.10/Magdir/pdf (props changed) vendor/file/4.10/Magdir/pdp (props changed) vendor/file/4.10/Magdir/perl (props changed) vendor/file/4.10/Magdir/pgp (props changed) vendor/file/4.10/Magdir/pkgadd (props changed) vendor/file/4.10/Magdir/plan9 (props changed) vendor/file/4.10/Magdir/plus5 (props changed) vendor/file/4.10/Magdir/printer (props changed) vendor/file/4.10/Magdir/project (props changed) vendor/file/4.10/Magdir/psdbms (props changed) vendor/file/4.10/Magdir/psion (props changed) vendor/file/4.10/Magdir/pulsar (props changed) vendor/file/4.10/Magdir/pyramid (props changed) vendor/file/4.10/Magdir/python (props changed) vendor/file/4.10/Magdir/revision (props changed) vendor/file/4.10/Magdir/riff (props changed) vendor/file/4.10/Magdir/rpm (props changed) vendor/file/4.10/Magdir/rtf (props changed) vendor/file/4.10/Magdir/sc (props changed) vendor/file/4.10/Magdir/sccs (props changed) vendor/file/4.10/Magdir/sendmail (props changed) vendor/file/4.10/Magdir/sequent (props changed) vendor/file/4.10/Magdir/sgi (props changed) vendor/file/4.10/Magdir/sgml (props changed) vendor/file/4.10/Magdir/sharc (props changed) vendor/file/4.10/Magdir/sinclair (props changed) vendor/file/4.10/Magdir/sketch (props changed) vendor/file/4.10/Magdir/smalltalk (props changed) vendor/file/4.10/Magdir/sniffer (props changed) vendor/file/4.10/Magdir/softquad (props changed) vendor/file/4.10/Magdir/spec (props changed) vendor/file/4.10/Magdir/spectrum (props changed) vendor/file/4.10/Magdir/sql (props changed) vendor/file/4.10/Magdir/sun (props changed) vendor/file/4.10/Magdir/sysex (props changed) vendor/file/4.10/Magdir/teapot (props changed) vendor/file/4.10/Magdir/terminfo (props changed) vendor/file/4.10/Magdir/tex (props changed) vendor/file/4.10/Magdir/tgif (props changed) vendor/file/4.10/Magdir/ti-8x (props changed) vendor/file/4.10/Magdir/timezone (props changed) vendor/file/4.10/Magdir/troff (props changed) vendor/file/4.10/Magdir/tuxedo (props changed) vendor/file/4.10/Magdir/typeset (props changed) vendor/file/4.10/Magdir/unknown (props changed) vendor/file/4.10/Magdir/uuencode (props changed) vendor/file/4.10/Magdir/varied.out (props changed) vendor/file/4.10/Magdir/varied.script (props changed) vendor/file/4.10/Magdir/vax (props changed) vendor/file/4.10/Magdir/vicar (props changed) vendor/file/4.10/Magdir/visx (props changed) vendor/file/4.10/Magdir/vms (props changed) vendor/file/4.10/Magdir/vmware (props changed) vendor/file/4.10/Magdir/vorbis (props changed) vendor/file/4.10/Magdir/vxl (props changed) vendor/file/4.10/Magdir/wordprocessors (props changed) vendor/file/4.10/Magdir/xdelta (props changed) vendor/file/4.10/Magdir/xenix (props changed) vendor/file/4.10/Magdir/xwindows (props changed) vendor/file/4.10/Magdir/zilog (props changed) vendor/file/4.10/Magdir/zyxel (props changed) vendor/file/4.12/Magdir/acorn (props changed) vendor/file/4.12/Magdir/adi (props changed) vendor/file/4.12/Magdir/adventure (props changed) vendor/file/4.12/Magdir/allegro (props changed) vendor/file/4.12/Magdir/alliant (props changed) vendor/file/4.12/Magdir/alpha (props changed) vendor/file/4.12/Magdir/amanda (props changed) vendor/file/4.12/Magdir/amigaos (props changed) vendor/file/4.12/Magdir/animation (props changed) vendor/file/4.12/Magdir/apl (props changed) vendor/file/4.12/Magdir/apple (props changed) vendor/file/4.12/Magdir/applix (props changed) vendor/file/4.12/Magdir/archive (props changed) vendor/file/4.12/Magdir/asterix (props changed) vendor/file/4.12/Magdir/att3b (props changed) vendor/file/4.12/Magdir/audio (props changed) vendor/file/4.12/Magdir/bFLT (props changed) vendor/file/4.12/Magdir/blender (props changed) vendor/file/4.12/Magdir/blit (props changed) vendor/file/4.12/Magdir/bout (props changed) vendor/file/4.12/Magdir/bsdi (props changed) vendor/file/4.12/Magdir/c-lang (props changed) vendor/file/4.12/Magdir/c64 (props changed) vendor/file/4.12/Magdir/cad (props changed) vendor/file/4.12/Magdir/cddb (props changed) vendor/file/4.12/Magdir/chi (props changed) vendor/file/4.12/Magdir/chord (props changed) vendor/file/4.12/Magdir/cisco (props changed) vendor/file/4.12/Magdir/citrus (props changed) vendor/file/4.12/Magdir/claris (props changed) vendor/file/4.12/Magdir/clipper (props changed) vendor/file/4.12/Magdir/commands (props changed) vendor/file/4.12/Magdir/communications (props changed) vendor/file/4.12/Magdir/compress (props changed) vendor/file/4.12/Magdir/console (props changed) vendor/file/4.12/Magdir/convex (props changed) vendor/file/4.12/Magdir/ctags (props changed) vendor/file/4.12/Magdir/dact (props changed) vendor/file/4.12/Magdir/database (props changed) vendor/file/4.12/Magdir/diamond (props changed) vendor/file/4.12/Magdir/diff (props changed) vendor/file/4.12/Magdir/digital (props changed) vendor/file/4.12/Magdir/dolby (props changed) vendor/file/4.12/Magdir/dump (props changed) vendor/file/4.12/Magdir/dyadic (props changed) vendor/file/4.12/Magdir/editors (props changed) vendor/file/4.12/Magdir/elf (props changed) vendor/file/4.12/Magdir/encore (props changed) vendor/file/4.12/Magdir/epoc (props changed) vendor/file/4.12/Magdir/esri (props changed) vendor/file/4.12/Magdir/fcs (props changed) vendor/file/4.12/Magdir/filesystems (props changed) vendor/file/4.12/Magdir/flash (props changed) vendor/file/4.12/Magdir/fonts (props changed) vendor/file/4.12/Magdir/frame (props changed) vendor/file/4.12/Magdir/freebsd (props changed) vendor/file/4.12/Magdir/fsav (props changed) vendor/file/4.12/Magdir/games (props changed) vendor/file/4.12/Magdir/gcc (props changed) vendor/file/4.12/Magdir/geos (props changed) vendor/file/4.12/Magdir/gimp (props changed) vendor/file/4.12/Magdir/gnu (props changed) vendor/file/4.12/Magdir/grace (props changed) vendor/file/4.12/Magdir/gringotts (props changed) vendor/file/4.12/Magdir/hdf (props changed) vendor/file/4.12/Magdir/hitachi-sh (props changed) vendor/file/4.12/Magdir/hp (props changed) vendor/file/4.12/Magdir/human68k (props changed) vendor/file/4.12/Magdir/ibm370 (props changed) vendor/file/4.12/Magdir/ibm6000 (props changed) vendor/file/4.12/Magdir/iff (props changed) vendor/file/4.12/Magdir/images (props changed) vendor/file/4.12/Magdir/intel (props changed) vendor/file/4.12/Magdir/interleaf (props changed) vendor/file/4.12/Magdir/island (props changed) vendor/file/4.12/Magdir/ispell (props changed) vendor/file/4.12/Magdir/java (props changed) vendor/file/4.12/Magdir/jpeg (props changed) vendor/file/4.12/Magdir/karma (props changed) vendor/file/4.12/Magdir/lecter (props changed) vendor/file/4.12/Magdir/lex (props changed) vendor/file/4.12/Magdir/lif (props changed) vendor/file/4.12/Magdir/linux (props changed) vendor/file/4.12/Magdir/lisp (props changed) vendor/file/4.12/Magdir/mach (props changed) vendor/file/4.12/Magdir/macintosh (props changed) vendor/file/4.12/Magdir/magic (props changed) vendor/file/4.12/Magdir/mail.news (props changed) vendor/file/4.12/Magdir/maple (props changed) vendor/file/4.12/Magdir/mathematica (props changed) vendor/file/4.12/Magdir/matroska (props changed) vendor/file/4.12/Magdir/mcrypt (props changed) vendor/file/4.12/Magdir/mime (props changed) vendor/file/4.12/Magdir/mips (props changed) vendor/file/4.12/Magdir/mirage (props changed) vendor/file/4.12/Magdir/misctools (props changed) vendor/file/4.12/Magdir/mkid (props changed) vendor/file/4.12/Magdir/mlssa (props changed) vendor/file/4.12/Magdir/mmdf (props changed) vendor/file/4.12/Magdir/modem (props changed) vendor/file/4.12/Magdir/motorola (props changed) vendor/file/4.12/Magdir/msdos (props changed) vendor/file/4.12/Magdir/msvc (props changed) vendor/file/4.12/Magdir/natinst (props changed) vendor/file/4.12/Magdir/ncr (props changed) vendor/file/4.12/Magdir/netbsd (props changed) vendor/file/4.12/Magdir/netscape (props changed) vendor/file/4.12/Magdir/news (props changed) vendor/file/4.12/Magdir/nitpicker (props changed) vendor/file/4.12/Magdir/ocaml (props changed) vendor/file/4.12/Magdir/octave (props changed) vendor/file/4.12/Magdir/olf (props changed) vendor/file/4.12/Magdir/os2 (props changed) vendor/file/4.12/Magdir/os9 (props changed) vendor/file/4.12/Magdir/osf1 (props changed) vendor/file/4.12/Magdir/palm (props changed) vendor/file/4.12/Magdir/parix (props changed) vendor/file/4.12/Magdir/pbm (props changed) vendor/file/4.12/Magdir/pdf (props changed) vendor/file/4.12/Magdir/pdp (props changed) vendor/file/4.12/Magdir/perl (props changed) vendor/file/4.12/Magdir/pgp (props changed) vendor/file/4.12/Magdir/pkgadd (props changed) vendor/file/4.12/Magdir/plan9 (props changed) vendor/file/4.12/Magdir/plus5 (props changed) vendor/file/4.12/Magdir/printer (props changed) vendor/file/4.12/Magdir/project (props changed) vendor/file/4.12/Magdir/psdbms (props changed) vendor/file/4.12/Magdir/psion (props changed) vendor/file/4.12/Magdir/pulsar (props changed) vendor/file/4.12/Magdir/pyramid (props changed) vendor/file/4.12/Magdir/python (props changed) vendor/file/4.12/Magdir/revision (props changed) vendor/file/4.12/Magdir/riff (props changed) vendor/file/4.12/Magdir/rpm (props changed) vendor/file/4.12/Magdir/rtf (props changed) vendor/file/4.12/Magdir/sc (props changed) vendor/file/4.12/Magdir/sccs (props changed) vendor/file/4.12/Magdir/sendmail (props changed) vendor/file/4.12/Magdir/sequent (props changed) vendor/file/4.12/Magdir/sgi (props changed) vendor/file/4.12/Magdir/sgml (props changed) vendor/file/4.12/Magdir/sharc (props changed) vendor/file/4.12/Magdir/sinclair (props changed) vendor/file/4.12/Magdir/sketch (props changed) vendor/file/4.12/Magdir/smalltalk (props changed) vendor/file/4.12/Magdir/sniffer (props changed) vendor/file/4.12/Magdir/softquad (props changed) vendor/file/4.12/Magdir/spec (props changed) vendor/file/4.12/Magdir/spectrum (props changed) vendor/file/4.12/Magdir/sql (props changed) vendor/file/4.12/Magdir/sun (props changed) vendor/file/4.12/Magdir/sysex (props changed) vendor/file/4.12/Magdir/teapot (props changed) vendor/file/4.12/Magdir/terminfo (props changed) vendor/file/4.12/Magdir/tex (props changed) vendor/file/4.12/Magdir/tgif (props changed) vendor/file/4.12/Magdir/ti-8x (props changed) vendor/file/4.12/Magdir/timezone (props changed) vendor/file/4.12/Magdir/troff (props changed) vendor/file/4.12/Magdir/tuxedo (props changed) vendor/file/4.12/Magdir/typeset (props changed) vendor/file/4.12/Magdir/unknown (props changed) vendor/file/4.12/Magdir/uuencode (props changed) vendor/file/4.12/Magdir/varied.out (props changed) vendor/file/4.12/Magdir/varied.script (props changed) vendor/file/4.12/Magdir/vax (props changed) vendor/file/4.12/Magdir/vicar (props changed) vendor/file/4.12/Magdir/virtutech (props changed) vendor/file/4.12/Magdir/visx (props changed) vendor/file/4.12/Magdir/vms (props changed) vendor/file/4.12/Magdir/vmware (props changed) vendor/file/4.12/Magdir/vorbis (props changed) vendor/file/4.12/Magdir/vxl (props changed) vendor/file/4.12/Magdir/wordprocessors (props changed) vendor/file/4.12/Magdir/xdelta (props changed) vendor/file/4.12/Magdir/xenix (props changed) vendor/file/4.12/Magdir/xo65 (props changed) vendor/file/4.12/Magdir/xwindows (props changed) vendor/file/4.12/Magdir/zilog (props changed) vendor/file/4.12/Magdir/zyxel (props changed) vendor/file/4.17/Magdir/acorn (props changed) vendor/file/4.17/Magdir/adi (props changed) vendor/file/4.17/Magdir/adventure (props changed) vendor/file/4.17/Magdir/allegro (props changed) vendor/file/4.17/Magdir/alliant (props changed) vendor/file/4.17/Magdir/alpha (props changed) vendor/file/4.17/Magdir/amanda (props changed) vendor/file/4.17/Magdir/amigaos (props changed) vendor/file/4.17/Magdir/animation (props changed) vendor/file/4.17/Magdir/apl (props changed) vendor/file/4.17/Magdir/apple (props changed) vendor/file/4.17/Magdir/applix (props changed) vendor/file/4.17/Magdir/archive (props changed) vendor/file/4.17/Magdir/asterix (props changed) vendor/file/4.17/Magdir/att3b (props changed) vendor/file/4.17/Magdir/audio (props changed) vendor/file/4.17/Magdir/basis (props changed) vendor/file/4.17/Magdir/bflt (props changed) vendor/file/4.17/Magdir/blender (props changed) vendor/file/4.17/Magdir/blit (props changed) vendor/file/4.17/Magdir/bout (props changed) vendor/file/4.17/Magdir/bsdi (props changed) vendor/file/4.17/Magdir/btsnoop (props changed) vendor/file/4.17/Magdir/c-lang (props changed) vendor/file/4.17/Magdir/c64 (props changed) vendor/file/4.17/Magdir/cad (props changed) vendor/file/4.17/Magdir/cddb (props changed) vendor/file/4.17/Magdir/chord (props changed) vendor/file/4.17/Magdir/cisco (props changed) vendor/file/4.17/Magdir/citrus (props changed) vendor/file/4.17/Magdir/claris (props changed) vendor/file/4.17/Magdir/clipper (props changed) vendor/file/4.17/Magdir/commands (props changed) vendor/file/4.17/Magdir/communications (props changed) vendor/file/4.17/Magdir/compress (props changed) vendor/file/4.17/Magdir/console (props changed) vendor/file/4.17/Magdir/convex (props changed) vendor/file/4.17/Magdir/cracklib (props changed) vendor/file/4.17/Magdir/ctags (props changed) vendor/file/4.17/Magdir/dact (props changed) vendor/file/4.17/Magdir/database (props changed) vendor/file/4.17/Magdir/diamond (props changed) vendor/file/4.17/Magdir/diff (props changed) vendor/file/4.17/Magdir/digital (props changed) vendor/file/4.17/Magdir/dolby (props changed) vendor/file/4.17/Magdir/dump (props changed) vendor/file/4.17/Magdir/dyadic (props changed) vendor/file/4.17/Magdir/editors (props changed) vendor/file/4.17/Magdir/elf (props changed) vendor/file/4.17/Magdir/encore (props changed) vendor/file/4.17/Magdir/epoc (props changed) vendor/file/4.17/Magdir/esri (props changed) vendor/file/4.17/Magdir/fcs (props changed) vendor/file/4.17/Magdir/filesystems (props changed) vendor/file/4.17/Magdir/flash (props changed) vendor/file/4.17/Magdir/fonts (props changed) vendor/file/4.17/Magdir/frame (props changed) vendor/file/4.17/Magdir/freebsd (props changed) vendor/file/4.17/Magdir/fsav (props changed) vendor/file/4.17/Magdir/games (props changed) vendor/file/4.17/Magdir/gcc (props changed) vendor/file/4.17/Magdir/geos (props changed) vendor/file/4.17/Magdir/gimp (props changed) vendor/file/4.17/Magdir/gnu (props changed) vendor/file/4.17/Magdir/grace (props changed) vendor/file/4.17/Magdir/gringotts (props changed) vendor/file/4.17/Magdir/hitachi-sh (props changed) vendor/file/4.17/Magdir/hp (props changed) vendor/file/4.17/Magdir/human68k (props changed) vendor/file/4.17/Magdir/ibm370 (props changed) vendor/file/4.17/Magdir/ibm6000 (props changed) vendor/file/4.17/Magdir/iff (props changed) vendor/file/4.17/Magdir/images (props changed) vendor/file/4.17/Magdir/intel (props changed) vendor/file/4.17/Magdir/interleaf (props changed) vendor/file/4.17/Magdir/island (props changed) vendor/file/4.17/Magdir/ispell (props changed) vendor/file/4.17/Magdir/java (props changed) vendor/file/4.17/Magdir/jpeg (props changed) vendor/file/4.17/Magdir/karma (props changed) vendor/file/4.17/Magdir/lecter (props changed) vendor/file/4.17/Magdir/lex (props changed) vendor/file/4.17/Magdir/lif (props changed) vendor/file/4.17/Magdir/linux (props changed) vendor/file/4.17/Magdir/lisp (props changed) vendor/file/4.17/Magdir/mach (props changed) vendor/file/4.17/Magdir/macintosh (props changed) vendor/file/4.17/Magdir/magic (props changed) vendor/file/4.17/Magdir/mail.news (props changed) vendor/file/4.17/Magdir/maple (props changed) vendor/file/4.17/Magdir/mathematica (props changed) vendor/file/4.17/Magdir/matroska (props changed) vendor/file/4.17/Magdir/mcrypt (props changed) vendor/file/4.17/Magdir/mime (props changed) vendor/file/4.17/Magdir/mips (props changed) vendor/file/4.17/Magdir/mirage (props changed) vendor/file/4.17/Magdir/misctools (props changed) vendor/file/4.17/Magdir/mkid (props changed) vendor/file/4.17/Magdir/mlssa (props changed) vendor/file/4.17/Magdir/mmdf (props changed) vendor/file/4.17/Magdir/modem (props changed) vendor/file/4.17/Magdir/motorola (props changed) vendor/file/4.17/Magdir/msdos (props changed) vendor/file/4.17/Magdir/msvc (props changed) vendor/file/4.17/Magdir/mup (props changed) vendor/file/4.17/Magdir/natinst (props changed) vendor/file/4.17/Magdir/ncr (props changed) vendor/file/4.17/Magdir/netbsd (props changed) vendor/file/4.17/Magdir/netscape (props changed) vendor/file/4.17/Magdir/news (props changed) vendor/file/4.17/Magdir/nitpicker (props changed) vendor/file/4.17/Magdir/ocaml (props changed) vendor/file/4.17/Magdir/octave (props changed) vendor/file/4.17/Magdir/olf (props changed) vendor/file/4.17/Magdir/os2 (props changed) vendor/file/4.17/Magdir/os9 (props changed) vendor/file/4.17/Magdir/osf1 (props changed) vendor/file/4.17/Magdir/palm (props changed) vendor/file/4.17/Magdir/parix (props changed) vendor/file/4.17/Magdir/pbm (props changed) vendor/file/4.17/Magdir/pdf (props changed) vendor/file/4.17/Magdir/pdp (props changed) vendor/file/4.17/Magdir/perl (props changed) vendor/file/4.17/Magdir/pgp (props changed) vendor/file/4.17/Magdir/pkgadd (props changed) vendor/file/4.17/Magdir/plan9 (props changed) vendor/file/4.17/Magdir/plus5 (props changed) vendor/file/4.17/Magdir/printer (props changed) vendor/file/4.17/Magdir/project (props changed) vendor/file/4.17/Magdir/psdbms (props changed) vendor/file/4.17/Magdir/psion (props changed) vendor/file/4.17/Magdir/pulsar (props changed) vendor/file/4.17/Magdir/pyramid (props changed) vendor/file/4.17/Magdir/python (props changed) vendor/file/4.17/Magdir/revision (props changed) vendor/file/4.17/Magdir/riff (props changed) vendor/file/4.17/Magdir/rpm (props changed) vendor/file/4.17/Magdir/rtf (props changed) vendor/file/4.17/Magdir/sc (props changed) vendor/file/4.17/Magdir/sccs (props changed) vendor/file/4.17/Magdir/scientific (props changed) vendor/file/4.17/Magdir/sendmail (props changed) vendor/file/4.17/Magdir/sequent (props changed) vendor/file/4.17/Magdir/sgi (props changed) vendor/file/4.17/Magdir/sgml (props changed) vendor/file/4.17/Magdir/sharc (props changed) vendor/file/4.17/Magdir/sinclair (props changed) vendor/file/4.17/Magdir/sketch (props changed) vendor/file/4.17/Magdir/smalltalk (props changed) vendor/file/4.17/Magdir/sniffer (props changed) vendor/file/4.17/Magdir/softquad (props changed) vendor/file/4.17/Magdir/spec (props changed) vendor/file/4.17/Magdir/spectrum (props changed) vendor/file/4.17/Magdir/sql (props changed) vendor/file/4.17/Magdir/sun (props changed) vendor/file/4.17/Magdir/sysex (props changed) vendor/file/4.17/Magdir/teapot (props changed) vendor/file/4.17/Magdir/terminfo (props changed) vendor/file/4.17/Magdir/tex (props changed) vendor/file/4.17/Magdir/tgif (props changed) vendor/file/4.17/Magdir/ti-8x (props changed) vendor/file/4.17/Magdir/timezone (props changed) vendor/file/4.17/Magdir/troff (props changed) vendor/file/4.17/Magdir/tuxedo (props changed) vendor/file/4.17/Magdir/typeset (props changed) vendor/file/4.17/Magdir/unknown (props changed) vendor/file/4.17/Magdir/uuencode (props changed) vendor/file/4.17/Magdir/varied.out (props changed) vendor/file/4.17/Magdir/varied.script (props changed) vendor/file/4.17/Magdir/vax (props changed) vendor/file/4.17/Magdir/vicar (props changed) vendor/file/4.17/Magdir/virtutech (props changed) vendor/file/4.17/Magdir/visx (props changed) vendor/file/4.17/Magdir/vms (props changed) vendor/file/4.17/Magdir/vmware (props changed) vendor/file/4.17/Magdir/vorbis (props changed) vendor/file/4.17/Magdir/vxl (props changed) vendor/file/4.17/Magdir/wordprocessors (props changed) vendor/file/4.17/Magdir/xdelta (props changed) vendor/file/4.17/Magdir/xenix (props changed) vendor/file/4.17/Magdir/xo65 (props changed) vendor/file/4.17/Magdir/xwindows (props changed) vendor/file/4.17/Magdir/zilog (props changed) vendor/file/4.17/Magdir/zyxel (props changed) vendor/file/4.17a/Magdir/acorn (props changed) vendor/file/4.17a/Magdir/adi (props changed) vendor/file/4.17a/Magdir/adventure (props changed) vendor/file/4.17a/Magdir/allegro (props changed) vendor/file/4.17a/Magdir/alliant (props changed) vendor/file/4.17a/Magdir/alpha (props changed) vendor/file/4.17a/Magdir/amanda (props changed) vendor/file/4.17a/Magdir/amigaos (props changed) vendor/file/4.17a/Magdir/animation (props changed) vendor/file/4.17a/Magdir/apl (props changed) vendor/file/4.17a/Magdir/apple (props changed) vendor/file/4.17a/Magdir/applix (props changed) vendor/file/4.17a/Magdir/archive (props changed) vendor/file/4.17a/Magdir/asterix (props changed) vendor/file/4.17a/Magdir/att3b (props changed) vendor/file/4.17a/Magdir/audio (props changed) vendor/file/4.17a/Magdir/bFLT (props changed) vendor/file/4.17a/Magdir/basis (props changed) vendor/file/4.17a/Magdir/bflt (props changed) vendor/file/4.17a/Magdir/blender (props changed) vendor/file/4.17a/Magdir/blit (props changed) vendor/file/4.17a/Magdir/bout (props changed) vendor/file/4.17a/Magdir/bsdi (props changed) vendor/file/4.17a/Magdir/btsnoop (props changed) vendor/file/4.17a/Magdir/c-lang (props changed) vendor/file/4.17a/Magdir/c64 (props changed) vendor/file/4.17a/Magdir/cad (props changed) vendor/file/4.17a/Magdir/cddb (props changed) vendor/file/4.17a/Magdir/chi (props changed) vendor/file/4.17a/Magdir/chord (props changed) vendor/file/4.17a/Magdir/cisco (props changed) vendor/file/4.17a/Magdir/citrus (props changed) vendor/file/4.17a/Magdir/claris (props changed) vendor/file/4.17a/Magdir/clipper (props changed) vendor/file/4.17a/Magdir/commands (props changed) vendor/file/4.17a/Magdir/communications (props changed) vendor/file/4.17a/Magdir/compress (props changed) vendor/file/4.17a/Magdir/console (props changed) vendor/file/4.17a/Magdir/convex (props changed) vendor/file/4.17a/Magdir/cracklib (props changed) vendor/file/4.17a/Magdir/ctags (props changed) vendor/file/4.17a/Magdir/cvs (props changed) vendor/file/4.17a/Magdir/dact (props changed) vendor/file/4.17a/Magdir/database (props changed) vendor/file/4.17a/Magdir/diamond (props changed) vendor/file/4.17a/Magdir/diff (props changed) vendor/file/4.17a/Magdir/digital (props changed) vendor/file/4.17a/Magdir/dolby (props changed) vendor/file/4.17a/Magdir/dump (props changed) vendor/file/4.17a/Magdir/dyadic (props changed) vendor/file/4.17a/Magdir/editors (props changed) vendor/file/4.17a/Magdir/elf (props changed) vendor/file/4.17a/Magdir/encore (props changed) vendor/file/4.17a/Magdir/epoc (props changed) vendor/file/4.17a/Magdir/esri (props changed) vendor/file/4.17a/Magdir/fcs (props changed) vendor/file/4.17a/Magdir/filesystems (props changed) vendor/file/4.17a/Magdir/flash (props changed) vendor/file/4.17a/Magdir/fonts (props changed) vendor/file/4.17a/Magdir/frame (props changed) vendor/file/4.17a/Magdir/freebsd (props changed) vendor/file/4.17a/Magdir/fsav (props changed) vendor/file/4.17a/Magdir/games (props changed) vendor/file/4.17a/Magdir/gcc (props changed) vendor/file/4.17a/Magdir/geos (props changed) vendor/file/4.17a/Magdir/gimp (props changed) vendor/file/4.17a/Magdir/gnu (props changed) vendor/file/4.17a/Magdir/grace (props changed) vendor/file/4.17a/Magdir/gringotts (props changed) vendor/file/4.17a/Magdir/hdf (props changed) vendor/file/4.17a/Magdir/hitachi-sh (props changed) vendor/file/4.17a/Magdir/hp (props changed) vendor/file/4.17a/Magdir/human68k (props changed) vendor/file/4.17a/Magdir/ibm370 (props changed) vendor/file/4.17a/Magdir/ibm6000 (props changed) vendor/file/4.17a/Magdir/iff (props changed) vendor/file/4.17a/Magdir/images (props changed) vendor/file/4.17a/Magdir/impulse (props changed) vendor/file/4.17a/Magdir/intel (props changed) vendor/file/4.17a/Magdir/interleaf (props changed) vendor/file/4.17a/Magdir/island (props changed) vendor/file/4.17a/Magdir/ispell (props changed) vendor/file/4.17a/Magdir/java (props changed) vendor/file/4.17a/Magdir/jpeg (props changed) vendor/file/4.17a/Magdir/karma (props changed) vendor/file/4.17a/Magdir/lecter (props changed) vendor/file/4.17a/Magdir/lex (props changed) vendor/file/4.17a/Magdir/lif (props changed) vendor/file/4.17a/Magdir/linux (props changed) vendor/file/4.17a/Magdir/lisp (props changed) vendor/file/4.17a/Magdir/mach (props changed) vendor/file/4.17a/Magdir/macintosh (props changed) vendor/file/4.17a/Magdir/magic (props changed) vendor/file/4.17a/Magdir/mail.news (props changed) vendor/file/4.17a/Magdir/maple (props changed) vendor/file/4.17a/Magdir/mathematica (props changed) vendor/file/4.17a/Magdir/matroska (props changed) vendor/file/4.17a/Magdir/mcrypt (props changed) vendor/file/4.17a/Magdir/mime (props changed) vendor/file/4.17a/Magdir/mips (props changed) vendor/file/4.17a/Magdir/mirage (props changed) vendor/file/4.17a/Magdir/misctools (props changed) vendor/file/4.17a/Magdir/mkid (props changed) vendor/file/4.17a/Magdir/mlssa (props changed) vendor/file/4.17a/Magdir/mmdf (props changed) vendor/file/4.17a/Magdir/modem (props changed) vendor/file/4.17a/Magdir/motorola (props changed) vendor/file/4.17a/Magdir/msdos (props changed) vendor/file/4.17a/Magdir/msvc (props changed) vendor/file/4.17a/Magdir/mup (props changed) vendor/file/4.17a/Magdir/natinst (props changed) vendor/file/4.17a/Magdir/ncr (props changed) vendor/file/4.17a/Magdir/netbsd (props changed) vendor/file/4.17a/Magdir/netscape (props changed) vendor/file/4.17a/Magdir/news (props changed) vendor/file/4.17a/Magdir/nitpicker (props changed) vendor/file/4.17a/Magdir/ocaml (props changed) vendor/file/4.17a/Magdir/octave (props changed) vendor/file/4.17a/Magdir/olf (props changed) vendor/file/4.17a/Magdir/os2 (props changed) vendor/file/4.17a/Magdir/os9 (props changed) vendor/file/4.17a/Magdir/osf1 (props changed) vendor/file/4.17a/Magdir/palm (props changed) vendor/file/4.17a/Magdir/parix (props changed) vendor/file/4.17a/Magdir/pbm (props changed) vendor/file/4.17a/Magdir/pdf (props changed) vendor/file/4.17a/Magdir/pdp (props changed) vendor/file/4.17a/Magdir/perl (props changed) vendor/file/4.17a/Magdir/pgp (props changed) vendor/file/4.17a/Magdir/pkgadd (props changed) vendor/file/4.17a/Magdir/plan9 (props changed) vendor/file/4.17a/Magdir/plus5 (props changed) vendor/file/4.17a/Magdir/printer (props changed) vendor/file/4.17a/Magdir/project (props changed) vendor/file/4.17a/Magdir/psdbms (props changed) vendor/file/4.17a/Magdir/psion (props changed) vendor/file/4.17a/Magdir/pulsar (props changed) vendor/file/4.17a/Magdir/pyramid (props changed) vendor/file/4.17a/Magdir/python (props changed) vendor/file/4.17a/Magdir/revision (props changed) vendor/file/4.17a/Magdir/riff (props changed) vendor/file/4.17a/Magdir/rpm (props changed) vendor/file/4.17a/Magdir/rtf (props changed) vendor/file/4.17a/Magdir/sc (props changed) vendor/file/4.17a/Magdir/sccs (props changed) vendor/file/4.17a/Magdir/scientific (props changed) vendor/file/4.17a/Magdir/sendmail (props changed) vendor/file/4.17a/Magdir/sequent (props changed) vendor/file/4.17a/Magdir/sgi (props changed) vendor/file/4.17a/Magdir/sgml (props changed) vendor/file/4.17a/Magdir/sharc (props changed) vendor/file/4.17a/Magdir/sinclair (props changed) vendor/file/4.17a/Magdir/sketch (props changed) vendor/file/4.17a/Magdir/smalltalk (props changed) vendor/file/4.17a/Magdir/sniffer (props changed) vendor/file/4.17a/Magdir/softquad (props changed) vendor/file/4.17a/Magdir/spec (props changed) vendor/file/4.17a/Magdir/spectrum (props changed) vendor/file/4.17a/Magdir/sql (props changed) vendor/file/4.17a/Magdir/sun (props changed) vendor/file/4.17a/Magdir/sysex (props changed) vendor/file/4.17a/Magdir/teapot (props changed) vendor/file/4.17a/Magdir/terminfo (props changed) vendor/file/4.17a/Magdir/tex (props changed) vendor/file/4.17a/Magdir/tgif (props changed) vendor/file/4.17a/Magdir/ti-8x (props changed) vendor/file/4.17a/Magdir/timezone (props changed) vendor/file/4.17a/Magdir/troff (props changed) vendor/file/4.17a/Magdir/tuxedo (props changed) vendor/file/4.17a/Magdir/typeset (props changed) vendor/file/4.17a/Magdir/unknown (props changed) vendor/file/4.17a/Magdir/uuencode (props changed) vendor/file/4.17a/Magdir/varied.out (props changed) vendor/file/4.17a/Magdir/varied.script (props changed) vendor/file/4.17a/Magdir/vax (props changed) vendor/file/4.17a/Magdir/vicar (props changed) vendor/file/4.17a/Magdir/virtutech (props changed) vendor/file/4.17a/Magdir/visx (props changed) vendor/file/4.17a/Magdir/vms (props changed) vendor/file/4.17a/Magdir/vmware (props changed) vendor/file/4.17a/Magdir/vorbis (props changed) vendor/file/4.17a/Magdir/vxl (props changed) vendor/file/4.17a/Magdir/wordperfect (props changed) vendor/file/4.17a/Magdir/wordprocessors (props changed) vendor/file/4.17a/Magdir/xdelta (props changed) vendor/file/4.17a/Magdir/xenix (props changed) vendor/file/4.17a/Magdir/xo65 (props changed) vendor/file/4.17a/Magdir/xwindows (props changed) vendor/file/4.17a/Magdir/zilog (props changed) vendor/file/4.17a/Magdir/zyxel (props changed) vendor/file/4.17a/contrib/file/.cvsignore (props changed) vendor/file/4.19/Magdir/acorn (props changed) vendor/file/4.19/Magdir/adi (props changed) vendor/file/4.19/Magdir/adventure (props changed) vendor/file/4.19/Magdir/allegro (props changed) vendor/file/4.19/Magdir/alliant (props changed) vendor/file/4.19/Magdir/alpha (props changed) vendor/file/4.19/Magdir/amanda (props changed) vendor/file/4.19/Magdir/amigaos (props changed) vendor/file/4.19/Magdir/animation (props changed) vendor/file/4.19/Magdir/apl (props changed) vendor/file/4.19/Magdir/apple (props changed) vendor/file/4.19/Magdir/applix (props changed) vendor/file/4.19/Magdir/archive (props changed) vendor/file/4.19/Magdir/asterix (props changed) vendor/file/4.19/Magdir/att3b (props changed) vendor/file/4.19/Magdir/audio (props changed) vendor/file/4.19/Magdir/basis (props changed) vendor/file/4.19/Magdir/bflt (props changed) vendor/file/4.19/Magdir/blender (props changed) vendor/file/4.19/Magdir/blit (props changed) vendor/file/4.19/Magdir/bout (props changed) vendor/file/4.19/Magdir/bsdi (props changed) vendor/file/4.19/Magdir/btsnoop (props changed) vendor/file/4.19/Magdir/c-lang (props changed) vendor/file/4.19/Magdir/c64 (props changed) vendor/file/4.19/Magdir/cad (props changed) vendor/file/4.19/Magdir/cafebabe (props changed) vendor/file/4.19/Magdir/cddb (props changed) vendor/file/4.19/Magdir/chord (props changed) vendor/file/4.19/Magdir/cisco (props changed) vendor/file/4.19/Magdir/citrus (props changed) vendor/file/4.19/Magdir/claris (props changed) vendor/file/4.19/Magdir/clipper (props changed) vendor/file/4.19/Magdir/commands (props changed) vendor/file/4.19/Magdir/communications (props changed) vendor/file/4.19/Magdir/compress (props changed) vendor/file/4.19/Magdir/console (props changed) vendor/file/4.19/Magdir/convex (props changed) vendor/file/4.19/Magdir/cracklib (props changed) vendor/file/4.19/Magdir/ctags (props changed) vendor/file/4.19/Magdir/dact (props changed) vendor/file/4.19/Magdir/database (props changed) vendor/file/4.19/Magdir/diamond (props changed) vendor/file/4.19/Magdir/diff (props changed) vendor/file/4.19/Magdir/digital (props changed) vendor/file/4.19/Magdir/dolby (props changed) vendor/file/4.19/Magdir/dump (props changed) vendor/file/4.19/Magdir/dyadic (props changed) vendor/file/4.19/Magdir/editors (props changed) vendor/file/4.19/Magdir/elf (props changed) vendor/file/4.19/Magdir/encore (props changed) vendor/file/4.19/Magdir/epoc (props changed) vendor/file/4.19/Magdir/esri (props changed) vendor/file/4.19/Magdir/fcs (props changed) vendor/file/4.19/Magdir/filesystems (props changed) vendor/file/4.19/Magdir/flash (props changed) vendor/file/4.19/Magdir/fonts (props changed) vendor/file/4.19/Magdir/frame (props changed) vendor/file/4.19/Magdir/freebsd (props changed) vendor/file/4.19/Magdir/fsav (props changed) vendor/file/4.19/Magdir/games (props changed) vendor/file/4.19/Magdir/gcc (props changed) vendor/file/4.19/Magdir/geos (props changed) vendor/file/4.19/Magdir/gimp (props changed) vendor/file/4.19/Magdir/gnu (props changed) vendor/file/4.19/Magdir/grace (props changed) vendor/file/4.19/Magdir/gringotts (props changed) vendor/file/4.19/Magdir/hitachi-sh (props changed) vendor/file/4.19/Magdir/hp (props changed) vendor/file/4.19/Magdir/human68k (props changed) vendor/file/4.19/Magdir/ibm370 (props changed) vendor/file/4.19/Magdir/ibm6000 (props changed) vendor/file/4.19/Magdir/iff (props changed) vendor/file/4.19/Magdir/images (props changed) vendor/file/4.19/Magdir/intel (props changed) vendor/file/4.19/Magdir/interleaf (props changed) vendor/file/4.19/Magdir/island (props changed) vendor/file/4.19/Magdir/ispell (props changed) vendor/file/4.19/Magdir/java (props changed) vendor/file/4.19/Magdir/jpeg (props changed) vendor/file/4.19/Magdir/karma (props changed) vendor/file/4.19/Magdir/lecter (props changed) vendor/file/4.19/Magdir/lex (props changed) vendor/file/4.19/Magdir/lif (props changed) vendor/file/4.19/Magdir/linux (props changed) vendor/file/4.19/Magdir/lisp (props changed) vendor/file/4.19/Magdir/mach (props changed) vendor/file/4.19/Magdir/macintosh (props changed) vendor/file/4.19/Magdir/magic (props changed) vendor/file/4.19/Magdir/mail.news (props changed) vendor/file/4.19/Magdir/maple (props changed) vendor/file/4.19/Magdir/mathematica (props changed) vendor/file/4.19/Magdir/matroska (props changed) vendor/file/4.19/Magdir/mcrypt (props changed) vendor/file/4.19/Magdir/mime (props changed) vendor/file/4.19/Magdir/mips (props changed) vendor/file/4.19/Magdir/mirage (props changed) vendor/file/4.19/Magdir/misctools (props changed) vendor/file/4.19/Magdir/mkid (props changed) vendor/file/4.19/Magdir/mlssa (props changed) vendor/file/4.19/Magdir/mmdf (props changed) vendor/file/4.19/Magdir/modem (props changed) vendor/file/4.19/Magdir/motorola (props changed) vendor/file/4.19/Magdir/msdos (props changed) vendor/file/4.19/Magdir/msvc (props changed) vendor/file/4.19/Magdir/mup (props changed) vendor/file/4.19/Magdir/natinst (props changed) vendor/file/4.19/Magdir/ncr (props changed) vendor/file/4.19/Magdir/netbsd (props changed) vendor/file/4.19/Magdir/netscape (props changed) vendor/file/4.19/Magdir/news (props changed) vendor/file/4.19/Magdir/nitpicker (props changed) vendor/file/4.19/Magdir/ocaml (props changed) vendor/file/4.19/Magdir/octave (props changed) vendor/file/4.19/Magdir/olf (props changed) vendor/file/4.19/Magdir/os2 (props changed) vendor/file/4.19/Magdir/os400 (props changed) vendor/file/4.19/Magdir/os9 (props changed) vendor/file/4.19/Magdir/osf1 (props changed) vendor/file/4.19/Magdir/palm (props changed) vendor/file/4.19/Magdir/parix (props changed) vendor/file/4.19/Magdir/pbm (props changed) vendor/file/4.19/Magdir/pdf (props changed) vendor/file/4.19/Magdir/pdp (props changed) vendor/file/4.19/Magdir/perl (props changed) vendor/file/4.19/Magdir/pgp (props changed) vendor/file/4.19/Magdir/pkgadd (props changed) vendor/file/4.19/Magdir/plan9 (props changed) vendor/file/4.19/Magdir/plus5 (props changed) vendor/file/4.19/Magdir/printer (props changed) vendor/file/4.19/Magdir/project (props changed) vendor/file/4.19/Magdir/psdbms (props changed) vendor/file/4.19/Magdir/psion (props changed) vendor/file/4.19/Magdir/pulsar (props changed) vendor/file/4.19/Magdir/pyramid (props changed) vendor/file/4.19/Magdir/python (props changed) vendor/file/4.19/Magdir/revision (props changed) vendor/file/4.19/Magdir/riff (props changed) vendor/file/4.19/Magdir/rpm (props changed) vendor/file/4.19/Magdir/rtf (props changed) vendor/file/4.19/Magdir/sc (props changed) vendor/file/4.19/Magdir/sccs (props changed) vendor/file/4.19/Magdir/scientific (props changed) vendor/file/4.19/Magdir/sendmail (props changed) vendor/file/4.19/Magdir/sequent (props changed) vendor/file/4.19/Magdir/sgi (props changed) vendor/file/4.19/Magdir/sgml (props changed) vendor/file/4.19/Magdir/sharc (props changed) vendor/file/4.19/Magdir/sinclair (props changed) vendor/file/4.19/Magdir/sketch (props changed) vendor/file/4.19/Magdir/smalltalk (props changed) vendor/file/4.19/Magdir/sniffer (props changed) vendor/file/4.19/Magdir/softquad (props changed) vendor/file/4.19/Magdir/spec (props changed) vendor/file/4.19/Magdir/spectrum (props changed) vendor/file/4.19/Magdir/sql (props changed) vendor/file/4.19/Magdir/sun (props changed) vendor/file/4.19/Magdir/sysex (props changed) vendor/file/4.19/Magdir/teapot (props changed) vendor/file/4.19/Magdir/terminfo (props changed) vendor/file/4.19/Magdir/tex (props changed) vendor/file/4.19/Magdir/tgif (props changed) vendor/file/4.19/Magdir/ti-8x (props changed) vendor/file/4.19/Magdir/timezone (props changed) vendor/file/4.19/Magdir/troff (props changed) vendor/file/4.19/Magdir/tuxedo (props changed) vendor/file/4.19/Magdir/typeset (props changed) vendor/file/4.19/Magdir/unicode (props changed) vendor/file/4.19/Magdir/unknown (props changed) vendor/file/4.19/Magdir/uuencode (props changed) vendor/file/4.19/Magdir/varied.out (props changed) vendor/file/4.19/Magdir/varied.script (props changed) vendor/file/4.19/Magdir/vax (props changed) vendor/file/4.19/Magdir/vicar (props changed) vendor/file/4.19/Magdir/virtutech (props changed) vendor/file/4.19/Magdir/visx (props changed) vendor/file/4.19/Magdir/vms (props changed) vendor/file/4.19/Magdir/vmware (props changed) vendor/file/4.19/Magdir/vorbis (props changed) vendor/file/4.19/Magdir/vxl (props changed) vendor/file/4.19/Magdir/wordprocessors (props changed) vendor/file/4.19/Magdir/xdelta (props changed) vendor/file/4.19/Magdir/xenix (props changed) vendor/file/4.19/Magdir/xo65 (props changed) vendor/file/4.19/Magdir/xwindows (props changed) vendor/file/4.19/Magdir/zilog (props changed) vendor/file/4.19/Magdir/zyxel (props changed) vendor/file/4.21/Magdir/acorn (props changed) vendor/file/4.21/Magdir/adi (props changed) vendor/file/4.21/Magdir/adventure (props changed) vendor/file/4.21/Magdir/allegro (props changed) vendor/file/4.21/Magdir/alliant (props changed) vendor/file/4.21/Magdir/alpha (props changed) vendor/file/4.21/Magdir/amanda (props changed) vendor/file/4.21/Magdir/amigaos (props changed) vendor/file/4.21/Magdir/animation (props changed) vendor/file/4.21/Magdir/apl (props changed) vendor/file/4.21/Magdir/apple (props changed) vendor/file/4.21/Magdir/applix (props changed) vendor/file/4.21/Magdir/archive (props changed) vendor/file/4.21/Magdir/asterix (props changed) vendor/file/4.21/Magdir/att3b (props changed) vendor/file/4.21/Magdir/audio (props changed) vendor/file/4.21/Magdir/bFLT (props changed) vendor/file/4.21/Magdir/basis (props changed) vendor/file/4.21/Magdir/bflt (props changed) vendor/file/4.21/Magdir/blender (props changed) vendor/file/4.21/Magdir/blit (props changed) vendor/file/4.21/Magdir/bout (props changed) vendor/file/4.21/Magdir/bsdi (props changed) vendor/file/4.21/Magdir/btsnoop (props changed) vendor/file/4.21/Magdir/c-lang (props changed) vendor/file/4.21/Magdir/c64 (props changed) vendor/file/4.21/Magdir/cad (props changed) vendor/file/4.21/Magdir/cafebabe (props changed) vendor/file/4.21/Magdir/cddb (props changed) vendor/file/4.21/Magdir/chi (props changed) vendor/file/4.21/Magdir/chord (props changed) vendor/file/4.21/Magdir/cisco (props changed) vendor/file/4.21/Magdir/citrus (props changed) vendor/file/4.21/Magdir/claris (props changed) vendor/file/4.21/Magdir/clipper (props changed) vendor/file/4.21/Magdir/commands (props changed) vendor/file/4.21/Magdir/communications (props changed) vendor/file/4.21/Magdir/compress (props changed) vendor/file/4.21/Magdir/console (props changed) vendor/file/4.21/Magdir/convex (props changed) vendor/file/4.21/Magdir/cracklib (props changed) vendor/file/4.21/Magdir/ctags (props changed) vendor/file/4.21/Magdir/cvs (props changed) vendor/file/4.21/Magdir/dact (props changed) vendor/file/4.21/Magdir/database (props changed) vendor/file/4.21/Magdir/diamond (props changed) vendor/file/4.21/Magdir/diff (props changed) vendor/file/4.21/Magdir/digital (props changed) vendor/file/4.21/Magdir/dolby (props changed) vendor/file/4.21/Magdir/dump (props changed) vendor/file/4.21/Magdir/dyadic (props changed) vendor/file/4.21/Magdir/editors (props changed) vendor/file/4.21/Magdir/elf (props changed) vendor/file/4.21/Magdir/encore (props changed) vendor/file/4.21/Magdir/epoc (props changed) vendor/file/4.21/Magdir/esri (props changed) vendor/file/4.21/Magdir/fcs (props changed) vendor/file/4.21/Magdir/filesystems (props changed) vendor/file/4.21/Magdir/flash (props changed) vendor/file/4.21/Magdir/fonts (props changed) vendor/file/4.21/Magdir/frame (props changed) vendor/file/4.21/Magdir/freebsd (props changed) vendor/file/4.21/Magdir/fsav (props changed) vendor/file/4.21/Magdir/games (props changed) vendor/file/4.21/Magdir/gcc (props changed) vendor/file/4.21/Magdir/geos (props changed) vendor/file/4.21/Magdir/gimp (props changed) vendor/file/4.21/Magdir/gnu (props changed) vendor/file/4.21/Magdir/grace (props changed) vendor/file/4.21/Magdir/gringotts (props changed) vendor/file/4.21/Magdir/hdf (props changed) vendor/file/4.21/Magdir/hitachi-sh (props changed) vendor/file/4.21/Magdir/hp (props changed) vendor/file/4.21/Magdir/human68k (props changed) vendor/file/4.21/Magdir/ibm370 (props changed) vendor/file/4.21/Magdir/ibm6000 (props changed) vendor/file/4.21/Magdir/iff (props changed) vendor/file/4.21/Magdir/images (props changed) vendor/file/4.21/Magdir/impulse (props changed) vendor/file/4.21/Magdir/intel (props changed) vendor/file/4.21/Magdir/interleaf (props changed) vendor/file/4.21/Magdir/island (props changed) vendor/file/4.21/Magdir/ispell (props changed) vendor/file/4.21/Magdir/java (props changed) vendor/file/4.21/Magdir/jpeg (props changed) vendor/file/4.21/Magdir/karma (props changed) vendor/file/4.21/Magdir/lecter (props changed) vendor/file/4.21/Magdir/lex (props changed) vendor/file/4.21/Magdir/lif (props changed) vendor/file/4.21/Magdir/linux (props changed) vendor/file/4.21/Magdir/lisp (props changed) vendor/file/4.21/Magdir/mach (props changed) vendor/file/4.21/Magdir/macintosh (props changed) vendor/file/4.21/Magdir/magic (props changed) vendor/file/4.21/Magdir/mail.news (props changed) vendor/file/4.21/Magdir/maple (props changed) vendor/file/4.21/Magdir/mathematica (props changed) vendor/file/4.21/Magdir/matroska (props changed) vendor/file/4.21/Magdir/mcrypt (props changed) vendor/file/4.21/Magdir/mime (props changed) vendor/file/4.21/Magdir/mips (props changed) vendor/file/4.21/Magdir/mirage (props changed) vendor/file/4.21/Magdir/misctools (props changed) vendor/file/4.21/Magdir/mkid (props changed) vendor/file/4.21/Magdir/mlssa (props changed) vendor/file/4.21/Magdir/mmdf (props changed) vendor/file/4.21/Magdir/modem (props changed) vendor/file/4.21/Magdir/motorola (props changed) vendor/file/4.21/Magdir/msdos (props changed) vendor/file/4.21/Magdir/msvc (props changed) vendor/file/4.21/Magdir/mup (props changed) vendor/file/4.21/Magdir/natinst (props changed) vendor/file/4.21/Magdir/ncr (props changed) vendor/file/4.21/Magdir/netbsd (props changed) vendor/file/4.21/Magdir/netscape (props changed) vendor/file/4.21/Magdir/news (props changed) vendor/file/4.21/Magdir/nitpicker (props changed) vendor/file/4.21/Magdir/ocaml (props changed) vendor/file/4.21/Magdir/octave (props changed) vendor/file/4.21/Magdir/olf (props changed) vendor/file/4.21/Magdir/os2 (props changed) vendor/file/4.21/Magdir/os400 (props changed) vendor/file/4.21/Magdir/os9 (props changed) vendor/file/4.21/Magdir/osf1 (props changed) vendor/file/4.21/Magdir/palm (props changed) vendor/file/4.21/Magdir/parix (props changed) vendor/file/4.21/Magdir/pbm (props changed) vendor/file/4.21/Magdir/pdf (props changed) vendor/file/4.21/Magdir/pdp (props changed) vendor/file/4.21/Magdir/perl (props changed) vendor/file/4.21/Magdir/pgp (props changed) vendor/file/4.21/Magdir/pkgadd (props changed) vendor/file/4.21/Magdir/plan9 (props changed) vendor/file/4.21/Magdir/plus5 (props changed) vendor/file/4.21/Magdir/printer (props changed) vendor/file/4.21/Magdir/project (props changed) vendor/file/4.21/Magdir/psdbms (props changed) vendor/file/4.21/Magdir/psion (props changed) vendor/file/4.21/Magdir/pulsar (props changed) vendor/file/4.21/Magdir/pyramid (props changed) vendor/file/4.21/Magdir/python (props changed) vendor/file/4.21/Magdir/revision (props changed) vendor/file/4.21/Magdir/riff (props changed) vendor/file/4.21/Magdir/rpm (props changed) vendor/file/4.21/Magdir/rtf (props changed) vendor/file/4.21/Magdir/sc (props changed) vendor/file/4.21/Magdir/sccs (props changed) vendor/file/4.21/Magdir/scientific (props changed) vendor/file/4.21/Magdir/sendmail (props changed) vendor/file/4.21/Magdir/sequent (props changed) vendor/file/4.21/Magdir/sgi (props changed) vendor/file/4.21/Magdir/sgml (props changed) vendor/file/4.21/Magdir/sharc (props changed) vendor/file/4.21/Magdir/sinclair (props changed) vendor/file/4.21/Magdir/sketch (props changed) vendor/file/4.21/Magdir/smalltalk (props changed) vendor/file/4.21/Magdir/sniffer (props changed) vendor/file/4.21/Magdir/softquad (props changed) vendor/file/4.21/Magdir/spec (props changed) vendor/file/4.21/Magdir/spectrum (props changed) vendor/file/4.21/Magdir/sql (props changed) vendor/file/4.21/Magdir/sun (props changed) vendor/file/4.21/Magdir/sysex (props changed) vendor/file/4.21/Magdir/teapot (props changed) vendor/file/4.21/Magdir/terminfo (props changed) vendor/file/4.21/Magdir/tex (props changed) vendor/file/4.21/Magdir/tgif (props changed) vendor/file/4.21/Magdir/ti-8x (props changed) vendor/file/4.21/Magdir/timezone (props changed) vendor/file/4.21/Magdir/troff (props changed) vendor/file/4.21/Magdir/tuxedo (props changed) vendor/file/4.21/Magdir/typeset (props changed) vendor/file/4.21/Magdir/unicode (props changed) vendor/file/4.21/Magdir/unknown (props changed) vendor/file/4.21/Magdir/uuencode (props changed) vendor/file/4.21/Magdir/varied.out (props changed) vendor/file/4.21/Magdir/varied.script (props changed) vendor/file/4.21/Magdir/vax (props changed) vendor/file/4.21/Magdir/vicar (props changed) vendor/file/4.21/Magdir/virtutech (props changed) vendor/file/4.21/Magdir/visx (props changed) vendor/file/4.21/Magdir/vms (props changed) vendor/file/4.21/Magdir/vmware (props changed) vendor/file/4.21/Magdir/vorbis (props changed) vendor/file/4.21/Magdir/vxl (props changed) vendor/file/4.21/Magdir/wordperfect (props changed) vendor/file/4.21/Magdir/wordprocessors (props changed) vendor/file/4.21/Magdir/xdelta (props changed) vendor/file/4.21/Magdir/xenix (props changed) vendor/file/4.21/Magdir/xo65 (props changed) vendor/file/4.21/Magdir/xwindows (props changed) vendor/file/4.21/Magdir/zilog (props changed) vendor/file/4.21/Magdir/zyxel (props changed) vendor/file/4.23-r1.46/Magdir/acorn (props changed) vendor/file/4.23-r1.46/Magdir/adi (props changed) vendor/file/4.23-r1.46/Magdir/adventure (props changed) vendor/file/4.23-r1.46/Magdir/allegro (props changed) vendor/file/4.23-r1.46/Magdir/alliant (props changed) vendor/file/4.23-r1.46/Magdir/alpha (props changed) vendor/file/4.23-r1.46/Magdir/amanda (props changed) vendor/file/4.23-r1.46/Magdir/amigaos (props changed) vendor/file/4.23-r1.46/Magdir/animation (props changed) vendor/file/4.23-r1.46/Magdir/apl (props changed) vendor/file/4.23-r1.46/Magdir/apple (props changed) vendor/file/4.23-r1.46/Magdir/applix (props changed) vendor/file/4.23-r1.46/Magdir/archive (props changed) vendor/file/4.23-r1.46/Magdir/asterix (props changed) vendor/file/4.23-r1.46/Magdir/att3b (props changed) vendor/file/4.23-r1.46/Magdir/audio (props changed) vendor/file/4.23-r1.46/Magdir/basis (props changed) vendor/file/4.23-r1.46/Magdir/bflt (props changed) vendor/file/4.23-r1.46/Magdir/blender (props changed) vendor/file/4.23-r1.46/Magdir/blit (props changed) vendor/file/4.23-r1.46/Magdir/bout (props changed) vendor/file/4.23-r1.46/Magdir/bsdi (props changed) vendor/file/4.23-r1.46/Magdir/btsnoop (props changed) vendor/file/4.23-r1.46/Magdir/c-lang (props changed) vendor/file/4.23-r1.46/Magdir/c64 (props changed) vendor/file/4.23-r1.46/Magdir/cad (props changed) vendor/file/4.23-r1.46/Magdir/cafebabe (props changed) vendor/file/4.23-r1.46/Magdir/cddb (props changed) vendor/file/4.23-r1.46/Magdir/chord (props changed) vendor/file/4.23-r1.46/Magdir/cisco (props changed) vendor/file/4.23-r1.46/Magdir/citrus (props changed) vendor/file/4.23-r1.46/Magdir/claris (props changed) vendor/file/4.23-r1.46/Magdir/clipper (props changed) vendor/file/4.23-r1.46/Magdir/commands (props changed) vendor/file/4.23-r1.46/Magdir/communications (props changed) vendor/file/4.23-r1.46/Magdir/compress (props changed) vendor/file/4.23-r1.46/Magdir/console (props changed) vendor/file/4.23-r1.46/Magdir/convex (props changed) vendor/file/4.23-r1.46/Magdir/cracklib (props changed) vendor/file/4.23-r1.46/Magdir/ctags (props changed) vendor/file/4.23-r1.46/Magdir/dact (props changed) vendor/file/4.23-r1.46/Magdir/database (props changed) vendor/file/4.23-r1.46/Magdir/diamond (props changed) vendor/file/4.23-r1.46/Magdir/diff (props changed) vendor/file/4.23-r1.46/Magdir/digital (props changed) vendor/file/4.23-r1.46/Magdir/dolby (props changed) vendor/file/4.23-r1.46/Magdir/dump (props changed) vendor/file/4.23-r1.46/Magdir/dyadic (props changed) vendor/file/4.23-r1.46/Magdir/editors (props changed) vendor/file/4.23-r1.46/Magdir/efi (props changed) vendor/file/4.23-r1.46/Magdir/elf (props changed) vendor/file/4.23-r1.46/Magdir/encore (props changed) vendor/file/4.23-r1.46/Magdir/epoc (props changed) vendor/file/4.23-r1.46/Magdir/esri (props changed) vendor/file/4.23-r1.46/Magdir/fcs (props changed) vendor/file/4.23-r1.46/Magdir/filesystems (props changed) vendor/file/4.23-r1.46/Magdir/flash (props changed) vendor/file/4.23-r1.46/Magdir/fonts (props changed) vendor/file/4.23-r1.46/Magdir/fortran (props changed) vendor/file/4.23-r1.46/Magdir/frame (props changed) vendor/file/4.23-r1.46/Magdir/freebsd (props changed) vendor/file/4.23-r1.46/Magdir/fsav (props changed) vendor/file/4.23-r1.46/Magdir/games (props changed) vendor/file/4.23-r1.46/Magdir/gcc (props changed) vendor/file/4.23-r1.46/Magdir/geos (props changed) vendor/file/4.23-r1.46/Magdir/gimp (props changed) vendor/file/4.23-r1.46/Magdir/gnu (props changed) vendor/file/4.23-r1.46/Magdir/grace (props changed) vendor/file/4.23-r1.46/Magdir/gringotts (props changed) vendor/file/4.23-r1.46/Magdir/hitachi-sh (props changed) vendor/file/4.23-r1.46/Magdir/hp (props changed) vendor/file/4.23-r1.46/Magdir/human68k (props changed) vendor/file/4.23-r1.46/Magdir/ibm370 (props changed) vendor/file/4.23-r1.46/Magdir/ibm6000 (props changed) vendor/file/4.23-r1.46/Magdir/iff (props changed) vendor/file/4.23-r1.46/Magdir/images (props changed) vendor/file/4.23-r1.46/Magdir/intel (props changed) vendor/file/4.23-r1.46/Magdir/interleaf (props changed) vendor/file/4.23-r1.46/Magdir/island (props changed) vendor/file/4.23-r1.46/Magdir/ispell (props changed) vendor/file/4.23-r1.46/Magdir/java (props changed) vendor/file/4.23-r1.46/Magdir/jpeg (props changed) vendor/file/4.23-r1.46/Magdir/karma (props changed) vendor/file/4.23-r1.46/Magdir/lecter (props changed) vendor/file/4.23-r1.46/Magdir/lex (props changed) vendor/file/4.23-r1.46/Magdir/lif (props changed) vendor/file/4.23-r1.46/Magdir/linux (props changed) vendor/file/4.23-r1.46/Magdir/lisp (props changed) vendor/file/4.23-r1.46/Magdir/mach (props changed) vendor/file/4.23-r1.46/Magdir/macintosh (props changed) vendor/file/4.23-r1.46/Magdir/magic (props changed) vendor/file/4.23-r1.46/Magdir/mail.news (props changed) vendor/file/4.23-r1.46/Magdir/maple (props changed) vendor/file/4.23-r1.46/Magdir/mathematica (props changed) vendor/file/4.23-r1.46/Magdir/matroska (props changed) vendor/file/4.23-r1.46/Magdir/mcrypt (props changed) vendor/file/4.23-r1.46/Magdir/mime (props changed) vendor/file/4.23-r1.46/Magdir/mips (props changed) vendor/file/4.23-r1.46/Magdir/mirage (props changed) vendor/file/4.23-r1.46/Magdir/misctools (props changed) vendor/file/4.23-r1.46/Magdir/mkid (props changed) vendor/file/4.23-r1.46/Magdir/mlssa (props changed) vendor/file/4.23-r1.46/Magdir/mmdf (props changed) vendor/file/4.23-r1.46/Magdir/modem (props changed) vendor/file/4.23-r1.46/Magdir/motorola (props changed) vendor/file/4.23-r1.46/Magdir/msdos (props changed) vendor/file/4.23-r1.46/Magdir/msvc (props changed) vendor/file/4.23-r1.46/Magdir/mup (props changed) vendor/file/4.23-r1.46/Magdir/natinst (props changed) vendor/file/4.23-r1.46/Magdir/ncr (props changed) vendor/file/4.23-r1.46/Magdir/netbsd (props changed) vendor/file/4.23-r1.46/Magdir/netscape (props changed) vendor/file/4.23-r1.46/Magdir/news (props changed) vendor/file/4.23-r1.46/Magdir/nitpicker (props changed) vendor/file/4.23-r1.46/Magdir/ocaml (props changed) vendor/file/4.23-r1.46/Magdir/octave (props changed) vendor/file/4.23-r1.46/Magdir/olf (props changed) vendor/file/4.23-r1.46/Magdir/os2 (props changed) vendor/file/4.23-r1.46/Magdir/os400 (props changed) vendor/file/4.23-r1.46/Magdir/os9 (props changed) vendor/file/4.23-r1.46/Magdir/osf1 (props changed) vendor/file/4.23-r1.46/Magdir/palm (props changed) vendor/file/4.23-r1.46/Magdir/parix (props changed) vendor/file/4.23-r1.46/Magdir/pbm (props changed) vendor/file/4.23-r1.46/Magdir/pdf (props changed) vendor/file/4.23-r1.46/Magdir/pdp (props changed) vendor/file/4.23-r1.46/Magdir/perl (props changed) vendor/file/4.23-r1.46/Magdir/pgp (props changed) vendor/file/4.23-r1.46/Magdir/pkgadd (props changed) vendor/file/4.23-r1.46/Magdir/plan9 (props changed) vendor/file/4.23-r1.46/Magdir/plus5 (props changed) vendor/file/4.23-r1.46/Magdir/printer (props changed) vendor/file/4.23-r1.46/Magdir/project (props changed) vendor/file/4.23-r1.46/Magdir/psdbms (props changed) vendor/file/4.23-r1.46/Magdir/psion (props changed) vendor/file/4.23-r1.46/Magdir/pulsar (props changed) vendor/file/4.23-r1.46/Magdir/pyramid (props changed) vendor/file/4.23-r1.46/Magdir/python (props changed) vendor/file/4.23-r1.46/Magdir/revision (props changed) vendor/file/4.23-r1.46/Magdir/riff (props changed) vendor/file/4.23-r1.46/Magdir/rpm (props changed) vendor/file/4.23-r1.46/Magdir/rtf (props changed) vendor/file/4.23-r1.46/Magdir/sc (props changed) vendor/file/4.23-r1.46/Magdir/sccs (props changed) vendor/file/4.23-r1.46/Magdir/scientific (props changed) vendor/file/4.23-r1.46/Magdir/sendmail (props changed) vendor/file/4.23-r1.46/Magdir/sequent (props changed) vendor/file/4.23-r1.46/Magdir/sgi (props changed) vendor/file/4.23-r1.46/Magdir/sgml (props changed) vendor/file/4.23-r1.46/Magdir/sharc (props changed) vendor/file/4.23-r1.46/Magdir/sinclair (props changed) vendor/file/4.23-r1.46/Magdir/sketch (props changed) vendor/file/4.23-r1.46/Magdir/smalltalk (props changed) vendor/file/4.23-r1.46/Magdir/sniffer (props changed) vendor/file/4.23-r1.46/Magdir/softquad (props changed) vendor/file/4.23-r1.46/Magdir/spec (props changed) vendor/file/4.23-r1.46/Magdir/spectrum (props changed) vendor/file/4.23-r1.46/Magdir/sql (props changed) vendor/file/4.23-r1.46/Magdir/sun (props changed) vendor/file/4.23-r1.46/Magdir/sysex (props changed) vendor/file/4.23-r1.46/Magdir/teapot (props changed) vendor/file/4.23-r1.46/Magdir/terminfo (props changed) vendor/file/4.23-r1.46/Magdir/tex (props changed) vendor/file/4.23-r1.46/Magdir/tgif (props changed) vendor/file/4.23-r1.46/Magdir/ti-8x (props changed) vendor/file/4.23-r1.46/Magdir/timezone (props changed) vendor/file/4.23-r1.46/Magdir/troff (props changed) vendor/file/4.23-r1.46/Magdir/tuxedo (props changed) vendor/file/4.23-r1.46/Magdir/typeset (props changed) vendor/file/4.23-r1.46/Magdir/unicode (props changed) vendor/file/4.23-r1.46/Magdir/unknown (props changed) vendor/file/4.23-r1.46/Magdir/uuencode (props changed) vendor/file/4.23-r1.46/Magdir/varied.out (props changed) vendor/file/4.23-r1.46/Magdir/varied.script (props changed) vendor/file/4.23-r1.46/Magdir/vax (props changed) vendor/file/4.23-r1.46/Magdir/vicar (props changed) vendor/file/4.23-r1.46/Magdir/virtutech (props changed) vendor/file/4.23-r1.46/Magdir/visx (props changed) vendor/file/4.23-r1.46/Magdir/vms (props changed) vendor/file/4.23-r1.46/Magdir/vmware (props changed) vendor/file/4.23-r1.46/Magdir/vorbis (props changed) vendor/file/4.23-r1.46/Magdir/vxl (props changed) vendor/file/4.23-r1.46/Magdir/wordprocessors (props changed) vendor/file/4.23-r1.46/Magdir/xdelta (props changed) vendor/file/4.23-r1.46/Magdir/xenix (props changed) vendor/file/4.23-r1.46/Magdir/xo65 (props changed) vendor/file/4.23-r1.46/Magdir/xwindows (props changed) vendor/file/4.23-r1.46/Magdir/zilog (props changed) vendor/file/4.23-r1.46/Magdir/zyxel (props changed) vendor/file/4.23/Magdir/acorn (props changed) vendor/file/4.23/Magdir/adi (props changed) vendor/file/4.23/Magdir/adventure (props changed) vendor/file/4.23/Magdir/allegro (props changed) vendor/file/4.23/Magdir/alliant (props changed) vendor/file/4.23/Magdir/alpha (props changed) vendor/file/4.23/Magdir/amanda (props changed) vendor/file/4.23/Magdir/amigaos (props changed) vendor/file/4.23/Magdir/animation (props changed) vendor/file/4.23/Magdir/apl (props changed) vendor/file/4.23/Magdir/apple (props changed) vendor/file/4.23/Magdir/applix (props changed) vendor/file/4.23/Magdir/archive (props changed) vendor/file/4.23/Magdir/asterix (props changed) vendor/file/4.23/Magdir/att3b (props changed) vendor/file/4.23/Magdir/audio (props changed) vendor/file/4.23/Magdir/basis (props changed) vendor/file/4.23/Magdir/bflt (props changed) vendor/file/4.23/Magdir/blender (props changed) vendor/file/4.23/Magdir/blit (props changed) vendor/file/4.23/Magdir/bout (props changed) vendor/file/4.23/Magdir/bsdi (props changed) vendor/file/4.23/Magdir/btsnoop (props changed) vendor/file/4.23/Magdir/c-lang (props changed) vendor/file/4.23/Magdir/c64 (props changed) vendor/file/4.23/Magdir/cad (props changed) vendor/file/4.23/Magdir/cafebabe (props changed) vendor/file/4.23/Magdir/cddb (props changed) vendor/file/4.23/Magdir/chord (props changed) vendor/file/4.23/Magdir/cisco (props changed) vendor/file/4.23/Magdir/citrus (props changed) vendor/file/4.23/Magdir/claris (props changed) vendor/file/4.23/Magdir/clipper (props changed) vendor/file/4.23/Magdir/commands (props changed) vendor/file/4.23/Magdir/communications (props changed) vendor/file/4.23/Magdir/compress (props changed) vendor/file/4.23/Magdir/console (props changed) vendor/file/4.23/Magdir/convex (props changed) vendor/file/4.23/Magdir/cracklib (props changed) vendor/file/4.23/Magdir/ctags (props changed) vendor/file/4.23/Magdir/dact (props changed) vendor/file/4.23/Magdir/database (props changed) vendor/file/4.23/Magdir/diamond (props changed) vendor/file/4.23/Magdir/diff (props changed) vendor/file/4.23/Magdir/digital (props changed) vendor/file/4.23/Magdir/dolby (props changed) vendor/file/4.23/Magdir/dump (props changed) vendor/file/4.23/Magdir/dyadic (props changed) vendor/file/4.23/Magdir/editors (props changed) vendor/file/4.23/Magdir/efi (props changed) vendor/file/4.23/Magdir/elf (props changed) vendor/file/4.23/Magdir/encore (props changed) vendor/file/4.23/Magdir/epoc (props changed) vendor/file/4.23/Magdir/esri (props changed) vendor/file/4.23/Magdir/fcs (props changed) vendor/file/4.23/Magdir/filesystems (props changed) vendor/file/4.23/Magdir/flash (props changed) vendor/file/4.23/Magdir/fonts (props changed) vendor/file/4.23/Magdir/fortran (props changed) vendor/file/4.23/Magdir/frame (props changed) vendor/file/4.23/Magdir/freebsd (props changed) vendor/file/4.23/Magdir/fsav (props changed) vendor/file/4.23/Magdir/games (props changed) vendor/file/4.23/Magdir/gcc (props changed) vendor/file/4.23/Magdir/geos (props changed) vendor/file/4.23/Magdir/gimp (props changed) vendor/file/4.23/Magdir/gnu (props changed) vendor/file/4.23/Magdir/grace (props changed) vendor/file/4.23/Magdir/gringotts (props changed) vendor/file/4.23/Magdir/hitachi-sh (props changed) vendor/file/4.23/Magdir/hp (props changed) vendor/file/4.23/Magdir/human68k (props changed) vendor/file/4.23/Magdir/ibm370 (props changed) vendor/file/4.23/Magdir/ibm6000 (props changed) vendor/file/4.23/Magdir/iff (props changed) vendor/file/4.23/Magdir/images (props changed) vendor/file/4.23/Magdir/intel (props changed) vendor/file/4.23/Magdir/interleaf (props changed) vendor/file/4.23/Magdir/island (props changed) vendor/file/4.23/Magdir/ispell (props changed) vendor/file/4.23/Magdir/java (props changed) vendor/file/4.23/Magdir/jpeg (props changed) vendor/file/4.23/Magdir/karma (props changed) vendor/file/4.23/Magdir/lecter (props changed) vendor/file/4.23/Magdir/lex (props changed) vendor/file/4.23/Magdir/lif (props changed) vendor/file/4.23/Magdir/linux (props changed) vendor/file/4.23/Magdir/lisp (props changed) vendor/file/4.23/Magdir/mach (props changed) vendor/file/4.23/Magdir/macintosh (props changed) vendor/file/4.23/Magdir/magic (props changed) vendor/file/4.23/Magdir/mail.news (props changed) vendor/file/4.23/Magdir/maple (props changed) vendor/file/4.23/Magdir/mathematica (props changed) vendor/file/4.23/Magdir/matroska (props changed) vendor/file/4.23/Magdir/mcrypt (props changed) vendor/file/4.23/Magdir/mime (props changed) vendor/file/4.23/Magdir/mips (props changed) vendor/file/4.23/Magdir/mirage (props changed) vendor/file/4.23/Magdir/misctools (props changed) vendor/file/4.23/Magdir/mkid (props changed) vendor/file/4.23/Magdir/mlssa (props changed) vendor/file/4.23/Magdir/mmdf (props changed) vendor/file/4.23/Magdir/modem (props changed) vendor/file/4.23/Magdir/motorola (props changed) vendor/file/4.23/Magdir/msdos (props changed) vendor/file/4.23/Magdir/msvc (props changed) vendor/file/4.23/Magdir/mup (props changed) vendor/file/4.23/Magdir/natinst (props changed) vendor/file/4.23/Magdir/ncr (props changed) vendor/file/4.23/Magdir/netbsd (props changed) vendor/file/4.23/Magdir/netscape (props changed) vendor/file/4.23/Magdir/news (props changed) vendor/file/4.23/Magdir/nitpicker (props changed) vendor/file/4.23/Magdir/ocaml (props changed) vendor/file/4.23/Magdir/octave (props changed) vendor/file/4.23/Magdir/olf (props changed) vendor/file/4.23/Magdir/os2 (props changed) vendor/file/4.23/Magdir/os400 (props changed) vendor/file/4.23/Magdir/os9 (props changed) vendor/file/4.23/Magdir/osf1 (props changed) vendor/file/4.23/Magdir/palm (props changed) vendor/file/4.23/Magdir/parix (props changed) vendor/file/4.23/Magdir/pbm (props changed) vendor/file/4.23/Magdir/pdf (props changed) vendor/file/4.23/Magdir/pdp (props changed) vendor/file/4.23/Magdir/perl (props changed) vendor/file/4.23/Magdir/pgp (props changed) vendor/file/4.23/Magdir/pkgadd (props changed) vendor/file/4.23/Magdir/plan9 (props changed) vendor/file/4.23/Magdir/plus5 (props changed) vendor/file/4.23/Magdir/printer (props changed) vendor/file/4.23/Magdir/project (props changed) vendor/file/4.23/Magdir/psdbms (props changed) vendor/file/4.23/Magdir/psion (props changed) vendor/file/4.23/Magdir/pulsar (props changed) vendor/file/4.23/Magdir/pyramid (props changed) vendor/file/4.23/Magdir/python (props changed) vendor/file/4.23/Magdir/revision (props changed) vendor/file/4.23/Magdir/riff (props changed) vendor/file/4.23/Magdir/rpm (props changed) vendor/file/4.23/Magdir/rtf (props changed) vendor/file/4.23/Magdir/sc (props changed) vendor/file/4.23/Magdir/sccs (props changed) vendor/file/4.23/Magdir/scientific (props changed) vendor/file/4.23/Magdir/sendmail (props changed) vendor/file/4.23/Magdir/sequent (props changed) vendor/file/4.23/Magdir/sgi (props changed) vendor/file/4.23/Magdir/sgml (props changed) vendor/file/4.23/Magdir/sharc (props changed) vendor/file/4.23/Magdir/sinclair (props changed) vendor/file/4.23/Magdir/sketch (props changed) vendor/file/4.23/Magdir/smalltalk (props changed) vendor/file/4.23/Magdir/sniffer (props changed) vendor/file/4.23/Magdir/softquad (props changed) vendor/file/4.23/Magdir/spec (props changed) vendor/file/4.23/Magdir/spectrum (props changed) vendor/file/4.23/Magdir/sql (props changed) vendor/file/4.23/Magdir/sun (props changed) vendor/file/4.23/Magdir/sysex (props changed) vendor/file/4.23/Magdir/teapot (props changed) vendor/file/4.23/Magdir/terminfo (props changed) vendor/file/4.23/Magdir/tex (props changed) vendor/file/4.23/Magdir/tgif (props changed) vendor/file/4.23/Magdir/ti-8x (props changed) vendor/file/4.23/Magdir/timezone (props changed) vendor/file/4.23/Magdir/troff (props changed) vendor/file/4.23/Magdir/tuxedo (props changed) vendor/file/4.23/Magdir/typeset (props changed) vendor/file/4.23/Magdir/unicode (props changed) vendor/file/4.23/Magdir/unknown (props changed) vendor/file/4.23/Magdir/uuencode (props changed) vendor/file/4.23/Magdir/varied.out (props changed) vendor/file/4.23/Magdir/varied.script (props changed) vendor/file/4.23/Magdir/vax (props changed) vendor/file/4.23/Magdir/vicar (props changed) vendor/file/4.23/Magdir/virtutech (props changed) vendor/file/4.23/Magdir/visx (props changed) vendor/file/4.23/Magdir/vms (props changed) vendor/file/4.23/Magdir/vmware (props changed) vendor/file/4.23/Magdir/vorbis (props changed) vendor/file/4.23/Magdir/vxl (props changed) vendor/file/4.23/Magdir/wordprocessors (props changed) vendor/file/4.23/Magdir/xdelta (props changed) vendor/file/4.23/Magdir/xenix (props changed) vendor/file/4.23/Magdir/xo65 (props changed) vendor/file/4.23/Magdir/xwindows (props changed) vendor/file/4.23/Magdir/zilog (props changed) vendor/file/4.23/Magdir/zyxel (props changed) vendor/file/dist/Magdir/acorn (props changed) vendor/file/dist/Magdir/adi (props changed) vendor/file/dist/Magdir/adventure (props changed) vendor/file/dist/Magdir/allegro (props changed) vendor/file/dist/Magdir/alliant (props changed) vendor/file/dist/Magdir/alpha (props changed) vendor/file/dist/Magdir/amanda (props changed) vendor/file/dist/Magdir/amigaos (props changed) vendor/file/dist/Magdir/animation (props changed) vendor/file/dist/Magdir/apl (props changed) vendor/file/dist/Magdir/apple (props changed) vendor/file/dist/Magdir/applix (props changed) vendor/file/dist/Magdir/archive (props changed) vendor/file/dist/Magdir/asterix (props changed) vendor/file/dist/Magdir/att3b (props changed) vendor/file/dist/Magdir/audio (props changed) vendor/file/dist/Magdir/basis (props changed) vendor/file/dist/Magdir/bflt (props changed) vendor/file/dist/Magdir/blender (props changed) vendor/file/dist/Magdir/blit (props changed) vendor/file/dist/Magdir/bout (props changed) vendor/file/dist/Magdir/bsdi (props changed) vendor/file/dist/Magdir/btsnoop (props changed) vendor/file/dist/Magdir/c-lang (props changed) vendor/file/dist/Magdir/c64 (props changed) vendor/file/dist/Magdir/cad (props changed) vendor/file/dist/Magdir/cafebabe (props changed) vendor/file/dist/Magdir/cddb (props changed) vendor/file/dist/Magdir/chord (props changed) vendor/file/dist/Magdir/cisco (props changed) vendor/file/dist/Magdir/citrus (props changed) vendor/file/dist/Magdir/claris (props changed) vendor/file/dist/Magdir/clipper (props changed) vendor/file/dist/Magdir/commands (props changed) vendor/file/dist/Magdir/communications (props changed) vendor/file/dist/Magdir/compress (props changed) vendor/file/dist/Magdir/console (props changed) vendor/file/dist/Magdir/convex (props changed) vendor/file/dist/Magdir/cracklib (props changed) vendor/file/dist/Magdir/ctags (props changed) vendor/file/dist/Magdir/dact (props changed) vendor/file/dist/Magdir/database (props changed) vendor/file/dist/Magdir/diamond (props changed) vendor/file/dist/Magdir/diff (props changed) vendor/file/dist/Magdir/digital (props changed) vendor/file/dist/Magdir/dolby (props changed) vendor/file/dist/Magdir/dump (props changed) vendor/file/dist/Magdir/dyadic (props changed) vendor/file/dist/Magdir/editors (props changed) vendor/file/dist/Magdir/efi (props changed) vendor/file/dist/Magdir/elf (props changed) vendor/file/dist/Magdir/encore (props changed) vendor/file/dist/Magdir/epoc (props changed) vendor/file/dist/Magdir/esri (props changed) vendor/file/dist/Magdir/fcs (props changed) vendor/file/dist/Magdir/filesystems (props changed) vendor/file/dist/Magdir/flash (props changed) vendor/file/dist/Magdir/fonts (props changed) vendor/file/dist/Magdir/fortran (props changed) vendor/file/dist/Magdir/frame (props changed) vendor/file/dist/Magdir/freebsd (props changed) vendor/file/dist/Magdir/fsav (props changed) vendor/file/dist/Magdir/games (props changed) vendor/file/dist/Magdir/gcc (props changed) vendor/file/dist/Magdir/geos (props changed) vendor/file/dist/Magdir/gimp (props changed) vendor/file/dist/Magdir/gnu (props changed) vendor/file/dist/Magdir/grace (props changed) vendor/file/dist/Magdir/gringotts (props changed) vendor/file/dist/Magdir/hitachi-sh (props changed) vendor/file/dist/Magdir/hp (props changed) vendor/file/dist/Magdir/human68k (props changed) vendor/file/dist/Magdir/ibm370 (props changed) vendor/file/dist/Magdir/ibm6000 (props changed) vendor/file/dist/Magdir/iff (props changed) vendor/file/dist/Magdir/images (props changed) vendor/file/dist/Magdir/intel (props changed) vendor/file/dist/Magdir/interleaf (props changed) vendor/file/dist/Magdir/island (props changed) vendor/file/dist/Magdir/ispell (props changed) vendor/file/dist/Magdir/java (props changed) vendor/file/dist/Magdir/jpeg (props changed) vendor/file/dist/Magdir/karma (props changed) vendor/file/dist/Magdir/lecter (props changed) vendor/file/dist/Magdir/lex (props changed) vendor/file/dist/Magdir/lif (props changed) vendor/file/dist/Magdir/linux (props changed) vendor/file/dist/Magdir/lisp (props changed) vendor/file/dist/Magdir/mach (props changed) vendor/file/dist/Magdir/macintosh (props changed) vendor/file/dist/Magdir/magic (props changed) vendor/file/dist/Magdir/mail.news (props changed) vendor/file/dist/Magdir/maple (props changed) vendor/file/dist/Magdir/mathematica (props changed) vendor/file/dist/Magdir/matroska (props changed) vendor/file/dist/Magdir/mcrypt (props changed) vendor/file/dist/Magdir/mime (props changed) vendor/file/dist/Magdir/mips (props changed) vendor/file/dist/Magdir/mirage (props changed) vendor/file/dist/Magdir/misctools (props changed) vendor/file/dist/Magdir/mkid (props changed) vendor/file/dist/Magdir/mlssa (props changed) vendor/file/dist/Magdir/mmdf (props changed) vendor/file/dist/Magdir/modem (props changed) vendor/file/dist/Magdir/motorola (props changed) vendor/file/dist/Magdir/msdos (props changed) vendor/file/dist/Magdir/msvc (props changed) vendor/file/dist/Magdir/mup (props changed) vendor/file/dist/Magdir/natinst (props changed) vendor/file/dist/Magdir/ncr (props changed) vendor/file/dist/Magdir/netbsd (props changed) vendor/file/dist/Magdir/netscape (props changed) vendor/file/dist/Magdir/news (props changed) vendor/file/dist/Magdir/nitpicker (props changed) vendor/file/dist/Magdir/ocaml (props changed) vendor/file/dist/Magdir/octave (props changed) vendor/file/dist/Magdir/olf (props changed) vendor/file/dist/Magdir/os2 (props changed) vendor/file/dist/Magdir/os400 (props changed) vendor/file/dist/Magdir/os9 (props changed) vendor/file/dist/Magdir/osf1 (props changed) vendor/file/dist/Magdir/palm (props changed) vendor/file/dist/Magdir/parix (props changed) vendor/file/dist/Magdir/pbm (props changed) vendor/file/dist/Magdir/pdf (props changed) vendor/file/dist/Magdir/pdp (props changed) vendor/file/dist/Magdir/perl (props changed) vendor/file/dist/Magdir/pgp (props changed) vendor/file/dist/Magdir/pkgadd (props changed) vendor/file/dist/Magdir/plan9 (props changed) vendor/file/dist/Magdir/plus5 (props changed) vendor/file/dist/Magdir/printer (props changed) vendor/file/dist/Magdir/project (props changed) vendor/file/dist/Magdir/psdbms (props changed) vendor/file/dist/Magdir/psion (props changed) vendor/file/dist/Magdir/pulsar (props changed) vendor/file/dist/Magdir/pyramid (props changed) vendor/file/dist/Magdir/python (props changed) vendor/file/dist/Magdir/revision (props changed) vendor/file/dist/Magdir/riff (props changed) vendor/file/dist/Magdir/rpm (props changed) vendor/file/dist/Magdir/rtf (props changed) vendor/file/dist/Magdir/sc (props changed) vendor/file/dist/Magdir/sccs (props changed) vendor/file/dist/Magdir/scientific (props changed) vendor/file/dist/Magdir/sendmail (props changed) vendor/file/dist/Magdir/sequent (props changed) vendor/file/dist/Magdir/sgi (props changed) vendor/file/dist/Magdir/sgml (props changed) vendor/file/dist/Magdir/sharc (props changed) vendor/file/dist/Magdir/sinclair (props changed) vendor/file/dist/Magdir/sketch (props changed) vendor/file/dist/Magdir/smalltalk (props changed) vendor/file/dist/Magdir/sniffer (props changed) vendor/file/dist/Magdir/softquad (props changed) vendor/file/dist/Magdir/spec (props changed) vendor/file/dist/Magdir/spectrum (props changed) vendor/file/dist/Magdir/sql (props changed) vendor/file/dist/Magdir/sun (props changed) vendor/file/dist/Magdir/sysex (props changed) vendor/file/dist/Magdir/teapot (props changed) vendor/file/dist/Magdir/terminfo (props changed) vendor/file/dist/Magdir/tex (props changed) vendor/file/dist/Magdir/tgif (props changed) vendor/file/dist/Magdir/ti-8x (props changed) vendor/file/dist/Magdir/timezone (props changed) vendor/file/dist/Magdir/troff (props changed) vendor/file/dist/Magdir/tuxedo (props changed) vendor/file/dist/Magdir/typeset (props changed) vendor/file/dist/Magdir/unicode (props changed) vendor/file/dist/Magdir/unknown (props changed) vendor/file/dist/Magdir/uuencode (props changed) vendor/file/dist/Magdir/varied.out (props changed) vendor/file/dist/Magdir/varied.script (props changed) vendor/file/dist/Magdir/vax (props changed) vendor/file/dist/Magdir/vicar (props changed) vendor/file/dist/Magdir/virtutech (props changed) vendor/file/dist/Magdir/visx (props changed) vendor/file/dist/Magdir/vms (props changed) vendor/file/dist/Magdir/vmware (props changed) vendor/file/dist/Magdir/vorbis (props changed) vendor/file/dist/Magdir/vxl (props changed) vendor/file/dist/Magdir/wordprocessors (props changed) vendor/file/dist/Magdir/xdelta (props changed) vendor/file/dist/Magdir/xenix (props changed) vendor/file/dist/Magdir/xo65 (props changed) vendor/file/dist/Magdir/xwindows (props changed) vendor/file/dist/Magdir/zilog (props changed) vendor/file/dist/Magdir/zyxel (props changed) Copied: vendor/file/3.32/Header (from r186673, vendor/file/3.32/contrib/file/Header) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/3.32/Header Thu Jan 1 05:39:43 2009 (r186675, copy of r186673, vendor/file/3.32/contrib/file/Header) @@ -0,0 +1,5 @@ +# Magic +# Magic data for file(1) command. +# Machine-generated from src/cmd/file/magdir/*; edit there only! +# Format is described in magic(files), where: +# files is 5 on V7 and BSD, 4 on SV, and ?? in the SVID. Copied: vendor/file/3.32/LEGAL.NOTICE (from r186673, vendor/file/3.32/contrib/file/LEGAL.NOTICE) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/3.32/LEGAL.NOTICE Thu Jan 1 05:39:43 2009 (r186675, copy of r186673, vendor/file/3.32/contrib/file/LEGAL.NOTICE) @@ -0,0 +1,34 @@ +$Id: LEGAL.NOTICE,v 1.11 1999/01/14 16:30:12 christos Exp $ +Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995. +Software written by Ian F. Darwin and others; +maintained 1994-1999 Christos Zoulas. + +This software is not subject to any export provision of the United States +Department of Commerce, and may be exported to any country or planet. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice immediately at the beginning of the file, without modification, + this list of conditions, and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by Ian F. Darwin and others. +4. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. Copied: vendor/file/3.32/Localstuff (from r186673, vendor/file/3.32/contrib/file/Localstuff) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/3.32/Localstuff Thu Jan 1 05:39:43 2009 (r186675, copy of r186673, vendor/file/3.32/contrib/file/Localstuff) @@ -0,0 +1,7 @@ + +#------------------------------------------------------------------------------ +# Localstuff: file(1) magic for locally observed files +# +# $Id: Localstuff,v 1.3 1995/01/21 21:09:00 christos Exp $ +# Add any locally observed files here. Remember: +# text if readable, executable if runnable binary, data if unreadable. Copied: vendor/file/3.32/MAINT (from r186673, vendor/file/3.32/contrib/file/MAINT) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/3.32/MAINT Thu Jan 1 05:39:43 2009 (r186675, copy of r186673, vendor/file/3.32/contrib/file/MAINT) @@ -0,0 +1,33 @@ +$Id: MAINT,v 1.4 2000/04/11 02:43:51 christos Exp $ + +Maintenance notes: + +I am continuing to maintain the file command. I welcome your help, +but to make my life easier I'd like to request the following: + +- Don't change the version numbers! + +If your changes are extensive, I will have to work hard to +integrate them into my version. If you check it into SCCS locally, +the version numbers will likely be kept. IF you check it into RCS +or CVS locally, please use -k to keep the version numbers, and +please use branch deltas (1.21.1, 1.21.2, ...). If you don't do +this, I will likely be unable to use your changes; life's just too +short. + +- Do not distribute changed versions. + +People trying to be helpful occasionally put up their hacked versions +of the file command for FTP, then the "archie" server finds and publishes +the hacked version, and people all over the world get copies of it. +Within a day or two I am getting email from around the world +asking me why "my" file command won't compile!!! Needless to say this +detracts from the limited time I have available to work on the actual +software. Therefore I ask you again to please NOT distribute +your changed version. + + +Thank you for your assistance and cooperation. + +Christos Zoulas +christos@astron.com Copied: vendor/file/3.32/Makefile.am (from r186673, vendor/file/3.32/contrib/file/Makefile.am) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/3.32/Makefile.am Thu Jan 1 05:39:43 2009 (r186675, copy of r186673, vendor/file/3.32/contrib/file/Makefile.am) @@ -0,0 +1,74 @@ +# don't enforce GNU packaging standards +AUTOMAKE_OPTIONS = foreign no-dependencies + +bin_PROGRAMS = file + +data_DATA = magic magic.mime + +MAGIC = @datadir@/magic +CPPFLAGS = -DMAGIC='"$(MAGIC)"' + +man_MANS = file.1 magic.4 + +file_SOURCES = file.c apprentice.c fsmagic.c softmagic.c ascmagic.c \ + compress.c is_tar.c readelf.c print.c \ + file.h names.h patchlevel.h readelf.h tar.h + +EXTRA_DIST = LEGAL.NOTICE MAINT PORTING Makefile.std magic2mime \ + Localstuff Header $(magic_FRAGMENTS) file.man magic.man + +CLEANFILES = $(man_MANS) magic + +magic: Header Localstuff $(magic_FRAGMENTS) + cat $(srcdir)/Header $(srcdir)/Localstuff > $@ + for frag in $(magic_FRAGMENTS); do \ + if test -f $(srcdir)/$$frag; then \ + f=$(srcdir)/$$frag; \ + else \ + f=$$frag; \ + fi; \ + cat $$f; \ + done >> $@ + +file.1: Makefile file.man + @rm -f $@ + sed -e s@__CSECTION__@1@g \ + -e s@__FSECTION__@4@g \ + -e s@__VERSION__@${VERSION}@g \ + -e s@__MAGIC__@${MAGIC}@g $(srcdir)/file.man > $@ + +magic.4: Makefile magic.man + @rm -f $@ + sed -e s@__CSECTION__@1@g \ + -e s@__FSECTION__@4@g \ + -e s@__VERSION__@${VERSION}@g \ + -e s@__MAGIC__@${MAGIC}@g $(srcdir)/magic.man > $@ + +magic_FRAGMENTS = Magdir/adventure Magdir/allegro Magdir/alliant \ + Magdir/alpha Magdir/amanda Magdir/amigaos Magdir/animation \ + Magdir/apl Magdir/apple Magdir/applix Magdir/archive Magdir/asterix \ + Magdir/att3b Magdir/audio Magdir/blender Magdir/blit Magdir/bsdi \ + Magdir/c-lang Magdir/chi Magdir/cisco Magdir/claris Magdir/clipper \ + Magdir/commands Magdir/compress Magdir/console Magdir/convex \ + Magdir/database Magdir/diamond Magdir/diff Magdir/digital \ + Magdir/dump Magdir/elf Magdir/encore Magdir/epoc Magdir/filesystems \ + Magdir/flash Magdir/fonts Magdir/frame Magdir/freebsd Magdir/fsav \ + Magdir/gimp Magdir/gnu Magdir/grace Magdir/hp Magdir/ibm370 \ + Magdir/ibm6000 Magdir/iff Magdir/images Magdir/intel \ + Magdir/interleaf Magdir/island Magdir/ispell Magdir/java \ + Magdir/jpeg Magdir/karma Magdir/lecter Magdir/lex Magdir/lif \ + Magdir/linux Magdir/lisp Magdir/mach Magdir/macintosh Magdir/magic \ + Magdir/mail.news Magdir/maple Magdir/mathematica Magdir/mcrypt \ + Magdir/mime Magdir/mirage Magdir/mkid Magdir/mmdf Magdir/modem \ + Magdir/motorola Magdir/msdos Magdir/msvc Magdir/ncr Magdir/netbsd \ + Magdir/netscape Magdir/news Magdir/octave Magdir/olf Magdir/os2 \ + Magdir/os9 Magdir/osf1 Magdir/palm Magdir/pbm Magdir/pdf Magdir/pdp \ + Magdir/pgp Magdir/pkgadd Magdir/plus5 Magdir/printer Magdir/project \ + Magdir/psdbms Magdir/pyramid Magdir/python Magdir/riff Magdir/rpm \ + Magdir/rtf Magdir/sc Magdir/sccs Magdir/sendmail Magdir/sequent \ + Magdir/sgi Magdir/sgml Magdir/sniffer Magdir/softquad Magdir/spectrum \ + Magdir/sun Magdir/teapot Magdir/terminfo Magdir/tex Magdir/ti-8x \ + Magdir/timezone Magdir/troff Magdir/typeset Magdir/unknown \ + Magdir/uuencode Magdir/varied.out Magdir/vax Magdir/vicar Magdir/visx \ + Magdir/vms Magdir/vmware Magdir/wordperfect Magdir/xdelta Magdir/xenix \ + Magdir/zilog Magdir/zyxel Copied: vendor/file/3.32/Makefile.in (from r186673, vendor/file/3.32/contrib/file/Makefile.in) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/3.32/Makefile.in Thu Jan 1 05:39:43 2009 (r186675, copy of r186673, vendor/file/3.32/contrib/file/Makefile.in) @@ -0,0 +1,500 @@ +# Makefile.in generated automatically by automake 1.4a from Makefile.am + +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# don't enforce GNU packaging standards + + +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +prefix = @prefix@ +exec_prefix = @exec_prefix@ + +bindir = @bindir@ +sbindir = @sbindir@ +libexecdir = @libexecdir@ +datadir = @datadir@ +sysconfdir = @sysconfdir@ +sharedstatedir = @sharedstatedir@ +localstatedir = @localstatedir@ +libdir = @libdir@ +infodir = @infodir@ +mandir = @mandir@ +includedir = @includedir@ +oldincludedir = /usr/include + +DESTDIR = + +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ + +top_builddir = . + +ACLOCAL = @ACLOCAL@ +AUTOCONF = @AUTOCONF@ +AUTOMAKE = @AUTOMAKE@ +AUTOHEADER = @AUTOHEADER@ + +INSTALL = @INSTALL@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_FLAG = +transform = @program_transform_name@ + +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +CC = @CC@ +LN_S = @LN_S@ +MAKEINFO = @MAKEINFO@ +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ + +AUTOMAKE_OPTIONS = foreign no-dependencies + +bin_PROGRAMS = file + +data_DATA = magic magic.mime + +MAGIC = @datadir@/magic +CPPFLAGS = -DMAGIC='"$(MAGIC)"' + +man_MANS = file.1 magic.4 + +file_SOURCES = file.c apprentice.c fsmagic.c softmagic.c ascmagic.c compress.c is_tar.c readelf.c print.c file.h names.h patchlevel.h readelf.h tar.h + + +EXTRA_DIST = LEGAL.NOTICE MAINT PORTING Makefile.std magic2mime Localstuff Header $(magic_FRAGMENTS) file.man magic.man + + +CLEANFILES = $(man_MANS) magic + +magic_FRAGMENTS = Magdir/adventure Magdir/allegro Magdir/alliant Magdir/alpha Magdir/amanda Magdir/amigaos Magdir/animation Magdir/apl Magdir/apple Magdir/applix Magdir/archive Magdir/asterix Magdir/att3b Magdir/audio Magdir/blender Magdir/blit Magdir/bsdi Magdir/c-lang Magdir/chi Magdir/cisco Magdir/claris Magdir/clipper Magdir/commands Magdir/compress Magdir/console Magdir/convex Magdir/database Magdir/diamond Magdir/diff Magdir/digital Magdir/dump Magdir/elf Magdir/encore Magdir/epoc Magdir/filesystems Magdir/flash Magdir/fonts Magdir/frame Magdir/freebsd Magdir/fsav Magdir/gimp Magdir/gnu Magdir/grace Magdir/hp Magdir/ibm370 Magdir/ibm6000 Magdir/iff Magdir/images Magdir/intel Magdir/interleaf Magdir/island Magdir/ispell Magdir/java Magdir/jpeg Magdir/karma Magdir/lecter Magdir/lex Magdir/lif Magdir/linux Magdir/lisp Magdir/mach Magdir/macintosh Magdir/magic Magdir/mail.news Magdir/maple Magdir/mathematica Magdir/mc rypt Magdir/mime Magdir/mirage Magdir/mkid Magdir/mmdf Magdir/modem Magdir/motorola Magdir/msdos Magdir/msvc Magdir/ncr Magdir/netbsd Magdir/netscape Magdir/news Magdir/octave Magdir/olf Magdir/os2 Magdir/os9 Magdir/osf1 Magdir/palm Magdir/pbm Magdir/pdf Magdir/pdp Magdir/pgp Magdir/pkgadd Magdir/plus5 Magdir/printer Magdir/project Magdir/psdbms Magdir/pyramid Magdir/python Magdir/riff Magdir/rpm Magdir/rtf Magdir/sc Magdir/sccs Magdir/sendmail Magdir/sequent Magdir/sgi Magdir/sgml Magdir/sniffer Magdir/softquad Magdir/spectrum Magdir/sun Magdir/teapot Magdir/terminfo Magdir/tex Magdir/ti-8x Magdir/timezone Magdir/troff Magdir/typeset Magdir/unknown Magdir/uuencode Magdir/varied.out Magdir/vax Magdir/vicar Magdir/visx Magdir/vms Magdir/vmware Magdir/wordperfect Magdir/xdelta Magdir/xenix Magdir/zilog Magdir/zyxel + +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +PROGRAMS = $(bin_PROGRAMS) + + +DEFS = @DEFS@ -I. -I$(srcdir) -I. +LDFLAGS = @LDFLAGS@ +LIBS = @LIBS@ +file_OBJECTS = file.o apprentice.o fsmagic.o softmagic.o ascmagic.o \ +compress.o is_tar.o readelf.o print.o +file_LDADD = $(LDADD) +file_DEPENDENCIES = +file_LDFLAGS = +CFLAGS = @CFLAGS@ +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ +man1dir = $(mandir)/man1 +man4dir = $(mandir)/man4 +MANS = $(man_MANS) + +NROFF = nroff +DATA = $(data_DATA) + +DIST_COMMON = README ./stamp-h.in Makefile.am Makefile.in acconfig.h \ +acinclude.m4 aclocal.m4 config.h.in configure configure.in install-sh \ +missing mkinstalldirs + + +DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) + +TAR = gtar +GZIP_ENV = --best +SOURCES = $(file_SOURCES) +OBJECTS = $(file_OBJECTS) + +all: all-redirect +.SUFFIXES: +.SUFFIXES: .S .c .o .s +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile + +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status + +$(ACLOCAL_M4): configure.in acinclude.m4 + cd $(srcdir) && $(ACLOCAL) + +config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck +$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) + cd $(srcdir) && $(AUTOCONF) + +config.h: stamp-h + @if test ! -f $@; then \ + rm -f stamp-h; \ + $(MAKE) stamp-h; \ + else :; fi +stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status + cd $(top_builddir) \ + && CONFIG_FILES= CONFIG_HEADERS=config.h \ + $(SHELL) ./config.status + @echo timestamp > stamp-h 2> /dev/null +$(srcdir)/config.h.in: $(srcdir)/stamp-h.in + @if test ! -f $@; then \ + rm -f $(srcdir)/stamp-h.in; \ + $(MAKE) $(srcdir)/stamp-h.in; \ + else :; fi +$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h + cd $(top_srcdir) && $(AUTOHEADER) + @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null + +mostlyclean-hdr: + +clean-hdr: + +distclean-hdr: + -rm -f config.h + +maintainer-clean-hdr: + +mostlyclean-binPROGRAMS: + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + +distclean-binPROGRAMS: + +maintainer-clean-binPROGRAMS: + +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(bindir) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + if test -f $$p; then \ + echo " $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ + $(INSTALL_PROGRAM) $(INSTALL_STRIP_FLAG) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + list='$(bin_PROGRAMS)'; for p in $$list; do \ + rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ + done + +.c.o: + $(COMPILE) -c $< + +.s.o: + $(COMPILE) -c $< + +.S.o: + $(COMPILE) -c $< + +mostlyclean-compile: + -rm -f *.o core *.core + +clean-compile: + +distclean-compile: + -rm -f *.tab.c + +maintainer-clean-compile: + +file: $(file_OBJECTS) $(file_DEPENDENCIES) + @rm -f file + $(LINK) $(file_LDFLAGS) $(file_OBJECTS) $(file_LDADD) $(LIBS) + +install-man1: + $(mkinstalldirs) $(DESTDIR)$(man1dir) + @list='$(man1_MANS)'; \ + l2='$(man_MANS)'; for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ + done + +uninstall-man1: + @list='$(man1_MANS)'; \ + l2='$(man_MANS)'; for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ + rm -f $(DESTDIR)$(man1dir)/$$inst; \ + done + +install-man4: + $(mkinstalldirs) $(DESTDIR)$(man4dir) + @list='$(man4_MANS)'; \ + l2='$(man_MANS)'; for i in $$l2; do \ + case "$$i" in \ + *.4*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man4dir)/$$inst"; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(man4dir)/$$inst; \ + done + +uninstall-man4: + @list='$(man4_MANS)'; \ + l2='$(man_MANS)'; for i in $$l2; do \ + case "$$i" in \ + *.4*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f $(DESTDIR)$(man4dir)/$$inst"; \ + rm -f $(DESTDIR)$(man4dir)/$$inst; \ + done +install-man: $(MANS) + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-man1 install-man4 +uninstall-man: + @$(NORMAL_UNINSTALL) + $(MAKE) $(AM_MAKEFLAGS) uninstall-man1 uninstall-man4 + +install-dataDATA: $(data_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(datadir) + @list='$(data_DATA)'; for p in $$list; do \ + if test -f $(srcdir)/$$p; then \ + echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(datadir)/$$p"; \ + $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(datadir)/$$p; \ + else if test -f $$p; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(datadir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(datadir)/$$p; \ + fi; fi; \ + done + +uninstall-dataDATA: + @$(NORMAL_UNINSTALL) + list='$(data_DATA)'; for p in $$list; do \ + rm -f $(DESTDIR)$(datadir)/$$p; \ + done + +tags: TAGS + +ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + here=`pwd` && cd $(srcdir) \ + && mkid -f$$here/ID $$unique $(LISP) + +TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \ + || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS) + +mostlyclean-tags: + +clean-tags: + +distclean-tags: + -rm -f TAGS ID + +maintainer-clean-tags: + +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + -rm -rf $(distdir) + GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz + mkdir $(distdir)/=build + mkdir $(distdir)/=inst + dc_install_base=`cd $(distdir)/=inst && pwd`; \ + cd $(distdir)/=build \ + && ../configure --srcdir=.. --prefix=$$dc_install_base \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) dist + -rm -rf $(distdir) + @banner="$(distdir).tar.gz is ready for distribution"; \ + dashes=`echo "$$banner" | sed s/./=/g`; \ + echo "$$dashes"; \ + echo "$$banner"; \ + echo "$$dashes" +dist: distdir + -chmod -R a+r $(distdir) + GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) + -rm -rf $(distdir) +dist-all: distdir + -chmod -R a+r $(distdir) + GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) + -rm -rf $(distdir) +distdir: $(DISTFILES) + -rm -rf $(distdir) + mkdir $(distdir) + -chmod 777 $(distdir) + $(mkinstalldirs) $(distdir)/Magdir + @for file in $(DISTFILES); do \ + d=$(srcdir); \ + if test -d $$d/$$file; then \ + cp -pr $$d/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ + done +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +all-recursive-am: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +install-exec-am: install-binPROGRAMS +install-exec: install-exec-am + +install-data-am: install-man install-dataDATA +install-data: install-data-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-binPROGRAMS uninstall-man uninstall-dataDATA +uninstall: uninstall-am +all-am: Makefile $(PROGRAMS) $(MANS) $(DATA) config.h +all-redirect: all-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install +installdirs: + $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 \ + $(DESTDIR)$(mandir)/man4 $(DESTDIR)$(datadir) + + +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -rm -f Makefile $(CONFIG_CLEAN_FILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + +maintainer-clean-generic: +mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS \ + mostlyclean-compile mostlyclean-tags \ + mostlyclean-generic + +mostlyclean: mostlyclean-am + +clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-tags \ + clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-hdr distclean-binPROGRAMS distclean-compile \ + distclean-tags distclean-generic clean-am + +distclean: distclean-am + -rm -f config.status + +maintainer-clean-am: maintainer-clean-hdr maintainer-clean-binPROGRAMS \ + maintainer-clean-compile maintainer-clean-tags \ + maintainer-clean-generic distclean-am + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-am + -rm -f config.status + +.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ +mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ +maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ +mostlyclean-compile distclean-compile clean-compile \ +maintainer-clean-compile install-man1 uninstall-man1 install-man4 \ +uninstall-man4 install-man uninstall-man uninstall-dataDATA \ +install-dataDATA tags mostlyclean-tags distclean-tags clean-tags \ +maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \ +installcheck-am installcheck all-recursive-am install-exec-am \ +install-exec install-data-am install-data install-am install \ +uninstall-am uninstall all-redirect all-am all installdirs \ +mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean + + +magic: Header Localstuff $(magic_FRAGMENTS) + cat $(srcdir)/Header $(srcdir)/Localstuff > $@ + for frag in $(magic_FRAGMENTS); do \ + if test -f $(srcdir)/$$frag; then \ + f=$(srcdir)/$$frag; \ + else \ + f=$$frag; \ + fi; \ + cat $$f; \ + done >> $@ + +file.1: Makefile file.man + @rm -f $@ + sed -e s@__CSECTION__@1@g \ + -e s@__FSECTION__@4@g \ + -e s@__VERSION__@${VERSION}@g \ + -e s@__MAGIC__@${MAGIC}@g $(srcdir)/file.man > $@ + +magic.4: Makefile magic.man + @rm -f $@ + sed -e s@__CSECTION__@1@g \ + -e s@__FSECTION__@4@g \ + -e s@__VERSION__@${VERSION}@g \ + -e s@__MAGIC__@${MAGIC}@g $(srcdir)/magic.man > $@ + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Copied: vendor/file/3.32/Makefile.std (from r186673, vendor/file/3.32/contrib/file/Makefile.std) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/3.32/Makefile.std Thu Jan 1 05:39:43 2009 (r186675, copy of r186673, vendor/file/3.32/contrib/file/Makefile.std) @@ -0,0 +1,167 @@ +# Makefile for file(1) cmd. +# Copyright (c) Ian F. Darwin 86/09/01 - see LEGAL.NOTICE. +# @(#)$Id: Makefile.std,v 1.9 2000/08/05 17:36:47 christos Exp $ +# +# This software is not subject to any license of the American Telephone +# and Telegraph Company or of the Regents of the University of California. +# +# Permission is granted to anyone to use this software for any purpose on +# any computer system, and to alter it and redistribute it freely, subject +# to the following restrictions: +# +# 1. The author is not responsible for the consequences of use of this +# software, no matter how awful, even if they arise from flaws in it. +# +# 2. The origin of this software must not be misrepresented, either by +# explicit claim or by omission. Since few users ever read sources, +# credits must appear in the documentation. +# +# 3. Altered versions must be plainly marked as such, and must not be +# misrepresented as being the original software. Since few users +# ever read sources, credits must appear in the documentation. +# +# 4. This notice may not be removed or altered. +# +VERSION = 3.32 +SHELL = /bin/sh +#MAGIC = /etc/magic +MAGIC = /usr/local/etc/magic +DEFS = -DMAGIC='"$(MAGIC)"' -DBUILTIN_ELF # -Dvoid=int +CC = cc +COPTS = -O -g # newer compilers allow both; else drop -O +# For truly antique environments, use this for (dummy) include files: +COPTS = -O # -Ilocalinc +CFLAGS = $(COPTS) $(DEFS) +LDFLAGS = $(COPTS) # -Bstatic # older gdb couldn't handle shared libs +SHAR = bundle +OFILE = /usr/bin/file # old or distributed version, for comparison +# Where new binary lives; typically /usr/local (BSD), /usr/lbin (USG). +BINDIR = /usr/local/bin +# For installing our man pages; +# MANCxxx is manual section for Commands, MANFxxx is section for file formats. +# MANxDIR is directory names; MANxEXT is the filename extention. Usual values: +# Variable V7 4BSD Sys V +# MANCDIR /usr/man/man1 /usr/man/man1 /usr/man/u_man/man1 +# MANFDIR /usr/man/man5 /usr/man/man5 /usr/man/u_man/man4 +# MANCEXT 1 1 1 +# MANFEXT 5 5 4 +# --- possible alternative for 4BSD --- +# MANCDIR /usr/local/man/man1 +# MANCEXT 1 +# or +# MANCDIR /usr/man/manl +# MANCEXT l +# --- possible alternative for USG --- +# MANCDIR /usr/man/local/man1 +# MANCEXT 1 + +MANCDIR = /usr/local/man/man1 +MANCEXT = 1 +MANFDIR = /usr/local/man/man4 +MANFEXT = 4 + +# There are no system-dependant configuration options (except maybe CFLAGS). +# Uncomment any of these that is missing from your "standard" library. +LOCALSRCS = # localsrc/getopt.c localsrc/strtol.c \ +# localsrc/strtok.c localsrc/strchr.c +LOCALOBJS = # localsrc/getopt.o localsrc/strtol.o \ +# localsrc/strtok.o localsrc/strchr.o +# These are not compiled in unless you use -Ilocalinc, but +# are not commented out as "make dist" &c use them. +LOCALINC = # localinc/*.h localinc/sys/*.h + +SRCS = file.c apprentice.c fsmagic.c softmagic.c ascmagic.c \ + compress.c is_tar.c readelf.c internat.c \ + print.c $(LOCALSRCS) $(LOCALINC) +OBJS = file.o apprentice.o fsmagic.o softmagic.o ascmagic.o \ + compress.o is_tar.o readelf.o internat.o \ + print.o $(LOCALOBJS) +HDRS = file.h names.h patchlevel.h readelf.h tar.h + +AUTOSRC=configure configure.in install-sh config.h.in Makefile.in +ALLSRC = LEGAL.NOTICE README MAINT PORTING $(SRCS) $(HDRS) \ + Makefile.std file.man magic.man magic2mime $(AUTOSRC) \ + Localstuff Header +ALLMAGIC = Magdir/[a-z]* + +all: file magic file.${MANCEXT} magic.${MANFEXT} + +TESTFILES = * tst/* +try: all $(OFILE) + cd tst; $(MAKE) + time $(OFILE) $(TESTFILES) >/tmp/t1 # can't use ./magic + time ./file -m ./magic $(TESTFILES) >/tmp/t2 + -diff -b /tmp/t[12] + what ./file >lastnocore + +file: $(OBJS) + $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ +lint: $(SRCS) + lint -ha $(DEFS) $(SRCS) | tee $@ +magic: Localstuff Header Magdir + cat Header Localstuff Magdir/[a-z] > $@ + +ascmagic.o: names.h + +compress.o apprentice.o ascmagic.o file.o fsmagic.o print.o softmagic.o: file.h + +install: file magic + cp file $(BINDIR)/file + cp magic $(MAGIC) + +install.man: file.${MANCEXT} magic.${MANFEXT} + cp file.${MANCEXT} $(MANCDIR)/file.$(MANCEXT) + cp magic.${MANFEXT} $(MANFDIR)/magic.$(MANFEXT) + +clean: + rm -f *.o core file magic lint dist.* MANIFEST \ + magic.${MANFEXT} file.${MANCEXT} \ + config.h config.status config.cache config.log +clobber: + cd tst; $(MAKE) clean + + +magic.${MANFEXT} : Makefile magic.man + @rm -f $@ + sed -e s@__CSECTION__@${MANCEXT}@g \ + -e s@__FSECTION__@${MANFEXT}@g \ + -e s@__VERSION__@${VERSION}@g \ + -e s@__MAGIC__@${MAGIC}@g magic.man > $@ + +file.${MANCEXT} : Makefile file.man + @rm -f $@ + sed -e s@__CSECTION__@${MANCEXT}@g \ + -e s@__FSECTION__@${MANFEXT}@g \ + -e s@__VERSION__@${VERSION}@g \ + -e s@__MAGIC__@${MAGIC}@g file.man > $@ + +send: dist + ftp ftp.cs + +dist: dist.src dist.magic + @echo Now check this patchlevel! + ident patchlevel.h + +dist.src: $(ALLSRC) MANIFEST +# Some versions of shar can't handle a single file from +# a subdirectory, so we manually insert mkdir as needed. +# The point is to exclude all the generable targets in tst. + (echo mkdir localinc localinc/sys localsrc tst; \ + $(SHAR) $(ALLSRC) MANIFEST) > $@ + +rcsdiff: $(ALLSRC) + rcsdiff -q RCS/* + +MANIFEST: $(ALLSRC) + ident $(ALLSRC) > MANIFEST +dist.magic: Magdir +# As above, but to exclude Magdir/RCS from being shipped. + (echo mkdir Magdir; $(SHAR) $(ALLMAGIC)) >$@ + +tar: $(ALLSRC) $(ALLMAGIC) + -rm -fr file-${VERSION} + -mkdir file-${VERSION} file-${VERSION}/Magdir + ln $(ALLSRC) file-${VERSION} + ln ${ALLMAGIC} file-${VERSION}/Magdir + tar cvf file-${VERSION}.tar file-${VERSION} + -rm -fr file-${VERSION} Copied: vendor/file/3.32/README (from r186673, vendor/file/3.32/contrib/file/README) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/3.32/README Thu Jan 1 05:39:43 2009 (r186675, copy of r186673, vendor/file/3.32/contrib/file/README) @@ -0,0 +1,91 @@ +** README for file(1) Command ** +@(#) $Id: README,v 1.23 2000/08/05 18:25:29 christos Exp $ + +This is Release 3.x of Ian Darwin's (copyright but distributable) +file(1) command. This version is the standard "file" command for Linux, +*BSD, and other systems. (See "patchlevel.h" for the exact release number). + +UNIX is a trademark of UNIX System Laboratories. + +The prime contributor to Release 3.8 was Guy Harris, who put in megachanges +including byte-order independance. + +The prime contributor to Release 3.0 was Christos Zoulas, who put +in hundreds of lines of source code changes, including his own +ANSIfication of the code (I liked my own ANSIfication better, but +his (__P()) is the "Berkeley standard" way of doing it, and I wanted UCB +to include the code...), his HP-like "indirection" (a feature of +the HP file command, I think), and his mods that finally got the +uncompress (-z) mode finished and working. + +This release has compiled in numerous environments; see PORTING +for a list and problems. + +This fine freeware file(1) follows the USG (System V) model of the file +command, rather than the Research (V7) version or the V7-derived 4.[23] +Berkeley one. That is, the file /etc/magic contains much of the ritual +information that is the source of this program's power. My version +knows a little more magic (including tar archives) than System V; the +/etc/magic parsing seems to be compatible with the (poorly documented) +System V /etc/magic format (with one exception; see the man page). + +In addition, the /etc/magic file is built from a subdirectory +for easier(?) maintenance. I will act as a clearinghouse for +magic numbers assigned to all sorts of data files that +are in reasonable circulation. Send your magic numbers, +in magic(4) format please, to the maintainer, Christos Zoulas. + +LEGAL.NOTICE - read this first. +README - read this second (you are currently reading this file). +PORTING - read this only if the program won't compile. +Makefile - read this next, adapt it as needed (particularly + the location of the old existing file command and + the man page layouts), type "make" to compile, + "make try" to try it out against your old version. + Expect some diffs, particularly since your original + file(1) may not grok the imbedded-space ("\ ") in + the current magic file, or may even not use the + magic file. +apprentice.c - parses /etc/magic to learn magic +ascmagic.c - third & last set of tests, based on hardwired assumptions. +core - not included in distribution due to mailer limitations. +debug.c - includes -c printout routine +file.1 - man page for the command +magic.4 - man page for the magic file, courtesy Guy Harris. + Install as magic.4 on USG and magic.5 on V7 or Berkeley; cf Makefile. +file.c - main program +file.h - header file +fsmagic.c - first set of tests the program runs, based on filesystem info +is_tar.c, tar.h - knows about tarchives (courtesy John Gilmore). +magdir - directory of /etc/magic pieces + magdir/Makefile - ADJUST THIS FOR YOUR CONFIGURATION +names.h - header file for ascmagic.c +softmagic.c - 2nd set of tests, based on /etc/magic +readelf.[ch] - Standalone elf parsing code. +compress.c - on-the-fly decompression. +internat.c - recognize international `text' files. +print.c - print results, errors, warnings. + +If your gzip sometimes fails to decompress things complaining about a short +file, apply this patch [which is going to be in the next version of gzip]: +*** - Tue Oct 29 02:06:35 1996 +--- util.c Sun Jul 21 21:51:38 1996 +*** 106,111 **** +--- 108,114 ---- + + if (insize == 0) { + if (eof_ok) return EOF; ++ flush_window(); + read_error(); + } + bytes_in += (ulg)insize; + +E-mail: christos@astron.com + +Phone: Do not even think of telephoning me about this program. Send cash first! + +Parts of this software were developed at SoftQuad Inc., 56 Aberfoyle +Cres, # 810, Toronto, Ontario CANADA M8X 2W4. Phone: 416-239-4801 or +800-387-2777. Email: mail@sq.com. Call for information on SGML editing +and browsing, Unix text processing, and customised products on Unix, +DOS and Mac. Copied: vendor/file/3.32/acconfig.h (from r186673, vendor/file/3.32/contrib/file/acconfig.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/3.32/acconfig.h Thu Jan 1 05:39:43 2009 (r186675, copy of r186673, vendor/file/3.32/contrib/file/acconfig.h) @@ -0,0 +1,42 @@ +/* Autoheader needs me */ +#define PACKAGE "file" + +/* Autoheader needs me */ +#define VERSION "3.32" + +/* Define if builtin ELF support is enabled. */ +#undef BUILTIN_ELF + +/* Define if ELF core file support is enabled. */ +#undef ELFCORE + +/* Define if the `long long' type works. */ +#undef HAVE_LONG_LONG + +/* Define to `unsigned char' if standard headers don't define. */ +#undef uint8_t + +/* Define to `unsigned short' if standard headers don't define. */ +#undef uint16_t + +/* Define to `unsigned int' if standard headers don't define. */ +#undef uint32_t + +/* Define to `unsigned long long', if available, or `unsigned long', if + standard headers don't define. */ +#undef uint64_t + +/* FIXME: These have to be added manually because autoheader doesn't know + about AC_CHECK_SIZEOF_INCLUDES. */ + +/* The number of bytes in a uint8_t. */ +#define SIZEOF_UINT8_T 0 + +/* The number of bytes in a uint16_t. */ +#define SIZEOF_UINT16_T 0 + +/* The number of bytes in a uint32_t. */ +#define SIZEOF_UINT32_T 0 + +/* The number of bytes in a uint64_t. */ +#define SIZEOF_UINT64_T 0 Copied: vendor/file/3.32/acinclude.m4 (from r186673, vendor/file/3.32/contrib/file/acinclude.m4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/3.32/acinclude.m4 Thu Jan 1 05:39:43 2009 (r186675, copy of r186673, vendor/file/3.32/contrib/file/acinclude.m4) @@ -0,0 +1,79 @@ +dnl cloned from autoconf 2.13 acspecific.m4 +AC_DEFUN(AC_C_LONG_LONG, +[AC_CACHE_CHECK(for long long, ac_cv_c_long_long, +[if test "$GCC" = yes; then + ac_cv_c_long_long=yes +else +AC_TRY_RUN([int main() { +long long foo = 0; +exit(sizeof(long long) < sizeof(long)); }], +ac_cv_c_long_long=yes, ac_cv_c_long_long=no) +fi]) +if test $ac_cv_c_long_long = yes; then + AC_DEFINE(HAVE_LONG_LONG) +fi +]) + +dnl from autoconf 2.13 acgeneral.m4, with patch: *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From hrs at FreeBSD.org Thu Jan 1 06:43:16 2009 From: hrs at FreeBSD.org (Hiroki Sato) Date: Thu Jan 1 06:47:26 2009 Subject: svn commit: r186676 - in releng/7.1/release/doc: en_US.ISO8859-1/relnotes zh_CN.GB2312/relnotes Message-ID: <200901010643.n016hGHF046933@svn.freebsd.org> Author: hrs Date: Thu Jan 1 06:43:16 2009 New Revision: 186676 URL: http://svn.freebsd.org/changeset/base/186676 Log: Fix a typo (s/get_setaffinity/sched_getaffinity/). Spotted by: mtm Approved by: re (implicit) Modified: releng/7.1/release/doc/en_US.ISO8859-1/relnotes/article.sgml releng/7.1/release/doc/zh_CN.GB2312/relnotes/article.sgml Modified: releng/7.1/release/doc/en_US.ISO8859-1/relnotes/article.sgml ============================================================================== --- releng/7.1/release/doc/en_US.ISO8859-1/relnotes/article.sgml Thu Jan 1 05:39:43 2009 (r186675) +++ releng/7.1/release/doc/en_US.ISO8859-1/relnotes/article.sgml Thu Jan 1 06:43:16 2009 (r186676) @@ -249,7 +249,7 @@ The &os;'s &man.linux.4; ABI support now implements sched_setaffinity() and - get_setaffinity() using real CPU affinity + sched_getaffinity() using real CPU affinity setting primitives. The client side functionality of &man.rpc.lockd.8; has been Modified: releng/7.1/release/doc/zh_CN.GB2312/relnotes/article.sgml ============================================================================== --- releng/7.1/release/doc/zh_CN.GB2312/relnotes/article.sgml Thu Jan 1 05:39:43 2009 (r186675) +++ releng/7.1/release/doc/zh_CN.GB2312/relnotes/article.sgml Thu Jan 1 06:43:16 2009 (r186676) @@ -220,7 +220,7 @@ &os; µÄ &man.linux.4; ABI Ö§³ÖʹÓÃÕæÕýµÄ CPU °ó¶¨ÅäÖÃÔ­ÓïʵÏÖÁË sched_setaffinity() ºÍ - get_setaffinity()¡£ + sched_getaffinity()¡£ &man.rpc.lockd.8; ¿Í»§¶ËµÄ¹¦ÄÜÔÚ &os; ÄÚºËÖÐÖØÐ½øÐÐÁËʵÏÖ¡£ Õâ¸öʵÏÖÌṩÁËÕýÈ·µÄ &man.flock.2; ·ç¸ñµÄËøÓïÒ壬 From imp at bsdimp.com Thu Jan 1 07:08:09 2009 From: imp at bsdimp.com (M. Warner Losh) Date: Thu Jan 1 07:08:15 2009 Subject: svn commit: r186520 - head/sys/dev/puc In-Reply-To: <495B406F.2040305@localhost.inse.ru> References: <200812271522.mBRFMMHY074982@svn.freebsd.org> <20081229.114241.756909212.imp@bsdimp.com> <495B406F.2040305@localhost.inse.ru> Message-ID: <20090101.000643.1543764949.imp@bsdimp.com> In message: <495B406F.2040305@localhost.inse.ru> Roman Kurakin writes: : M. Warner Losh wrote: : > In message: <200812271522.mBRFMMHY074982@svn.freebsd.org> : > Roman Kurakin writes: : > : Author: rik : > : Date: Sat Dec 27 15:22:22 2008 : > : New Revision: 186520 : > : URL: http://svn.freebsd.org/changeset/base/186520 : > : : > : Log: : > : Add support for the Oxford OX16PCI958-based card. : > : : > : Note, that the patch provided with this card for the Linux states that : > : the card uses DEFAULT_RCLK * 2, while in fact it is '* 10'. So probably : > : we should also use the subdevice/subvendord here. For now just ignore : > : that fact. : > : > I've had problems with doing that on some Oxford based cards. The : > vendor that uses them doesn't set them up, so you can't tell my : > cardbus oxford card from the pcie oxford card that someone else sent : > me patches for: both with different clock multipliers... : > : Probably we need to implement AUTODETECT_RCLK. I've had the patch, : but it worked only for modules, cause there was no working timers while the : cards probe time if the driver was compiled in. I've planned to move : detection : code to the first open and do some cleanup after the detection, but : didn't do : that. I'd like to see that. I think we can defer the detection of RCLK to later. How accurate is this, btw? How dependent on timing of interrupts is it? Warner From christoph.mallon at gmx.de Thu Jan 1 09:39:25 2009 From: christoph.mallon at gmx.de (Christoph Mallon) Date: Thu Jan 1 09:39:32 2009 Subject: svn commit: r186529 - head/sys/dev/acpi_support In-Reply-To: <20081228210916.GA13945@britannica.bec.de> References: <200812272048.mBRKmBKo082102@svn.freebsd.org> <20081228045055.GA81182@citylink.fud.org.nz> <20081228223039.cf28e3e2.stas@FreeBSD.org> <4957E8F5.90202@andric.com> <20081228210916.GA13945@britannica.bec.de> Message-ID: <495C8904.8090008@gmx.de> Joerg Sonnenberger schrieb: > On Sun, Dec 28, 2008 at 10:00:37PM +0100, Dimitry Andric wrote: >> On 2008-12-28 20:30, Stanislav Sedov wrote: >>>>> - ACPI_OBJECT acpiarg[0]; >>>>> + ACPI_OBJECT acpiarg[1]; >>> I wonder how does gcc allowed this. It emits warnings only in >>> pedantic mode which we cannot use to compile kernel with. >> Zero-sized arrays are non-standard, but have been allowed by gcc (and >> many other compilers) since a long time, so it is logical that it >> doesn't warn about it by default. > > Having no size at all would be standard compliant, e.g. acpiarg[[]; No, it wouldn't be standard compliant. You are confusing this with a flexible array member as last entry of a struct declaration (C99 ?6.7.2.1:16). As an (old) extension GCC accepts [0] as flexible array member, too. The declaration here is a declaration of an array with automatic storage duration and no linkage. Having nothing in the [] (and no initialiser) would make the array an incomplete type (C99 ?6.7.5.2:4), which is not valid for a local variable (C99 ?6.2.2:6 and ?6.7:7). Also 0 as size expression clearly violates the standard: "If the expression is a constant expression, it shall have a value greater than zero." (C99 ?6.7.5.2:1). A local array with length 0 has no practical purpose either. Regards Christoph From dougb at FreeBSD.org Thu Jan 1 10:55:27 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Thu Jan 1 10:55:33 2009 Subject: svn commit: r186677 - head/usr.sbin/mergemaster Message-ID: <200901011055.n01AtQaN052763@svn.freebsd.org> Author: dougb Date: Thu Jan 1 10:55:26 2009 New Revision: 186677 URL: http://svn.freebsd.org/changeset/base/186677 Log: Revert 184781, 184804, and 184832 (automatic installation of files that differ only by VCS Id) for the following reasons: 1. It was added without my consent, review, or even a heads up 2. It is something that I've repeatedly said I do not want, and certainly do not want as the default 3. It is poorly implemented (much too complex, produces false positives e.g., /etc/mail/helpfile) Given that this is a situation that comes up very infrequently (usually only for a major version upgrade) and can usually be handled simply enough on a one-off basis, I will once again point out that I think this is a Bad Idea. I would be willing to consider a better implementation as an option that is off by default. Modified: head/usr.sbin/mergemaster/mergemaster.sh Modified: head/usr.sbin/mergemaster/mergemaster.sh ============================================================================== --- head/usr.sbin/mergemaster/mergemaster.sh Thu Jan 1 06:43:16 2009 (r186676) +++ head/usr.sbin/mergemaster/mergemaster.sh Thu Jan 1 10:55:26 2009 (r186677) @@ -947,25 +947,6 @@ for COMPFILE in `find . -type f -size +0 echo " *** Temp ${COMPFILE} and installed have the same CVS Id, deleting" rm "${COMPFILE}" ;; - - *) - tempfoo=`basename $0` - TMPFILE1=`mktemp -t ${tempfoo}` || break - TMPFILE2=`mktemp -t ${tempfoo}` || break - sed "s/[$]${CVS_ID_TAG}:.*[$]//g" "${DESTDIR}${COMPFILE#.}" > "${TMPFILE1}" - sed "s/[$]${CVS_ID_TAG}:.*[$]//g" "${COMPFILE}" > "${TMPFILE2}" - if diff -q ${DIFF_OPTIONS} "${TMPFILE1}" "${TMPFILE2}" > \ - /dev/null 2>&1; then - echo " *** Temp ${COMPFILE} and installed are the same except CVS Id, replacing" - if mm_install "${COMPFILE}"; then - echo " *** ${COMPFILE} upgraded successfully" - echo '' - else - echo " *** Problem upgrading ${COMPFILE}, it will remain to merge by hand" - fi - fi - rm -f "${TMPFILE1}" "${TMPFILE2}" - ;; esac ;; esac From dougb at FreeBSD.org Thu Jan 1 11:35:17 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Thu Jan 1 11:35:27 2009 Subject: svn commit: r186677 - head/usr.sbin/mergemaster In-Reply-To: <200901011055.n01AtQaN052763@svn.freebsd.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> Message-ID: <495CA430.5060900@FreeBSD.org> I neglected to mention that there is already the -U option that will handle this situation nicely (as was discussed on -current the last time this came up). Doug Doug Barton wrote: > Author: dougb > Date: Thu Jan 1 10:55:26 2009 > New Revision: 186677 > URL: http://svn.freebsd.org/changeset/base/186677 > > Log: > Revert 184781, 184804, and 184832 (automatic installation of files > that differ only by VCS Id) for the following reasons: > 1. It was added without my consent, review, or even a heads up > 2. It is something that I've repeatedly said I do not want, and certainly > do not want as the default > 3. It is poorly implemented (much too complex, produces false positives > e.g., /etc/mail/helpfile) > > Given that this is a situation that comes up very infrequently (usually > only for a major version upgrade) and can usually be handled simply > enough on a one-off basis, I will once again point out that I think > this is a Bad Idea. I would be willing to consider a better implementation > as an option that is off by default. > > Modified: > head/usr.sbin/mergemaster/mergemaster.sh > > Modified: head/usr.sbin/mergemaster/mergemaster.sh > ============================================================================== > --- head/usr.sbin/mergemaster/mergemaster.sh Thu Jan 1 06:43:16 2009 (r186676) > +++ head/usr.sbin/mergemaster/mergemaster.sh Thu Jan 1 10:55:26 2009 (r186677) > @@ -947,25 +947,6 @@ for COMPFILE in `find . -type f -size +0 > echo " *** Temp ${COMPFILE} and installed have the same CVS Id, deleting" > rm "${COMPFILE}" > ;; > - > - *) > - tempfoo=`basename $0` > - TMPFILE1=`mktemp -t ${tempfoo}` || break > - TMPFILE2=`mktemp -t ${tempfoo}` || break > - sed "s/[$]${CVS_ID_TAG}:.*[$]//g" "${DESTDIR}${COMPFILE#.}" > "${TMPFILE1}" > - sed "s/[$]${CVS_ID_TAG}:.*[$]//g" "${COMPFILE}" > "${TMPFILE2}" > - if diff -q ${DIFF_OPTIONS} "${TMPFILE1}" "${TMPFILE2}" > \ > - /dev/null 2>&1; then > - echo " *** Temp ${COMPFILE} and installed are the same except CVS Id, replacing" > - if mm_install "${COMPFILE}"; then > - echo " *** ${COMPFILE} upgraded successfully" > - echo '' > - else > - echo " *** Problem upgrading ${COMPFILE}, it will remain to merge by hand" > - fi > - fi > - rm -f "${TMPFILE1}" "${TMPFILE2}" > - ;; > esac > ;; > esac > From dougb at FreeBSD.org Thu Jan 1 11:41:14 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Thu Jan 1 11:41:21 2009 Subject: svn commit: r186678 - head/usr.sbin/mergemaster Message-ID: <200901011141.n01BfDqj054333@svn.freebsd.org> Author: dougb Date: Thu Jan 1 11:41:13 2009 New Revision: 186678 URL: http://svn.freebsd.org/changeset/base/186678 Log: Maintenance and updates ======================= 1. Various improvements to the mtree (-U) feature: a. Seperate the notion of directory and file (user can override db path) b. Only check for the existence of the mtree file if -U is set c. Use mktemp to create the new version of the file d. More safely install the new file e. Standardize error messages a bit 2. Remove the last of the MAKEDEV stuff (RIP) New Features ============ 1. Switch to using the top level (e.g., /usr/src) Makefile, and specify that we should use the *.mk files from the source directory instead of the installed versions. [1][2] This allows easier cross builds and simplifies (or in some cases permits) upgrading. 2. Check for the deprecated 'nodev' option in /etc/fstab [3] 3. Add support for the IGNORE_FILES variable [4] and deprecate IGNORE_MOTD accordingly. 4. Before installing a file check to make sure that the target does not already exist as a directory [5] 5. Check to be sure that the file installed and error out if not PR: bin/96528 [1] Submitted by: ru [1] PR: bin/129639 [2] Submitted by: sam [2] PR: bin/122282 [3] Submitted by: Eygene Ryabinkin [3] PR: bin/106642 [4] Submitted by: Henrik Brix Andersen [4] PR: bin/108183 [5] Submitted by: Riccardo Torrini [5] Modified: head/usr.sbin/mergemaster/mergemaster.sh Modified: head/usr.sbin/mergemaster/mergemaster.sh ============================================================================== --- head/usr.sbin/mergemaster/mergemaster.sh Thu Jan 1 10:55:26 2009 (r186677) +++ head/usr.sbin/mergemaster/mergemaster.sh Thu Jan 1 11:41:13 2009 (r186678) @@ -5,7 +5,7 @@ # Compare files created by /usr/src/etc/Makefile (or the directory # the user specifies) with the currently installed copies. -# Copyright 1998-2004 Douglas Barton +# Copyright 1998-2009 Douglas Barton # DougB@FreeBSD.org # $FreeBSD$ @@ -244,10 +244,6 @@ press_to_continue () { # TEMPROOT='/var/tmp/temproot' -# Assign the location of the mtree database -# -MTREEDB='/var/db/mergemaster.mtree' - # Read /etc/mergemaster.rc first so the one in $HOME can override # if [ -r /etc/mergemaster.rc ]; then @@ -260,12 +256,17 @@ if [ -r "$HOME/.mergemasterrc" ]; then . "$HOME/.mergemasterrc" fi +# Assign the location of the mtree database +# +MTREEDB=${MTREEDB:-/var/db} +MTREEFILE="${MTREEDB}/mergemaster.mtree" + # Check the command line options # while getopts ":ascrvhipCPm:t:du:w:D:A:U" COMMAND_LINE_ARGUMENT ; do case "${COMMAND_LINE_ARGUMENT}" in A) - ARCHSTRING='MACHINE_ARCH='${OPTARG} + ARCHSTRING='TARGET_ARCH='${OPTARG} ;; U) AUTO_UPGRADE=yes @@ -338,10 +339,28 @@ if [ -n "${PRESERVE_FILES}" -a -z "${PRE PRESERVE_FILES_DIR=/var/tmp/mergemaster/preserved-files-`date +%y%m%d-%H%M%S` fi -# Check the for the mtree database in DESTDIR. -if [ ! -f ${DESTDIR}${MTREEDB} ]; then - echo "*** Unable to find mtree database. Skipping auto-upgrade." - unset AUTO_UPGRADE +# Check for the mtree database in DESTDIR +case "${AUTO_UPGRADE}" in +'') ;; # If the option is not set no need to run the test or warn the user +*) + if [ ! -f "${DESTDIR}${MTREEFILE}" ]; then + echo '' + echo "*** Unable to find mtree database. Skipping auto-upgrade." + echo '' + press_to_continue + unset AUTO_UPGRADE + fi + ;; +esac + +if grep -q nodev ${DESTDIR}/etc/fstab; then + echo '' + echo "*** You have the deprecated 'nodev' option in ${DESTDIR}/etc/fstab." + echo " This can prevent your system from mounting the filesystem on reboot." + echo " Please update your fstab before continuing." + echo " See fstab(5) for more information." + echo '' + exit 1 fi echo '' @@ -412,14 +431,25 @@ DIFF_FLAG=${DIFF_FLAG:--u} # Assign the source directory # -SOURCEDIR=${SOURCEDIR:-/usr/src/etc} +SOURCEDIR=${SOURCEDIR:-/usr/src} +if [ ! -f ${SOURCEDIR}/Makefile.inc1 -a \ + -f ${SOURCEDIR}/../Makefile.inc1 ]; then + echo " *** The source directory you specified (${SOURCEDIR})" + echo " will be reset to ${SOURCEDIR}/.." + echo '' + sleep 3 + SOURCEDIR=${SOURCEDIR}/.. +fi + +# Setup make to use system files from SOURCEDIR +MM_MAKE="make -m ${SOURCEDIR}/share/mk" # Check DESTDIR against the mergemaster mtree database to see what # files the user changed from the reference files. # CHANGED= -if [ -n "${AUTO_UPGRADE}" -a -f "${DESTDIR}${MTREEDB}" ]; then - for file in `mtree -eq -f ${DESTDIR}${MTREEDB} -p ${DESTDIR}/ \ +if [ -n "${AUTO_UPGRADE}" -a -f "${DESTDIR}${MTREEFILE}" ]; then + for file in `mtree -eq -f ${DESTDIR}${MTREEFILE} -p ${DESTDIR}/ \ 2>/dev/null | awk '($2 == "changed") {print $1}'`; do if [ -f "${DESTDIR}/$file" ]; then CHANGED="${CHANGED} ${DESTDIR}/$file" @@ -552,13 +582,13 @@ case "${RERUN}" in case "${DESTDIR}" in '') ;; *) - make DESTDIR=${DESTDIR} ${ARCHSTRING} distrib-dirs + ${MM_MAKE} DESTDIR=${DESTDIR} ${ARCHSTRING} distrib-dirs ;; esac - make DESTDIR=${TEMPROOT} ${ARCHSTRING} distrib-dirs && - MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj make ${ARCHSTRING} obj && - MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj make ${ARCHSTRING} all && - MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj make ${ARCHSTRING} \ + ${MM_MAKE} DESTDIR=${TEMPROOT} ${ARCHSTRING} distrib-dirs && + MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} ${ARCHSTRING} obj SUBDIR_OVERRIDE=etc && + MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} ${ARCHSTRING} all SUBDIR_OVERRIDE=etc && + MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} ${ARCHSTRING} \ DESTDIR=${TEMPROOT} distribution;} || { echo ''; echo " *** FATAL ERROR: Cannot 'cd' to ${SOURCEDIR} and install files to"; @@ -569,8 +599,8 @@ case "${RERUN}" in *) # Only set up files that are crucial to {build|install}world { mkdir -p ${TEMPROOT}/etc && - cp -p ${SOURCEDIR}/master.passwd ${TEMPROOT}/etc && - cp -p ${SOURCEDIR}/group ${TEMPROOT}/etc;} || + cp -p ${SOURCEDIR}/etc/master.passwd ${TEMPROOT}/etc && + cp -p ${SOURCEDIR}/etc/group ${TEMPROOT}/etc;} || { echo ''; echo ' *** FATAL ERROR: Cannot copy files to the temproot environment'; echo ''; @@ -599,17 +629,23 @@ case "${RERUN}" in esac # Avoid comparing the motd if the user specifies it in .mergemasterrc + # Compatibility shim to be removed in FreeBSD 9.x case "${IGNORE_MOTD}" in '') ;; - *) rm -f ${TEMPROOT}/etc/motd + *) IGNORE_FILES="${IGNORE_FILES} /etc/motd" + echo '' + echo "*** You have the IGNORE_MOTD option set in your mergemaster rc file." + echo " This option is deprecated in favor of the IGNORE_FILES option." + echo " Please update your rc file accordingly." + echo '' + press_to_continue ;; esac - # Avoid trying to update MAKEDEV if /dev is on a devfs - if /sbin/sysctl vfs.devfs.generation > /dev/null 2>&1 ; then - rm -f ${TEMPROOT}/dev/MAKEDEV ${TEMPROOT}/dev/MAKEDEV.local - fi - + # Avoid comparing the following user specified files + for file in ${IGNORE_FILES}; do + test -e ${file} && unlink ${file} + done ;; # End of the "RERUN" test esac @@ -626,9 +662,9 @@ find ${TEMPROOT}/usr/obj -type f -delete find ${TEMPROOT} -type f -size 0 -delete 2>/dev/null # Build the mtree database in a temporary location. -# TODO: Possibly use mktemp instead for security reasons? +MTREENEW=`mktemp -t mergemaster.mtree` case "${PRE_WORLD}" in -'') mtree -ci -p ${TEMPROOT} -k size,md5digest > ${DESTDIR}${MTREEDB}.new 2>/dev/null +'') mtree -ci -p ${TEMPROOT} -k size,md5digest > ${DESTDIR}${MTREENEW} 2>/dev/null ;; *) # We don't want to mess with the mtree database on a pre-world run. ;; @@ -647,7 +683,7 @@ if [ -z "${NEW_UMASK}" -a -z "${AUTO_RUN echo '' echo " *** Your umask is currently set to ${USER_UMASK}. By default, this script" echo " installs all files with the same user, group and modes that" - echo " they are created with by ${SOURCEDIR}/Makefile, compared to" + echo " they are created with by ${SOURCEDIR}/etc/Makefile, compared to" echo " a umask of 022. This umask allows world read permission when" echo " the file's default permissions have it." echo '' @@ -714,6 +750,12 @@ esac # Use the umask/mode information to install the files # Create directories as needed # +install_error () { + echo "*** FATAL ERROR: Unable to install ${1} to ${2}" + echo '' + exit 1 +} + do_install_and_rm () { case "${PRESERVE_FILES}" in [Yy][Ee][Ss]) @@ -724,8 +766,15 @@ do_install_and_rm () { ;; esac - install -m "${1}" "${2}" "${3}" && - rm -f "${2}" + if [ ! -d "${3}/${2##*/}" ]; then + if install -m ${1} ${2} ${3}; then + unlink ${2} + else + install_error ${2} ${3} + fi + else + install_error ${2} ${3} + fi } # 4095 = "obase=10;ibase=8;07777" | bc @@ -828,11 +877,6 @@ mm_install () { ;; esac else # File matched -x - case "${1#.}" in - /dev/MAKEDEV) - NEED_MAKEDEV=yes - ;; - esac do_install_and_rm "${FILE_MODE}" "${1}" "${DESTDIR}${INSTALL_DIR}" fi return $? @@ -904,7 +948,7 @@ if [ -r "${MM_PRE_COMPARE_SCRIPT}" ]; th fi # Using -size +0 avoids uselessly checking the empty log files created -# by ${SOURCEDIR}/Makefile and the device entries in ./dev, but does +# by ${SOURCEDIR}/etc/Makefile and the device entries in ./dev, but does # check the scripts in ./dev, as we'd like (assuming no devfs of course). # for COMPFILE in `find . -type f -size +0`; do @@ -986,9 +1030,10 @@ done # This is for the do way up there a echo '' echo "*** Comparison complete" -if [ -f "${DESTDIR}${MTREEDB}.new" ]; then +if [ -f "${DESTDIR}${MTREENEW}" ]; then echo "*** Saving mtree database for future upgrades" - mv -f ${DESTDIR}${MTREEDB}.new ${DESTDIR}${MTREEDB} 2>/dev/null + test -e "${MTREEFILE}" && unlink ${MTREEFILE} + mv ${DESTDIR}${MTREENEW} ${DESTDIR}${MTREEFILE} fi echo '' @@ -1096,16 +1141,6 @@ run_it_now () { esac } -case "${NEED_MAKEDEV}" in -'') ;; -*) - echo '' - echo "*** You installed a new ${DESTDIR}/dev/MAKEDEV script, so make sure that you run" - echo " 'cd ${DESTDIR}/dev && /bin/sh MAKEDEV all' to rebuild your devices" - run_it_now "cd ${DESTDIR}/dev && /bin/sh MAKEDEV all" - ;; -esac - case "${NEED_NEWALIASES}" in '') ;; *) @@ -1187,7 +1222,7 @@ esac case "${PRE_WORLD}" in '') ;; *) - MAKE_CONF="${SOURCEDIR%etc}share/examples/etc/make.conf" + MAKE_CONF="${SOURCEDIR}/share/examples/etc/make.conf" (echo '' echo '*** Comparing make variables' From dougb at FreeBSD.org Thu Jan 1 12:09:58 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Thu Jan 1 12:10:10 2009 Subject: svn commit: r186679 - head/usr.sbin/mergemaster Message-ID: <200901011209.n01C9vu0058531@svn.freebsd.org> Author: dougb Date: Thu Jan 1 12:09:57 2009 New Revision: 186679 URL: http://svn.freebsd.org/changeset/base/186679 Log: General Improvements ==================== 1. List the command line options in a more standard way 2. Improve the explanations of some of the arguments (-A, -D) 3. Add ARCHSTRING and MTREEDB to the example rc file 4. Re-sort some of the examples according to the existing distinction of "has a command line version" vs. "does not have a command line version" Document changes for r186678 =========================== 1. /usr/src/etc -> /usr/src where needed [1] 2. Add IGNORE_FILES to the example rc [2] (and remove IGNORE_MOTD) 3. Update the EXIT STATUS section for [3] and [4] Update Copyright and .Dd accordingly PR: bin/96528 [1] Submitted by: ru [1] PR: bin/106642 [2] Submitted by: Henrik Brix Andersen PR: bin/122282 [3] Submitted by: Eygene Ryabinkin [3] PR: bin/108183 [4] Submitted by: Riccardo Torrini [4] Modified: head/usr.sbin/mergemaster/mergemaster.8 Modified: head/usr.sbin/mergemaster/mergemaster.8 ============================================================================== --- head/usr.sbin/mergemaster/mergemaster.8 Thu Jan 1 11:41:13 2009 (r186678) +++ head/usr.sbin/mergemaster/mergemaster.8 Thu Jan 1 12:09:57 2009 (r186679) @@ -1,4 +1,4 @@ -.\" Copyright (c) 1998-2003 Douglas Barton +.\" Copyright (c) 1998-2009 Douglas Barton .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 4, 2006 +.Dd January 1, 2009 .Dt MERGEMASTER 8 .Os .Sh NAME @@ -32,14 +32,14 @@ .Nd merge configuration files, et al during an upgrade .Sh SYNOPSIS .Nm -.Op Fl scrvahipCPU +.Op Fl achiprsvCPU +.Op Fl A Ar Target architecture +.Op Fl D Ar /destdir/path .Op Fl m Ar /path/to/sources .Op Fl t Ar /path/to/temp/root .Op Fl d .Op Fl u Ar N .Op Fl w Ar N -.Op Fl A Ar architecture -.Op Fl D Ar /path .Sh DESCRIPTION The .Nm @@ -54,7 +54,7 @@ recommended that you back up your directory before beginning this process. .Pp The script uses -.Pa /usr/src/etc/Makefile +.Pa /usr/src/Makefile to build a temporary root environment from .Pa / down, populating that environment with the various @@ -236,7 +236,7 @@ Supply an alternate screen width to the .Xr sdiff 1 command in numbers of columns. The default is 80. -.It Fl A Ar architecture +.It Fl A Ar Target architecture Specify an alternative .Ev TARGET_ARCH architecture name. @@ -294,18 +294,24 @@ with all values commented out: # These are options for mergemaster, with their default values listed # The following options have command line overrides # +# The target architecture (unset by default) +#ARCHSTRING='TARGET_ARCH=' +# +# Sourcedir is the directory to do the 'make' in (where the new files are) +#SOURCEDIR='/usr/src' +# # Directory to install the temporary root environment into #TEMPROOT='/var/tmp/temproot' # +# Specify the destination directory for the installed files +#DESTDIR= +# # Strict comparison bypasses the CVS $Id tests and compares every file #STRICT=no # # Type of diff, such as unified, context, etc. #DIFF_FLAG='-u' # -# Additional options for diff. This will get unset when using -s. -#DIFF_OPTIONS='-I$\&FreeBSD:.*[$]' # Ignores CVS Id tags -# # Verbose mode includes more details and additional checks #VERBOSE= # @@ -322,25 +328,26 @@ with all values commented out: #PRESERVE_FILES=yes #PRESERVE_FILES_DIR=/var/tmp/mergemaster/preserved-files-`date +%y%m%d-%H%M%S` # -# Sourcedir is the directory to do the 'make' in (where the new files are) -#SOURCEDIR='/usr/src/etc' -# # The umask for mergemaster to compare the default file's modes to #NEW_UMASK=022 # -# Specify the destination directory for the installed files -#DESTDIR= -# # The following options have no command line overrides +# +# Files to always avoid comparing +#IGNORE_FILES='/etc/motd /etc/printcap foo bar' +# +# Additional options for diff. This will get unset when using -s. +#DIFF_OPTIONS='-I$\&FreeBSD:.*[$]' # Ignores CVS Id tags +# +# Location to store the list of mtree values for AUTO_UPGRADE purposes +#MTREEDB='/var/db' +# # For those who just cannot stand including the full path to PAGER #DONT_CHECK_PAGER= # # If you set 'yes' above, make sure to include the PATH to your pager #PATH=/bin:/usr/bin:/usr/sbin # -# Don't compare the old and new motd files -#IGNORE_MOTD=yes -# # Specify the path to scripts to run before the comparison starts, # and/or after the script has finished its work #MM_PRE_COMPARE_SCRIPT= @@ -357,6 +364,11 @@ Invalid command line option Failure to create the temporary root environment .Pp Failure to populate the temporary root +.Pp +Presence of the 'nodev' option in +.Pa /etc/fstab +.Pp +Failure to install a file .Sh EXAMPLES Typically all you will need to do is type .Nm From bz at FreeBSD.org Thu Jan 1 12:14:40 2009 From: bz at FreeBSD.org (Bjoern A. Zeeb) Date: Thu Jan 1 12:14:53 2009 Subject: svn commit: r186680 - head/sys/sys Message-ID: <200901011214.n01CEdv3059275@svn.freebsd.org> Author: bz Date: Thu Jan 1 12:14:39 2009 New Revision: 186680 URL: http://svn.freebsd.org/changeset/base/186680 Log: Back out a non-style(9) change from r186668 to unbreak the kernels. Modified: head/sys/sys/imgact_elf.h Modified: head/sys/sys/imgact_elf.h ============================================================================== --- head/sys/sys/imgact_elf.h Thu Jan 1 12:09:57 2009 (r186679) +++ head/sys/sys/imgact_elf.h Thu Jan 1 12:14:39 2009 (r186680) @@ -80,7 +80,7 @@ int __elfN(coredump)(struct thread *, st /* Machine specific function to dump per-thread information. */ void __elfN(dump_thread)(struct thread *, void *, size_t *); -int __elfN(fallback_brand); +extern int __elfN(fallback_brand); #endif /* _KERNEL */ From brde at optusnet.com.au Thu Jan 1 12:29:58 2009 From: brde at optusnet.com.au (Bruce Evans) Date: Thu Jan 1 12:30:10 2009 Subject: svn commit: r186520 - head/sys/dev/puc In-Reply-To: <20090101.000643.1543764949.imp@bsdimp.com> References: <200812271522.mBRFMMHY074982@svn.freebsd.org> <20081229.114241.756909212.imp@bsdimp.com> <495B406F.2040305@localhost.inse.ru> <20090101.000643.1543764949.imp@bsdimp.com> Message-ID: <20090101222434.S7598@delplex.bde.org> On Thu, 1 Jan 2009, M. Warner Losh wrote: > In message: <495B406F.2040305@localhost.inse.ru> > Roman Kurakin writes: > : Probably we need to implement AUTODETECT_RCLK. I've had the patch, > : but it worked only for modules, cause there was no working timers while the > : cards probe time if the driver was compiled in. I've planned to move > : detection > : code to the first open and do some cleanup after the detection, but > : didn't do > : that. > > I'd like to see that. I think we can defer the detection of RCLK to > later. How accurate is this, btw? How dependent on timing of > interrupts is it? This cannot work in the following cases: - serial consoles. The device is then used as a low-level console long before the first open and in a context where timer interrupts are unavailable even if timers are initialized. However, at least on i386's, the main (i8254) timer is initialized just before console initialization (which is just before the first possible use of a console (for booting with -d)), to support the syscons driver using DELAY() which requires the timer to be initialized. DELAY() is probably sufficient for detecting RCLK if it is possible to detect RCLK at all (set the speed low enough so that polling every millisecond after DELAY(1000) is good enough). - emulated hardware. The emulation only needs to emulate the specified speed on the external interface. It would take an unreasonably high quality emulation to get the timing right in all cases, especially for the loopback case which should be used here. In the loopback case, the external interface hardware would not even be used, except part of the unreasonably high quality implementation would involve using the external interface to the extent of telling it to do nothing except return its timing signals so that the looped back input arrives at the same time as it would on the other side of the external interface if it weren't looped back. Bruce From ed at FreeBSD.org Thu Jan 1 13:26:55 2009 From: ed at FreeBSD.org (Ed Schouten) Date: Thu Jan 1 13:27:03 2009 Subject: svn commit: r186681 - in head/sys: conf dev/syscons dev/syscons/teken pc98/cbus Message-ID: <200901011326.n01DQri0068965@svn.freebsd.org> Author: ed Date: Thu Jan 1 13:26:53 2009 New Revision: 186681 URL: http://svn.freebsd.org/changeset/base/186681 Log: Replace syscons terminal renderer by a new renderer that uses libteken. Some time ago I started working on a library called libteken, which is terminal emulator. It does not buffer any screen contents, but only keeps terminal state, such as cursor position, attributes, etc. It should implement all escape sequences that are implemented by the cons25 terminal emulator, but also a fair amount of sequences that are present in VT100 and xterm. A lot of random notes, which could be of interest to users/developers: - Even though I'm leaving the terminal type set to `cons25', users can do experiments with placing `xterm-color' in /etc/ttys. Because we only implement a subset of features of xterm, this may cause artifacts. We should consider extending libteken, because in my opinion xterm is the way to go. Some missing features: - Keypad application mode (DECKPAM) - Character sets (SCS) - libteken is filled with a fair amount of assertions, but unfortunately we cannot go into the debugger anymore if we fail them. I've done development of this library almost entirely in userspace. In sys/dev/syscons/teken there are two applications that can be helpful when debugging the code: - teken_demo: a terminal emulator that can be started from a regular xterm that emulates a terminal using libteken. This application can be very useful to debug any rendering issues. - teken_stress: a stress testing application that emulates random terminal output. libteken has literally survived multiple terabytes of random input. - libteken also includes support for UTF-8, but unfortunately our input layer and font renderer don't support this. If users want to experiment with UTF-8 support, they can enable `TEKEN_UTF8' in teken.h. If you recompile your kernel or the teken_demo application, you can hold some nice experiments. - I've left PC98 the way it is right now. The PC98 platform has a custom syscons renderer, which supports some form of localised input. Maybe we should port PC98 to libteken by the time syscons supports UTF-8? - I've removed the `dumb' terminal emulator. It has been broken for years. It hasn't survived the `struct proc' -> `struct thread' conversion. - To prevent confusion among people that want to hack on libteken: unlike syscons, the state machines that parse the escape sequences are machine generated. This means that if you want to add new escape sequences, you have to add an entry to the `sequences' file. This will cause new entries to be added to `teken_state.h'. - Any rendering artifacts that didn't occur prior to this commit are by accident. They should be reported to me, so I can fix them. Discussed on: current@, hackers@ Discussed with: philip (at 25C3) Added: head/sys/dev/syscons/scterm-teken.c (contents, props changed) head/sys/dev/syscons/teken/ head/sys/dev/syscons/teken/Makefile (contents, props changed) head/sys/dev/syscons/teken/gensequences (contents, props changed) head/sys/dev/syscons/teken/sequences (contents, props changed) head/sys/dev/syscons/teken/teken.c (contents, props changed) head/sys/dev/syscons/teken/teken.h (contents, props changed) head/sys/dev/syscons/teken/teken_demo.c (contents, props changed) head/sys/dev/syscons/teken/teken_stress.c (contents, props changed) head/sys/dev/syscons/teken/teken_subr.h (contents, props changed) head/sys/dev/syscons/teken/teken_subr_compat.h (contents, props changed) head/sys/dev/syscons/teken/teken_wcwidth.h (contents, props changed) head/sys/pc98/cbus/sctermvar.h - copied unchanged from r186677, head/sys/dev/syscons/sctermvar.h Deleted: head/sys/dev/syscons/scterm-dumb.c head/sys/dev/syscons/scterm-sc.c head/sys/dev/syscons/sctermvar.h Modified: head/sys/conf/files head/sys/conf/files.amd64 head/sys/conf/files.i386 head/sys/conf/files.ia64 head/sys/conf/files.powerpc head/sys/conf/files.sparc64 head/sys/dev/syscons/scterm.c head/sys/dev/syscons/syscons.c head/sys/dev/syscons/syscons.h head/sys/pc98/cbus/scterm-sck.c Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Thu Jan 1 12:14:39 2009 (r186680) +++ head/sys/conf/files Thu Jan 1 13:26:53 2009 (r186681) @@ -75,6 +75,11 @@ pccarddevs.h standard \ compile-with "${AWK} -f $S/tools/pccarddevs2h.awk $S/dev/pccard/pccarddevs" \ no-obj no-implicit-rule before-depend \ clean "pccarddevs.h" +teken_state.h optional sc \ + dependency "$S/dev/syscons/teken/gensequences $S/dev/syscons/teken/sequences" \ + compile-with "${AWK} -f $S/dev/syscons/teken/gensequences $S/dev/syscons/teken/sequences > teken_state.h" \ + no-obj no-implicit-rule before-depend \ + clean "teken_state.h" usbdevs.h optional usb \ dependency "$S/tools/usbdevs2h.awk $S/dev/usb/usbdevs" \ compile-with "${AWK} -f $S/tools/usbdevs2h.awk $S/dev/usb/usbdevs -h" \ @@ -1424,7 +1429,6 @@ dev/syscons/logo/logo_saver.c optional l dev/syscons/rain/rain_saver.c optional rain_saver dev/syscons/schistory.c optional sc dev/syscons/scmouse.c optional sc -dev/syscons/scterm-dumb.c optional sc dev/syscons/scterm.c optional sc dev/syscons/scvidctl.c optional sc dev/syscons/snake/snake_saver.c optional snake_saver Modified: head/sys/conf/files.amd64 ============================================================================== --- head/sys/conf/files.amd64 Thu Jan 1 12:14:39 2009 (r186680) +++ head/sys/conf/files.amd64 Thu Jan 1 13:26:53 2009 (r186681) @@ -196,9 +196,10 @@ dev/sio/sio_pci.c optional sio pci dev/sio/sio_puc.c optional sio puc dev/speaker/spkr.c optional speaker dev/syscons/apm/apm_saver.c optional apm_saver apm -dev/syscons/scterm-sc.c optional sc +dev/syscons/scterm-teken.c optional sc dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc +dev/syscons/teken/teken.c optional sc dev/uart/uart_cpu_amd64.c optional uart dev/wpi/if_wpi.c optional wpi isa/atrtc.c standard Modified: head/sys/conf/files.i386 ============================================================================== --- head/sys/conf/files.i386 Thu Jan 1 12:14:39 2009 (r186680) +++ head/sys/conf/files.i386 Thu Jan 1 13:26:53 2009 (r186681) @@ -220,10 +220,11 @@ dev/sio/sio_puc.c optional sio puc dev/speaker/spkr.c optional speaker dev/sr/if_sr_isa.c optional sr isa dev/syscons/apm/apm_saver.c optional apm_saver apm -dev/syscons/scterm-sc.c optional sc +dev/syscons/scterm-teken.c optional sc dev/syscons/scvesactl.c optional sc vga vesa dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc +dev/syscons/teken/teken.c optional sc dev/uart/uart_cpu_i386.c optional uart dev/acpica/acpi_if.m standard dev/wpi/if_wpi.c optional wpi Modified: head/sys/conf/files.ia64 ============================================================================== --- head/sys/conf/files.ia64 Thu Jan 1 12:14:39 2009 (r186680) +++ head/sys/conf/files.ia64 Thu Jan 1 13:26:53 2009 (r186681) @@ -57,9 +57,10 @@ dev/fb/fb.c optional fb | vga dev/fb/vga.c optional vga dev/hwpmc/hwpmc_ia64.c optional hwpmc dev/kbd/kbd.c optional atkbd | sc | ukbd -dev/syscons/scterm-sc.c optional sc +dev/syscons/scterm-teken.c optional sc dev/syscons/scvgarndr.c optional sc vga dev/syscons/scvtb.c optional sc +dev/syscons/teken/teken.c optional sc dev/uart/uart_cpu_ia64.c optional uart dev/acpica/acpi_if.m standard ia64/acpica/OsdEnvironment.c optional acpi Modified: head/sys/conf/files.powerpc ============================================================================== --- head/sys/conf/files.powerpc Thu Jan 1 12:14:39 2009 (r186680) +++ head/sys/conf/files.powerpc Thu Jan 1 13:26:53 2009 (r186681) @@ -39,8 +39,9 @@ dev/powermac_nvram/powermac_nvram.c opti dev/quicc/quicc_bfe_ocp.c optional quicc mpc85xx dev/scc/scc_bfe_macio.c optional scc powermac dev/syscons/scgfbrndr.c optional sc -dev/syscons/scterm-sc.c optional sc +dev/syscons/scterm-teken.c optional sc dev/syscons/scvtb.c optional sc +dev/syscons/teken/teken.c optional sc dev/tsec/if_tsec.c optional tsec dev/tsec/if_tsec_ocp.c optional tsec mpc85xx dev/uart/uart_bus_ocp.c optional uart mpc85xx Modified: head/sys/conf/files.sparc64 ============================================================================== --- head/sys/conf/files.sparc64 Thu Jan 1 12:14:39 2009 (r186680) +++ head/sys/conf/files.sparc64 Thu Jan 1 13:26:53 2009 (r186681) @@ -55,8 +55,9 @@ dev/pcf/pcf_ebus.c optional pcf ebus dev/sound/sbus/cs4231.c optional snd_audiocs ebus | \ snd_audiocs sbus dev/syscons/scgfbrndr.c optional sc -dev/syscons/scterm-sc.c optional sc +dev/syscons/scterm-teken.c optional sc dev/syscons/scvtb.c optional sc +dev/syscons/teken/teken.c optional sc dev/uart/uart_cpu_sparc64.c optional uart dev/uart/uart_kbd_sun.c optional uart sc kern/syscalls.c optional ktr Added: head/sys/dev/syscons/scterm-teken.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/syscons/scterm-teken.c Thu Jan 1 13:26:53 2009 (r186681) @@ -0,0 +1,504 @@ +/*- + * Copyright (c) 1999 Kazutaka YOKOTA + * All rights reserved. + * + * Copyright (c) 2008-2009 Ed Schouten + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer as + * the first lines of this file unmodified. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include "opt_syscons.h" + +#include +#include +#include +#include +#include + +#if defined(__sparc64__) || defined(__powerpc__) +#include +#else +#include +#endif + +#include + +#include + +static void scteken_revattr(unsigned char, teken_attr_t *); + +static sc_term_init_t scteken_init; +static sc_term_term_t scteken_term; +static sc_term_puts_t scteken_puts; +static sc_term_ioctl_t scteken_ioctl; +static sc_term_default_attr_t scteken_default_attr; +static sc_term_clear_t scteken_clear; +static sc_term_input_t scteken_input; +static void scteken_nop(void); + +typedef struct { + teken_t ts_teken; + int ts_busy; +} teken_stat; + +static teken_stat reserved_teken_stat; + +static sc_term_sw_t sc_term_scteken = { + { NULL, NULL }, + "scteken", /* emulator name */ + "teken terminal", /* description */ + "*", /* matching renderer */ + sizeof(teken_stat), /* softc size */ + 0, + scteken_init, + scteken_term, + scteken_puts, + scteken_ioctl, + (sc_term_reset_t *)scteken_nop, + scteken_default_attr, + scteken_clear, + (sc_term_notify_t *)scteken_nop, + scteken_input, +}; + +SCTERM_MODULE(scteken, sc_term_scteken); + +static tf_bell_t scteken_bell; +static tf_cursor_t scteken_cursor; +static tf_putchar_t scteken_putchar; +static tf_fill_t scteken_fill; +static tf_copy_t scteken_copy; +static tf_param_t scteken_param; +static tf_respond_t scteken_respond; + +static const teken_funcs_t scteken_funcs = { + .tf_bell = scteken_bell, + .tf_cursor = scteken_cursor, + .tf_putchar = scteken_putchar, + .tf_fill = scteken_fill, + .tf_copy = scteken_copy, + .tf_param = scteken_param, + .tf_respond = scteken_respond, +}; + +static int +scteken_init(scr_stat *scp, void **softc, int code) +{ + teken_stat *ts = scp->ts; + teken_pos_t tp; + + if (*softc == NULL) { + if (reserved_teken_stat.ts_busy) + return (EINVAL); + *softc = &reserved_teken_stat; + } + ts = *softc; + + switch (code) { + case SC_TE_COLD_INIT: + ++sc_term_scteken.te_refcount; + ts->ts_busy = 1; + /* FALLTHROUGH */ + case SC_TE_WARM_INIT: + teken_init(&ts->ts_teken, &scteken_funcs, scp); + + tp.tp_row = scp->ysize; + tp.tp_col = scp->xsize; + teken_set_winsize(&ts->ts_teken, &tp); + + tp.tp_row = scp->cursor_pos / scp->xsize; + tp.tp_col = scp->cursor_pos % scp->xsize; + teken_set_cursor(&ts->ts_teken, &tp); + break; + } + + return (0); +} + +static int +scteken_term(scr_stat *scp, void **softc) +{ + + if (*softc == &reserved_teken_stat) { + *softc = NULL; + reserved_teken_stat.ts_busy = 0; + } + --sc_term_scteken.te_refcount; + + return (0); +} + +static void +scteken_puts(scr_stat *scp, u_char *buf, int len) +{ + teken_stat *ts = scp->ts; + + scp->sc->write_in_progress++; + teken_input(&ts->ts_teken, buf, len); + scp->sc->write_in_progress--; +} + +static int +scteken_ioctl(scr_stat *scp, struct tty *tp, u_long cmd, caddr_t data, + struct thread *td) +{ + vid_info_t *vi; + + switch (cmd) { + case GIO_ATTR: /* get current attributes */ + *(int*)data = SC_NORM_ATTR; + return (0); + case CONS_GETINFO: /* get current (virtual) console info */ + /* XXX: INCORRECT! */ + vi = (vid_info_t *)data; + if (vi->size != sizeof(struct vid_info)) + return EINVAL; + vi->mv_norm.fore = SC_NORM_ATTR & 0x0f; + vi->mv_norm.back = (SC_NORM_ATTR >> 4) & 0x0f; + vi->mv_rev.fore = SC_NORM_ATTR & 0x0f; + vi->mv_rev.back = (SC_NORM_ATTR >> 4) & 0x0f; + /* + * The other fields are filled by the upper routine. XXX + */ + return (ENOIOCTL); + } + + return (ENOIOCTL); +} + +static void +scteken_default_attr(scr_stat *scp, int color, int rev_color) +{ + teken_stat *ts = scp->ts; + teken_attr_t ta; + + scteken_revattr(color, &ta); + teken_set_defattr(&ts->ts_teken, &ta); +} + +static void +scteken_clear(scr_stat *scp) +{ + + sc_move_cursor(scp, 0, 0); + sc_vtb_clear(&scp->vtb, scp->sc->scr_map[0x20], SC_NORM_ATTR << 8); + mark_all(scp); +} + +static int +scteken_input(scr_stat *scp, int c, struct tty *tp) +{ + + return FALSE; +} + +static void +scteken_nop(void) +{ + +} + +/* + * libteken routines. + */ + +static const unsigned char fgcolors_normal[TC_NCOLORS] = { + FG_BLACK, FG_RED, FG_GREEN, FG_BROWN, + FG_BLUE, FG_MAGENTA, FG_CYAN, FG_LIGHTGREY, +}; + +static const unsigned char fgcolors_bold[TC_NCOLORS] = { + FG_DARKGREY, FG_LIGHTRED, FG_LIGHTGREEN, FG_YELLOW, + FG_LIGHTBLUE, FG_LIGHTMAGENTA, FG_LIGHTCYAN, FG_WHITE, +}; + +static const unsigned char bgcolors[TC_NCOLORS] = { + BG_BLACK, BG_RED, BG_GREEN, BG_BROWN, + BG_BLUE, BG_MAGENTA, BG_CYAN, BG_LIGHTGREY, +}; + +static void +scteken_revattr(unsigned char color, teken_attr_t *a) +{ + teken_color_t fg, bg; + + /* + * XXX: Reverse conversion of syscons to teken attributes. Not + * realiable. Maybe we should turn it into a 1:1 mapping one of + * these days? + */ + + a->ta_format = 0; + a->ta_fgcolor = TC_WHITE; + a->ta_bgcolor = TC_BLACK; + +#ifdef FG_BLINK + if (color & FG_BLINK) { + a->ta_format |= TF_BLINK; + color &= ~FG_BLINK; + } +#endif /* FG_BLINK */ + + for (fg = 0; fg < TC_NCOLORS; fg++) { + for (bg = 0; bg < TC_NCOLORS; bg++) { + if ((fgcolors_normal[fg] | bgcolors[bg]) == color) { + a->ta_fgcolor = fg; + a->ta_bgcolor = bg; + return; + } + + if ((fgcolors_bold[fg] | bgcolors[bg]) == color) { + a->ta_fgcolor = fg; + a->ta_bgcolor = bg; + a->ta_format |= TF_BOLD; + return; + } + } + } +} + +static inline unsigned int +scteken_attr(const teken_attr_t *a) +{ + unsigned int attr = 0; + + if (a->ta_format & TF_BOLD) + attr |= fgcolors_bold[a->ta_fgcolor]; + else + attr |= fgcolors_normal[a->ta_fgcolor]; + attr |= bgcolors[a->ta_bgcolor]; + +#ifdef FG_UNDERLINE + if (a->ta_format & TF_UNDERLINE) + attr |= FG_UNDERLINE; +#endif /* FG_UNDERLINE */ +#ifdef FG_BLINK + if (a->ta_format & TF_BLINK) + attr |= FG_BLINK; +#endif /* FG_BLINK */ + + return (attr << 8); +} + +static void +scteken_bell(void *arg) +{ + scr_stat *scp = arg; + + sc_bell(scp, scp->bell_pitch, scp->bell_duration); +} + +static void +scteken_cursor(void *arg, const teken_pos_t *p) +{ + scr_stat *scp = arg; + + sc_move_cursor(scp, p->tp_col, p->tp_row); +} + +static void +scteken_putchar(void *arg, const teken_pos_t *tp, teken_char_t c, + const teken_attr_t *a) +{ + scr_stat *scp = arg; + u_char *map; + u_char ch; + vm_offset_t p; + int cursor, attr; + +#ifdef TEKEN_UTF8 + if (c >= 0x80) { + /* XXX: Don't display UTF-8 yet. */ + attr = (FG_YELLOW|BG_RED) << 8; + ch = '?'; + } else +#endif /* TEKEN_UTF8 */ + { + attr = scteken_attr(a); + ch = c; + } + + map = scp->sc->scr_map; + + cursor = tp->tp_row * scp->xsize + tp->tp_col; + p = sc_vtb_pointer(&scp->vtb, cursor); + sc_vtb_putchar(&scp->vtb, p, map[ch], attr); + + mark_for_update(scp, cursor); + /* + * XXX: Why do we need this? Only marking `cursor' should be + * enough. Without this line, we get artifacts. + */ + mark_for_update(scp, imin(cursor + 1, scp->xsize * scp->ysize - 1)); +} + +static void +scteken_fill(void *arg, const teken_rect_t *r, teken_char_t c, + const teken_attr_t *a) +{ + scr_stat *scp = arg; + u_char *map; + u_char ch; + unsigned int width; + int attr, row; + +#ifdef TEKEN_UTF8 + if (c >= 0x80) { + /* XXX: Don't display UTF-8 yet. */ + attr = (FG_YELLOW|BG_RED) << 8; + ch = '?'; + } else +#endif /* TEKEN_UTF8 */ + { + attr = scteken_attr(a); + ch = c; + } + + map = scp->sc->scr_map; + + if (r->tr_begin.tp_col == 0 && r->tr_end.tp_col == scp->xsize) { + /* Single contiguous region to fill. */ + sc_vtb_erase(&scp->vtb, r->tr_begin.tp_row * scp->xsize, + (r->tr_end.tp_row - r->tr_begin.tp_row) * scp->xsize, + map[ch], attr); + } else { + /* Fill display line by line. */ + width = r->tr_end.tp_col - r->tr_begin.tp_col; + + for (row = r->tr_begin.tp_row; row < r->tr_end.tp_row; row++) { + sc_vtb_erase(&scp->vtb, r->tr_begin.tp_row * + scp->xsize + r->tr_begin.tp_col, + width, map[ch], attr); + } + } + + /* Mark begin and end positions to be refreshed. */ + mark_for_update(scp, + r->tr_begin.tp_row * scp->xsize + r->tr_begin.tp_col); + mark_for_update(scp, + (r->tr_end.tp_row - 1) * scp->xsize + (r->tr_end.tp_col - 1)); + sc_remove_cutmarking(scp); +} + +static void +scteken_copy(void *arg, const teken_rect_t *r, const teken_pos_t *p) +{ + scr_stat *scp = arg; + unsigned int width; + int src, dst, end; + +#ifndef SC_NO_HISTORY + /* + * We count a line of input as history if we perform a copy of + * one whole line upward. In other words: if a line of text gets + * overwritten by a rectangle that's right below it. + */ + if (scp->history != NULL && + r->tr_begin.tp_col == 0 && r->tr_end.tp_col == scp->xsize && + r->tr_begin.tp_row == p->tp_row + 1) { + sc_hist_save_one_line(scp, p->tp_row); + } +#endif + + if (r->tr_begin.tp_col == 0 && r->tr_end.tp_col == scp->xsize) { + /* Single contiguous region to copy. */ + sc_vtb_move(&scp->vtb, r->tr_begin.tp_row * scp->xsize, + p->tp_row * scp->xsize, + (r->tr_end.tp_row - r->tr_begin.tp_row) * scp->xsize); + } else { + /* Copy line by line. */ + width = r->tr_end.tp_col - r->tr_begin.tp_col; + + if (p->tp_row < r->tr_begin.tp_row) { + /* Copy from top to bottom. */ + src = r->tr_begin.tp_row * scp->xsize + + r->tr_begin.tp_col; + end = r->tr_end.tp_row * scp->xsize + + r->tr_end.tp_col; + dst = p->tp_row * scp->xsize + p->tp_col; + + while (src < end) { + sc_vtb_move(&scp->vtb, src, dst, width); + + src += scp->xsize; + dst += scp->xsize; + } + } else { + /* Copy from bottom to top. */ + src = (r->tr_end.tp_row - 1) * scp->xsize + + r->tr_begin.tp_col; + end = r->tr_begin.tp_row * scp->xsize + + r->tr_begin.tp_col; + dst = (p->tp_row + r->tr_end.tp_row - + r->tr_begin.tp_row - 1) * scp->xsize + p->tp_col; + + while (src >= end) { + sc_vtb_move(&scp->vtb, src, dst, width); + + src -= scp->xsize; + dst -= scp->xsize; + } + } + } + + /* Mark begin and end positions to be refreshed. */ + mark_for_update(scp, + p->tp_row * scp->xsize + p->tp_col); + mark_for_update(scp, + (p->tp_row + r->tr_end.tp_row - r->tr_begin.tp_row - 1) * + scp->xsize + + (p->tp_col + r->tr_end.tp_col - r->tr_begin.tp_col - 1)); + sc_remove_cutmarking(scp); +} + +static void +scteken_param(void *arg, int cmd, int value) +{ + scr_stat *scp = arg; + + switch (cmd) { + case TP_SHOWCURSOR: + if (value) { + sc_change_cursor_shape(scp, + CONS_RESET_CURSOR|CONS_LOCAL_CURSOR, -1, -1); + } else { + sc_change_cursor_shape(scp, + CONS_HIDDEN_CURSOR|CONS_LOCAL_CURSOR, -1, -1); + } + break; + case TP_SWITCHVT: + sc_switch_scr(scp->sc, value); + break; + } +} + +static void +scteken_respond(void *arg, const void *buf, size_t len) +{ + scr_stat *scp = arg; + + sc_respond(scp, buf, len); +} Modified: head/sys/dev/syscons/scterm.c ============================================================================== --- head/sys/dev/syscons/scterm.c Thu Jan 1 12:14:39 2009 (r186680) +++ head/sys/dev/syscons/scterm.c Thu Jan 1 13:26:53 2009 (r186681) @@ -36,7 +36,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include SET_DECLARE(scterm_set, sc_term_sw_t); Modified: head/sys/dev/syscons/syscons.c ============================================================================== --- head/sys/dev/syscons/syscons.c Thu Jan 1 12:14:39 2009 (r186680) +++ head/sys/dev/syscons/syscons.c Thu Jan 1 13:26:53 2009 (r186681) @@ -2741,6 +2741,16 @@ scinit(int unit, int flags) init_scp(sc, sc->first_vty, scp); sc_vtb_init(&scp->vtb, VTB_MEMORY, scp->xsize, scp->ysize, (void *)sc_buffer, FALSE); + + /* move cursors to the initial positions */ + if (col >= scp->xsize) + col = 0; + if (row >= scp->ysize) + row = scp->ysize - 1; + scp->xpos = col; + scp->ypos = row; + scp->cursor_pos = scp->cursor_oldpos = row*scp->xsize + col; + if (sc_init_emulator(scp, SC_DFLT_TERM)) sc_init_emulator(scp, "*"); (*scp->tsw->te_default_attr)(scp, @@ -2764,15 +2774,6 @@ scinit(int unit, int flags) sc_vtb_copy(&scp->scr, 0, &scp->vtb, 0, scp->xsize*scp->ysize); #endif - /* move cursors to the initial positions */ - if (col >= scp->xsize) - col = 0; - if (row >= scp->ysize) - row = scp->ysize - 1; - scp->xpos = col; - scp->ypos = row; - scp->cursor_pos = scp->cursor_oldpos = row*scp->xsize + col; - if (bios_value.cursor_end < scp->font_size) sc->dflt_curs_attr.base = scp->font_size - bios_value.cursor_end - 1; @@ -3569,7 +3570,7 @@ sc_show_font(scr_stat *scp, int page) #endif /* !SC_NO_FONT_LOADING */ void -sc_paste(scr_stat *scp, u_char *p, int count) +sc_paste(scr_stat *scp, const u_char *p, int count) { struct tty *tp; u_char *rmap; @@ -3584,6 +3585,22 @@ sc_paste(scr_stat *scp, u_char *p, int c } void +sc_respond(scr_stat *scp, const u_char *p, int count) +{ + struct tty *tp; + + tp = SC_DEV(scp->sc, scp->sc->cur_scp->index); + if (!tty_opened(tp)) + return; + for (; count > 0; --count) + ttydisc_rint(tp, *p++, 0); +#if 0 + /* XXX: we can't call ttydisc_rint_done() here! */ + ttydisc_rint_done(tp); +#endif +} + +void sc_bell(scr_stat *scp, int pitch, int duration) { if (cold || shutdown_in_progress || !enable_bell) Modified: head/sys/dev/syscons/syscons.h ============================================================================== --- head/sys/dev/syscons/syscons.h Thu Jan 1 12:14:39 2009 (r186680) +++ head/sys/dev/syscons/syscons.h Thu Jan 1 13:26:53 2009 (r186681) @@ -563,7 +563,8 @@ int sc_clean_up(scr_stat *scp); int sc_switch_scr(sc_softc_t *sc, u_int next_scr); void sc_alloc_scr_buffer(scr_stat *scp, int wait, int discard); int sc_init_emulator(scr_stat *scp, char *name); -void sc_paste(scr_stat *scp, u_char *p, int count); +void sc_paste(scr_stat *scp, const u_char *p, int count); +void sc_respond(scr_stat *scp, const u_char *p, int count); void sc_bell(scr_stat *scp, int pitch, int duration); /* schistory.c */ Added: head/sys/dev/syscons/teken/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/syscons/teken/Makefile Thu Jan 1 13:26:53 2009 (r186681) @@ -0,0 +1,13 @@ +# $FreeBSD$ + +PROG= teken_demo +SRCS= teken_demo.c teken.c teken_state.h +CLEANFILES= teken_state.h teken.log +LDADD= -lncurses -lutil +NO_MAN= +WARNS?= 6 + +teken_state.h: gensequences sequences + awk -f gensequences sequences > ${.TARGET} + +.include Added: head/sys/dev/syscons/teken/gensequences ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/syscons/teken/gensequences Thu Jan 1 13:26:53 2009 (r186681) @@ -0,0 +1,157 @@ +#!/usr/bin/awk -f + +#- +# Copyright (c) 2008-2009 Ed Schouten +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ + +function die(msg) { + print msg; + exit 1; +} + +function cchar(str) { + if (str == "^[") + return "\\x1B"; + + return str; +} + +BEGIN { +FS = "\t+" + +while (getline > 0) { + if (NF == 0 || $1 ~ /^#/) + continue; + + if (NF != 3 && NF != 4) + die("Invalid line layout: " NF " columns"); + + split($3, sequence, " +"); + nsequences = 0; + for (s in sequence) + nsequences++; + + prefix = ""; + l_prefix_name[""] = "teken_state_init"; + for (i = 1; i < nsequences; i++) { + n = prefix sequence[i]; + l_prefix_parent[n] = prefix; + l_prefix_suffix[n] = sequence[i]; + if (!l_prefix_name[n]) + l_prefix_name[n] = "teken_state_" ++npr; + prefix = n; + } + + suffix = sequence[nsequences]; + cmd = prefix suffix; + + # Fill lists + if (l_cmd_name[cmd] != "") + die(cmd " already exists"); + l_cmd_prefix[cmd] = prefix; + l_cmd_suffix[cmd] = suffix; + l_cmd_args[cmd] = $4; + l_cmd_abbr[cmd] = $1; + l_cmd_name[cmd] = $2; + l_cmd_c_name[cmd] = "teken_subr_" tolower($2); + gsub(" ", "_", l_cmd_c_name[cmd]); + + if ($4 != "") + l_prefix_numbercmds[prefix]++; +} + +print "/* Generated file. Do not edit. */"; +print ""; + +for (p in l_prefix_name) { + if (l_prefix_name[p] != "teken_state_init") + print "static teken_state_t " l_prefix_name[p] ";"; +} + +for (p in l_prefix_name) { + print ""; + print "/* '" p "' */"; + print "static void"; + print l_prefix_name[p] "(teken_t *t, teken_char_t c)"; + print "{"; + + if (l_prefix_numbercmds[p] > 0) { + print ""; + print "\tif (teken_state_numbers(t, c))"; + print "\t\treturn;"; + } + + print ""; + print "\tswitch (c) {"; + for (c in l_cmd_prefix) { + if (l_cmd_prefix[c] != p) + continue; + + print "\tcase '" cchar(l_cmd_suffix[c]) "': /* " l_cmd_abbr[c] ": " l_cmd_name[c] " */"; + + if (l_cmd_args[c] == "v") { + print "\t\t" l_cmd_c_name[c] "(t, t->t_curnum, t->t_nums);"; + } else { + printf "\t\t%s(t", l_cmd_c_name[c]; + split(l_cmd_args[c], args, " "); + for (a = 1; args[a] != ""; a++) { + if (args[a] == "n") + printf ", (t->t_curnum < %d || t->t_nums[%d] == 0) ? 1 : t->t_nums[%d]", a, (a - 1), (a - 1); + else if (args[a] == "r") + printf ", t->t_curnum < %d ? 0 : t->t_nums[%d]", a, (a - 1); + else + die("Invalid argument type: " args[a]); + } + print ");"; + } + print "\t\tbreak;"; + } + for (pc in l_prefix_parent) { + if (l_prefix_parent[pc] != p) + continue; + print "\tcase '" cchar(l_prefix_suffix[pc]) "':"; + print "\t\tteken_state_switch(t, " l_prefix_name[pc] ");"; + print "\t\treturn;"; + } + + print "\tdefault:"; + if (l_prefix_name[p] == "teken_state_init") { + print "\t\tteken_subr_regular_character(t, c);"; + } else { + print "\t\tteken_printf(\"Unsupported sequence in " l_prefix_name[p] ": %u\\n\", (unsigned int)c);"; + } + print "\t\tbreak;"; + + print "\t}"; + + if (l_prefix_name[p] != "teken_state_init") { + print ""; + print "\tteken_state_switch(t, teken_state_init);"; + } + print "}"; +} + +} Added: head/sys/dev/syscons/teken/sequences ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/syscons/teken/sequences Thu Jan 1 13:26:53 2009 (r186681) @@ -0,0 +1,107 @@ +#- +# Copyright (c) 2008-2009 Ed Schouten +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ + +# File format is as follows: +# Abbr Abbreviation of sequence name +# Name Sequence name (will be converted to C function name) +# Sequence Bytes that form the sequence +# Arguments Standard value of arguments passed to this sequence +# - `n' non-zero number (0 gets converted to 1) +# - `r' regular numeric argument +# - `v' means a variable number of arguments + +# Abbr Name Sequence Arguments +CBT Cursor Backward Tabulation ^[ [ Z n +CHT Cursor Forward Tabulation ^[ [ I n +CNL Cursor Next Line ^[ [ E n +CPL Cursor Previous Line ^[ [ F n +CPR Cursor Position Report ^[ [ n r +CUB Cursor Backward ^[ [ D n +CUD Cursor Down ^[ [ B n +CUD Cursor Down ^[ [ e n +CUF Cursor Forward ^[ [ C n +CUF Cursor Forward ^[ [ a n +CUP Cursor Position ^[ [ H n n +CUP Cursor Position ^[ [ f n n +CUU Cursor Up ^[ [ A n +DA1 Primary Device Attributes ^[ [ c r +DA2 Secondary Device Attributes ^[ [ > c r +DC Delete character ^[ [ P n +DCS Device Control String ^[ P +DECALN Alignment test ^[ # 8 +DECDHL Double Height Double Width Line Top ^[ # 3 +DECDHL Double Height Double Width Line Bottom ^[ # 4 +DECDWL Single Height Double Width Line ^[ # 6 +DECKPAM Keypad application mode ^[ = +DECKPNM Keypad numeric mode ^[ > +DECRC Restore cursor ^[ 8 +DECRC Restore cursor ^[ [ u +DECRM Reset DEC mode ^[ [ ? l r +DECSC Save cursor ^[ 7 +DECSC Save cursor ^[ [ s +DECSM Set DEC mode ^[ [ ? h r +DECSTBM Set top and bottom margins ^[ [ r r r +DECSWL Single Height Single Width Line ^[ # 5 +DL Delete line ^[ [ M n +DSR Device Status Report ^[ [ ? n r +ECH Erase character ^[ [ X n +ED Erase display ^[ [ J r +EL Erase line ^[ [ K r +HPA Horizontal Position Absolute ^[ [ G n +HPA Horizontal Position Absolute ^[ [ ` n +HTS Horizontal Tab Set ^[ H +ICH Insert character ^[ [ @ n +IL Insert line ^[ [ L n +IND Index ^[ D +NEL Next line ^[ E +RI Reverse index ^[ M +RIS Reset to Initial State ^[ c +RM Reset Mode ^[ [ l r +SCS SCS ^[ ( 0 +SCS SCS ^[ ( 1 +SCS SCS ^[ ( 2 +SCS SCS ^[ ( A +SCS SCS ^[ ( B +SCS SCS ^[ ) 0 +SCS SCS ^[ ) 1 +SCS SCS ^[ ) 2 +SCS SCS ^[ ) A +SCS SCS ^[ ) B +SD Pan Up ^[ [ T n +SGR Set Graphic Rendition ^[ [ m v +SM Set Mode ^[ [ h r +ST String Terminator ^[ \\ +SU Pan Down ^[ [ S n +TBC Tab Clear ^[ [ g r +VPA Vertical Position Absolute ^[ [ d n + +# Cons25 compatibility sequences +C25CURS Cons25 set cursor type ^[ [ = S r +C25VTSW Cons25 switch virtual terminal ^[ [ z r + +# VT52 compatibility +#DECID VT52 DECID ^[ Z Added: head/sys/dev/syscons/teken/teken.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/syscons/teken/teken.c Thu Jan 1 13:26:53 2009 (r186681) @@ -0,0 +1,386 @@ +/*- + * Copyright (c) 2008-2009 Ed Schouten + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From rik at inse.ru Thu Jan 1 13:44:53 2009 From: rik at inse.ru (Roman Kurakin) Date: Thu Jan 1 13:45:06 2009 Subject: svn commit: r186520 - head/sys/dev/puc In-Reply-To: <20090101.000643.1543764949.imp@bsdimp.com> References: <200812271522.mBRFMMHY074982@svn.freebsd.org> <20081229.114241.756909212.imp@bsdimp.com> <495B406F.2040305@localhost.inse.ru> <20090101.000643.1543764949.imp@bsdimp.com> Message-ID: <495CC901.7080304@localhost.inse.ru> M. Warner Losh wrote: > In message: <495B406F.2040305@localhost.inse.ru> > Roman Kurakin writes: > : M. Warner Losh wrote: > : > In message: <200812271522.mBRFMMHY074982@svn.freebsd.org> > : > Roman Kurakin writes: > : > : Author: rik > : > : Date: Sat Dec 27 15:22:22 2008 > : > : New Revision: 186520 > : > : URL: http://svn.freebsd.org/changeset/base/186520 > : > : > : > : Log: > : > : Add support for the Oxford OX16PCI958-based card. > : > : > : > : Note, that the patch provided with this card for the Linux states that > : > : the card uses DEFAULT_RCLK * 2, while in fact it is '* 10'. So probably > : > : we should also use the subdevice/subvendord here. For now just ignore > : > : that fact. > : > > : > I've had problems with doing that on some Oxford based cards. The > : > vendor that uses them doesn't set them up, so you can't tell my > : > cardbus oxford card from the pcie oxford card that someone else sent > : > me patches for: both with different clock multipliers... > : > > : Probably we need to implement AUTODETECT_RCLK. I've had the patch, > : but it worked only for modules, cause there was no working timers while the > : cards probe time if the driver was compiled in. I've planned to move > : detection > : code to the first open and do some cleanup after the detection, but > : didn't do > : that. > > I'd like to see that. I think we can defer the detection of RCLK to > The initial code, that was the part of the Cronyx patch for sio(4), is smth like this one excerpt: +#undef inb +#undef outb +#define inb(port) sio_inb (port) +#define outb(port,val) sio_outb (port, val) + +static __inline u_char +sio_getreg (com, off) + struct com_s *com; + bus_size_t off; +{ + if ((unsigned) com->bsh & ~0xffff) + return *(volatile u_char*) (com->bsh + off); + return bus_space_read_1 (com->bst, com->bsh, off); +} + +static __inline void +sio_setreg (com, off, val) + struct com_s *com; + bus_size_t off; + u_char val; +{ + if ((unsigned) com->bsh & ~0xffff) + *(volatile u_char*) (com->bsh + off) = val; + else + bus_space_write_1 (com->bst, com->bsh, off, val); +} + +/* * handle sysctl read/write requests for console speed * * In addition to setting comdefaultrate for I/O through /dev/console, @@ -475,6 +548,181 @@ return (0); } +#define VOLATILE_INT *(volatile int *)& +/* + * Find the oscillator frequency of the UART. + */ +static int +sio_find_freq(com) + struct com_s *com; +{ + int t0, n; + u_char lsr; + + /* Set the loopback mode, 57600 baud. */ + outb(com->int_ctl_port, 0); + sio_setreg(com, com_cfcr, CFCR_DLAB); + sio_setreg(com, com_dlbh, 0); + sio_setreg(com, com_dlbl, 2); + sio_setreg(com, com_cfcr, CFCR_8BITS); + sio_setreg(com, com_fifo, 0); + outb(com->modem_ctl_port, MCR_LOOPBACK); + (void) inb (com->line_status_port); + + /* Catch the tick. */ + t0 = VOLATILE_INT ticks; + while (VOLATILE_INT ticks == t0) + continue; + + /* Run until the next tick, transmitting data. */ + n = 0; + t0 = VOLATILE_INT ticks; + while (VOLATILE_INT ticks == t0) { + lsr = inb (com->line_status_port); + if (lsr & LSR_TXRDY) + sio_setreg(com, com_data, 0x5A); + + if (lsr & LSR_RXRDY) { + (void) inb (com->data_port); + ++n; + } + } + outb(com->modem_ctl_port, com->mcr_image); + sio_setreg(com, com_cfcr, com->cfcr_image); + sio_setreg(com, com_fifo, FIFO_RCV_RST | FIFO_XMT_RST | + com->fifo_image); + if (COM_IIR_TXRDYBUG(com->flags)) { + outb(com->int_ctl_port, IER_ERXRDY | IER_ERLS + | IER_EMSC); + } else { + outb(com->int_ctl_port, IER_ERXRDY | IER_ETXRDY + | IER_ERLS | IER_EMSC); + } + + n = (n * hz + 5760/2) / 5760; + if (n > 4) return 8 * 1843200; + if (n > 2) return 4 * 1843200; + if (n > 1) return 2 * 1843200; + return DEFAULT_RCLK; +} One of the multiport Cronyx card has the hardware switch to change the clock, and before such patch more than a half of requests for support was due to incorrect speeds, cause users didn't understand what they were doing by this switch and how the software should be configured based on its value. > later. How accurate is this, btw? How dependent on timing of > Do we need very strict accuracy here? For the detection of the multiplier before DEFAULT_RCLK it should be enough IMHO. rik > interrupts is it? > > Warner > From rik at inse.ru Thu Jan 1 13:56:33 2009 From: rik at inse.ru (Roman Kurakin) Date: Thu Jan 1 13:56:39 2009 Subject: svn commit: r186520 - head/sys/dev/puc In-Reply-To: <20090101222434.S7598@delplex.bde.org> References: <200812271522.mBRFMMHY074982@svn.freebsd.org> <20081229.114241.756909212.imp@bsdimp.com> <495B406F.2040305@localhost.inse.ru> <20090101.000643.1543764949.imp@bsdimp.com> <20090101222434.S7598@delplex.bde.org> Message-ID: <495CCBBD.5060605@localhost.inse.ru> Hi Bruce, Bruce Evans wrote: > On Thu, 1 Jan 2009, M. Warner Losh wrote: > >> In message: <495B406F.2040305@localhost.inse.ru> >> Roman Kurakin writes: >> : Probably we need to implement AUTODETECT_RCLK. I've had the patch, >> : but it worked only for modules, cause there was no working timers >> while the >> : cards probe time if the driver was compiled in. I've planned to move >> : detection >> : code to the first open and do some cleanup after the detection, but >> : didn't do >> : that. >> >> I'd like to see that. I think we can defer the detection of RCLK to >> later. How accurate is this, btw? How dependent on timing of >> interrupts is it? > > This cannot work in the following cases: > - serial consoles. The device is then used as a low-level console > long before the first open and in a context where timer interrupts > are unavailable even if timers are initialized. However, at least > on i386's, the main (i8254) timer is initialized just before > console initialization (which is just before the first possible use > of a console (for booting with -d)), to support the syscons driver > using DELAY() which requires the timer to be initialized. DELAY() > is probably sufficient for detecting RCLK if it is possible to > detect RCLK at all (set the speed low enough so that polling every > millisecond after DELAY(1000) is good enough). We can implement some sort of sysctl, hint or smth like this. I do not think that AUTODETECT_RCLK should be used by default everywhere, only in special cases. And for that cases it could be just to inform the user about the value for the 'hint' to use. > - emulated hardware. The emulation only needs to emulate the specified > speed on the external interface. It would take an unreasonably high > quality emulation to get the timing right in all cases, especially > for the loopback case which should be used here. In the loopback > case, the external interface hardware would not even be used, except > part of the unreasonably high quality implementation would involve > using the external interface to the extent of telling it to do nothing > except return its timing signals so that the looped back input arrives > at the same time as it would on the other side of the external > interface > if it weren't looped back. Probably this is not the case. I doubt that emulated hardware should hit such problems that it will need autodetction for it. Any way, if such case will arise, such autodetection shouldn't not do more harm than it is. rik > Bruce From marius at FreeBSD.org Thu Jan 1 14:01:22 2009 From: marius at FreeBSD.org (Marius Strobl) Date: Thu Jan 1 14:01:28 2009 Subject: svn commit: r186682 - in head/sys/sparc64: include sparc64 Message-ID: <200901011401.n01E1LD3071252@svn.freebsd.org> Author: marius Date: Thu Jan 1 14:01:21 2009 New Revision: 186682 URL: http://svn.freebsd.org/changeset/base/186682 Log: - Currently the PMAP code is laid out to let the kernel TSB cover the whole KVA space using one locked 4MB dTLB entry per GB of physical memory. On Cheetah-class machines only the dt16 can hold locked entries though, which would be completely consumed for the kernel TSB on machines with >= 16GB. Therefore limit the KVA space to use no more than half of the lockable dTLB slots, given that we need them also for other things. - Add sanity checks which ensure that we don't exhaust the (lockable) TLB slots. Modified: head/sys/sparc64/include/tlb.h head/sys/sparc64/sparc64/machdep.c head/sys/sparc64/sparc64/pmap.c Modified: head/sys/sparc64/include/tlb.h ============================================================================== --- head/sys/sparc64/include/tlb.h Thu Jan 1 13:26:53 2009 (r186681) +++ head/sys/sparc64/include/tlb.h Thu Jan 1 14:01:21 2009 (r186682) @@ -129,6 +129,8 @@ typedef void tlb_flush_user_t(void); struct pmap; struct tlb_entry; +extern int dtlb_slots; +extern int itlb_slots; extern int kernel_tlb_slots; extern struct tlb_entry *kernel_tlbs; Modified: head/sys/sparc64/sparc64/machdep.c ============================================================================== --- head/sys/sparc64/sparc64/machdep.c Thu Jan 1 13:26:53 2009 (r186681) +++ head/sys/sparc64/sparc64/machdep.c Thu Jan 1 14:01:21 2009 (r186682) @@ -115,6 +115,8 @@ typedef int ofw_vec_t(void *); extern vm_offset_t ksym_start, ksym_end; #endif +int dtlb_slots; +int itlb_slots; struct tlb_entry *kernel_tlbs; int kernel_tlb_slots; @@ -276,7 +278,7 @@ sparc64_init(caddr_t mdp, u_long o1, u_l tick_stop(); /* - * Set up Open Firmware entry points + * Set up Open Firmware entry points. */ ofw_tba = rdpr(tba); ofw_vec = (u_long)vec; @@ -380,6 +382,19 @@ sparc64_init(caddr_t mdp, u_long o1, u_l end = (vm_offset_t)_end; } + /* + * Determine the TLB slot maxima, which are expected to be + * equal across all CPUs. + * NB: for Cheetah-class CPUs, these properties only refer + * to the t16s. + */ + if (OF_getprop(pc->pc_node, "#dtlb-entries", &dtlb_slots, + sizeof(dtlb_slots)) == -1) + panic("sparc64_init: cannot determine number of dTLB slots"); + if (OF_getprop(pc->pc_node, "#itlb-entries", &itlb_slots, + sizeof(itlb_slots)) == -1) + panic("sparc64_init: cannot determine number of iTLB slots"); + cache_init(pc); cache_enable(); uma_set_align(pc->pc_cache.dc_linesize - 1); Modified: head/sys/sparc64/sparc64/pmap.c ============================================================================== --- head/sys/sparc64/sparc64/pmap.c Thu Jan 1 13:26:53 2009 (r186681) +++ head/sys/sparc64/sparc64/pmap.c Thu Jan 1 14:01:21 2009 (r186682) @@ -334,13 +334,23 @@ pmap_bootstrap(vm_offset_t ekva) /* * Calculate the size of kernel virtual memory, and the size and mask - * for the kernel TSB. + * for the kernel TSB based on the phsyical memory size but limited + * by letting the kernel TSB take up no more than half of the dTLB + * slots available for locked entries. */ virtsz = roundup(physsz, PAGE_SIZE_4M << (PAGE_SHIFT - TTE_SHIFT)); + virtsz = MIN(virtsz, + (dtlb_slots / 2 * PAGE_SIZE_4M) << (PAGE_SHIFT - TTE_SHIFT)); vm_max_kernel_address = VM_MIN_KERNEL_ADDRESS + virtsz; tsb_kernel_size = virtsz >> (PAGE_SHIFT - TTE_SHIFT); tsb_kernel_mask = (tsb_kernel_size >> TTE_SHIFT) - 1; + if (kernel_tlb_slots + PCPU_PAGES + tsb_kernel_size / PAGE_SIZE_4M + + 1 /* PROM page */ + 1 /* spare */ > dtlb_slots) + panic("pmap_bootstrap: insufficient dTLB entries"); + if (kernel_tlb_slots + 1 /* PROM page */ + 1 /* spare */ > itlb_slots) + panic("pmap_bootstrap: insufficient iTLB entries"); + /* * Allocate the kernel TSB and lock it in the TLB. */ From rwatson at FreeBSD.org Thu Jan 1 20:03:02 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Thu Jan 1 20:03:09 2009 Subject: svn commit: r186683 - head/sys/kern Message-ID: <200901012003.n01K313p077802@svn.freebsd.org> Author: rwatson Date: Thu Jan 1 20:03:01 2009 New Revision: 186683 URL: http://svn.freebsd.org/changeset/base/186683 Log: Temporary workaround for the limitations of the mbuf flowid field: zero the field in the mbuf constructors, since otherwise we have no way to tell if they are valid. In the future, Kip has plans to add a flag specifically to indicate validity, which is the preferred model. Modified: head/sys/kern/kern_mbuf.c Modified: head/sys/kern/kern_mbuf.c ============================================================================== --- head/sys/kern/kern_mbuf.c Thu Jan 1 14:01:21 2009 (r186682) +++ head/sys/kern/kern_mbuf.c Thu Jan 1 20:03:01 2009 (r186683) @@ -420,6 +420,7 @@ mb_ctor_mbuf(void *mem, int size, void * m->m_pkthdr.csum_data = 0; m->m_pkthdr.tso_segsz = 0; m->m_pkthdr.ether_vtag = 0; + m->m_pkthdr.flowid = 0; SLIST_INIT(&m->m_pkthdr.tags); #ifdef MAC /* If the label init fails, fail the alloc */ @@ -644,6 +645,7 @@ mb_ctor_pack(void *mem, int size, void * m->m_pkthdr.csum_data = 0; m->m_pkthdr.tso_segsz = 0; m->m_pkthdr.ether_vtag = 0; + m->m_pkthdr.flowid = 0; SLIST_INIT(&m->m_pkthdr.tags); #ifdef MAC /* If the label init fails, fail the alloc */ From rwatson at FreeBSD.org Thu Jan 1 20:03:24 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Thu Jan 1 20:03:35 2009 Subject: svn commit: r186684 - head/sys/kern Message-ID: <200901012003.n01K3MFm077846@svn.freebsd.org> Author: rwatson Date: Thu Jan 1 20:03:22 2009 New Revision: 186684 URL: http://svn.freebsd.org/changeset/base/186684 Log: White space and comment tweaks. MFC after: 3 weeks Modified: head/sys/kern/uipc_usrreq.c Modified: head/sys/kern/uipc_usrreq.c ============================================================================== --- head/sys/kern/uipc_usrreq.c Thu Jan 1 20:03:01 2009 (r186683) +++ head/sys/kern/uipc_usrreq.c Thu Jan 1 20:03:22 2009 (r186684) @@ -1229,14 +1229,14 @@ unp_connect(struct socket *so, struct so unp3->unp_addr = (struct sockaddr_un *) sa; sa = NULL; } + /* - * unp_peercred management: - * * The connecter's (client's) credentials are copied from its * process structure at the time of connect() (which is now). */ cru2x(td->td_ucred, &unp3->unp_peercred); unp3->unp_flags |= UNP_HAVEPC; + /* * The receiver's (server's) credentials are copied from the * unp_peercred member of socket on which the former called From gavin at FreeBSD.org Thu Jan 1 22:04:45 2009 From: gavin at FreeBSD.org (Gavin Atkinson) Date: Thu Jan 1 22:04:51 2009 Subject: svn commit: r186677 - head/usr.sbin/mergemaster In-Reply-To: <200901011055.n01AtQaN052763@svn.freebsd.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> Message-ID: <20090101215930.P70386@ury.york.ac.uk> On Thu, 1 Jan 2009, Doug Barton wrote: > Given that this is a situation that comes up very infrequently (usually > only for a major version upgrade) This is no longer true: a side effect of having SVN exported to CVS is that every time a branch is forked, the CVS ID is bumped, and as a result is different between 7.0 and 7.1 even if the file itself isn't changed. As long as this is handled with -U, however, I'm not sure I see the need for special handling. I'd love to see the -U otion as default, and a pre-populated mtree database for it shipped with the releases, however. This would go a long way towards making upgrading more user-friendly. Gavin From ed at FreeBSD.org Thu Jan 1 23:22:02 2009 From: ed at FreeBSD.org (Ed Schouten) Date: Thu Jan 1 23:22:17 2009 Subject: svn commit: r186687 - head/sys/dev/syscons/teken Message-ID: <200901012322.n01NM1rd081518@svn.freebsd.org> Author: ed Date: Thu Jan 1 23:22:01 2009 New Revision: 186687 URL: http://svn.freebsd.org/changeset/base/186687 Log: Remove an unneeded assertion in libteken. The cursor is only inside the scrolling region when we are in origin mode. In that case, it should use originreg instead of scrollreg. It is completely valid to place the cursor outside the scrolling region. Modified: head/sys/dev/syscons/teken/teken_subr.h Modified: head/sys/dev/syscons/teken/teken_subr.h ============================================================================== --- head/sys/dev/syscons/teken/teken_subr.h Thu Jan 1 22:11:44 2009 (r186686) +++ head/sys/dev/syscons/teken/teken_subr.h Thu Jan 1 23:22:01 2009 (r186687) @@ -256,7 +256,6 @@ static void teken_subr_cursor_down(teken_t *t, unsigned int nrows) { - teken_assert(t->t_cursor.tp_row < t->t_scrollreg.ts_end); if (t->t_cursor.tp_row + nrows >= t->t_scrollreg.ts_end) t->t_cursor.tp_row = t->t_scrollreg.ts_end - 1; else From dougb at FreeBSD.org Fri Jan 2 00:02:15 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Fri Jan 2 00:02:27 2009 Subject: svn commit: r186688 - head/usr.sbin/mergemaster Message-ID: <200901020002.n0202Ene082302@svn.freebsd.org> Author: dougb Date: Fri Jan 2 00:02:14 2009 New Revision: 186688 URL: http://svn.freebsd.org/changeset/base/186688 Log: For IGNORE_FILES delete the version in the TEMPROOT, not the base. Submitted by: clemens fischer Modified: head/usr.sbin/mergemaster/mergemaster.sh Modified: head/usr.sbin/mergemaster/mergemaster.sh ============================================================================== --- head/usr.sbin/mergemaster/mergemaster.sh Thu Jan 1 23:22:01 2009 (r186687) +++ head/usr.sbin/mergemaster/mergemaster.sh Fri Jan 2 00:02:14 2009 (r186688) @@ -644,7 +644,7 @@ case "${RERUN}" in # Avoid comparing the following user specified files for file in ${IGNORE_FILES}; do - test -e ${file} && unlink ${file} + test -e ${TEMPROOT}/${file} && unlink ${TEMPROOT}/${file} done ;; # End of the "RERUN" test esac From sam at freebsd.org Fri Jan 2 00:24:50 2009 From: sam at freebsd.org (Sam Leffler) Date: Fri Jan 2 00:25:01 2009 Subject: svn commit: r186678 - head/usr.sbin/mergemaster In-Reply-To: <200901011141.n01BfDqj054333@svn.freebsd.org> References: <200901011141.n01BfDqj054333@svn.freebsd.org> Message-ID: <495D5ECE.6000500@freebsd.org> Doug Barton wrote: > 2. Check for the deprecated 'nodev' option in /etc/fstab [3] > mergemaster now prints: grep: /data/freebsd/roots/gateworks/etc/fstab: No such file or directory I suspect it's the above change. Unfortunately you committed a bunch of unrelated changes en masse so I am guessing. Sam From sam at freebsd.org Fri Jan 2 00:28:53 2009 From: sam at freebsd.org (Sam Leffler) Date: Fri Jan 2 00:28:59 2009 Subject: svn commit: r186678 - head/usr.sbin/mergemaster In-Reply-To: <200901011141.n01BfDqj054333@svn.freebsd.org> References: <200901011141.n01BfDqj054333@svn.freebsd.org> Message-ID: <495D5FC3.6000109@freebsd.org> Doug Barton wrote: > 1. Switch to using the top level (e.g., /usr/src) Makefile, and specify > that we should use the *.mk files from the source directory instead of > the installed versions. [1][2] This allows easier cross builds and > simplifies (or in some cases permits) upgrading. > I believe you changed the meaning of the -m flag so it now requires a pathname to the src tree and not src/etc. This breaks existing usage. In the PR I filed there was a follow-on patch from Bjoern that amended my suggestion to instead add a -M option to set the source tree. I thought that was an improvement over my hack. In lieu of that you might want to examine the pathname supplied to -m to try to provide backwards compatibility by stripping any /etc suffix on the path. Sam From rik at inse.ru Fri Jan 2 00:31:27 2009 From: rik at inse.ru (Roman Kurakin) Date: Fri Jan 2 00:31:33 2009 Subject: svn commit: r186678 - head/usr.sbin/mergemaster In-Reply-To: <495D5ECE.6000500@freebsd.org> References: <200901011141.n01BfDqj054333@svn.freebsd.org> <495D5ECE.6000500@freebsd.org> Message-ID: <495D6085.5070206@localhost.inse.ru> Sam Leffler wrote: > Doug Barton wrote: >> 2. Check for the deprecated 'nodev' option in /etc/fstab [3] >> > > mergemaster now prints: > > grep: /data/freebsd/roots/gateworks/etc/fstab: No such file or directory > > I suspect it's the above change. Unfortunately you committed a bunch > of unrelated changes en masse so I am guessing. I guess this is this one part of the patch: +if grep -q nodev ${DESTDIR}/etc/fstab; then + echo '' + echo "*** You have the deprecated 'nodev' option in ${DESTDIR}/etc/fstab." + echo " This can prevent your system from mounting the filesystem on reboot." + echo " Please update your fstab before continuing." + echo " See fstab(5) for more information." + echo '' + exit 1 fi rik > > Sam > From dougb at FreeBSD.org Fri Jan 2 00:38:00 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Fri Jan 2 00:38:06 2009 Subject: svn commit: r186689 - head/usr.sbin/mergemaster Message-ID: <200901020037.n020bxZG082924@svn.freebsd.org> Author: dougb Date: Fri Jan 2 00:37:59 2009 New Revision: 186689 URL: http://svn.freebsd.org/changeset/base/186689 Log: Only check for 'nodev' in fstab if that file exists Submitted by: sam Modified: head/usr.sbin/mergemaster/mergemaster.sh Modified: head/usr.sbin/mergemaster/mergemaster.sh ============================================================================== --- head/usr.sbin/mergemaster/mergemaster.sh Fri Jan 2 00:02:14 2009 (r186688) +++ head/usr.sbin/mergemaster/mergemaster.sh Fri Jan 2 00:37:59 2009 (r186689) @@ -353,14 +353,16 @@ case "${AUTO_UPGRADE}" in ;; esac -if grep -q nodev ${DESTDIR}/etc/fstab; then - echo '' - echo "*** You have the deprecated 'nodev' option in ${DESTDIR}/etc/fstab." - echo " This can prevent your system from mounting the filesystem on reboot." - echo " Please update your fstab before continuing." - echo " See fstab(5) for more information." - echo '' - exit 1 +if [ -e "${DESTDIR}/etc/fstab" ]; then + if grep -q nodev ${DESTDIR}/etc/fstab; then + echo '' + echo "*** You have the deprecated 'nodev' option in ${DESTDIR}/etc/fstab." + echo " This can prevent the filesystem from being mounted on reboot." + echo " Please update your fstab before continuing." + echo " See fstab(5) for more information." + echo '' + exit 1 + fi fi echo '' From dougb at FreeBSD.org Fri Jan 2 00:39:25 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Fri Jan 2 00:39:32 2009 Subject: svn commit: r186678 - head/usr.sbin/mergemaster In-Reply-To: <495D5ECE.6000500@freebsd.org> References: <200901011141.n01BfDqj054333@svn.freebsd.org> <495D5ECE.6000500@freebsd.org> Message-ID: <495D623A.9010800@FreeBSD.org> Sam Leffler wrote: > Doug Barton wrote: >> 2. Check for the deprecated 'nodev' option in /etc/fstab [3] >> > > mergemaster now prints: > > grep: /data/freebsd/roots/gateworks/etc/fstab: No such file or directory Fixed, thanks. > I suspect it's the above change. Unfortunately you committed a bunch of > unrelated changes en masse so I am guessing. Yes, oddly enough yours was not the only outstanding request. :) Doug -- This .signature sanitized for your protection From dougb at FreeBSD.org Fri Jan 2 00:41:39 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Fri Jan 2 00:41:46 2009 Subject: svn commit: r186678 - head/usr.sbin/mergemaster In-Reply-To: <495D5FC3.6000109@freebsd.org> References: <200901011141.n01BfDqj054333@svn.freebsd.org> <495D5FC3.6000109@freebsd.org> Message-ID: <495D62C0.7090306@FreeBSD.org> Sam Leffler wrote: > Doug Barton wrote: >> 1. Switch to using the top level (e.g., /usr/src) Makefile, and specify >> that we should use the *.mk files from the source directory instead of >> the installed versions. [1][2] This allows easier cross builds and >> simplifies (or in some cases permits) upgrading. >> > > I believe you changed the meaning of the -m flag so it now requires a > pathname to the src tree and not src/etc. This breaks existing usage. > In the PR I filed there was a follow-on patch from Bjoern that amended > my suggestion to instead add a -M option to set the source tree. I > thought that was an improvement over my hack. In lieu of that you might > want to examine the pathname supplied to -m to try to provide backwards > compatibility by stripping any /etc suffix on the path. The version in bin/96528 from ru had a better fix for this issue, but thanks for thinking of it. :) Doug -- This .signature sanitized for your protection From sam at freebsd.org Fri Jan 2 00:45:43 2009 From: sam at freebsd.org (Sam Leffler) Date: Fri Jan 2 00:45:50 2009 Subject: svn commit: r186678 - head/usr.sbin/mergemaster In-Reply-To: <495D62C0.7090306@FreeBSD.org> References: <200901011141.n01BfDqj054333@svn.freebsd.org> <495D5FC3.6000109@freebsd.org> <495D62C0.7090306@FreeBSD.org> Message-ID: <495D63B6.3020106@freebsd.org> Doug Barton wrote: > Sam Leffler wrote: > >> Doug Barton wrote: >> >>> 1. Switch to using the top level (e.g., /usr/src) Makefile, and specify >>> that we should use the *.mk files from the source directory instead of >>> the installed versions. [1][2] This allows easier cross builds and >>> simplifies (or in some cases permits) upgrading. >>> >>> >> I believe you changed the meaning of the -m flag so it now requires a >> pathname to the src tree and not src/etc. This breaks existing usage. >> In the PR I filed there was a follow-on patch from Bjoern that amended >> my suggestion to instead add a -M option to set the source tree. I >> thought that was an improvement over my hack. In lieu of that you might >> want to examine the pathname supplied to -m to try to provide backwards >> compatibility by stripping any /etc suffix on the path. >> > > The version in bin/96528 from ru had a better fix for this issue, but > thanks for thinking of it. :) > > That's nice to know. Unfortunately what's in HEAD doesn't seem to work for my cross-install setup. Did you test using the recipe in my PR? I am debugging; could be a local problem. Sam From sgk at troutmask.apl.washington.edu Fri Jan 2 00:58:16 2009 From: sgk at troutmask.apl.washington.edu (Steve Kargl) Date: Fri Jan 2 00:58:22 2009 Subject: svn commit: r186678 - head/usr.sbin/mergemaster In-Reply-To: <200901011141.n01BfDqj054333@svn.freebsd.org> References: <200901011141.n01BfDqj054333@svn.freebsd.org> Message-ID: <20090102005815.GA39239@troutmask.apl.washington.edu> On Thu, Jan 01, 2009 at 11:41:13AM +0000, Doug Barton wrote: > Author: dougb > Date: Thu Jan 1 11:41:13 2009 > New Revision: 186678 > URL: http://svn.freebsd.org/changeset/base/186678 > > Log: > Maintenance and updates > ======================= > 1. Various improvements to the mtree (-U) feature: REMOVE:root[208] mergemaster -iU : not found ? mergemaster continues as expected after printing the above. -- Steve From dougb at FreeBSD.org Fri Jan 2 01:34:51 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Fri Jan 2 01:34:58 2009 Subject: svn commit: r186678 - head/usr.sbin/mergemaster In-Reply-To: <20090102005815.GA39239@troutmask.apl.washington.edu> References: <200901011141.n01BfDqj054333@svn.freebsd.org> <20090102005815.GA39239@troutmask.apl.washington.edu> Message-ID: <495D6F39.7030504@FreeBSD.org> Steve Kargl wrote: > On Thu, Jan 01, 2009 at 11:41:13AM +0000, Doug Barton wrote: >> Author: dougb >> Date: Thu Jan 1 11:41:13 2009 >> New Revision: 186678 >> URL: http://svn.freebsd.org/changeset/base/186678 >> >> Log: >> Maintenance and updates >> ======================= >> 1. Various improvements to the mtree (-U) feature: > > REMOVE:root[208] mergemaster -iU > > : not found > > ? I can't reproduce this. Can you please add -x to the shebang line in the script then send me the relevant output? If you have an rc file for mergemaster please include that too. > mergemaster continues as expected after printing the above. That's good news at least. :) Doug -- This .signature sanitized for your protection From obrien at FreeBSD.org Fri Jan 2 02:57:18 2009 From: obrien at FreeBSD.org (David E. O'Brien) Date: Fri Jan 2 02:57:33 2009 Subject: svn commit: r186690 - in vendor/file/dist: . Magdir tests Message-ID: <200901020257.n022vHQn085457@svn.freebsd.org> Author: obrien Date: Fri Jan 2 02:57:16 2009 New Revision: 186690 URL: http://svn.freebsd.org/changeset/base/186690 Log: Virgin import of Christos Zoulas's FILE 4.26. Added: vendor/file/dist/AUTHORS vendor/file/dist/COPYING vendor/file/dist/INSTALL vendor/file/dist/Magdir/clarion vendor/file/dist/Magdir/erlang vendor/file/dist/Magdir/gnome-keyring vendor/file/dist/Magdir/gnumeric vendor/file/dist/Magdir/graphviz vendor/file/dist/Magdir/inform vendor/file/dist/Magdir/kde vendor/file/dist/Magdir/llvm vendor/file/dist/Magdir/lua vendor/file/dist/Magdir/luks vendor/file/dist/Magdir/mathcad vendor/file/dist/Magdir/mercurial vendor/file/dist/Magdir/mozilla vendor/file/dist/Magdir/netware vendor/file/dist/Magdir/ole2compounddocs vendor/file/dist/Magdir/ruby vendor/file/dist/Magdir/securitycerts vendor/file/dist/Magdir/warc vendor/file/dist/Magdir/weak vendor/file/dist/Magdir/windows vendor/file/dist/Magdir/xilinx vendor/file/dist/NEWS vendor/file/dist/TODO vendor/file/dist/asprintf.c (contents, props changed) vendor/file/dist/compile (contents, props changed) vendor/file/dist/config.guess (contents, props changed) vendor/file/dist/config.sub (contents, props changed) vendor/file/dist/configure.ac vendor/file/dist/elfclass.h (contents, props changed) vendor/file/dist/getopt_long.c (contents, props changed) vendor/file/dist/mygetopt.h (contents, props changed) vendor/file/dist/tests/ vendor/file/dist/tests/Makefile.am (contents, props changed) vendor/file/dist/tests/Makefile.in (contents, props changed) vendor/file/dist/tests/README vendor/file/dist/tests/gedcom.magic vendor/file/dist/tests/gedcom.result vendor/file/dist/tests/gedcom.testfile vendor/file/dist/tests/test.c (contents, props changed) vendor/file/dist/vasprintf.c (contents, props changed) Replaced: vendor/file/dist/FREEBSD-upgrade Deleted: vendor/file/dist/LEGAL.NOTICE vendor/file/dist/Makefile.std vendor/file/dist/PORTING vendor/file/dist/configure.in vendor/file/dist/magic.mime vendor/file/dist/magic2mime vendor/file/dist/mkinstalldirs vendor/file/dist/test.c Modified: vendor/file/dist/ChangeLog vendor/file/dist/MAINT vendor/file/dist/Magdir/adventure vendor/file/dist/Magdir/animation vendor/file/dist/Magdir/apple vendor/file/dist/Magdir/archive vendor/file/dist/Magdir/audio vendor/file/dist/Magdir/c-lang vendor/file/dist/Magdir/c64 vendor/file/dist/Magdir/cafebabe vendor/file/dist/Magdir/cddb vendor/file/dist/Magdir/commands vendor/file/dist/Magdir/compress vendor/file/dist/Magdir/console vendor/file/dist/Magdir/cracklib vendor/file/dist/Magdir/ctags vendor/file/dist/Magdir/database vendor/file/dist/Magdir/diff vendor/file/dist/Magdir/dump vendor/file/dist/Magdir/elf vendor/file/dist/Magdir/filesystems vendor/file/dist/Magdir/flash vendor/file/dist/Magdir/fonts vendor/file/dist/Magdir/fortran vendor/file/dist/Magdir/frame vendor/file/dist/Magdir/freebsd vendor/file/dist/Magdir/fsav vendor/file/dist/Magdir/games vendor/file/dist/Magdir/gimp vendor/file/dist/Magdir/gnu vendor/file/dist/Magdir/hp vendor/file/dist/Magdir/iff vendor/file/dist/Magdir/images vendor/file/dist/Magdir/java vendor/file/dist/Magdir/jpeg vendor/file/dist/Magdir/lex vendor/file/dist/Magdir/linux vendor/file/dist/Magdir/lisp vendor/file/dist/Magdir/macintosh vendor/file/dist/Magdir/mail.news vendor/file/dist/Magdir/mathematica vendor/file/dist/Magdir/misctools vendor/file/dist/Magdir/msdos vendor/file/dist/Magdir/mup vendor/file/dist/Magdir/os2 vendor/file/dist/Magdir/palm vendor/file/dist/Magdir/pdf vendor/file/dist/Magdir/perl vendor/file/dist/Magdir/pgp vendor/file/dist/Magdir/pkgadd vendor/file/dist/Magdir/printer vendor/file/dist/Magdir/psion vendor/file/dist/Magdir/revision vendor/file/dist/Magdir/riff vendor/file/dist/Magdir/rpm vendor/file/dist/Magdir/rtf vendor/file/dist/Magdir/sc vendor/file/dist/Magdir/scientific vendor/file/dist/Magdir/sgi vendor/file/dist/Magdir/sgml vendor/file/dist/Magdir/sharc vendor/file/dist/Magdir/sketch vendor/file/dist/Magdir/softquad vendor/file/dist/Magdir/spectrum vendor/file/dist/Magdir/tex vendor/file/dist/Magdir/troff vendor/file/dist/Magdir/unicode vendor/file/dist/Magdir/uuencode vendor/file/dist/Magdir/varied.script vendor/file/dist/Magdir/vorbis vendor/file/dist/Magdir/wordprocessors vendor/file/dist/Makefile.am vendor/file/dist/Makefile.in vendor/file/dist/README vendor/file/dist/acinclude.m4 vendor/file/dist/aclocal.m4 vendor/file/dist/apprentice.c vendor/file/dist/ascmagic.c vendor/file/dist/compress.c vendor/file/dist/config.h.in vendor/file/dist/configure vendor/file/dist/file.c vendor/file/dist/file.h vendor/file/dist/file.man vendor/file/dist/fsmagic.c vendor/file/dist/funcs.c vendor/file/dist/is_tar.c vendor/file/dist/libmagic.man vendor/file/dist/magic.c vendor/file/dist/magic.h vendor/file/dist/magic.man vendor/file/dist/names.h vendor/file/dist/patchlevel.h vendor/file/dist/print.c vendor/file/dist/readelf.c vendor/file/dist/readelf.h vendor/file/dist/softmagic.c vendor/file/dist/tar.h Added: vendor/file/dist/AUTHORS ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/dist/AUTHORS Fri Jan 2 02:57:16 2009 (r186690) @@ -0,0 +1 @@ +See COPYING. \ No newline at end of file Added: vendor/file/dist/COPYING ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/dist/COPYING Fri Jan 2 02:57:16 2009 (r186690) @@ -0,0 +1,29 @@ +$File: COPYING,v 1.1 2008/02/05 19:08:11 christos Exp $ +Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995. +Software written by Ian F. Darwin and others; +maintained 1994- Christos Zoulas. + +This software is not subject to any export provision of the United States +Department of Commerce, and may be exported to any country or planet. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice immediately at the beginning of the file, without modification, + this list of conditions, and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. Modified: vendor/file/dist/ChangeLog ============================================================================== --- vendor/file/dist/ChangeLog Fri Jan 2 00:37:59 2009 (r186689) +++ vendor/file/dist/ChangeLog Fri Jan 2 02:57:16 2009 (r186690) @@ -1,4 +1,135 @@ -2007-12-28 15:06 Christos Zoulas +2008-08-30 12:54 Christos Zoulas + + * Don't eat trailing \n in magic enties. + + * Cast defines to allow compilation using a c++ compiler. + +2008-07-26 00:59 Reuben Thomas + + * Add MIME types for special files. + + * Use access to give more accurate information for files that + can't be opened. + + * Add a TODO list. + +2008-07-02 11:15 Christos Zoulas + + * add !:strength op to adjust magic strength (experimental) + +2008-06-16 21:41 Reuben Thomas + + * Fix automake error in configure.ac. + + * Add MIME type for Psion Sketch files. + +2008-06-05 08:59 Christos Zoulas + + * Don't print warnings about bad namesize in stripped + binaries with PT_NOTE is still there, and the actual + note is gone (Jakub Jelinek) + +2008-05-28 15:12 Robert Byrnes + + * magic/Magdir/elf: + Note invalid byte order for little-endian SPARC32PLUS. + Add SPARC V9 vendor extensions and memory model. + + * src/elfclass.h: + Pass target machine to doshn (for Solaris hardware capabilities). + + * src/readelf.c (doshn): + Add support for Solaris hardware/software capabilities. + + * src/readelf.h: + Ditto. + + * src/vasprintf.c (dispatch): + Add support for ll modifier. + +2008-05-16 10:25 Christos Zoulas + + * Fix compiler warnings. + + * remove stray printf, and fix a vprintf bug. (Martin Dorey) + +2008-05-06 00:13 Robert Byrnes + + * src/Makefile.am: + Ensure that getopt_long and [v]asprintf are included in libmagic, + as needed. + + Remove unnecessary EXTRA_DIST. + + * src/Makefile.in: + Rerun automake. + + * src/vasprintf.c (dispatch): + Fix variable precision bug: be sure to step past '*'. + + * src/vasprintf.c (core): + Remove unreachable code. + + * src/apprentice.c (set_test_type): + Add cast to avoid compiler warning. + +2008-04-22 23:45 Christos Zoulas + + * Add magic submission guidelines (Abel Cheung) + + * split msdos and windows magic (Abel Cheung) + +2008-04-04 11:00 Christos Zoulas + + * >= <= is not supported, so fix the magic and warn about it. + reported by: Thien-Thi Nguyen + +2008-03-27 16:16 Robert Byrnes + + * src/readelf.c (donote): + ELF core file command name/line bug fixes and enhancements: + + Try larger offsets first to avoid false matches + from earlier data that happen to look like strings; + this primarily affected SunOS 5.x 32-bit Intel core files. + + Add support for command line (instead of just short name) + for SunOS 5.x. + + Add information about NT_PSINFO for SunOS 5.x. + + Only trim whitespace from end of command line. + +2007-02-11 01:36 Reuben Thomas + + * Change strength of ! from MULT to 0, as it matches almost + anything (Reuben Thomas) + + * Debian fixes (Reuben Thomas) + +2007-02-11 00:17 Reuben Thomas + + * Clarify UTF-8 BOM message (Reuben Thomas) + + * Add HTML comment to token list in names.h + +2007-02-04 15:50 Christos Zoulas + + * Debian fixes (Reuben Thomas) + +2007-02-04 11:31 Christos Zoulas + + * !:mime annotations in magic files (Reuben Thomas) + +2007-01-29 15:35 Christos Zoulas + + * zero out utime/utimes structs (Gavin Atkinson) + +2007-01-26 13:45 Christos Zoulas + + * reduce writable data from Diego "Flameeyes" Petten + +2007-12-28 15:06 Christos Zoulas * strtof detection @@ -6,7 +137,7 @@ * better mismatch version message -2007-12-27 11:35 Christos Zoulas +2007-12-27 11:35 Christos Zoulas * bring back some fixes from OpenBSD @@ -14,46 +145,46 @@ * fix gcc warnings -2007-12-01 19:55 Christos Zoulas +2007-12-01 19:55 Christos Zoulas * make sure we have zlib.h and libz to compile the builtin decompress code -2007-10-28 20:48 Christos Zoulas +2007-10-28 20:48 Christos Zoulas * float and double magic support (Behan Webster) -2007-10-28 20:48 Christos Zoulas +2007-10-28 20:48 Christos Zoulas * Convert fortran to a soft test (Reuben Thomas) -2007-10-23 5:25 Christos Zoulas +2007-10-23 5:25 Christos Zoulas * Add --with-filename, and --no-filename (Reuben Thomas) -2007-10-23 3:59 Christos Zoulas +2007-10-23 3:59 Christos Zoulas * Rest of the mime split (Reuben Thomas) * Make usage message generated from the flags so that they stay consistent (Reuben Thomas) -2007-10-20 3:06 Christos Zoulas +2007-10-20 3:06 Christos Zoulas * typo in comment, missing ifdef QUICK, remove unneeded code (Charles Longeau) -2007-10-17 3:33 Christos Zoulas +2007-10-17 3:33 Christos Zoulas * Fix problem printing -\012 in some entries * Separate magic type and encoding flags (Reuben Thomas) -2007-10-09 3:55 Christos Zoulas +2007-10-09 3:55 Christos Zoulas * configure fix for int64 and strndup (Reuben Thomas) -2007-09-26 4:45 Christos Zoulas +2007-09-26 4:45 Christos Zoulas * Add magic_descriptor() function. @@ -62,7 +193,7 @@ * Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson) -2007-08-19 6:30 Christos Zoulas +2007-08-19 6:30 Christos Zoulas * Make mime format consistent so that it can be easily parsed: @@ -79,38 +210,38 @@ This work was done by Reuben Thomas -2007-05-24 10:00 Christos Zoulas +2007-05-24 10:00 Christos Zoulas * Fix another integer overflow (Colin Percival) -2007-03-26 13:58 Christos Zoulas +2007-03-26 13:58 Christos Zoulas * make sure that all of struct magic_set is initialized appropriately (Brett) -2007-03-25 17:44 Christos Zoulas +2007-03-25 17:44 Christos Zoulas * reset left bytes in the buffer (Dmitry V. Levin) * compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS (Peter Avalos) -2007-03-15 10:51 Christos Zoulas +2007-03-15 10:51 Christos Zoulas * fix fortran and nroff reversed tests (Dmitry V. Levin) * fix exclude option (Dmitry V. Levin) -2007-02-08 17:30 Christos Zoulas +2007-02-08 17:30 Christos Zoulas * fix integer underflow in file_printf which can lead to to exploitable heap overflow (Jean-Sebastien Guay-Lero) -2007-02-05 11:35 Christos Zoulas +2007-02-05 11:35 Christos Zoulas * make socket/pipe reading more robust -2007-01-25 16:01 Christos Zoulas +2007-01-25 16:01 Christos Zoulas * Centralize all the tests in file_buffer. @@ -184,7 +315,7 @@ * make file.c compile with gcc warnings and pass lint -2006-12-11 16:49 Christos Zoulas +2006-12-11 16:49 Christos Zoulas * fix byteswapping issue @@ -193,7 +324,7 @@ * add a few missed cases in the strength routine -2006-12-08 16:32 Christos Zoulas +2006-12-08 16:32 Christos Zoulas * store and print the line number of the magic entry for debugging. @@ -210,7 +341,7 @@ * propagate the error return from match to file_softmagic. -2006-11-25 13:35 Christos Zoulas +2006-11-25 13:35 Christos Zoulas * Don't store the current offset in the magic struct, because it needs to be restored and @@ -221,12 +352,12 @@ print it as an additional separator; print it as the only separator. -2006-11-17 10:51 Christos Zoulas +2006-11-17 10:51 Christos Zoulas * Added a -0 option to print a '\0' separator Etienne Buira -2006-10-31 15:14 Christos Zoulas +2006-10-31 15:14 Christos Zoulas * Check offset before copying (Mike Frysinger) @@ -242,7 +373,7 @@ * use calloc to initialize the ascii buffers (Jos van den Oever) -2006-06-08 11:11 Christos Zoulas +2006-06-08 11:11 Christos Zoulas * QNX fixes (Mike Gorchak) @@ -256,7 +387,7 @@ * Magic format function improvent (Karl Chen) -2006-05-03 11:11 Christos Zoulas +2006-05-03 11:11 Christos Zoulas * Pick up some elf changes and some constant fixes from SUSE @@ -264,13 +395,13 @@ * When keep going, don't print spurious newlines (Radek Vokál) -2006-04-01 12:02 Christos Zoulas +2006-04-01 12:02 Christos Zoulas * Use calloc instead of malloc (Mike Frysinger) * Fix configure script to detect wctypes.h (Mike Frysinger) -2006-03-02 16:06 Christos Zoulas +2006-03-02 16:06 Christos Zoulas * Print empty if the file is (Mike Frysinger) @@ -278,21 +409,21 @@ * Sort magic entries by strength [experimental] -2005-11-29 13:26 Christos Zoulas +2005-11-29 13:26 Christos Zoulas * Use iswprint() to convert the output string. (Bastien Nocera) -2005-10-31 8:54 Christos Zoulas +2005-10-31 8:54 Christos Zoulas * Fix regression where the core info was not completely processed (Radek Vokál) -2005-10-20 11:15 Christos Zoulas +2005-10-20 11:15 Christos Zoulas * Middle Endian magic (Diomidis Spinellis) -2005-10-17 11:15 Christos Zoulas +2005-10-17 11:15 Christos Zoulas * Open with O_BINARY for CYGWIN (Corinna Vinschen) @@ -300,39 +431,39 @@ * Look for note sections in non executables. -2005-09-20 13:33 Christos Zoulas +2005-09-20 13:33 Christos Zoulas * Don't print SVR4 Style in core files multiple times (Radek Vokál) -2005-08-27 04:09 Christos Zoulas +2005-08-27 04:09 Christos Zoulas * Cygwin changes Corinna Vinschen -2005-08-18 09:53 Christos Zoulas +2005-08-18 09:53 Christos Zoulas * Remove erroreous mention of /etc/magic in the file man page This is gentoo bug 101639. (Mike Frysinger) * Cross-compile support and detection (Mike Frysinger) -2005-08-12 10:17 Christos Zoulas +2005-08-12 10:17 Christos Zoulas * Add -h flag and dereference symlinks if POSIXLY_CORRECT is set. -2005-07-29 13:57 Christos Zoulas +2005-07-29 13:57 Christos Zoulas * Avoid search and regex buffer overflows (Kelledin) -2005-07-12 11:48 Christos Zoulas +2005-07-12 11:48 Christos Zoulas * Provide stub implementations for {v,}nsprintf() for older OS's that don't have them. * Change mbstate_t autoconf detection macro from AC_MBSTATE_T to AC_TYPE_MBSTATE_T. -2005-06-25 11:48 Christos Zoulas +2005-06-25 11:48 Christos Zoulas * Dynamically allocate the string buffers and make the default read size 256K. @@ -361,43 +492,43 @@ With CRLF, the line length was not computed correctly, and even lines of length MAXLINELEN - 1 were treated as ``very long''. -2004-12-07 14:15 Christos Zoulas +2004-12-07 14:15 Christos Zoulas * bzip2 needs a lot of input buffer space on some files before it can begin uncompressing. This makes file -z fail on some bz2 files. Fix it by giving it a copy of the file descriptor to read as much as it wants if we - have access to it. + have access to it. -2004-11-24 12:39 Christos Zoulas +2004-11-24 12:39 Christos Zoulas * Stack smash fix, and ELF more conservative reading. Jakub Bogusz -2004-11-20 18:50 Christos Zoulas +2004-11-20 18:50 Christos Zoulas * New FreeBSD version parsing code: Jon Noack - * Hackish support for ucs16 strings + * Hackish support for ucs16 strings -2004-11-13 03:07 Christos Zoulas +2004-11-13 03:07 Christos Zoulas * print the file name and line number in syntax errors. -2004 10-12 10:50 Christos Zoulas +2004 10-12 10:50 Christos Zoulas * Fix stack overwriting on 0 length strings: Tim Waugh Ned Ludd -2004-09-27 11:30 Christos Zoulas +2004-09-27 11:30 Christos Zoulas * Remove 3rd and 4th copyright clause; approved by Ian Darwin. * Fix small memory leaks; caught by: Tamas Sarlos -2004-07-24 16:33 Christos Zoulas +2004-07-24 16:33 Christos Zoulas * magic.mime update Danny Milosavljevic @@ -407,19 +538,19 @@ * errors reading elf magic Jakub Bogusz -2004-04-12 10:55 Christos Zoulas +2004-04-12 10:55 Christos Zoulas * make sure that magic formats match magic types during compilation * fix broken sgi magic file -2004-04-06 20:36 Christos Zoulas +2004-04-06 20:36 Christos Zoulas * detect present of mbstate_t Petter Reinholdtsen * magic fixes -2004-03-22 15:25 Christos Zoulas +2004-03-22 15:25 Christos Zoulas * Lots of mime fixes (Joerg Ostertag) @@ -428,7 +559,7 @@ (Edwin Groothuis) * correct cleanup in all cases; don't just close the file. - (Christos Zoulas) + (Christos Zoulas) * add gettext message catalogue support (Michael Piefel) @@ -446,37 +577,37 @@ or name and description note sizes. Reported by (Mikael Magnusson) -2004-03-09 13:55 Christos Zoulas +2004-03-09 13:55 Christos Zoulas * Fix possible memory leak on error and add missing regfree (Dmitry V. Levin) -2003-12-23 12:12 Christos Zoulas +2003-12-23 12:12 Christos Zoulas * fix -k flag (Maciej W. Rozycki) -2003-11-18 14:10 Christos Zoulas +2003-11-18 14:10 Christos Zoulas * Try to give us much info as possible on corrupt elf files. (Willy Tarreau) * Updated python bindings (Brett Funderburg) -2003-11-11 15:03 Christos Zoulas +2003-11-11 15:03 Christos Zoulas * Include file.h first, because it includes config.h breaks largefile test macros otherwise. (Paul Eggert via Lars Hecking ) -2003-10-14 21:39 Christos Zoulas +2003-10-14 21:39 Christos Zoulas * Python bindings (Brett Funderburg) * Don't lookup past the end of the buffer (Chad Hanson) * Add MAGIC_ERROR and api on magic_errno() -2003-10-08 12:40 Christos Zoulas +2003-10-08 12:40 Christos Zoulas * handle error conditions from compile as fatal (Antti Kantee) @@ -486,32 +617,32 @@ * describe magic file handling (Bryan Henderson) -2003-09-12 15:09 Christos Zoulas +2003-09-12 15:09 Christos Zoulas * update magic files. * remove largefile support from file.h; it breaks things on most OS's -2003-08-10 10:25 Christos Zoulas +2003-08-10 10:25 Christos Zoulas * fix unmapping'ing of mmaped files. -2003-07-10 12:03 Christos Zoulas +2003-07-10 12:03 Christos Zoulas * don't exit with -1 on error; always exit 1 (Marty Leisner) * restore utimes code. -2003-06-10 17:03 Christos Zoulas +2003-06-10 17:03 Christos Zoulas * make sure we don't access uninitialized memory. * pass lint * #ifdef __cplusplus in magic.h -2003-05-25 19:23 Christos Zoulas +2003-05-25 19:23 Christos Zoulas * rename cvs magic file to revision to deal with case insensitive filesystems. -2003-05-23 17:03 Christos Zoulas +2003-05-23 17:03 Christos Zoulas * documentation fixes from Michael Piefel * magic fixes (various) @@ -521,30 +652,30 @@ close files Maciej W. Rozycki +2003-04-21 20:12 Christos Zoulas * fix zsh magic -2003-04-04 16:59 Christos Zoulas +2003-04-04 16:59 Christos Zoulas * fix operand sort order in string. -2003-04-02 17:30 Christos Zoulas +2003-04-02 17:30 Christos Zoulas * cleanup namespace in magic.h -2003-04-02 13:50 Christos Zoulas +2003-04-02 13:50 Christos Zoulas * Magic additions (Alex Ott) * Fix bug that broke VPATH compilation (Peter Breitenlohner) -2003-03-28 16:03 Christos Zoulas +2003-03-28 16:03 Christos Zoulas * remove packed attribute from magic struct. * make the magic struct properly aligned. * bump version number of compiled files to 2. -2003-03-27 13:10 Christos Zoulas +2003-03-27 13:10 Christos Zoulas * separate tar detection and run it before softmagic. * fix reversed symlink test. @@ -552,7 +683,7 @@ * make separator a string instead of a char. * update manual page and sort options. -2003-03-26 11:00 Christos Zoulas +2003-03-26 11:00 Christos Zoulas * Pass lint * make NULL in magic_file mean stdin Added: vendor/file/dist/FREEBSD-upgrade ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/dist/FREEBSD-upgrade Fri Jan 2 02:57:16 2009 (r186690) @@ -0,0 +1,30 @@ +# ex:ts=8 +$FreeBSD: vendor/file/dist/contrib/file/FREEBSD-upgrade 169962 2007-05-24 21:59:38Z obrien $ + +Christos Zoulas `file' + originals can be found at: ftp://ftp.astron.com/pub/file/ + +Imported by: + + mv magic/* . + rmdir magic + mv -i src/* . + rm -rf src + mv -i doc/* . + rm -rf doc + rm -rf python + rm -f lt* + rm -f missing depcomp + rm -f config.{guess,sub} + + cvs import -m "Virgin import of Christos Zoulas's FILE 4.21." \ + src/contrib/file ZOULAS file_4_21 + + +Never make local changes to ZOULAS `file'. Christos is very willing to +work with us to meet our FreeBSD needs. Thus submit any desired changes +to him and wait for the next release and vendor +import to get them. + +obrien@NUXI.com +15-Sept-2002 Added: vendor/file/dist/INSTALL ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/file/dist/INSTALL Fri Jan 2 02:57:16 2009 (r186690) @@ -0,0 +1,234 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006 Free Software Foundation, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + +Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + +You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + +Installation Names +================== + +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + Modified: vendor/file/dist/MAINT ============================================================================== --- vendor/file/dist/MAINT Fri Jan 2 00:37:59 2009 (r186689) +++ vendor/file/dist/MAINT Fri Jan 2 02:57:16 2009 (r186690) @@ -1,4 +1,4 @@ -$File: MAINT,v 1.9 2007/01/19 21:15:27 christos Exp $ +$File: MAINT,v 1.10 2008/02/05 19:08:11 christos Exp $ Maintenance notes: @@ -41,5 +41,4 @@ ascmagic.c file_ascmagic() readelf.c file_tryelf() "unknown" -Christos Zoulas -christos@astron.com +Christos Zoulas (see README for email address) Modified: vendor/file/dist/Magdir/adventure ============================================================================== --- vendor/file/dist/Magdir/adventure Fri Jan 2 00:37:59 2009 (r186689) +++ vendor/file/dist/Magdir/adventure Fri Jan 2 02:57:16 2009 (r186690) @@ -73,3 +73,13 @@ >10 belong 0x0A0D1A00 >>14 string >\0 %s saved game data +# Danny Milosavljevic +# this are adrift (adventure game standard) game files, extension .taf +# depending on version magic continues with 0x93453E6139FA (V 4.0) +# 0x9445376139FA (V 3.90) +# 0x9445366139FA (V 3.80) +# this is from source (http://www.adrift.org.uk/) and I have some taf +# files, and checked them. +#0 belong 0x3C423FC9 +#>4 belong 0x6A87C2CF Adrift game file +#!:mime application/x-adrift Modified: vendor/file/dist/Magdir/animation ============================================================================== --- vendor/file/dist/Magdir/animation Fri Jan 2 00:37:59 2009 (r186689) +++ vendor/file/dist/Magdir/animation Fri Jan 2 02:57:16 2009 (r186690) @@ -8,57 +8,78 @@ # SGI and Apple formats 0 string MOVI Silicon Graphics movie file +!:mime video/x-sgi-movie 4 string moov Apple QuickTime +!:mime video/quicktime >12 string mvhd \b movie (fast start) >12 string mdra \b URL >12 string cmov \b movie (fast start, compressed header) >12 string rmra \b multiple URLs 4 string mdat Apple QuickTime movie (unoptimized) -4 string wide Apple QuickTime movie (unoptimized) -4 string skip Apple QuickTime movie (modified) -4 string free Apple QuickTime movie (modified) +!:mime video/quicktime +#4 string wide Apple QuickTime movie (unoptimized) +#!:mime video/quicktime +#4 string skip Apple QuickTime movie (modified) +#!:mime video/quicktime +#4 string free Apple QuickTime movie (modified) +#!:mime video/quicktime 4 string idsc Apple QuickTime image (fast start) -4 string idat Apple QuickTime image (unoptimized) +!:mime image/x-quicktime +#4 string idat Apple QuickTime image (unoptimized) +#!:mime image/x-quicktime 4 string pckg Apple QuickTime compressed archive +!:mime application/x-quicktime-player 4 string/B jP JPEG 2000 image +!:mime image/jp2 4 string ftyp ISO Media >8 string isom \b, MPEG v4 system, version 1 +!:mime video/mp4 >8 string iso2 \b, MPEG v4 system, part 12 revision >8 string mp41 \b, MPEG v4 system, version 1 +!:mime video/mp4 >8 string mp42 \b, MPEG v4 system, version 2 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From obrien at FreeBSD.org Fri Jan 2 03:10:57 2009 From: obrien at FreeBSD.org (David E. O'Brien) Date: Fri Jan 2 03:11:04 2009 Subject: svn commit: r186691 - in head/contrib/file: . Magdir tests Message-ID: <200901020310.n023Au27086047@svn.freebsd.org> Author: obrien Date: Fri Jan 2 03:10:55 2009 New Revision: 186691 URL: http://svn.freebsd.org/changeset/base/186691 Log: Record that base/vendor/file/dist@186675 was merged. Merge base/vendor/file/dist@186675@186690, bringing FILE 4.26 to 8-CURRENT. Added: head/contrib/file/AUTHORS - copied unchanged from r186690, vendor/file/dist/AUTHORS head/contrib/file/COPYING - copied unchanged from r186690, vendor/file/dist/COPYING head/contrib/file/INSTALL - copied unchanged from r186690, vendor/file/dist/INSTALL head/contrib/file/Magdir/clarion - copied unchanged from r186690, vendor/file/dist/Magdir/clarion head/contrib/file/Magdir/erlang - copied unchanged from r186690, vendor/file/dist/Magdir/erlang head/contrib/file/Magdir/gnome-keyring - copied unchanged from r186690, vendor/file/dist/Magdir/gnome-keyring head/contrib/file/Magdir/gnumeric - copied unchanged from r186690, vendor/file/dist/Magdir/gnumeric head/contrib/file/Magdir/graphviz - copied unchanged from r186690, vendor/file/dist/Magdir/graphviz head/contrib/file/Magdir/inform - copied unchanged from r186690, vendor/file/dist/Magdir/inform head/contrib/file/Magdir/kde - copied unchanged from r186690, vendor/file/dist/Magdir/kde head/contrib/file/Magdir/llvm - copied unchanged from r186690, vendor/file/dist/Magdir/llvm head/contrib/file/Magdir/lua - copied unchanged from r186690, vendor/file/dist/Magdir/lua head/contrib/file/Magdir/luks - copied unchanged from r186690, vendor/file/dist/Magdir/luks head/contrib/file/Magdir/mathcad - copied unchanged from r186690, vendor/file/dist/Magdir/mathcad head/contrib/file/Magdir/mercurial - copied unchanged from r186690, vendor/file/dist/Magdir/mercurial head/contrib/file/Magdir/mozilla - copied unchanged from r186690, vendor/file/dist/Magdir/mozilla head/contrib/file/Magdir/netware - copied unchanged from r186690, vendor/file/dist/Magdir/netware head/contrib/file/Magdir/ole2compounddocs - copied unchanged from r186690, vendor/file/dist/Magdir/ole2compounddocs head/contrib/file/Magdir/ruby - copied unchanged from r186690, vendor/file/dist/Magdir/ruby head/contrib/file/Magdir/securitycerts - copied unchanged from r186690, vendor/file/dist/Magdir/securitycerts head/contrib/file/Magdir/warc - copied unchanged from r186690, vendor/file/dist/Magdir/warc head/contrib/file/Magdir/weak - copied unchanged from r186690, vendor/file/dist/Magdir/weak head/contrib/file/Magdir/windows - copied unchanged from r186690, vendor/file/dist/Magdir/windows head/contrib/file/Magdir/xilinx - copied unchanged from r186690, vendor/file/dist/Magdir/xilinx head/contrib/file/NEWS - copied unchanged from r186690, vendor/file/dist/NEWS head/contrib/file/TODO - copied unchanged from r186690, vendor/file/dist/TODO head/contrib/file/asprintf.c - copied unchanged from r186690, vendor/file/dist/asprintf.c head/contrib/file/compile - copied unchanged from r186690, vendor/file/dist/compile head/contrib/file/config.guess - copied unchanged from r186690, vendor/file/dist/config.guess head/contrib/file/config.sub - copied unchanged from r186690, vendor/file/dist/config.sub head/contrib/file/configure.ac - copied unchanged from r186690, vendor/file/dist/configure.ac head/contrib/file/elfclass.h - copied unchanged from r186690, vendor/file/dist/elfclass.h head/contrib/file/getopt_long.c - copied unchanged from r186690, vendor/file/dist/getopt_long.c head/contrib/file/mygetopt.h - copied unchanged from r186690, vendor/file/dist/mygetopt.h head/contrib/file/tests/ - copied from r186690, vendor/file/dist/tests/ head/contrib/file/vasprintf.c - copied unchanged from r186690, vendor/file/dist/vasprintf.c Replaced: head/contrib/file/FREEBSD-upgrade - copied unchanged from r186690, vendor/file/dist/FREEBSD-upgrade head/contrib/file/magic2mime Deleted: head/contrib/file/LEGAL.NOTICE head/contrib/file/Makefile.std head/contrib/file/PORTING head/contrib/file/configure.in head/contrib/file/magic.mime head/contrib/file/mkinstalldirs head/contrib/file/test.c Modified: head/contrib/file/ (props changed) head/contrib/file/ChangeLog head/contrib/file/MAINT head/contrib/file/Magdir/adventure head/contrib/file/Magdir/animation head/contrib/file/Magdir/apple head/contrib/file/Magdir/archive head/contrib/file/Magdir/audio head/contrib/file/Magdir/c-lang head/contrib/file/Magdir/c64 head/contrib/file/Magdir/cafebabe head/contrib/file/Magdir/cddb head/contrib/file/Magdir/commands head/contrib/file/Magdir/compress head/contrib/file/Magdir/console head/contrib/file/Magdir/cracklib head/contrib/file/Magdir/ctags head/contrib/file/Magdir/database head/contrib/file/Magdir/diff head/contrib/file/Magdir/dump head/contrib/file/Magdir/elf head/contrib/file/Magdir/filesystems head/contrib/file/Magdir/flash head/contrib/file/Magdir/fonts head/contrib/file/Magdir/fortran head/contrib/file/Magdir/frame head/contrib/file/Magdir/freebsd head/contrib/file/Magdir/fsav head/contrib/file/Magdir/games head/contrib/file/Magdir/gimp head/contrib/file/Magdir/gnu head/contrib/file/Magdir/hp head/contrib/file/Magdir/iff head/contrib/file/Magdir/images head/contrib/file/Magdir/java head/contrib/file/Magdir/jpeg head/contrib/file/Magdir/lex head/contrib/file/Magdir/linux head/contrib/file/Magdir/lisp head/contrib/file/Magdir/macintosh head/contrib/file/Magdir/mail.news head/contrib/file/Magdir/mathematica head/contrib/file/Magdir/misctools head/contrib/file/Magdir/msdos head/contrib/file/Magdir/mup head/contrib/file/Magdir/os2 head/contrib/file/Magdir/palm head/contrib/file/Magdir/pdf head/contrib/file/Magdir/perl head/contrib/file/Magdir/pgp head/contrib/file/Magdir/pkgadd head/contrib/file/Magdir/printer head/contrib/file/Magdir/psion head/contrib/file/Magdir/revision head/contrib/file/Magdir/riff head/contrib/file/Magdir/rpm head/contrib/file/Magdir/rtf head/contrib/file/Magdir/sc head/contrib/file/Magdir/scientific head/contrib/file/Magdir/sgi head/contrib/file/Magdir/sgml head/contrib/file/Magdir/sharc head/contrib/file/Magdir/sketch head/contrib/file/Magdir/softquad head/contrib/file/Magdir/spectrum head/contrib/file/Magdir/tex head/contrib/file/Magdir/troff head/contrib/file/Magdir/unicode head/contrib/file/Magdir/uuencode head/contrib/file/Magdir/varied.script head/contrib/file/Magdir/vorbis head/contrib/file/Magdir/wordprocessors head/contrib/file/Makefile.am head/contrib/file/Makefile.in head/contrib/file/README head/contrib/file/acinclude.m4 head/contrib/file/aclocal.m4 head/contrib/file/apprentice.c head/contrib/file/ascmagic.c head/contrib/file/compress.c head/contrib/file/config.h.in head/contrib/file/configure head/contrib/file/file.c head/contrib/file/file.h head/contrib/file/file.man head/contrib/file/fsmagic.c head/contrib/file/funcs.c head/contrib/file/is_tar.c head/contrib/file/libmagic.man head/contrib/file/magic.c head/contrib/file/magic.h head/contrib/file/magic.man head/contrib/file/names.h head/contrib/file/patchlevel.h head/contrib/file/print.c head/contrib/file/readelf.c head/contrib/file/readelf.h head/contrib/file/softmagic.c head/contrib/file/tar.h Copied: head/contrib/file/AUTHORS (from r186690, vendor/file/dist/AUTHORS) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/file/AUTHORS Fri Jan 2 03:10:55 2009 (r186691, copy of r186690, vendor/file/dist/AUTHORS) @@ -0,0 +1 @@ +See COPYING. \ No newline at end of file Copied: head/contrib/file/COPYING (from r186690, vendor/file/dist/COPYING) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/file/COPYING Fri Jan 2 03:10:55 2009 (r186691, copy of r186690, vendor/file/dist/COPYING) @@ -0,0 +1,29 @@ +$File: COPYING,v 1.1 2008/02/05 19:08:11 christos Exp $ +Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995. +Software written by Ian F. Darwin and others; +maintained 1994- Christos Zoulas. + +This software is not subject to any export provision of the United States +Department of Commerce, and may be exported to any country or planet. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice immediately at the beginning of the file, without modification, + this list of conditions, and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. Modified: head/contrib/file/ChangeLog ============================================================================== --- head/contrib/file/ChangeLog Fri Jan 2 02:57:16 2009 (r186690) +++ head/contrib/file/ChangeLog Fri Jan 2 03:10:55 2009 (r186691) @@ -1,4 +1,135 @@ -2007-12-28 15:06 Christos Zoulas +2008-08-30 12:54 Christos Zoulas + + * Don't eat trailing \n in magic enties. + + * Cast defines to allow compilation using a c++ compiler. + +2008-07-26 00:59 Reuben Thomas + + * Add MIME types for special files. + + * Use access to give more accurate information for files that + can't be opened. + + * Add a TODO list. + +2008-07-02 11:15 Christos Zoulas + + * add !:strength op to adjust magic strength (experimental) + +2008-06-16 21:41 Reuben Thomas + + * Fix automake error in configure.ac. + + * Add MIME type for Psion Sketch files. + +2008-06-05 08:59 Christos Zoulas + + * Don't print warnings about bad namesize in stripped + binaries with PT_NOTE is still there, and the actual + note is gone (Jakub Jelinek) + +2008-05-28 15:12 Robert Byrnes + + * magic/Magdir/elf: + Note invalid byte order for little-endian SPARC32PLUS. + Add SPARC V9 vendor extensions and memory model. + + * src/elfclass.h: + Pass target machine to doshn (for Solaris hardware capabilities). + + * src/readelf.c (doshn): + Add support for Solaris hardware/software capabilities. + + * src/readelf.h: + Ditto. + + * src/vasprintf.c (dispatch): + Add support for ll modifier. + +2008-05-16 10:25 Christos Zoulas + + * Fix compiler warnings. + + * remove stray printf, and fix a vprintf bug. (Martin Dorey) + +2008-05-06 00:13 Robert Byrnes + + * src/Makefile.am: + Ensure that getopt_long and [v]asprintf are included in libmagic, + as needed. + + Remove unnecessary EXTRA_DIST. + + * src/Makefile.in: + Rerun automake. + + * src/vasprintf.c (dispatch): + Fix variable precision bug: be sure to step past '*'. + + * src/vasprintf.c (core): + Remove unreachable code. + + * src/apprentice.c (set_test_type): + Add cast to avoid compiler warning. + +2008-04-22 23:45 Christos Zoulas + + * Add magic submission guidelines (Abel Cheung) + + * split msdos and windows magic (Abel Cheung) + +2008-04-04 11:00 Christos Zoulas + + * >= <= is not supported, so fix the magic and warn about it. + reported by: Thien-Thi Nguyen + +2008-03-27 16:16 Robert Byrnes + + * src/readelf.c (donote): + ELF core file command name/line bug fixes and enhancements: + + Try larger offsets first to avoid false matches + from earlier data that happen to look like strings; + this primarily affected SunOS 5.x 32-bit Intel core files. + + Add support for command line (instead of just short name) + for SunOS 5.x. + + Add information about NT_PSINFO for SunOS 5.x. + + Only trim whitespace from end of command line. + +2007-02-11 01:36 Reuben Thomas + + * Change strength of ! from MULT to 0, as it matches almost + anything (Reuben Thomas) + + * Debian fixes (Reuben Thomas) + +2007-02-11 00:17 Reuben Thomas + + * Clarify UTF-8 BOM message (Reuben Thomas) + + * Add HTML comment to token list in names.h + +2007-02-04 15:50 Christos Zoulas + + * Debian fixes (Reuben Thomas) + +2007-02-04 11:31 Christos Zoulas + + * !:mime annotations in magic files (Reuben Thomas) + +2007-01-29 15:35 Christos Zoulas + + * zero out utime/utimes structs (Gavin Atkinson) + +2007-01-26 13:45 Christos Zoulas + + * reduce writable data from Diego "Flameeyes" Petten + +2007-12-28 15:06 Christos Zoulas * strtof detection @@ -6,7 +137,7 @@ * better mismatch version message -2007-12-27 11:35 Christos Zoulas +2007-12-27 11:35 Christos Zoulas * bring back some fixes from OpenBSD @@ -14,46 +145,46 @@ * fix gcc warnings -2007-12-01 19:55 Christos Zoulas +2007-12-01 19:55 Christos Zoulas * make sure we have zlib.h and libz to compile the builtin decompress code -2007-10-28 20:48 Christos Zoulas +2007-10-28 20:48 Christos Zoulas * float and double magic support (Behan Webster) -2007-10-28 20:48 Christos Zoulas +2007-10-28 20:48 Christos Zoulas * Convert fortran to a soft test (Reuben Thomas) -2007-10-23 5:25 Christos Zoulas +2007-10-23 5:25 Christos Zoulas * Add --with-filename, and --no-filename (Reuben Thomas) -2007-10-23 3:59 Christos Zoulas +2007-10-23 3:59 Christos Zoulas * Rest of the mime split (Reuben Thomas) * Make usage message generated from the flags so that they stay consistent (Reuben Thomas) -2007-10-20 3:06 Christos Zoulas +2007-10-20 3:06 Christos Zoulas * typo in comment, missing ifdef QUICK, remove unneeded code (Charles Longeau) -2007-10-17 3:33 Christos Zoulas +2007-10-17 3:33 Christos Zoulas * Fix problem printing -\012 in some entries * Separate magic type and encoding flags (Reuben Thomas) -2007-10-09 3:55 Christos Zoulas +2007-10-09 3:55 Christos Zoulas * configure fix for int64 and strndup (Reuben Thomas) -2007-09-26 4:45 Christos Zoulas +2007-09-26 4:45 Christos Zoulas * Add magic_descriptor() function. @@ -62,7 +193,7 @@ * Don't convert NUL's to spaces in {l,b}estring16 (Daniel Dawson) -2007-08-19 6:30 Christos Zoulas +2007-08-19 6:30 Christos Zoulas * Make mime format consistent so that it can be easily parsed: @@ -79,38 +210,38 @@ This work was done by Reuben Thomas -2007-05-24 10:00 Christos Zoulas +2007-05-24 10:00 Christos Zoulas * Fix another integer overflow (Colin Percival) -2007-03-26 13:58 Christos Zoulas +2007-03-26 13:58 Christos Zoulas * make sure that all of struct magic_set is initialized appropriately (Brett) -2007-03-25 17:44 Christos Zoulas +2007-03-25 17:44 Christos Zoulas * reset left bytes in the buffer (Dmitry V. Levin) * compilation failed with COMPILE_ONLY and ENABLE_CONDITIONALS (Peter Avalos) -2007-03-15 10:51 Christos Zoulas +2007-03-15 10:51 Christos Zoulas * fix fortran and nroff reversed tests (Dmitry V. Levin) * fix exclude option (Dmitry V. Levin) -2007-02-08 17:30 Christos Zoulas +2007-02-08 17:30 Christos Zoulas * fix integer underflow in file_printf which can lead to to exploitable heap overflow (Jean-Sebastien Guay-Lero) -2007-02-05 11:35 Christos Zoulas +2007-02-05 11:35 Christos Zoulas * make socket/pipe reading more robust -2007-01-25 16:01 Christos Zoulas +2007-01-25 16:01 Christos Zoulas * Centralize all the tests in file_buffer. @@ -184,7 +315,7 @@ * make file.c compile with gcc warnings and pass lint -2006-12-11 16:49 Christos Zoulas +2006-12-11 16:49 Christos Zoulas * fix byteswapping issue @@ -193,7 +324,7 @@ * add a few missed cases in the strength routine -2006-12-08 16:32 Christos Zoulas +2006-12-08 16:32 Christos Zoulas * store and print the line number of the magic entry for debugging. @@ -210,7 +341,7 @@ * propagate the error return from match to file_softmagic. -2006-11-25 13:35 Christos Zoulas +2006-11-25 13:35 Christos Zoulas * Don't store the current offset in the magic struct, because it needs to be restored and @@ -221,12 +352,12 @@ print it as an additional separator; print it as the only separator. -2006-11-17 10:51 Christos Zoulas +2006-11-17 10:51 Christos Zoulas * Added a -0 option to print a '\0' separator Etienne Buira -2006-10-31 15:14 Christos Zoulas +2006-10-31 15:14 Christos Zoulas * Check offset before copying (Mike Frysinger) @@ -242,7 +373,7 @@ * use calloc to initialize the ascii buffers (Jos van den Oever) -2006-06-08 11:11 Christos Zoulas +2006-06-08 11:11 Christos Zoulas * QNX fixes (Mike Gorchak) @@ -256,7 +387,7 @@ * Magic format function improvent (Karl Chen) -2006-05-03 11:11 Christos Zoulas +2006-05-03 11:11 Christos Zoulas * Pick up some elf changes and some constant fixes from SUSE @@ -264,13 +395,13 @@ * When keep going, don't print spurious newlines (Radek Vokál) -2006-04-01 12:02 Christos Zoulas +2006-04-01 12:02 Christos Zoulas * Use calloc instead of malloc (Mike Frysinger) * Fix configure script to detect wctypes.h (Mike Frysinger) -2006-03-02 16:06 Christos Zoulas +2006-03-02 16:06 Christos Zoulas * Print empty if the file is (Mike Frysinger) @@ -278,21 +409,21 @@ * Sort magic entries by strength [experimental] -2005-11-29 13:26 Christos Zoulas +2005-11-29 13:26 Christos Zoulas * Use iswprint() to convert the output string. (Bastien Nocera) -2005-10-31 8:54 Christos Zoulas +2005-10-31 8:54 Christos Zoulas * Fix regression where the core info was not completely processed (Radek Vokál) -2005-10-20 11:15 Christos Zoulas +2005-10-20 11:15 Christos Zoulas * Middle Endian magic (Diomidis Spinellis) -2005-10-17 11:15 Christos Zoulas +2005-10-17 11:15 Christos Zoulas * Open with O_BINARY for CYGWIN (Corinna Vinschen) @@ -300,39 +431,39 @@ * Look for note sections in non executables. -2005-09-20 13:33 Christos Zoulas +2005-09-20 13:33 Christos Zoulas * Don't print SVR4 Style in core files multiple times (Radek Vokál) -2005-08-27 04:09 Christos Zoulas +2005-08-27 04:09 Christos Zoulas * Cygwin changes Corinna Vinschen -2005-08-18 09:53 Christos Zoulas +2005-08-18 09:53 Christos Zoulas * Remove erroreous mention of /etc/magic in the file man page This is gentoo bug 101639. (Mike Frysinger) * Cross-compile support and detection (Mike Frysinger) -2005-08-12 10:17 Christos Zoulas +2005-08-12 10:17 Christos Zoulas * Add -h flag and dereference symlinks if POSIXLY_CORRECT is set. -2005-07-29 13:57 Christos Zoulas +2005-07-29 13:57 Christos Zoulas * Avoid search and regex buffer overflows (Kelledin) -2005-07-12 11:48 Christos Zoulas +2005-07-12 11:48 Christos Zoulas * Provide stub implementations for {v,}nsprintf() for older OS's that don't have them. * Change mbstate_t autoconf detection macro from AC_MBSTATE_T to AC_TYPE_MBSTATE_T. -2005-06-25 11:48 Christos Zoulas +2005-06-25 11:48 Christos Zoulas * Dynamically allocate the string buffers and make the default read size 256K. @@ -361,43 +492,43 @@ With CRLF, the line length was not computed correctly, and even lines of length MAXLINELEN - 1 were treated as ``very long''. -2004-12-07 14:15 Christos Zoulas +2004-12-07 14:15 Christos Zoulas * bzip2 needs a lot of input buffer space on some files before it can begin uncompressing. This makes file -z fail on some bz2 files. Fix it by giving it a copy of the file descriptor to read as much as it wants if we - have access to it. + have access to it. -2004-11-24 12:39 Christos Zoulas +2004-11-24 12:39 Christos Zoulas * Stack smash fix, and ELF more conservative reading. Jakub Bogusz -2004-11-20 18:50 Christos Zoulas +2004-11-20 18:50 Christos Zoulas * New FreeBSD version parsing code: Jon Noack - * Hackish support for ucs16 strings + * Hackish support for ucs16 strings -2004-11-13 03:07 Christos Zoulas +2004-11-13 03:07 Christos Zoulas * print the file name and line number in syntax errors. -2004 10-12 10:50 Christos Zoulas +2004 10-12 10:50 Christos Zoulas * Fix stack overwriting on 0 length strings: Tim Waugh Ned Ludd -2004-09-27 11:30 Christos Zoulas +2004-09-27 11:30 Christos Zoulas * Remove 3rd and 4th copyright clause; approved by Ian Darwin. * Fix small memory leaks; caught by: Tamas Sarlos -2004-07-24 16:33 Christos Zoulas +2004-07-24 16:33 Christos Zoulas * magic.mime update Danny Milosavljevic @@ -407,19 +538,19 @@ * errors reading elf magic Jakub Bogusz -2004-04-12 10:55 Christos Zoulas +2004-04-12 10:55 Christos Zoulas * make sure that magic formats match magic types during compilation * fix broken sgi magic file -2004-04-06 20:36 Christos Zoulas +2004-04-06 20:36 Christos Zoulas * detect present of mbstate_t Petter Reinholdtsen * magic fixes -2004-03-22 15:25 Christos Zoulas +2004-03-22 15:25 Christos Zoulas * Lots of mime fixes (Joerg Ostertag) @@ -428,7 +559,7 @@ (Edwin Groothuis) * correct cleanup in all cases; don't just close the file. - (Christos Zoulas) + (Christos Zoulas) * add gettext message catalogue support (Michael Piefel) @@ -446,37 +577,37 @@ or name and description note sizes. Reported by (Mikael Magnusson) -2004-03-09 13:55 Christos Zoulas +2004-03-09 13:55 Christos Zoulas * Fix possible memory leak on error and add missing regfree (Dmitry V. Levin) -2003-12-23 12:12 Christos Zoulas +2003-12-23 12:12 Christos Zoulas * fix -k flag (Maciej W. Rozycki) -2003-11-18 14:10 Christos Zoulas +2003-11-18 14:10 Christos Zoulas * Try to give us much info as possible on corrupt elf files. (Willy Tarreau) * Updated python bindings (Brett Funderburg) -2003-11-11 15:03 Christos Zoulas +2003-11-11 15:03 Christos Zoulas * Include file.h first, because it includes config.h breaks largefile test macros otherwise. (Paul Eggert via Lars Hecking ) -2003-10-14 21:39 Christos Zoulas +2003-10-14 21:39 Christos Zoulas * Python bindings (Brett Funderburg) * Don't lookup past the end of the buffer (Chad Hanson) * Add MAGIC_ERROR and api on magic_errno() -2003-10-08 12:40 Christos Zoulas +2003-10-08 12:40 Christos Zoulas * handle error conditions from compile as fatal (Antti Kantee) @@ -486,32 +617,32 @@ * describe magic file handling (Bryan Henderson) -2003-09-12 15:09 Christos Zoulas +2003-09-12 15:09 Christos Zoulas * update magic files. * remove largefile support from file.h; it breaks things on most OS's -2003-08-10 10:25 Christos Zoulas +2003-08-10 10:25 Christos Zoulas * fix unmapping'ing of mmaped files. -2003-07-10 12:03 Christos Zoulas +2003-07-10 12:03 Christos Zoulas * don't exit with -1 on error; always exit 1 (Marty Leisner) * restore utimes code. -2003-06-10 17:03 Christos Zoulas +2003-06-10 17:03 Christos Zoulas * make sure we don't access uninitialized memory. * pass lint * #ifdef __cplusplus in magic.h -2003-05-25 19:23 Christos Zoulas +2003-05-25 19:23 Christos Zoulas * rename cvs magic file to revision to deal with case insensitive filesystems. -2003-05-23 17:03 Christos Zoulas +2003-05-23 17:03 Christos Zoulas * documentation fixes from Michael Piefel * magic fixes (various) @@ -521,30 +652,30 @@ close files Maciej W. Rozycki +2003-04-21 20:12 Christos Zoulas * fix zsh magic -2003-04-04 16:59 Christos Zoulas +2003-04-04 16:59 Christos Zoulas * fix operand sort order in string. -2003-04-02 17:30 Christos Zoulas +2003-04-02 17:30 Christos Zoulas * cleanup namespace in magic.h -2003-04-02 13:50 Christos Zoulas +2003-04-02 13:50 Christos Zoulas * Magic additions (Alex Ott) * Fix bug that broke VPATH compilation (Peter Breitenlohner) -2003-03-28 16:03 Christos Zoulas +2003-03-28 16:03 Christos Zoulas * remove packed attribute from magic struct. * make the magic struct properly aligned. * bump version number of compiled files to 2. -2003-03-27 13:10 Christos Zoulas +2003-03-27 13:10 Christos Zoulas * separate tar detection and run it before softmagic. * fix reversed symlink test. @@ -552,7 +683,7 @@ * make separator a string instead of a char. * update manual page and sort options. -2003-03-26 11:00 Christos Zoulas +2003-03-26 11:00 Christos Zoulas * Pass lint * make NULL in magic_file mean stdin Copied: head/contrib/file/FREEBSD-upgrade (from r186690, vendor/file/dist/FREEBSD-upgrade) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/file/FREEBSD-upgrade Fri Jan 2 03:10:55 2009 (r186691, copy of r186690, vendor/file/dist/FREEBSD-upgrade) @@ -0,0 +1,30 @@ +# ex:ts=8 +$FreeBSD: vendor/file/dist/contrib/file/FREEBSD-upgrade 169962 2007-05-24 21:59:38Z obrien $ + +Christos Zoulas `file' + originals can be found at: ftp://ftp.astron.com/pub/file/ + +Imported by: + + mv magic/* . + rmdir magic + mv -i src/* . + rm -rf src + mv -i doc/* . + rm -rf doc + rm -rf python + rm -f lt* + rm -f missing depcomp + rm -f config.{guess,sub} + + cvs import -m "Virgin import of Christos Zoulas's FILE 4.21." \ + src/contrib/file ZOULAS file_4_21 + + +Never make local changes to ZOULAS `file'. Christos is very willing to +work with us to meet our FreeBSD needs. Thus submit any desired changes +to him and wait for the next release and vendor +import to get them. + +obrien@NUXI.com +15-Sept-2002 Copied: head/contrib/file/INSTALL (from r186690, vendor/file/dist/INSTALL) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/file/INSTALL Fri Jan 2 03:10:55 2009 (r186691, copy of r186690, vendor/file/dist/INSTALL) @@ -0,0 +1,234 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006 Free Software Foundation, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + +Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + +You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + +Installation Names +================== + +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + Modified: head/contrib/file/MAINT ============================================================================== --- head/contrib/file/MAINT Fri Jan 2 02:57:16 2009 (r186690) +++ head/contrib/file/MAINT Fri Jan 2 03:10:55 2009 (r186691) @@ -1,4 +1,4 @@ -$File: MAINT,v 1.9 2007/01/19 21:15:27 christos Exp $ +$File: MAINT,v 1.10 2008/02/05 19:08:11 christos Exp $ Maintenance notes: @@ -41,5 +41,4 @@ ascmagic.c file_ascmagic() readelf.c file_tryelf() "unknown" -Christos Zoulas -christos@astron.com +Christos Zoulas (see README for email address) Modified: head/contrib/file/Magdir/adventure ============================================================================== --- head/contrib/file/Magdir/adventure Fri Jan 2 02:57:16 2009 (r186690) +++ head/contrib/file/Magdir/adventure Fri Jan 2 03:10:55 2009 (r186691) @@ -73,3 +73,13 @@ >10 belong 0x0A0D1A00 >>14 string >\0 %s saved game data +# Danny Milosavljevic +# this are adrift (adventure game standard) game files, extension .taf +# depending on version magic continues with 0x93453E6139FA (V 4.0) +# 0x9445376139FA (V 3.90) +# 0x9445366139FA (V 3.80) +# this is from source (http://www.adrift.org.uk/) and I have some taf +# files, and checked them. +#0 belong 0x3C423FC9 +#>4 belong 0x6A87C2CF Adrift game file +#!:mime application/x-adrift Modified: head/contrib/file/Magdir/animation ============================================================================== --- head/contrib/file/Magdir/animation Fri Jan 2 02:57:16 2009 (r186690) +++ head/contrib/file/Magdir/animation Fri Jan 2 03:10:55 2009 (r186691) @@ -8,57 +8,78 @@ # SGI and Apple formats 0 string MOVI Silicon Graphics movie file +!:mime video/x-sgi-movie 4 string moov Apple QuickTime +!:mime video/quicktime >12 string mvhd \b movie (fast start) >12 string mdra \b URL >12 string cmov \b movie (fast start, compressed header) >12 string rmra \b multiple URLs 4 string mdat Apple QuickTime movie (unoptimized) -4 string wide Apple QuickTime movie (unoptimized) -4 string skip Apple QuickTime movie (modified) -4 string free Apple QuickTime movie (modified) +!:mime video/quicktime +#4 string wide Apple QuickTime movie (unoptimized) +#!:mime video/quicktime +#4 string skip Apple QuickTime movie (modified) +#!:mime video/quicktime +#4 string free Apple QuickTime movie (modified) +#!:mime video/quicktime 4 string idsc Apple QuickTime image (fast start) -4 string idat Apple QuickTime image (unoptimized) +!:mime image/x-quicktime +#4 string idat Apple QuickTime image (unoptimized) +#!:mime image/x-quicktime 4 string pckg Apple QuickTime compressed archive +!:mime application/x-quicktime-player 4 string/B jP JPEG 2000 image +!:mime image/jp2 4 string ftyp ISO Media >8 string isom \b, MPEG v4 system, version 1 +!:mime video/mp4 >8 string iso2 \b, MPEG v4 system, part 12 revision >8 string mp41 \b, MPEG v4 system, version 1 +!:mime video/mp4 >8 string mp42 \b, MPEG v4 system, version 2 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From obrien at FreeBSD.org Fri Jan 2 03:31:47 2009 From: obrien at FreeBSD.org (David E. O'Brien) Date: Fri Jan 2 03:31:54 2009 Subject: svn commit: r186692 - head/contrib/file Message-ID: <200901020331.n023VjsS086467@svn.freebsd.org> Author: obrien Date: Fri Jan 2 03:31:45 2009 New Revision: 186692 URL: http://svn.freebsd.org/changeset/base/186692 Log: Add an additional COMPILE_ONLY check. Modified: head/contrib/file/apprentice.c Modified: head/contrib/file/apprentice.c ============================================================================== --- head/contrib/file/apprentice.c Fri Jan 2 03:10:55 2009 (r186691) +++ head/contrib/file/apprentice.c Fri Jan 2 03:31:45 2009 (r186692) @@ -588,9 +588,11 @@ set_test_type(struct magic *mstart, stru break; case FILE_REGEX: case FILE_SEARCH: +#ifndef COMPILE_ONLY /* binary test if pattern is not text */ if (file_looks_utf8(m->value.us, m->vallen, NULL, NULL) <= 0) mstart->flag |= BINTEST; +#endif break; case FILE_DEFAULT: /* can't deduce anything; we shouldn't see this at the From obrien at FreeBSD.org Fri Jan 2 03:38:22 2009 From: obrien at FreeBSD.org (David E. O'Brien) Date: Fri Jan 2 03:38:33 2009 Subject: svn commit: r186693 - head/lib/libmagic Message-ID: <200901020338.n023cLGZ086622@svn.freebsd.org> Author: obrien Date: Fri Jan 2 03:38:21 2009 New Revision: 186693 URL: http://svn.freebsd.org/changeset/base/186693 Log: Don't make the MIME magic any longer. Modified: head/lib/libmagic/Makefile Modified: head/lib/libmagic/Makefile ============================================================================== --- head/lib/libmagic/Makefile Fri Jan 2 03:31:45 2009 (r186692) +++ head/lib/libmagic/Makefile Fri Jan 2 03:38:21 2009 (r186693) @@ -19,9 +19,9 @@ MAGICPATH?= /usr/share/misc CFLAGS+= -DMAGIC='"${MAGICPATH}/magic"' -DHAVE_CONFIG_H CFLAGS+= -I${.CURDIR} -I${CONTRDIR} -CLEANFILES+= magic magic.mgc magic.mime.mgc +CLEANFILES+= magic magic.mgc -FILES= magic magic.mgc ${CONTRDIR}/magic.mime magic.mime.mgc +FILES= magic magic.mgc FILESDIR= ${MAGICPATH} MAGFILES= ${CONTRDIR}/Header\ @@ -34,9 +34,6 @@ magic: ${MAGFILES} magic.mgc: mkmagic magic ./mkmagic magic -magic.mime.mgc: mkmagic magic.mime - ./mkmagic ${CONTRDIR}/magic.mime - CLEANFILES+= mkmagic build-tools: mkmagic mkmagic: apprentice.c funcs.c magic.c print.c From sobomax at FreeBSD.org Fri Jan 2 06:17:22 2009 From: sobomax at FreeBSD.org (Maxim Sobolev) Date: Fri Jan 2 06:17:58 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <200901011055.n01AtQaN052763@svn.freebsd.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> Message-ID: <495DB15B.8040908@FreeBSD.org> Doug Barton wrote: > Author: dougb > Date: Thu Jan 1 10:55:26 2009 > New Revision: 186677 > URL: http://svn.freebsd.org/changeset/base/186677 > > Log: > Revert 184781, 184804, and 184832 (automatic installation of files > that differ only by VCS Id) for the following reasons: > 1. It was added without my consent, review, or even a heads up Huh? I sent you request for review on 24 October 2008 and did received any reply, so that I went ahead and checked it in due to maintainer timeout. -Maxim -------- Original Message -------- From: - Fri Oct 24 17:15:25 2008 X-Mozilla-Status: 0001 X-Mozilla-Status2: 00800000 X-Mozilla-Keys: Message-ID: <49026515.7080403@sippysoft.com> Date: Fri, 24 Oct 2008 17:15:17 -0700 From: Maxim Sobolev Organization: Sippy Software, Inc. User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: Doug Barton Subject: mergemaster(8) change for approval Content-Type: text/plain; charset=KOI8-U; format=flowed Content-Transfer-Encoding: 7bit Hi Doug, How are you? Can you please review and hopefully approve the following patch, which makes mergemaster to skip any files that only differ in revision number. This is extremely helpful in tracking stable releases, since there are lot of cases when nothing changes but revision number. The patch is here: http://sobomax.sippysoft.com/~sobomax/mergemaster.diff Thanks in advance! Regards, -- Maksym Sobolyev Sippy Software, Inc. Internet Telephony (VoIP) Experts T/F: +1-646-651-1110 Web: http://www.sippysoft.com From sobomax at FreeBSD.org Fri Jan 2 06:45:12 2009 From: sobomax at FreeBSD.org (Maxim Sobolev) Date: Fri Jan 2 06:45:19 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <200901011055.n01AtQaN052763@svn.freebsd.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> Message-ID: <495DB7DF.5020603@FreeBSD.org> Doug Barton wrote: > Given that this is a situation that comes up very infrequently (usually > only for a major version upgrade) and can usually be handled simply > enough on a one-off basis, I will once again point out that I think > this is a Bad Idea. I would be willing to consider a better implementation > as an option that is off by default. You are very wrong on this. This situation happens very *frequently* even for updates between minor releases (such as 6.3 to 6.4 and so on). As somebody doing lot of source upgrades frequently I can tell you this for sure. -Maxim From dougb at FreeBSD.org Fri Jan 2 06:52:41 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Fri Jan 2 06:52:47 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <495DB15B.8040908@FreeBSD.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> Message-ID: <495DB9B6.4030801@FreeBSD.org> Maxim Sobolev wrote: > Doug Barton wrote: >> Author: dougb >> Date: Thu Jan 1 10:55:26 2009 >> New Revision: 186677 >> URL: http://svn.freebsd.org/changeset/base/186677 >> >> Log: >> Revert 184781, 184804, and 184832 (automatic installation of files >> that differ only by VCS Id) for the following reasons: >> 1. It was added without my consent, review, or even a heads up > > Huh? I sent you request for review on 24 October 2008 If that's the case then I apologize, I've been extremely overloaded lately and it's possible that this fell through the cracks. My other objections remain however, including the one about the -U option being a better solution that requires no new code. Doug -- This .signature sanitized for your protection From kensmith at cse.Buffalo.EDU Fri Jan 2 06:58:46 2009 From: kensmith at cse.Buffalo.EDU (Ken Smith) Date: Fri Jan 2 06:58:52 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <495DB7DF.5020603@FreeBSD.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB7DF.5020603@FreeBSD.org> Message-ID: <1230879509.12517.7.camel@neo.cse.buffalo.edu> On Thu, 2009-01-01 at 22:44 -0800, Maxim Sobolev wrote: > Doug Barton wrote: > > Given that this is a situation that comes up very infrequently (usually > > only for a major version upgrade) and can usually be handled simply > > enough on a one-off basis, I will once again point out that I think > > this is a Bad Idea. I would be willing to consider a better implementation > > as an option that is off by default. > > You are very wrong on this. This situation happens very *frequently* > even for updates between minor releases (such as 6.3 to 6.4 and so on). > As somebody doing lot of source upgrades frequently I can tell you this > for sure. > > -Maxim Just FWIW... What triggers it is creating a new branch tag. At the point we create a new releng/ in svn I need to have created the corresponding branch tag in the CVS repository first (e.g. RELENG_7_1 for releng/7.1). But then the svn2cvs exporter proceeds to check every file from releng/7.1 in to RELENG_7_1. So, you notice it the first time you try to upgrade into a new branch. Once you're in the branch updates get handled as you'd expect, just updating any of the files that have changed since the branch got created. And it doesn't happen with for example the tags that get created for the release (e.g. RELENG_7_1_0_RELEASE) which are "normal tags" as opposed to "branch tags". The exporter ignores the release/ tree in svn. -- Ken Smith - From there to here, from here to | kensmith@cse.buffalo.edu there, funny things are everywhere. | - Theodore Geisel | -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: This is a digitally signed message part Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20090102/a40998e4/attachment.pgp From dougb at FreeBSD.org Fri Jan 2 07:25:31 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Fri Jan 2 07:25:42 2009 Subject: svn commit: r186695 - head/usr.sbin/mergemaster Message-ID: <200901020725.n027PU8U090719@svn.freebsd.org> Author: dougb Date: Fri Jan 2 07:25:30 2009 New Revision: 186695 URL: http://svn.freebsd.org/changeset/base/186695 Log: Simplify the code a little by moving the working part of ARCHSTRING into the new MM_MAKE variable. We only need to check for the presence of the target of $PAGER if that variable is actually set. [1] Pointed out by: Steve Kargl [1] Modified: head/usr.sbin/mergemaster/mergemaster.sh Modified: head/usr.sbin/mergemaster/mergemaster.sh ============================================================================== --- head/usr.sbin/mergemaster/mergemaster.sh Fri Jan 2 03:39:14 2009 (r186694) +++ head/usr.sbin/mergemaster/mergemaster.sh Fri Jan 2 07:25:30 2009 (r186695) @@ -371,7 +371,8 @@ echo '' # case "${DONT_CHECK_PAGER}" in '') - while ! type "${PAGER%% *}" >/dev/null && [ -n "${PAGER}" ]; do +check_pager () { + while ! type "${PAGER%% *}" >/dev/null; do echo " *** Your PAGER environment variable specifies '${PAGER}', but" echo " due to the limited PATH that I use for security reasons," echo " I cannot execute it. So, what would you like to do?" @@ -413,6 +414,10 @@ case "${DONT_CHECK_PAGER}" in esac echo '' done +} + if [ -n "${PAGER}" ]; then + check_pager + fi ;; esac @@ -444,7 +449,7 @@ if [ ! -f ${SOURCEDIR}/Makefile.inc1 -a fi # Setup make to use system files from SOURCEDIR -MM_MAKE="make -m ${SOURCEDIR}/share/mk" +MM_MAKE="make ${ARCHSTRING} -m ${SOURCEDIR}/share/mk" # Check DESTDIR against the mergemaster mtree database to see what # files the user changed from the reference files. @@ -584,14 +589,13 @@ case "${RERUN}" in case "${DESTDIR}" in '') ;; *) - ${MM_MAKE} DESTDIR=${DESTDIR} ${ARCHSTRING} distrib-dirs + ${MM_MAKE} DESTDIR=${DESTDIR} distrib-dirs ;; esac - ${MM_MAKE} DESTDIR=${TEMPROOT} ${ARCHSTRING} distrib-dirs && - MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} ${ARCHSTRING} obj SUBDIR_OVERRIDE=etc && - MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} ${ARCHSTRING} all SUBDIR_OVERRIDE=etc && - MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} ${ARCHSTRING} \ - DESTDIR=${TEMPROOT} distribution;} || + ${MM_MAKE} DESTDIR=${TEMPROOT} distrib-dirs && + MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} obj SUBDIR_OVERRIDE=etc && + MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} all SUBDIR_OVERRIDE=etc && + MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} DESTDIR=${TEMPROOT} distribution;} || { echo ''; echo " *** FATAL ERROR: Cannot 'cd' to ${SOURCEDIR} and install files to"; echo " the temproot environment"; From dougb at FreeBSD.org Fri Jan 2 07:29:22 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Fri Jan 2 07:29:33 2009 Subject: svn commit: r186678 - head/usr.sbin/mergemaster In-Reply-To: <495D63B6.3020106@freebsd.org> References: <200901011141.n01BfDqj054333@svn.freebsd.org> <495D5FC3.6000109@freebsd.org> <495D62C0.7090306@FreeBSD.org> <495D63B6.3020106@freebsd.org> Message-ID: <495DC24E.90606@FreeBSD.org> Sam Leffler wrote: > Doug Barton wrote: >> Sam Leffler wrote: >> >>> Doug Barton wrote: >>> >>>> 1. Switch to using the top level (e.g., /usr/src) Makefile, and >>>> specify >>>> that we should use the *.mk files from the source directory >>>> instead of >>>> the installed versions. [1][2] This allows easier cross builds and >>>> simplifies (or in some cases permits) upgrading. >>>> >>> I believe you changed the meaning of the -m flag so it now requires a >>> pathname to the src tree and not src/etc. This breaks existing >>> usage. In the PR I filed there was a follow-on patch from Bjoern that >>> amended >>> my suggestion to instead add a -M option to set the source tree. I >>> thought that was an improvement over my hack. In lieu of that you might >>> want to examine the pathname supplied to -m to try to provide backwards >>> compatibility by stripping any /etc suffix on the path. >>> >> >> The version in bin/96528 from ru had a better fix for this issue, but >> thanks for thinking of it. :) >> >> > That's nice to know. Unfortunately what's in HEAD doesn't seem to work > for my cross-install setup. Did you test using the recipe in my PR? I > am debugging; could be a local problem. I finally got this to work, but the problem wasn't with mergemaster. Turns out that bsd.obj.mk is not taking ${TARGET} into account in the same way that src/Makefile.inc1 does. I'm sending the following patch to -hackers for discussion: Index: bsd.obj.mk =================================================================== --- bsd.obj.mk (revision 186676) +++ bsd.obj.mk (working copy) @@ -43,7 +43,7 @@ .include .if defined(MAKEOBJDIRPREFIX) -CANONICALOBJDIR:=${MAKEOBJDIRPREFIX}${.CURDIR} +CANONICALOBJDIR:=${OBJTREE}${.CURDIR} .else CANONICALOBJDIR:=/usr/obj${.CURDIR} .endif Meanwhile you can work around the problem with sendmail (which is the only thing mergemaster installs that cares) by setting WITHOUT_SENDMAIL in /etc/src.conf. hth, Doug -- This .signature sanitized for your protection From dougb at FreeBSD.org Fri Jan 2 07:32:19 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Fri Jan 2 07:32:32 2009 Subject: svn commit: r186677 - head/usr.sbin/mergemaster In-Reply-To: <20090101215930.P70386@ury.york.ac.uk> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <20090101215930.P70386@ury.york.ac.uk> Message-ID: <495DC301.2090700@FreeBSD.org> Gavin Atkinson wrote: > On Thu, 1 Jan 2009, Doug Barton wrote: > >> Given that this is a situation that comes up very infrequently (usually >> only for a major version upgrade) > > This is no longer true: a side effect of having SVN exported to CVS is > that every time a branch is forked, the CVS ID is bumped, and as a > result is different between 7.0 and 7.1 even if the file itself isn't > changed. Thanks for that explanation. > As long as this is handled with -U, however, I'm not sure I see the need > for special handling. I'd love to see the -U otion as default, and a > pre-populated mtree database for it shipped with the releases, however. > This would go a long way towards making upgrading more user-friendly. I would not be supportive of -U as the default for reasons I've stated previously on numerous occasions. The idea of pre-installing an mtree database is interesting, but the problem is that it gets awkward when you compare virgin installs to upgrades (which don't touch /etc/ directly). If someone wants to work up patches to the release process I'd be happy to review them, but I have no idea what re@ would say to it. hth, Doug -- This .signature sanitized for your protection From sobomax at FreeBSD.org Fri Jan 2 07:44:05 2009 From: sobomax at FreeBSD.org (Maxim Sobolev) Date: Fri Jan 2 07:44:16 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <495DB9B6.4030801@FreeBSD.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> Message-ID: <495DC5AF.3050908@FreeBSD.org> Doug Barton wrote: > Maxim Sobolev wrote: >> Doug Barton wrote: >>> Author: dougb >>> Date: Thu Jan 1 10:55:26 2009 >>> New Revision: 186677 >>> URL: http://svn.freebsd.org/changeset/base/186677 >>> >>> Log: >>> Revert 184781, 184804, and 184832 (automatic installation of files >>> that differ only by VCS Id) for the following reasons: >>> 1. It was added without my consent, review, or even a heads up >> Huh? I sent you request for review on 24 October 2008 > > If that's the case then I apologize, I've been extremely overloaded > lately and it's possible that this fell through the cracks. > > My other objections remain however, including the one about the -U > option being a better solution that requires no new code. 1. -U option requires system to have the copy of the database from the previous upgrade. It gives no help on the system that was installed from CD. 2. If the functionality has some issues leading to false positives I can investigate and improve/fix. 3. I don't see anything so technically bad about that feature (put aside implementation details). I would like to hear some of your principal objections. -Maxim From imp at FreeBSD.org Fri Jan 2 08:21:22 2009 From: imp at FreeBSD.org (Warner Losh) Date: Fri Jan 2 08:21:28 2009 Subject: svn commit: r186696 - head/usr.sbin/fwcontrol Message-ID: <200901020821.n028LLPa091685@svn.freebsd.org> Author: imp Date: Fri Jan 2 08:21:21 2009 New Revision: 186696 URL: http://svn.freebsd.org/changeset/base/186696 Log: Add fd = -1 after close when we detect the format so that subsequent open_dev will reopen the device. Modified: head/usr.sbin/fwcontrol/fwcontrol.c Modified: head/usr.sbin/fwcontrol/fwcontrol.c ============================================================================== --- head/usr.sbin/fwcontrol/fwcontrol.c Fri Jan 2 07:25:30 2009 (r186695) +++ head/usr.sbin/fwcontrol/fwcontrol.c Fri Jan 2 08:21:21 2009 (r186696) @@ -1065,6 +1065,7 @@ main(int argc, char **argv) if (recvfn == NULL) { /* guess... */ recvfn = detect_recv_fn(fd, TAG | CHANNEL); close(fd); + fd = -1; } snprintf(devbase, sizeof(devbase), "%s%d.0", device_string, current_board); if (open_dev(&fd, devbase) < 0) From brooks at FreeBSD.org Fri Jan 2 17:25:20 2009 From: brooks at FreeBSD.org (Brooks Davis) Date: Fri Jan 2 17:25:26 2009 Subject: svn commit: r186429 - head/sbin/mount_msdosfs In-Reply-To: <200812231335.mBNDZRBZ003693@svn.freebsd.org> References: <200812231335.mBNDZRBZ003693@svn.freebsd.org> Message-ID: <20090102165652.GA8152@lor.one-eyed-alien.net> On Tue, Dec 23, 2008 at 01:35:27PM +0000, Tom Rhodes wrote: > Author: trhodes > Date: Tue Dec 23 13:35:26 2008 > New Revision: 186429 > URL: http://svn.freebsd.org/changeset/base/186429 > > Log: > Document the "-o large" option. > > PR: 129792 > > Modified: > head/sbin/mount_msdosfs/mount_msdosfs.8 > > Modified: head/sbin/mount_msdosfs/mount_msdosfs.8 > ============================================================================== > --- head/sbin/mount_msdosfs/mount_msdosfs.8 Tue Dec 23 13:09:17 2008 (r186428) > +++ head/sbin/mount_msdosfs/mount_msdosfs.8 Tue Dec 23 13:35:26 2008 (r186429) > @@ -30,7 +30,7 @@ > .\" > .\" $FreeBSD$ > .\" > -.Dd April 7, 1994 > +.Dd December 23, 2008 > .Dt MOUNT_MSDOSFS 8 > .Os > .Sh NAME > @@ -73,6 +73,11 @@ as described in > .Xr mount 8 . > The following MSDOS file system-specific options are available: > .Bl -tag -width indent > +.It Cm large > +Support file systems larger than 128 gigabytes at the expense > +of 32 bytes of kernel memory. The second half of this sentence doesn't make sense. If it's 32-bytes per file system, that's not worth mentioning since the mount table entry is going to be a bigger than that. Presumably there's a missing qualifier like "per file opened" or something. > +This memory will not be reclaimed until the file system has > +been unmounted. > .It Cm longnames > Force Windows 95 long filenames to be visible. > .It Cm shortnames -- Brooks -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20090102/a535eff4/attachment.pgp From sam at freebsd.org Fri Jan 2 17:38:37 2009 From: sam at freebsd.org (Sam Leffler) Date: Fri Jan 2 17:38:49 2009 Subject: svn commit: r186678 - head/usr.sbin/mergemaster In-Reply-To: <495DC24E.90606@FreeBSD.org> References: <200901011141.n01BfDqj054333@svn.freebsd.org> <495D5FC3.6000109@freebsd.org> <495D62C0.7090306@FreeBSD.org> <495D63B6.3020106@freebsd.org> <495DC24E.90606@FreeBSD.org> Message-ID: <495E511B.7000006@freebsd.org> Doug Barton wrote: > Sam Leffler wrote: > >> Doug Barton wrote: >> >>> Sam Leffler wrote: >>> >>> >>>> Doug Barton wrote: >>>> >>>> >>>>> 1. Switch to using the top level (e.g., /usr/src) Makefile, and >>>>> specify >>>>> that we should use the *.mk files from the source directory >>>>> instead of >>>>> the installed versions. [1][2] This allows easier cross builds and >>>>> simplifies (or in some cases permits) upgrading. >>>>> >>>>> >>>> I believe you changed the meaning of the -m flag so it now requires a >>>> pathname to the src tree and not src/etc. This breaks existing >>>> usage. In the PR I filed there was a follow-on patch from Bjoern that >>>> amended >>>> my suggestion to instead add a -M option to set the source tree. I >>>> thought that was an improvement over my hack. In lieu of that you might >>>> want to examine the pathname supplied to -m to try to provide backwards >>>> compatibility by stripping any /etc suffix on the path. >>>> >>>> >>> The version in bin/96528 from ru had a better fix for this issue, but >>> thanks for thinking of it. :) >>> >>> >>> >> That's nice to know. Unfortunately what's in HEAD doesn't seem to work >> for my cross-install setup. Did you test using the recipe in my PR? I >> am debugging; could be a local problem. >> > > I finally got this to work, but the problem wasn't with mergemaster. > Turns out that bsd.obj.mk is not taking ${TARGET} into account in the > same way that src/Makefile.inc1 does. I'm sending the following patch > to -hackers for discussion: > > Index: bsd.obj.mk > =================================================================== > --- bsd.obj.mk (revision 186676) > +++ bsd.obj.mk (working copy) > @@ -43,7 +43,7 @@ > .include > > .if defined(MAKEOBJDIRPREFIX) > -CANONICALOBJDIR:=${MAKEOBJDIRPREFIX}${.CURDIR} > +CANONICALOBJDIR:=${OBJTREE}${.CURDIR} > .else > CANONICALOBJDIR:=/usr/obj${.CURDIR} > .endif > > Meanwhile you can work around the problem with sendmail (which is the > only thing mergemaster installs that cares) by setting > WITHOUT_SENDMAIL in /etc/src.conf. > > Presumably this is because I was testing w/o your changes to run builds from /usr/src (instead of /usr/src/etc)? The patch I provided in the PR definitely worked. Unfortunately the above change does not help me; I still fail in sendmail as before. I don't see where OBJTREE is defined in any .mk file or by make (searching the man page). Sam From dougb at FreeBSD.org Fri Jan 2 22:01:57 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Fri Jan 2 22:02:04 2009 Subject: svn commit: r186678 - head/usr.sbin/mergemaster In-Reply-To: <495E511B.7000006@freebsd.org> References: <200901011141.n01BfDqj054333@svn.freebsd.org> <495D5FC3.6000109@freebsd.org> <495D62C0.7090306@FreeBSD.org> <495D63B6.3020106@freebsd.org> <495DC24E.90606@FreeBSD.org> <495E511B.7000006@freebsd.org> Message-ID: <495E8ED1.2010108@FreeBSD.org> Sam Leffler wrote: > Doug Barton wrote: >> Sam Leffler wrote: >> >>> Doug Barton wrote: >>> >>>> Sam Leffler wrote: >>>> >>>> >>>>> Doug Barton wrote: >>>>> >>>>>> 1. Switch to using the top level (e.g., /usr/src) Makefile, and >>>>>> specify >>>>>> that we should use the *.mk files from the source directory >>>>>> instead of >>>>>> the installed versions. [1][2] This allows easier cross builds and >>>>>> simplifies (or in some cases permits) upgrading. >>>>>> >>>>> I believe you changed the meaning of the -m flag so it now requires a >>>>> pathname to the src tree and not src/etc. This breaks existing >>>>> usage. In the PR I filed there was a follow-on patch from Bjoern that >>>>> amended >>>>> my suggestion to instead add a -M option to set the source tree. I >>>>> thought that was an improvement over my hack. In lieu of that you >>>>> might >>>>> want to examine the pathname supplied to -m to try to provide >>>>> backwards >>>>> compatibility by stripping any /etc suffix on the path. >>>>> >>>> The version in bin/96528 from ru had a better fix for this issue, but >>>> thanks for thinking of it. :) >>>> >>>> >>> That's nice to know. Unfortunately what's in HEAD doesn't seem to work >>> for my cross-install setup. Did you test using the recipe in my PR? I >>> am debugging; could be a local problem. >>> >> >> I finally got this to work, but the problem wasn't with mergemaster. >> Turns out that bsd.obj.mk is not taking ${TARGET} into account in the >> same way that src/Makefile.inc1 does. I'm sending the following patch >> to -hackers for discussion: >> >> Index: bsd.obj.mk >> =================================================================== >> --- bsd.obj.mk (revision 186676) >> +++ bsd.obj.mk (working copy) >> @@ -43,7 +43,7 @@ >> .include >> >> .if defined(MAKEOBJDIRPREFIX) >> -CANONICALOBJDIR:=${MAKEOBJDIRPREFIX}${.CURDIR} >> +CANONICALOBJDIR:=${OBJTREE}${.CURDIR} >> .else >> CANONICALOBJDIR:=/usr/obj${.CURDIR} >> .endif >> >> Meanwhile you can work around the problem with sendmail (which is the >> only thing mergemaster installs that cares) by setting >> WITHOUT_SENDMAIL in /etc/src.conf. >> >> > Presumably this is because I was testing w/o your changes to run builds > from /usr/src (instead of /usr/src/etc)? At the point where it's actually building and installing things to the temproot there is a SUBDIR_OVERRIDE which restricts it to src/etc so that shouldn't make any difference. > Unfortunately the above change does not help me; I still fail in > sendmail as before. I don't see where OBJTREE is defined in any .mk > file or by make (searching the man page). It's defined in src/Makefile.inc1. Try running the most recent version of mergemaster that's in the tree, plus the patch above to src/share/mk/bsd.obj.mk and it should work. It worked for me using a clean DESTDIR, -i and -Aarm. I didn't specify a different src directory as you did in the PR since I was using my regular stock src tree (plus the bsd.obj.mk patch above). hth, Doug -- This .signature sanitized for your protection From dougb at FreeBSD.org Fri Jan 2 22:15:23 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Fri Jan 2 22:15:30 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <495DC5AF.3050908@FreeBSD.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> Message-ID: <495E91F8.3010706@FreeBSD.org> Maxim Sobolev wrote: > Doug Barton wrote: >> My other objections remain however, including the one about the -U >> option being a better solution that requires no new code. > > 1. -U option requires system to have the copy of the database from the > previous upgrade. It gives no help on the system that was installed from > CD. The man page clearly documents adding a DIFF_OPTION to ignore the CVS Id tags which the user can use the first time through. Thus they can do the update with new sources and build a database for the -U option next time through (which happens automatically in the background every time mergemaster is run). > 2. If the functionality has some issues leading to false positives I can > investigate and improve/fix. This is a given. > 3. I don't see anything so technically bad about that feature (put aside > implementation details). I would like to hear some of your principal > objections. As in any software project, extra code that isn't needed is a Bad Thing. It has maintenance costs down the road, and can lead to problems if one of the expectations its built on changes. A key part of the implementation of mergemaster is that it is (now, relatively) simple, and knows as little as possible about the files it manipulates. As I said in my first post, if there is overwhelming demand for this down the road that is not met by the existing solutions I'll consider adding a better implementation as an option, off by default. Doug -- This .signature sanitized for your protection From dougb at FreeBSD.org Fri Jan 2 22:24:14 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Fri Jan 2 22:24:26 2009 Subject: svn commit: r186704 - head/usr.sbin/mergemaster Message-ID: <200901022224.n02MOCGF009011@svn.freebsd.org> Author: dougb Date: Fri Jan 2 22:24:12 2009 New Revision: 186704 URL: http://svn.freebsd.org/changeset/base/186704 Log: Add a note to the -m option indicating that you should now specify src/ instead of src/etc. Modified: head/usr.sbin/mergemaster/mergemaster.8 Modified: head/usr.sbin/mergemaster/mergemaster.8 ============================================================================== --- head/usr.sbin/mergemaster/mergemaster.8 Fri Jan 2 19:55:17 2009 (r186703) +++ head/usr.sbin/mergemaster/mergemaster.8 Fri Jan 2 22:24:12 2009 (r186704) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 1, 2009 +.Dd January 2, 2009 .Dt MERGEMASTER 8 .Os .Sh NAME @@ -218,6 +218,14 @@ Specify the path to the directory where .Xr make 1 . (In other words, where your sources are, but -s was already taken.) +In previous versions of +.Nm +you needed to specify the path all the way to +.Pa src/etc . +Starting with r186678 you only need to specify the path to +.Pa src . +.Nm +will convert the path for you if you use the old method. .It Fl t Ar /path/to/temp/root Create the temporary root environment in .Pa /path/to/temp/root From qingli at FreeBSD.org Fri Jan 2 22:51:31 2009 From: qingli at FreeBSD.org (Qing Li) Date: Fri Jan 2 22:51:43 2009 Subject: svn commit: r186705 - head/sys/net Message-ID: <200901022251.n02MpVav009662@svn.freebsd.org> Author: qingli Date: Fri Jan 2 22:51:30 2009 New Revision: 186705 URL: http://svn.freebsd.org/changeset/base/186705 Log: The log message should terminate with a newline instead of a tab character. Modified: head/sys/net/route.c Modified: head/sys/net/route.c ============================================================================== --- head/sys/net/route.c Fri Jan 2 22:24:12 2009 (r186704) +++ head/sys/net/route.c Fri Jan 2 22:51:30 2009 (r186705) @@ -350,7 +350,7 @@ rtfree(struct rtentry *rt) */ RT_REMREF(rt); if (rt->rt_refcnt > 0) { - log(LOG_DEBUG, "%s: %p has %d refs\t", __func__, rt, rt->rt_refcnt); + log(LOG_DEBUG, "%s: %p has %d refs\n", __func__, rt, rt->rt_refcnt); goto done; } From wollman at bimajority.org Fri Jan 2 22:52:08 2009 From: wollman at bimajority.org (Garrett Wollman) Date: Fri Jan 2 22:52:21 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <495E91F8.3010706@FreeBSD.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> <495E91F8.3010706@FreeBSD.org> Message-ID: <18782.37537.775290.682466@hergotha.csail.mit.edu> < said: > As I said in my first post, if there is overwhelming demand for this > down the road that is not met by the existing solutions I'll consider > adding a better implementation as an option, off by default. It would be much better if the options that *nearly every user will want to use* are set correctly by default. I have to look at the man page every time I update a system to remind myself what is that magic option that makes mergemaster do the right thing with files I haven't changed. -GAWollman From sam at freebsd.org Fri Jan 2 22:53:56 2009 From: sam at freebsd.org (Sam Leffler) Date: Fri Jan 2 22:54:01 2009 Subject: svn commit: r186678 - head/usr.sbin/mergemaster In-Reply-To: <495E8ED1.2010108@FreeBSD.org> References: <200901011141.n01BfDqj054333@svn.freebsd.org> <495D5FC3.6000109@freebsd.org> <495D62C0.7090306@FreeBSD.org> <495D63B6.3020106@freebsd.org> <495DC24E.90606@FreeBSD.org> <495E511B.7000006@freebsd.org> <495E8ED1.2010108@FreeBSD.org> Message-ID: <495E9AFF.4010109@freebsd.org> Doug Barton wrote: > Sam Leffler wrote: > >> Doug Barton wrote: >> >>> Sam Leffler wrote: >>> >>> >>>> Doug Barton wrote: >>>> >>>> >>>>> Sam Leffler wrote: >>>>> >>>>> >>>>> >>>>>> Doug Barton wrote: >>>>>> >>>>>> >>>>>>> 1. Switch to using the top level (e.g., /usr/src) Makefile, and >>>>>>> specify >>>>>>> that we should use the *.mk files from the source directory >>>>>>> instead of >>>>>>> the installed versions. [1][2] This allows easier cross builds and >>>>>>> simplifies (or in some cases permits) upgrading. >>>>>>> >>>>>>> >>>>>> I believe you changed the meaning of the -m flag so it now requires a >>>>>> pathname to the src tree and not src/etc. This breaks existing >>>>>> usage. In the PR I filed there was a follow-on patch from Bjoern that >>>>>> amended >>>>>> my suggestion to instead add a -M option to set the source tree. I >>>>>> thought that was an improvement over my hack. In lieu of that you >>>>>> might >>>>>> want to examine the pathname supplied to -m to try to provide >>>>>> backwards >>>>>> compatibility by stripping any /etc suffix on the path. >>>>>> >>>>>> >>>>> The version in bin/96528 from ru had a better fix for this issue, but >>>>> thanks for thinking of it. :) >>>>> >>>>> >>>>> >>>> That's nice to know. Unfortunately what's in HEAD doesn't seem to work >>>> for my cross-install setup. Did you test using the recipe in my PR? I >>>> am debugging; could be a local problem. >>>> >>>> >>> I finally got this to work, but the problem wasn't with mergemaster. >>> Turns out that bsd.obj.mk is not taking ${TARGET} into account in the >>> same way that src/Makefile.inc1 does. I'm sending the following patch >>> to -hackers for discussion: >>> >>> Index: bsd.obj.mk >>> =================================================================== >>> --- bsd.obj.mk (revision 186676) >>> +++ bsd.obj.mk (working copy) >>> @@ -43,7 +43,7 @@ >>> .include >>> >>> .if defined(MAKEOBJDIRPREFIX) >>> -CANONICALOBJDIR:=${MAKEOBJDIRPREFIX}${.CURDIR} >>> +CANONICALOBJDIR:=${OBJTREE}${.CURDIR} >>> .else >>> CANONICALOBJDIR:=/usr/obj${.CURDIR} >>> .endif >>> >>> Meanwhile you can work around the problem with sendmail (which is the >>> only thing mergemaster installs that cares) by setting >>> WITHOUT_SENDMAIL in /etc/src.conf. >>> >>> >>> >> Presumably this is because I was testing w/o your changes to run builds >> from /usr/src (instead of /usr/src/etc)? >> > > At the point where it's actually building and installing things to the > temproot there is a SUBDIR_OVERRIDE which restricts it to src/etc so > that shouldn't make any difference. > > >> Unfortunately the above change does not help me; I still fail in >> sendmail as before. I don't see where OBJTREE is defined in any .mk >> file or by make (searching the man page). >> > > It's defined in src/Makefile.inc1. Try running the most recent version > of mergemaster that's in the tree, plus the patch above to > src/share/mk/bsd.obj.mk and it should work. It worked for me using a > clean DESTDIR, -i and -Aarm. I didn't specify a different src > directory as you did in the PR since I was using my regular stock src > tree (plus the bsd.obj.mk patch above). > My tests were w/ an up to date tree. Sam From dougb at FreeBSD.org Fri Jan 2 23:08:03 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Fri Jan 2 23:08:14 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <18782.37537.775290.682466@hergotha.csail.mit.edu> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> <495E91F8.3010706@FreeBSD.org> <18782.37537.775290.682466@hergotha.csail.mit.edu> Message-ID: <495E9E4B.8030905@FreeBSD.org> Garrett Wollman wrote: > < said: > >> As I said in my first post, if there is overwhelming demand for this >> down the road that is not met by the existing solutions I'll consider >> adding a better implementation as an option, off by default. > > It would be much better if the options that *nearly every user will > want to use* are set correctly by default. 1. Past experience indicates that your average _developer_ is not very good at estimating what the average _user_ will want as the default. 2. The needs of developers are considerably different than the needs of the average user. 3. Many "power user" options have been added over the years, but they are just that, options. 4. I have said literally from day 1 that mergemaster should not ever change a file on a user's system without them taking an affirmative step for it to do so. Whether you agree with that idea or not, it is an expectation that I do not want to mess with. > I have to look at the man > page every time I update a system to remind myself what is that magic > option that makes mergemaster do the right thing with files I haven't > changed. Given the number of help requests I get for mergemaster that are already answered in the man page, I do not regard this as all that big of a problem. :) But seriously folks, have you read all the way down to the part about the ability to use an rc file to store your commonly used options? Doug -- This .signature sanitized for your protection From wollman at bimajority.org Fri Jan 2 23:14:26 2009 From: wollman at bimajority.org (Garrett Wollman) Date: Fri Jan 2 23:14:33 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <495E9E4B.8030905@FreeBSD.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> <495E91F8.3010706@FreeBSD.org> <18782.37537.775290.682466@hergotha.csail.mit.edu> <495E9E4B.8030905@FreeBSD.org> Message-ID: <18782.40912.247441.716938@hergotha.csail.mit.edu> < said: > Garrett Wollman wrote: >> It would be much better if the options that *nearly every user will >> want to use* are set correctly by default. > 1. Past experience indicates that your average _developer_ is not very > good at estimating what the average _user_ will want as the default. Speaking as a user, far more than a developer these days, what mergemaster does by default is not what I want. I have about half a dozen FreeBSD systems in various states of "production", and they get upgraded about once a year, if that, and always run the security branch. > 4. I have said literally from day 1 that mergemaster should not ever > change a file on a user's system without them taking an affirmative > step for it to do so. Whether you agree with that idea or not, it is > an expectation that I do not want to mess with. Does anyone else have that expectation, or do they think of it as an annoying quirk of the program and wish the author would make it be more helpful by default? Is there any evidence that the current default behavior is the Right Thing for the typical user? (Serious question. Maybe it solves some problem that's not the one that I have; I haven't done a survey.) -GAWollman From ed at FreeBSD.org Fri Jan 2 23:32:44 2009 From: ed at FreeBSD.org (Ed Schouten) Date: Fri Jan 2 23:32:51 2009 Subject: svn commit: r186706 - head/sys/kern Message-ID: <200901022332.n02NWhbX010412@svn.freebsd.org> Author: ed Date: Fri Jan 2 23:32:43 2009 New Revision: 186706 URL: http://svn.freebsd.org/changeset/base/186706 Log: Don't let /dev/console be revoked if the TTY below is being closed. During startup some of the syscons TTY's are used to set attributes like the screensaver and mouse options. These actions cause /dev/console to be rendered unusable. Fix the issue by leaving the TTY opened when it is used as the console device. Reported by: imp Modified: head/sys/kern/tty.c Modified: head/sys/kern/tty.c ============================================================================== --- head/sys/kern/tty.c Fri Jan 2 22:51:30 2009 (r186705) +++ head/sys/kern/tty.c Fri Jan 2 23:32:43 2009 (r186706) @@ -308,6 +308,13 @@ ttydev_close(struct cdev *dev, int fflag { struct tty *tp = dev->si_drv1; + /* + * Don't actually close the device if it is being used as the + * console. + */ + if (strcmp(dev_console_filename, tty_devname(tp)) == 0) + return (0); + tty_lock(tp); /* From xi at borderworlds.dk Fri Jan 2 23:34:32 2009 From: xi at borderworlds.dk (Christian Laursen) Date: Fri Jan 2 23:34:39 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <18782.37537.775290.682466@hergotha.csail.mit.edu> (Garrett Wollman's message of "Fri\, 2 Jan 2009 17\:18\:09 -0500") References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> <495E91F8.3010706@FreeBSD.org> <18782.37537.775290.682466@hergotha.csail.mit.edu> Message-ID: Garrett Wollman writes: > It would be much better if the options that *nearly every user will > want to use* are set correctly by default. I have to look at the man > page every time I update a system to remind myself what is that magic > option that makes mergemaster do the right thing with files I haven't > changed. I agree that auto-install and auto-upgrade would be nice to have on by default. However, mergemaster has a configuration file so you actually only need to make things right once for every system. cat > /etc/mergemaster.rc AUTO_INSTALL=yes AUTO_UPGRADE=yes ^d -- Christian Laursen From ed at FreeBSD.org Fri Jan 2 23:39:32 2009 From: ed at FreeBSD.org (Ed Schouten) Date: Fri Jan 2 23:39:37 2009 Subject: svn commit: r186707 - head/sys/kern Message-ID: <200901022339.n02NdTjf010587@svn.freebsd.org> Author: ed Date: Fri Jan 2 23:39:29 2009 New Revision: 186707 URL: http://svn.freebsd.org/changeset/base/186707 Log: Fix a corner case in my previous commit. Even though there are not many setups that have absolutely no console device, make sure a close() on a TTY doesn't dereference a null pointer. Modified: head/sys/kern/tty.c Modified: head/sys/kern/tty.c ============================================================================== --- head/sys/kern/tty.c Fri Jan 2 23:32:43 2009 (r186706) +++ head/sys/kern/tty.c Fri Jan 2 23:39:29 2009 (r186707) @@ -312,7 +312,8 @@ ttydev_close(struct cdev *dev, int fflag * Don't actually close the device if it is being used as the * console. */ - if (strcmp(dev_console_filename, tty_devname(tp)) == 0) + if (dev_console_filename != NULL && + strcmp(dev_console_filename, tty_devname(tp)) == 0) return (0); tty_lock(tp); From qingli at FreeBSD.org Sat Jan 3 00:27:30 2009 From: qingli at FreeBSD.org (Qing Li) Date: Sat Jan 3 00:27:36 2009 Subject: svn commit: r186708 - in head/sys: netinet netinet6 Message-ID: <200901030027.n030RT1e011521@svn.freebsd.org> Author: qingli Date: Sat Jan 3 00:27:28 2009 New Revision: 186708 URL: http://svn.freebsd.org/changeset/base/186708 Log: Some modules such as SCTP supplies a valid route entry as an input argument to ip_output(). The destionation is represented in a sockaddr{} object that may contain other pieces of information, e.g., port number. This same destination sockaddr{} object may be passed into L2 code, which could be used to create a L2 entry. Since there exists a L2 table per address family, the L2 lookup function can make address family specific comparison instead of the generic bcmp() operation over the entire sockaddr{} structure. Note in the IPv6 case the sin6_scope_id is not compared because the address is currently stored in the embedded form inside the kernel. The in6_lltable_lookup() has to account for the scope-id if this storage format were to change in the future. Modified: head/sys/netinet/in.c head/sys/netinet6/in6.c Modified: head/sys/netinet/in.c ============================================================================== --- head/sys/netinet/in.c Fri Jan 2 23:39:29 2009 (r186707) +++ head/sys/netinet/in.c Sat Jan 3 00:27:28 2009 (r186708) @@ -1106,9 +1106,10 @@ in_lltable_lookup(struct lltable *llt, u hashkey = sin->sin_addr.s_addr; lleh = &llt->lle_head[LLATBL_HASH(hashkey, LLTBL_HASHMASK)]; LIST_FOREACH(lle, lleh, lle_next) { + struct sockaddr_in *sa2 = (struct sockaddr_in *)L3_ADDR(lle); if (lle->la_flags & LLE_DELETED) continue; - if (bcmp(L3_ADDR(lle), l3addr, sizeof(struct sockaddr_in)) == 0) + if (sa2->sin_addr.s_addr == sin->sin_addr.s_addr) break; } if (lle == NULL) { Modified: head/sys/netinet6/in6.c ============================================================================== --- head/sys/netinet6/in6.c Fri Jan 2 23:39:29 2009 (r186707) +++ head/sys/netinet6/in6.c Sat Jan 3 00:27:28 2009 (r186708) @@ -1533,52 +1533,29 @@ in6_ifinit(struct ifnet *ifp, struct in6 * XXX: the logic below rejects assigning multiple addresses on a p2p * interface that share the same destination. */ -#if 0 /* QL - verify */ plen = in6_mask2len(&ia->ia_prefixmask.sin6_addr, NULL); /* XXX */ - if (!(ia->ia_flags & IFA_ROUTE) && plen == 128 && - ia->ia_dstaddr.sin6_family == AF_INET6) { + if (!(ia->ia_flags & IFA_ROUTE) && plen == 128) { + struct sockaddr *dstaddr; int rtflags = RTF_UP | RTF_HOST; - struct rtentry *rt = NULL, **rtp = NULL; - if (nd6_need_cache(ifp) != 0) { - rtp = &rt; - } + /* + * use the interface address if configuring an + * interface address with a /128 prefix len + */ + if (ia->ia_dstaddr.sin6_family == AF_INET6) + dstaddr = (struct sockaddr *)&ia->ia_dstaddr; + else + dstaddr = (struct sockaddr *)&ia->ia_addr; error = rtrequest(RTM_ADD, - (struct sockaddr *)&ia->ia_dstaddr, + (struct sockaddr *)dstaddr, (struct sockaddr *)&ia->ia_addr, (struct sockaddr *)&ia->ia_prefixmask, - ia->ia_flags | rtflags, rtp); + ia->ia_flags | rtflags, NULL); if (error != 0) return (error); - if (rt != NULL) { - struct llinfo_nd6 *ln; - - RT_LOCK(rt); - ln = (struct llinfo_nd6 *)rt->rt_llinfo; - if (ln != NULL) { - /* - * Set the state to STALE because we don't - * have to perform address resolution on this - * link. - */ - ln->ln_state = ND6_LLINFO_STALE; - } - RT_REMREF(rt); - RT_UNLOCK(rt); - } - ia->ia_flags |= IFA_ROUTE; - } -#else - plen = in6_mask2len(&ia->ia_prefixmask.sin6_addr, NULL); /* XXX */ - if (!(ia->ia_flags & IFA_ROUTE) && plen == 128 && - ia->ia_dstaddr.sin6_family == AF_INET6) { - if ((error = rtinit(&(ia->ia_ifa), (int)RTM_ADD, - RTF_UP | RTF_HOST)) != 0) - return (error); ia->ia_flags |= IFA_ROUTE; } -#endif /* Add ownaddr as loopback rtentry, if necessary (ex. on p2p link). */ if (newhost) { @@ -2171,9 +2148,11 @@ in6_lltable_lookup(struct lltable *llt, hashkey = sin6->sin6_addr.s6_addr32[3]; lleh = &llt->lle_head[LLATBL_HASH(hashkey, LLTBL_HASHMASK)]; LIST_FOREACH(lle, lleh, lle_next) { + struct sockaddr_in6 *sa6 = (struct sockaddr_in6 *)L3_ADDR(lle); if (lle->la_flags & LLE_DELETED) continue; - if (bcmp(L3_ADDR(lle), l3addr, l3addr->sa_len) == 0) + if (bcmp(&sa6->sin6_addr, &sin6->sin6_addr, + sizeof(struct in6_addr)) == 0) break; } From julian at elischer.org Sat Jan 3 00:51:48 2009 From: julian at elischer.org (Julian Elischer) Date: Sat Jan 3 00:51:59 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <18782.40912.247441.716938@hergotha.csail.mit.edu> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> <495E91F8.3010706@FreeBSD.org> <18782.37537.775290.682466@hergotha.csail.mit.edu> <495E9E4B.8030905@FreeBSD.org> <18782.40912.247441.716938@hergotha.csail.mit.edu> Message-ID: <495EB69F.8010203@elischer.org> Garrett Wollman wrote: > < said: > >> Garrett Wollman wrote: >>> It would be much better if the options that *nearly every user will >>> want to use* are set correctly by default. > >> 1. Past experience indicates that your average _developer_ is not very >> good at estimating what the average _user_ will want as the default. > > Speaking as a user, far more than a developer these days, what > mergemaster does by default is not what I want. I have about half a > dozen FreeBSD systems in various states of "production", and they get > upgraded about once a year, if that, and always run the security > branch. > >> 4. I have said literally from day 1 that mergemaster should not ever >> change a file on a user's system without them taking an affirmative >> step for it to do so. Whether you agree with that idea or not, it is >> an expectation that I do not want to mess with. > > Does anyone else have that expectation, or do they think of it as an > annoying quirk of the program and wish the author would make it be > more helpful by default? Is there any evidence that the current > default behavior is the Right Thing for the typical user? (Serious > question. Maybe it solves some problem that's not the one that I > have; I haven't done a survey.) > I 'm always pissed off that I have to type 'i' so many times. I'd like to get a list "I'd like to replace all these.. edit it this list and remove any you do not want me to remplace".. basically I just want to do /etc/passwd and a few friends, group, hosts manually on my development machines. I want everything else to be updated... yet after a couple of months if I run mergemaster, I spend 10 minutes hitting i i i q i i i i i q i q i (the q is for less or more or whaterver the pager is) alternatively a "leave the following files alone when in auto mode" option would do for me. > -GAWollman From obrien at FreeBSD.org Sat Jan 3 03:14:26 2009 From: obrien at FreeBSD.org (David O'Brien) Date: Sat Jan 3 03:14:40 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <495EB69F.8010203@elischer.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> <495E91F8.3010706@FreeBSD.org> <18782.37537.775290.682466@hergotha.csail.mit.edu> <495E9E4B.8030905@FreeBSD.org> <18782.40912.247441.716938@hergotha.csail.mit.edu> <495EB69F.8010203@elischer.org> Message-ID: <20090103031354.GB76838@dragon.NUXI.org> On Fri, Jan 02, 2009 at 04:51:43PM -0800, Julian Elischer wrote: > I 'm always pissed off that I have to type 'i' so many times. .. > I spend 10 minutes hitting i i i q i i i i i q i q i > (the q is for less or more or whaterver the pager is) I would Dillon's change to avoid all the 'q's could come back. After a screen full of diff, you get prompted what to do - if you want to see the entire diff you have ask for it. Not have to needlessly scroll thru pages and pages of stuff just to hit 'i'. -- -- David (obrien@FreeBSD.org) From ivoras at freebsd.org Sat Jan 3 03:55:28 2009 From: ivoras at freebsd.org (Ivan Voras) Date: Sat Jan 3 03:55:41 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <495E9E4B.8030905@FreeBSD.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> <495E91F8.3010706@FreeBSD.org> <18782.37537.775290.682466@hergotha.csail.mit.edu> <495E9E4B.8030905@FreeBSD.org> Message-ID: <9bbcef730901021955s254b2eb5j24f93127e84fb5ee@mail.gmail.com> 2009/1/3 Doug Barton : > Garrett Wollman wrote: >> < said: >> >>> As I said in my first post, if there is overwhelming demand for this >>> down the road that is not met by the existing solutions I'll consider >>> adding a better implementation as an option, off by default. >> >> It would be much better if the options that *nearly every user will >> want to use* are set correctly by default. > > 1. Past experience indicates that your average _developer_ is not very > good at estimating what the average _user_ will want as the default. > 2. The needs of developers are considerably different than the needs > of the average user. And just how can upgrading all the non-user-modified files cause serious damage here (serious=system not bootable, login not possible, etc)? Please explain with examples, since from this and the old current@ thread I only got the impression that "it's baaaad, m'kay". Note that regular users will not upgrade -CURRENT, and most won't even upgrade -STABLE, but will go from one -RELEASE to another. Speaking for myself, mergemaster is a source of constant irritation because it doesn't do auto-upgrades by default, and I'm often tempted to just not start it rather than going through 15 minutes of "q, i, " (my pages is less, thus the "q"). If you're so against this option, may I propose something that could satisfy both camps: make a symlink to mergemaster, call it "auto-mergemaster", detect the called name from within the script, then enable autoupgrades if it matches "auto-mergemaster" (as well as possibly other features that make it less verbose and less user-input intensive). Do this as a service to the community and create yourself the possibility of telling us "I told you so"! I'm pretty much sure that users will eventually forget there's a manual "mergemaster" but it will still be available for users used to the old semantics. Your response, please? > 4. I have said literally from day 1 that mergemaster should not ever > change a file on a user's system without them taking an affirmative > step for it to do so. Whether you agree with that idea or not, it is > an expectation that I do not want to mess with. Please consider that the user climate has changed from "day 1". > Given the number of help requests I get for mergemaster that are > already answered in the man page, I do not regard this as all that big > of a problem. :) But seriously folks, have you read all the way down > to the part about the ability to use an rc file to store your commonly > used options? Thanks for this, I didn't know about the rc file, but I see two problems with it: 1) The example in the man page doesn't say how to enable "-U" mode (reading on 7.1-stable) 2) This means I have to copy yet another file to my newly installed systems, and I think I'm not the only one who does this and would like to avoid another file. I install new systems from CDs fairly often, and the list currently includes about a dozen files (tcsh rc files, cvsup files, vim rc, etc.). From julian at elischer.org Sat Jan 3 06:03:07 2009 From: julian at elischer.org (Julian Elischer) Date: Sat Jan 3 06:03:18 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <9bbcef730901021955s254b2eb5j24f93127e84fb5ee@mail.gmail.com> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> <495E91F8.3010706@FreeBSD.org> <18782.37537.775290.682466@hergotha.csail.mit.edu> <495E9E4B.8030905@FreeBSD.org> <9bbcef730901021955s254b2eb5j24f93127e84fb5ee@mail.gmail.com> Message-ID: <495EFF98.8080701@elischer.org> Ivan Voras wrote: > > And just how can upgrading all the non-user-modified files cause > serious damage here (serious=system not bootable, login not possible, > etc)? Please explain with examples, since from this and the old > current@ thread I only got the impression that "it's baaaad, m'kay". > Note that regular users will not upgrade -CURRENT, and most won't even > upgrade -STABLE, but will go from one -RELEASE to another. Speaking > for myself, mergemaster is a source of constant irritation because it > doesn't do auto-upgrades by default, and I'm often tempted to just not > start it rather than going through 15 minutes of "q, i, " (my > pages is less, thus the "q"). Not to mention the times when it seems some large number of files get a change in CVS ID or whatever for some reason (and no other change (for example someone put a tem change in some subset of the rc.d files and then removed it) which seems to happen regularly, then you have to go i i i i i i i i i i i i i i i for 10 minutes, and then you get into finger-typeahead and it then goes right past the one file you DIDN'T want to change and you have lost /etc/master.passwd or something. I really like Mergemaster but it needs options like the one you just removed to make it livable. The -U option goes part way towards this.. How does it know what files have not been user modified? Does it store hashes from the last run somewhere? From sobomax at FreeBSD.org Sat Jan 3 07:26:07 2009 From: sobomax at FreeBSD.org (Maxim Sobolev) Date: Sat Jan 3 07:26:18 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <495E9E4B.8030905@FreeBSD.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> <495E91F8.3010706@FreeBSD.org> <18782.37537.775290.682466@hergotha.csail.mit.edu> <495E9E4B.8030905@FreeBSD.org> Message-ID: <495F12FE.8080204@FreeBSD.org> Doug Barton wrote: > 1. Past experience indicates that your average _developer_ is not very > good at estimating what the average _user_ will want as the default. This statement is pretty much self-contradictory. You are saying that average developer is very bad at estimating which behavior should be the default, yet you ("average developer") is vetoing features that users (myself and others) report to be very useful. I don't have much time to spend on this issue, but I really think you should release mergemaster from strong maintainership lock and let community lead it future development, especially considering that you have confessed to not having much time to devote to it these days. -Maxim From ivoras at freebsd.org Sat Jan 3 07:57:52 2009 From: ivoras at freebsd.org (Ivan Voras) Date: Sat Jan 3 07:57:59 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <495EFF98.8080701@elischer.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> <495E91F8.3010706@FreeBSD.org> <18782.37537.775290.682466@hergotha.csail.mit.edu> <495E9E4B.8030905@FreeBSD.org> <9bbcef730901021955s254b2eb5j24f93127e84fb5ee@mail.gmail.com> <495EFF98.8080701@elischer.org> Message-ID: <9bbcef730901022357l1dc9205ahfa7db117e5aceb2a@mail.gmail.com> 2009/1/3 Julian Elischer : > Ivan Voras wrote: > >> >> And just how can upgrading all the non-user-modified files cause >> serious damage here (serious=system not bootable, login not possible, >> etc)? Please explain with examples, since from this and the old >> current@ thread I only got the impression that "it's baaaad, m'kay". >> Note that regular users will not upgrade -CURRENT, and most won't even >> upgrade -STABLE, but will go from one -RELEASE to another. Speaking >> for myself, mergemaster is a source of constant irritation because it >> doesn't do auto-upgrades by default, and I'm often tempted to just not >> start it rather than going through 15 minutes of "q, i, " (my >> pages is less, thus the "q"). > > Not to mention the times when it seems some large number of files > get a change in CVS ID or whatever for some reason (and no other change (for > example someone put a tem change in some subset of > the rc.d files and then removed it) which seems to happen > regularly, then you have to go i i i i i i i i i i i i i i i > for 10 minutes, and then you get into finger-typeahead and > it then goes right past the one file you DIDN'T want to change > and you have lost /etc/master.passwd or something. Yes, I completely forgot to rant about the typeahead problem :) On the other hand, this might point to a user-interface problem. Maybe if instead of constantly requesting user input it could be modified to work differently - maybe it could generate a machine readable report of files and autoload it in $EDITOR, in which the user could mark the files en masse (in some easy way, for example by killing the lines containing filenames he doesn't want to upgrade, prepending filenames with "m" for merging, etc), which would then be processed by the script? But again this would save irritation only if there's a quick way to specify "just upgrade everything that wasn't changed by the user". > The -U option goes part way towards this.. How does it know what files > have not been user modified? Does it store hashes from the last run > somewhere? I think that's what /var/db/mergemaster.mtree is used for. From yanefbsd at gmail.com Sat Jan 3 08:42:19 2009 From: yanefbsd at gmail.com (Garrett Cooper) Date: Sat Jan 3 08:42:31 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <495F12FE.8080204@FreeBSD.org> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> <495E91F8.3010706@FreeBSD.org> <18782.37537.775290.682466@hergotha.csail.mit.edu> <495E9E4B.8030905@FreeBSD.org> <495F12FE.8080204@FreeBSD.org> Message-ID: On Jan 2, 2009, at 23:25, Maxim Sobolev wrote: > Doug Barton wrote: >> 1. Past experience indicates that your average _developer_ is not >> very >> good at estimating what the average _user_ will want as the default. > > This statement is pretty much self-contradictory. You are saying > that average developer is very bad at estimating which behavior > should be the default, yet you ("average developer") is vetoing > features that users (myself and others) report to be very useful. It's not to say that doug is claiming that developers are incompetent when determining user needs. Users are a very complex group and that is partly why test engineers and quality engineers exist; to help provide another pov on how software could be defined for more audiences' benefit. Just some food for thought from my perspective.. -Garrett From obrien at FreeBSD.org Sat Jan 3 10:14:02 2009 From: obrien at FreeBSD.org (David E. O'Brien) Date: Sat Jan 3 10:14:14 2009 Subject: svn commit: r186713 - head/usr.bin/make Message-ID: <200901031014.n03AE1lA022458@svn.freebsd.org> Author: obrien Date: Sat Jan 3 10:14:01 2009 New Revision: 186713 URL: http://svn.freebsd.org/changeset/base/186713 Log: + Add the -Q be-quiet flag for parallel jobs. - Enable -Q by default for the moment - there is something weird going on in the rescue build. Modified: head/usr.bin/make/globals.h head/usr.bin/make/job.c head/usr.bin/make/main.c head/usr.bin/make/make.1 head/usr.bin/make/var.c Modified: head/usr.bin/make/globals.h ============================================================================== --- head/usr.bin/make/globals.h Sat Jan 3 05:32:37 2009 (r186712) +++ head/usr.bin/make/globals.h Sat Jan 3 10:14:01 2009 (r186713) @@ -76,6 +76,7 @@ extern Boolean compatMake; /* True if we extern Boolean ignoreErrors; /* True if should ignore all errors */ extern Boolean beSilent; /* True if should print no commands */ extern Boolean beVerbose; /* True if should print extra cruft */ +extern Boolean beQuiet; /* True if want quiet headers with -j */ extern Boolean noExecute; /* True if should execute nothing */ extern Boolean allPrecious; /* True if every target is precious */ extern Boolean is_posix; /* .POSIX target seen */ Modified: head/usr.bin/make/job.c ============================================================================== --- head/usr.bin/make/job.c Sat Jan 3 05:32:37 2009 (r186712) +++ head/usr.bin/make/job.c Sat Jan 3 10:14:01 2009 (r186713) @@ -2363,7 +2363,7 @@ Job_Init(int maxproc) lastNode = NULL; - if (maxJobs == 1 && fifoFd < 0) { + if ((maxJobs == 1 && fifoFd < 0) || beQuiet || beVerbose == 0) { /* * If only one job can run at a time, there's no need for a * banner, no is there? Modified: head/usr.bin/make/main.c ============================================================================== --- head/usr.bin/make/main.c Sat Jan 3 05:32:37 2009 (r186712) +++ head/usr.bin/make/main.c Sat Jan 3 10:14:01 2009 (r186713) @@ -126,6 +126,7 @@ Boolean is_posix; /* .POSIX target seen Boolean mfAutoDeps; /* .MAKEFILEDEPS target seen */ Boolean beSilent; /* -s flag */ Boolean beVerbose; /* -v flag */ +Boolean beQuiet = TRUE; /* -Q flag */ Boolean compatMake; /* -B argument */ int debug; /* -d flag */ Boolean ignoreErrors; /* -i flag */ @@ -370,7 +371,7 @@ MainParseArgs(int argc, char **argv) rearg: optind = 1; /* since we're called more than once */ optreset = 1; -#define OPTFLAGS "ABC:D:E:I:PSV:Xd:ef:ij:km:npqrstvx:" +#define OPTFLAGS "ABC:D:E:I:PSV:Xd:ef:ij:km:nQpqrstvx:" for (;;) { if ((optind < argc) && strcmp(argv[optind], "--") == 0) { found_dd = TRUE; @@ -516,6 +517,10 @@ rearg: printGraphOnly = TRUE; debug |= DEBUG_GRAPH1; break; + case 'Q': + beQuiet = TRUE; + MFLAGS_append("-Q", NULL); + break; case 'q': queryFlag = TRUE; /* Kind of nonsensical, wot? */ @@ -535,6 +540,7 @@ rearg: break; case 'v': beVerbose = TRUE; + beQuiet = FALSE; MFLAGS_append("-v", NULL); break; case 'x': Modified: head/usr.bin/make/make.1 ============================================================================== --- head/usr.bin/make/make.1 Sat Jan 3 05:32:37 2009 (r186712) +++ head/usr.bin/make/make.1 Sat Jan 3 10:14:01 2009 (r186713) @@ -258,6 +258,9 @@ When combined with only the builtin rules of .Nm are displayed. +.It Fl Q +Be extra quiet. +For multi-job makes, this will cause file banners not to be generated. .It Fl q Do not execute any commands, but exit 0 if the specified targets are up-to-date and 1, otherwise. @@ -289,7 +292,7 @@ the variables will be printed one per li with a blank line for each null or undefined variable. .It Fl v Be extra verbose. -For multi-job makes, this will cause file banners to be generated. +Print any extra information. .It Fl X When using the .Fl V Modified: head/usr.bin/make/var.c ============================================================================== --- head/usr.bin/make/var.c Sat Jan 3 05:32:37 2009 (r186712) +++ head/usr.bin/make/var.c Sat Jan 3 10:14:01 2009 (r186713) @@ -946,12 +946,14 @@ VarFindAny(const char name[], GNode *ctx * The name and val arguments are duplicated so they may * safely be freed. */ -static void +static Var * VarAdd(const char *name, const char *val, GNode *ctxt) { + Var *v; - Lst_AtFront(&ctxt->context, VarCreate(name, val, 0)); + Lst_AtFront(&ctxt->context, v = VarCreate(name, val, 0)); DEBUGF(VAR, ("%s:%s = %s\n", ctxt->name, name, val)); + return (v); } /** @@ -1004,30 +1006,22 @@ Var_Set(const char *name, const char *va n = VarPossiblyExpand(name, ctxt); v = VarFindOnly(n, ctxt); if (v == NULL) { - VarAdd(n, val, ctxt); - if (ctxt == VAR_CMD) { - /* - * Any variables given on the command line - * are automatically exported to the - * environment (as per POSIX standard) - */ - setenv(n, val, 1); - } + v = VarAdd(n, val, ctxt); } else { Buf_Clear(v->val); Buf_Append(v->val, val); - - if (ctxt == VAR_CMD || (v->flags & VAR_TO_ENV)) { - /* - * Any variables given on the command line - * are automatically exported to the - * environment (as per POSIX standard) - */ - setenv(n, val, 1); - } DEBUGF(VAR, ("%s:%s = %s\n", ctxt->name, n, val)); } + if (ctxt == VAR_CMD || (v->flags & VAR_TO_ENV)) { + /* + * Any variables given on the command line + * are automatically exported to the + * environment (as per POSIX standard) + */ + setenv(n, val, 1); + } + free(n); } @@ -2325,7 +2319,8 @@ match_var(const char str[], const char v * None. The old string must be freed by the caller */ Buffer * -Var_Subst(const char *str, GNode *ctxt, Boolean err) +//Var_Subst(const char *var, const char *str, GNode *ctxt, Boolean undefErr) +Var_Subst( const char *str, GNode *ctxt, Boolean err) { Boolean errorReported; Buffer *buf; /* Buffer for forming things */ From rik at inse.ru Sat Jan 3 10:24:15 2009 From: rik at inse.ru (Roman Kurakin) Date: Sat Jan 3 10:24:26 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <9bbcef730901022357l1dc9205ahfa7db117e5aceb2a@mail.gmail.com> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> <495E91F8.3010706@FreeBSD.org> <18782.37537.775290.682466@hergotha.csail.mit.edu> <495E9E4B.8030905@FreeBSD.org> <9bbcef730901021955s254b2eb5j24f93127e84fb5ee@mail.gmail.com> <495EFF98.8080701@elischer.org> <9bbcef730901022357l1dc9205ahfa7db117e5aceb2a@mail.gmail.com> Message-ID: <495F3CE1.5070800@localhost.inse.ru> Ivan Voras wrote: > 2009/1/3 Julian Elischer : > >> Ivan Voras wrote: >> >> >>> And just how can upgrading all the non-user-modified files cause >>> serious damage here (serious=system not bootable, login not possible, >>> etc)? Please explain with examples, since from this and the old >>> current@ thread I only got the impression that "it's baaaad, m'kay". >>> Note that regular users will not upgrade -CURRENT, and most won't even >>> upgrade -STABLE, but will go from one -RELEASE to another. Speaking >>> for myself, mergemaster is a source of constant irritation because it >>> doesn't do auto-upgrades by default, and I'm often tempted to just not >>> start it rather than going through 15 minutes of "q, i, " (my >>> pages is less, thus the "q"). >>> >> Not to mention the times when it seems some large number of files >> get a change in CVS ID or whatever for some reason (and no other change (for >> example someone put a tem change in some subset of >> the rc.d files and then removed it) which seems to happen >> regularly, then you have to go i i i i i i i i i i i i i i i >> for 10 minutes, and then you get into finger-typeahead and >> it then goes right past the one file you DIDN'T want to change >> and you have lost /etc/master.passwd or something. >> > > Yes, I completely forgot to rant about the typeahead problem :) > > On the other hand, this might point to a user-interface problem. Maybe > if instead of constantly requesting user input it could be modified to > work differently - maybe it could generate a machine readable report > of files and autoload it in $EDITOR, in which the user could mark the > files en masse (in some easy way, for example by killing the lines > containing filenames he doesn't want to upgrade, prepending filenames > with "m" for merging, etc), which would then be processed by the > script? But again this would save irritation only if there's a quick > way to specify "just upgrade everything that wasn't changed by the > user". > The better way would be to specify path_to_cvs and do three way merging. >> The -U option goes part way towards this.. How does it know what files >> have not been user modified? Does it store hashes from the last run >> somewhere? >> > > I think that's what /var/db/mergemaster.mtree is used for. > From brueffer at FreeBSD.org Sat Jan 3 10:37:41 2009 From: brueffer at FreeBSD.org (Christian Brueffer) Date: Sat Jan 3 10:37:47 2009 Subject: svn commit: r186714 - head/share/man/man9 Message-ID: <200901031037.n03AbdOG025536@svn.freebsd.org> Author: brueffer Date: Sat Jan 3 10:37:38 2009 New Revision: 186714 URL: http://svn.freebsd.org/changeset/base/186714 Log: Mdoc and language cleanup. Modified: head/share/man/man9/dev_clone.9 Modified: head/share/man/man9/dev_clone.9 ============================================================================== --- head/share/man/man9/dev_clone.9 Sat Jan 3 10:14:01 2009 (r186713) +++ head/share/man/man9/dev_clone.9 Sat Jan 3 10:37:38 2009 (r186714) @@ -24,7 +24,9 @@ .\" .\" $FreeBSD$ .\" -.Dd September 8, 2008 +.Dd January 3, 2009 +.Dt DEV_CLONE 9 +.Os .Sh NAME .Nm dev_clone , .Nm drain_dev_clone_events @@ -40,11 +42,11 @@ EVENTHANDLER_REGISTER(dev_clone, clone_h .Ft void .Fn drain_dev_clone_events .Sh DESCRIPTION -Device driver may register a listener that will be notified each time -name lookup on the -.Xr devfs +A device driver may register a listener that will be notified each time +a name lookup on the +.Xr devfs 5 mount point fails to find the vnode. -Listener shall be registered for the +A listener shall be registered for the .Va dev_clone event. When called, it is supplied with the first argument @@ -52,23 +54,25 @@ When called, it is supplied with the fir that was specified at handler registration time, appropriate credentials .Va cr , +and a name .Va name -of the length +of length .Va namelen -that was looked for. -If handler decides that the name is appropriate and want to create device -that will be associated with the name, it should return it to the devfs +that we look for. +If the handler decides that the name is appropriate and wants to create the device +that will be associated with the name, it should return it to devfs in the -.Va dev . +.Va dev +argument. .Pp The .Fn drain_dev_clone_events function is a barrier. -It is guaranteed that all calls to eventhandlers for dev_clone that were -started before +It is guaranteed that all calls to eventhandlers for +.Nm dev_clone +that were started before .Fn drain_dev_clone_events call, are finished before it returns control. -.Pp .Sh SEE ALSO .Xr devfs 5 , .Xr namei 9 From brueffer at FreeBSD.org Sat Jan 3 10:56:12 2009 From: brueffer at FreeBSD.org (Christian Brueffer) Date: Sat Jan 3 10:56:24 2009 Subject: svn commit: r186715 - head/sys/dev/pcn Message-ID: <200901031056.n03AuAfG025989@svn.freebsd.org> Author: brueffer Date: Sat Jan 3 10:56:10 2009 New Revision: 186715 URL: http://svn.freebsd.org/changeset/base/186715 Log: Call pcn_start_locked() instead of pcn_start() where the softc lock is already held. Approved by: rwatson (mentor) MFC after: 3 weeks Modified: head/sys/dev/pcn/if_pcn.c Modified: head/sys/dev/pcn/if_pcn.c ============================================================================== --- head/sys/dev/pcn/if_pcn.c Sat Jan 3 10:37:38 2009 (r186714) +++ head/sys/dev/pcn/if_pcn.c Sat Jan 3 10:56:10 2009 (r186715) @@ -1446,7 +1446,7 @@ pcn_watchdog(ifp) pcn_init_locked(sc); if (ifp->if_snd.ifq_head != NULL) - pcn_start(ifp); + pcn_start_locked(ifp); PCN_UNLOCK(sc); From jeremie at le-hen.org Sat Jan 3 11:22:03 2009 From: jeremie at le-hen.org (Jeremie Le Hen) Date: Sat Jan 3 11:22:10 2009 Subject: svn commit: r185050 - head/usr.sbin/powerd In-Reply-To: <200811181324.mAIDOcOc079096@svn.freebsd.org> References: <200811181324.mAIDOcOc079096@svn.freebsd.org> Message-ID: <20090103105415.GA40686@obiwan.tataz.chchile.org> Hi Alexander, On Tue, Nov 18, 2008 at 01:24:38PM +0000, Alexander Motin wrote: > Author: mav > Date: Tue Nov 18 13:24:38 2008 > New Revision: 185050 > URL: http://svn.freebsd.org/changeset/base/185050 > > Log: > Set of powerd enchancements: > > 1. Make it more SMP polite. Previous version uses average CPU load that > often leads to load underestimation. It make powerd with default > configuration unusable on systems with more then 2 CPUs. I propose to use > summary load instead of average one. IMO this is the best we can do without > specially tuned scheduler. Also as soon as measuring total load on SMP > systems is more useful then total idle, I have switched to it. > > 2. Make powerd's operation independent from number and size of frequency > levels. I have added internal frequency counter which translated into real > frequencies only on a last stage and only as good as gone. Some systems may > have only several power levels, while others - many of them, so adaptation > time with previous approach was completely different. > > 3. As part of previous I have changed adaptive mode to rise frequency on > demand up to 2 times and fall on 1/8 per time internal. > > 4. For desktop (AC-powered) systems I have added one more mode - "hiadaptive". > It rises frequency twice faster, drops it 4 times slower, prefers twice > lower CPU load and has additional delay before leaving the highest frequency > after the period of maximum load. This mode was specially made to improve > interactivity of the systems where operation capabilities are more > significant then power consumption, but keeping maximum frequency all the > time is not needed. > > 5. I have reduced default polling interval from 1/2 to 1/4 of second. > It is not so important for algorithm math now, but gives better system > interactivity. Thanks for this work! Can you consider MFC'ing this to RELENG_7 and maybe RELENG_6 please? Thanks. Regards, -- Jeremie Le Hen < jeremie at le-hen dot org >< ttz at chchile dot org > From antoine at FreeBSD.org Sat Jan 3 11:25:54 2009 From: antoine at FreeBSD.org (Antoine Brodin) Date: Sat Jan 3 11:26:05 2009 Subject: svn commit: r186716 - head Message-ID: <200901031125.n03BPoEg026547@svn.freebsd.org> Author: antoine Date: Sat Jan 3 11:25:50 2009 New Revision: 186716 URL: http://svn.freebsd.org/changeset/base/186716 Log: Add an obsolete file. Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sat Jan 3 10:56:10 2009 (r186715) +++ head/ObsoleteFiles.inc Sat Jan 3 11:25:50 2009 (r186716) @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20081223: bind 9.4.3 import, nsupdate.8 moved to nsupdate.1 +OLD_FILES+=usr/share/man/man8/nsupdate.8.gz # 20081223: ipprotosw.h removed OLD_FILES+=usr/include/netinet/ipprotosw.h # 20081123: vfs_mountedon.9 removed From rwatson at FreeBSD.org Sat Jan 3 11:35:32 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Sat Jan 3 11:35:43 2009 Subject: svn commit: r186717 - head/sys/netinet Message-ID: <200901031135.n03BZVDB026766@svn.freebsd.org> Author: rwatson Date: Sat Jan 3 11:35:31 2009 New Revision: 186717 URL: http://svn.freebsd.org/changeset/base/186717 Log: Allow the IP_MINTTL socket option to be set to 0 so that it can be disabled entirely, which is its default state before set to a non-zero value. PR: 128790 Submitted by: Nick Hilliard MFC after: 3 weeks Modified: head/sys/netinet/ip_output.c Modified: head/sys/netinet/ip_output.c ============================================================================== --- head/sys/netinet/ip_output.c Sat Jan 3 11:25:50 2009 (r186716) +++ head/sys/netinet/ip_output.c Sat Jan 3 11:35:31 2009 (r186717) @@ -892,7 +892,7 @@ ip_ctloutput(struct socket *so, struct s break; case IP_MINTTL: - if (optval > 0 && optval <= MAXTTL) + if (optval >= 0 && optval <= MAXTTL) inp->inp_ip_minttl = optval; else error = EINVAL; From kib at FreeBSD.org Sat Jan 3 13:24:10 2009 From: kib at FreeBSD.org (Konstantin Belousov) Date: Sat Jan 3 13:24:22 2009 Subject: svn commit: r186719 - in head/sys: kern vm Message-ID: <200901031324.n03DO921028832@svn.freebsd.org> Author: kib Date: Sat Jan 3 13:24:08 2009 New Revision: 186719 URL: http://svn.freebsd.org/changeset/base/186719 Log: Extend the struct vm_page wire_count to u_int to avoid the overflow of the counter, that may happen when too many sendfile(2) calls are being executed with this vnode [1]. To keep the size of the struct vm_page and offsets of the fields accessed by out-of-tree modules, swap the types and locations of the wire_count and cow fields. Add safety checks to detect cow overflow and force fallback to the normal copy code for zero-copy sockets. [2] Reported by: Anton Yuzhaninov [1] Suggested by: alc [2] Reviewed by: alc MFC after: 2 weeks Modified: head/sys/kern/uipc_cow.c head/sys/vm/vm_page.c head/sys/vm/vm_page.h Modified: head/sys/kern/uipc_cow.c ============================================================================== --- head/sys/kern/uipc_cow.c Sat Jan 3 12:09:18 2009 (r186718) +++ head/sys/kern/uipc_cow.c Sat Jan 3 13:24:08 2009 (r186719) @@ -129,7 +129,11 @@ socow_setup(struct mbuf *m0, struct uio * set up COW */ vm_page_lock_queues(); - vm_page_cowsetup(pp); + if (vm_page_cowsetup(pp) != 0) { + vm_page_unhold(pp); + vm_page_unlock_queues(); + return (0); + } /* * wire the page for I/O Modified: head/sys/vm/vm_page.c ============================================================================== --- head/sys/vm/vm_page.c Sat Jan 3 12:09:18 2009 (r186718) +++ head/sys/vm/vm_page.c Sat Jan 3 13:24:08 2009 (r186719) @@ -106,6 +106,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -2112,13 +2113,16 @@ vm_page_cowclear(vm_page_t m) */ } -void +int vm_page_cowsetup(vm_page_t m) { mtx_assert(&vm_page_queue_mtx, MA_OWNED); + if (m->cow == USHRT_MAX - 1) + return (EBUSY); m->cow++; pmap_remove_write(m); + return (0); } #include "opt_ddb.h" Modified: head/sys/vm/vm_page.h ============================================================================== --- head/sys/vm/vm_page.h Sat Jan 3 12:09:18 2009 (r186718) +++ head/sys/vm/vm_page.h Sat Jan 3 13:24:08 2009 (r186719) @@ -111,12 +111,12 @@ struct vm_page { vm_paddr_t phys_addr; /* physical address of page */ struct md_page md; /* machine dependant stuff */ uint8_t queue; /* page queue index */ - int8_t segind; + int8_t segind; u_short flags; /* see below */ uint8_t order; /* index of the buddy queue */ uint8_t pool; - u_short wire_count; /* wired down maps refs (P) */ - u_int cow; /* page cow mapping count */ + u_short cow; /* page cow mapping count */ + u_int wire_count; /* wired down maps refs (P) */ short hold_count; /* page hold count */ u_short oflags; /* page flags (O) */ u_char act_count; /* page usage count */ @@ -336,7 +336,7 @@ void vm_page_zero_invalid(vm_page_t m, b void vm_page_free_toq(vm_page_t m); void vm_page_zero_idle_wakeup(void); void vm_page_cowfault (vm_page_t); -void vm_page_cowsetup (vm_page_t); +int vm_page_cowsetup(vm_page_t); void vm_page_cowclear (vm_page_t); /* From kaiw at FreeBSD.org Sat Jan 3 13:42:51 2009 From: kaiw at FreeBSD.org (Kai Wang) Date: Sat Jan 3 13:43:03 2009 Subject: svn commit: r186720 - head/sys/sys Message-ID: <200901031342.n03DgoNp029221@svn.freebsd.org> Author: kaiw Date: Sat Jan 3 13:42:49 2009 New Revision: 186720 URL: http://svn.freebsd.org/changeset/base/186720 Log: Added section type SHT_GNU_HASH. GNU-style .hash section is a new style of hash section with better performace than the original SYSV hash. It can be generated by newer binutils. Modified: head/sys/sys/elf_common.h Modified: head/sys/sys/elf_common.h ============================================================================== --- head/sys/sys/elf_common.h Sat Jan 3 13:24:08 2009 (r186719) +++ head/sys/sys/elf_common.h Sat Jan 3 13:42:49 2009 (r186720) @@ -267,6 +267,7 @@ typedef struct { #define SHT_SUNW_dof 0x6ffffff4 #define SHT_SUNW_cap 0x6ffffff5 #define SHT_SUNW_SIGNATURE 0x6ffffff6 +#define SHT_GNU_HASH 0x6ffffff6 #define SHT_SUNW_ANNOTATE 0x6ffffff7 #define SHT_SUNW_DEBUGSTR 0x6ffffff8 #define SHT_SUNW_DEBUG 0x6ffffff9 From brueffer at FreeBSD.org Sat Jan 3 13:55:03 2009 From: brueffer at FreeBSD.org (Christian Brueffer) Date: Sat Jan 3 13:55:10 2009 Subject: svn commit: r186721 - stable/6 Message-ID: <200901031355.n03Dt21R029506@svn.freebsd.org> Author: brueffer Date: Sat Jan 3 13:55:02 2009 New Revision: 186721 URL: http://svn.freebsd.org/changeset/base/186721 Log: Mention 6.4-RELEASE. PR: 129952 Submitted by: pluknet Modified: stable/6/UPDATING Modified: stable/6/UPDATING ============================================================================== --- stable/6/UPDATING Sat Jan 3 13:42:49 2009 (r186720) +++ stable/6/UPDATING Sat Jan 3 13:55:02 2009 (r186721) @@ -8,6 +8,9 @@ Items affecting the ports and packages s /usr/ports/UPDATING. Please read that file before running portupgrade. +20081128: + FreeBSD 6.4-RELEASE + 20080904: ntpd upgraded to 4.2.4p5. From marius at FreeBSD.org Sat Jan 3 14:33:49 2009 From: marius at FreeBSD.org (Marius Strobl) Date: Sat Jan 3 14:33:55 2009 Subject: svn commit: r186722 - head/sys/dev/usb2/controller Message-ID: <200901031433.n03EXmYp030235@svn.freebsd.org> Author: marius Date: Sat Jan 3 14:33:48 2009 New Revision: 186722 URL: http://svn.freebsd.org/changeset/base/186722 Log: Reapply the intpin correction part of r146420 which somehow got lost. Modified: head/sys/dev/usb2/controller/ohci2_pci.c Modified: head/sys/dev/usb2/controller/ohci2_pci.c ============================================================================== --- head/sys/dev/usb2/controller/ohci2_pci.c Sat Jan 3 13:55:02 2009 (r186721) +++ head/sys/dev/usb2/controller/ohci2_pci.c Sat Jan 3 14:33:48 2009 (r186722) @@ -211,6 +211,13 @@ ohci_pci_attach(device_t self) pci_enable_busmaster(self); + /* + * Some Sun PCIO-2 USB controllers have their intpin register + * bogusly set to 0, although it should be 4. Correct that. + */ + if (pci_get_devid(self) == 0x1103108e && pci_get_intpin(self) == 0) + pci_set_intpin(self, 4); + rid = PCI_CBMEM; sc->sc_io_res = bus_alloc_resource_any(self, SYS_RES_MEMORY, &rid, RF_ACTIVE); From nwhitehorn at FreeBSD.org Sat Jan 3 19:38:48 2009 From: nwhitehorn at FreeBSD.org (Nathan Whitehorn) Date: Sat Jan 3 19:39:00 2009 Subject: svn commit: r186728 - in head/sys: dev/ofw powerpc/powermac Message-ID: <200901031938.n03Jcl4o035993@svn.freebsd.org> Author: nwhitehorn Date: Sat Jan 3 19:38:47 2009 New Revision: 186728 URL: http://svn.freebsd.org/changeset/base/186728 Log: Fix the OFW interrupt map parser to use its own idea of the number of interrupt cells in the map, instead of using a value passed to it and then panicing if it disagrees. This fixes interrupt map parsing for PCI bridges on some Apple Uninorth PCI controllers. Reported by: marcel Tested on: G4 iBook, Sun Ultra 5 Modified: head/sys/dev/ofw/ofw_bus_subr.c head/sys/dev/ofw/openfirm.c head/sys/dev/ofw/openfirm.h head/sys/powerpc/powermac/grackle.c head/sys/powerpc/powermac/gracklevar.h head/sys/powerpc/powermac/macio.c head/sys/powerpc/powermac/uninorth.c head/sys/powerpc/powermac/uninorthvar.h Modified: head/sys/dev/ofw/ofw_bus_subr.c ============================================================================== --- head/sys/dev/ofw/ofw_bus_subr.c Sat Jan 3 18:51:49 2009 (r186727) +++ head/sys/dev/ofw/ofw_bus_subr.c Sat Jan 3 19:38:47 2009 (r186728) @@ -146,18 +146,6 @@ ofw_bus_gen_get_type(device_t bus, devic return (obd->obd_type); } -static int -ofw_bus_searchprop(phandle_t node, char *propname, void *buf, int buflen) -{ - int rv; - - for (; node != 0; node = OF_parent(node)) { - if ((rv = OF_getprop(node, propname, buf, buflen)) != -1) - return (rv); - } - return (-1); -} - void ofw_bus_setup_iinfo(phandle_t node, struct ofw_bus_iinfo *ii, int intrsz) { @@ -249,17 +237,16 @@ ofw_bus_search_intrmap(void *intr, int i mptr = imap; i = imapsz; - tsz = physsz + intrsz + sizeof(phandle_t) + rintrsz; while (i > 0) { - KASSERT(i >= tsz, ("ofw_bus_search_intrmap: truncated map")); bcopy(mptr + physsz + intrsz, &parent, sizeof(parent)); - if (ofw_bus_searchprop(parent, "#interrupt-cells", + if (OF_searchprop(parent, "#interrupt-cells", &pintrsz, sizeof(pintrsz)) == -1) pintrsz = 1; /* default */ pintrsz *= sizeof(pcell_t); - if (pintrsz != rintrsz) - panic("ofw_bus_search_intrmap: expected interrupt cell " - "size incorrect: %d > %d", rintrsz, pintrsz); + + /* Compute the map stride size */ + tsz = physsz + intrsz + sizeof(phandle_t) + pintrsz; + KASSERT(i >= tsz, ("ofw_bus_search_intrmap: truncated map")); /* * XXX: Apple hardware uses a second cell to set information Modified: head/sys/dev/ofw/openfirm.c ============================================================================== --- head/sys/dev/ofw/openfirm.c Sat Jan 3 18:51:49 2009 (r186727) +++ head/sys/dev/ofw/openfirm.c Sat Jan 3 19:38:47 2009 (r186728) @@ -220,6 +220,23 @@ OF_getprop(phandle_t package, const char } /* + * Resursively search the node and its parent for the given property, working + * downward from the node to the device tree root. Returns the value of the + * first match. + */ +ssize_t +OF_searchprop(phandle_t node, char *propname, void *buf, size_t len) +{ + ssize_t rv; + + for (; node != 0; node = OF_parent(node)) { + if ((rv = OF_getprop(node, propname, buf, len)) != -1) + return (rv); + } + return (-1); +} + +/* * Store the value of a property of a package into newly allocated memory * (using the M_OFWPROP malloc pool and M_WAITOK). elsz is the size of a * single element, the number of elements is return in number. Modified: head/sys/dev/ofw/openfirm.h ============================================================================== --- head/sys/dev/ofw/openfirm.h Sat Jan 3 18:51:49 2009 (r186727) +++ head/sys/dev/ofw/openfirm.h Sat Jan 3 19:38:47 2009 (r186728) @@ -104,6 +104,8 @@ phandle_t OF_parent(phandle_t node); ssize_t OF_getproplen(phandle_t node, const char *propname); ssize_t OF_getprop(phandle_t node, const char *propname, void *buf, size_t len); +ssize_t OF_searchprop(phandle_t node, char *propname, void *buf, + size_t len); ssize_t OF_getprop_alloc(phandle_t node, const char *propname, int elsz, void **buf); int OF_nextprop(phandle_t node, const char *propname, char *buf, Modified: head/sys/powerpc/powermac/grackle.c ============================================================================== --- head/sys/powerpc/powermac/grackle.c Sat Jan 3 18:51:49 2009 (r186727) +++ head/sys/powerpc/powermac/grackle.c Sat Jan 3 19:38:47 2009 (r186728) @@ -165,7 +165,7 @@ static int grackle_attach(device_t dev) { struct grackle_softc *sc; - phandle_t node, iparent; + phandle_t node; u_int32_t busrange[2]; struct grackle_range *rp, *io, *mem[2]; int nmem, i, error; @@ -254,14 +254,6 @@ grackle_attach(device_t dev) ofw_bus_setup_iinfo(node, &sc->sc_pci_iinfo, sizeof(cell_t)); - /* We need the number of interrupt cells to read the imap */ - if (OF_getprop(node, "interrupt-parent", &iparent,sizeof(iparent)) <= 0) - iparent = node; - - if (OF_getprop(iparent,"#interrupt-cells",&sc->sc_icells, - sizeof(sc->sc_icells)) <= 0) - sc->sc_icells = 1; - device_add_child(dev, "pci", device_get_unit(dev)); return (bus_generic_attach(dev)); } @@ -348,15 +340,14 @@ grackle_route_interrupt(device_t bus, de { struct grackle_softc *sc; struct ofw_pci_register reg; - uint32_t pintr, mintr[2]; + uint32_t pintr, mintr; uint8_t maskbuf[sizeof(reg) + sizeof(pintr)]; sc = device_get_softc(bus); pintr = pin; if (ofw_bus_lookup_imap(ofw_bus_get_node(dev), &sc->sc_pci_iinfo, ®, - sizeof(reg), &pintr, sizeof(pintr), &mintr, - sizeof(mintr[0])*sc->sc_icells, maskbuf)) - return (mintr[0]); + sizeof(reg), &pintr, sizeof(pintr), &mintr, sizeof(mintr), maskbuf)) + return (mintr); /* Maybe it's a real interrupt, not an intpin */ if (pin > 4) Modified: head/sys/powerpc/powermac/gracklevar.h ============================================================================== --- head/sys/powerpc/powermac/gracklevar.h Sat Jan 3 18:51:49 2009 (r186727) +++ head/sys/powerpc/powermac/gracklevar.h Sat Jan 3 19:38:47 2009 (r186728) @@ -52,7 +52,6 @@ struct grackle_softc { struct rman sc_mem_rman; bus_space_tag_t sc_memt; bus_dma_tag_t sc_dmat; - int sc_icells; struct ofw_bus_iinfo sc_pci_iinfo; }; Modified: head/sys/powerpc/powermac/macio.c ============================================================================== --- head/sys/powerpc/powermac/macio.c Sat Jan 3 18:51:49 2009 (r186727) +++ head/sys/powerpc/powermac/macio.c Sat Jan 3 19:38:47 2009 (r186728) @@ -185,7 +185,6 @@ macio_add_intr(phandle_t devnode, struct { int *intr; int i, nintr; - phandle_t iparent; int icells; if (dinfo->mdi_ninterrupts >= 6) { @@ -193,10 +192,9 @@ macio_add_intr(phandle_t devnode, struct return; } - icells = 1; - - if (OF_getprop(devnode, "interrupt-parent", &iparent, sizeof(iparent)) == sizeof(iparent)) - OF_getprop(iparent, "#interrupt-cells", &icells, sizeof(icells)); + if (OF_searchprop(devnode, "#interrupt-cells", &icells, sizeof(icells)) + <= 0) + icells = 1; nintr = OF_getprop_alloc(devnode, "interrupts", sizeof(*intr), (void **)&intr); Modified: head/sys/powerpc/powermac/uninorth.c ============================================================================== --- head/sys/powerpc/powermac/uninorth.c Sat Jan 3 18:51:49 2009 (r186727) +++ head/sys/powerpc/powermac/uninorth.c Sat Jan 3 19:38:47 2009 (r186728) @@ -164,7 +164,7 @@ uninorth_attach(device_t dev) { struct uninorth_softc *sc; const char *compatible; - phandle_t node, child, iparent; + phandle_t node, child; u_int32_t reg[2], busrange[2]; struct uninorth_range *rp, *io, *mem[2]; int nmem, i, error; @@ -296,12 +296,6 @@ uninorth_attach(device_t dev) ofw_bus_setup_iinfo(node, &sc->sc_pci_iinfo, sizeof(cell_t)); - /* We need the number of interrupt cells to read the imap */ - sc->sc_icells = 2; - if (OF_getprop(node, "interrupt-parent", &iparent,sizeof(iparent)) > 0) - OF_getprop(iparent,"#interrupt-cells",&sc->sc_icells, - sizeof(sc->sc_icells)); - device_add_child(dev, "pci", device_get_unit(dev)); return (bus_generic_attach(dev)); } @@ -370,15 +364,14 @@ uninorth_route_interrupt(device_t bus, d { struct uninorth_softc *sc; struct ofw_pci_register reg; - uint32_t pintr, mintr[2]; + uint32_t pintr, mintr; uint8_t maskbuf[sizeof(reg) + sizeof(pintr)]; sc = device_get_softc(bus); pintr = pin; if (ofw_bus_lookup_imap(ofw_bus_get_node(dev), &sc->sc_pci_iinfo, ®, - sizeof(reg), &pintr, sizeof(pintr), mintr, - sizeof(mintr[0])*sc->sc_icells, maskbuf)) - return (mintr[0]); + sizeof(reg), &pintr, sizeof(pintr), &mintr, sizeof(mintr), maskbuf)) + return (mintr); /* Maybe it's a real interrupt, not an intpin */ if (pin > 4) Modified: head/sys/powerpc/powermac/uninorthvar.h ============================================================================== --- head/sys/powerpc/powermac/uninorthvar.h Sat Jan 3 18:51:49 2009 (r186727) +++ head/sys/powerpc/powermac/uninorthvar.h Sat Jan 3 19:38:47 2009 (r186728) @@ -64,7 +64,6 @@ struct uninorth_softc { struct ofw_bus_iinfo sc_pci_iinfo; int sc_u3; - int sc_icells; }; struct unin_chip_softc { From ed at FreeBSD.org Sat Jan 3 22:51:56 2009 From: ed at FreeBSD.org (Ed Schouten) Date: Sat Jan 3 22:52:08 2009 Subject: svn commit: r186729 - head/sys/dev/syscons/teken Message-ID: <200901032251.n03MptpH039460@svn.freebsd.org> Author: ed Date: Sat Jan 3 22:51:54 2009 New Revision: 186729 URL: http://svn.freebsd.org/changeset/base/186729 Log: Resolve some regressions related to tabs and linewrap handling. It turns out I was looking too much at mimicing xterm, that I didn't take the differences of cons25 into account. There are some differences between xterm and cons25 that are important. Create a new #define called TEKEN_CONS25 that can be toggled to switch between cons25 and xterm mode. - Don't forget to redraw the cursor after processing a forward/backward tabulation. - Implement cons25-style (WYSE?) autowrapping. This form of autowrapping isn't that nice. It wraps the cursor when printing something on column 80. xterm wraps when printing the first character that doesn't fit. - In cons25, a \t shouldn't overwrite previous contents, while xterm does. Reported by: Garrett Cooper Modified: head/sys/dev/syscons/teken/teken.c head/sys/dev/syscons/teken/teken.h head/sys/dev/syscons/teken/teken_demo.c head/sys/dev/syscons/teken/teken_subr.h Modified: head/sys/dev/syscons/teken/teken.c ============================================================================== --- head/sys/dev/syscons/teken/teken.c Sat Jan 3 19:38:47 2009 (r186728) +++ head/sys/dev/syscons/teken/teken.c Sat Jan 3 22:51:54 2009 (r186729) @@ -68,7 +68,11 @@ teken_wcwidth(teken_char_t c) #define TS_INSERT 0x02 /* Insert mode. */ #define TS_AUTOWRAP 0x04 /* Autowrap. */ #define TS_ORIGIN 0x08 /* Origin mode. */ +#ifdef TEKEN_CONS25 +#define TS_WRAPPED 0x00 /* Simple line wrapping. */ +#else /* !TEKEN_CONS25 */ #define TS_WRAPPED 0x10 /* Next character should be printed on col 0. */ +#endif /* TEKEN_CONS25 */ /* Character that blanks a cell. */ #define BLANK ' ' Modified: head/sys/dev/syscons/teken/teken.h ============================================================================== --- head/sys/dev/syscons/teken/teken.h Sat Jan 3 19:38:47 2009 (r186728) +++ head/sys/dev/syscons/teken/teken.h Sat Jan 3 22:51:54 2009 (r186729) @@ -43,6 +43,8 @@ */ #define TEKEN_UTF8 #endif +/* Emulate cons25-like behaviour. */ +#define TEKEN_CONS25 #ifdef TEKEN_UTF8 typedef uint32_t teken_char_t; Modified: head/sys/dev/syscons/teken/teken_demo.c ============================================================================== --- head/sys/dev/syscons/teken/teken_demo.c Sat Jan 3 19:38:47 2009 (r186728) +++ head/sys/dev/syscons/teken/teken_demo.c Sat Jan 3 22:51:54 2009 (r186729) @@ -70,7 +70,7 @@ struct pixel { }; #define NCOLS 80 -#define NROWS 24 +#define NROWS 25 struct pixel buffer[NCOLS][NROWS]; static int ptfd; @@ -279,7 +279,7 @@ main(int argc __unused, char *argv[] __u perror("forkpty"); exit(1); case 0: - setenv("TERM", "xterm-color", 1); + setenv("TERM", "cons25", 1); setenv("LC_CTYPE", "UTF-8", 0); execlp("zsh", "-zsh", NULL); execlp("bash", "-bash", NULL); Modified: head/sys/dev/syscons/teken/teken_subr.h ============================================================================== --- head/sys/dev/syscons/teken/teken_subr.h Sat Jan 3 19:38:47 2009 (r186728) +++ head/sys/dev/syscons/teken/teken_subr.h Sat Jan 3 22:51:54 2009 (r186729) @@ -250,6 +250,8 @@ teken_subr_cursor_backward_tabulation(te if (teken_tab_isset(t, t->t_cursor.tp_col)) ntabs--; } while (ntabs > 0); + + teken_funcs_cursor(t); } static void @@ -291,6 +293,8 @@ teken_subr_cursor_forward_tabulation(tek if (teken_tab_isset(t, t->t_cursor.tp_col)) ntabs--; } while (ntabs > 0); + + teken_funcs_cursor(t); } static void @@ -527,6 +531,10 @@ teken_subr_horizontal_position_absolute( static void teken_subr_horizontal_tab(teken_t *t) { +#ifdef TEKEN_CONS25 + + teken_subr_cursor_forward_tabulation(t, 1); +#else /* !TEKEN_CONS25 */ teken_rect_t tr; tr.tr_begin = t->t_cursor; @@ -537,6 +545,7 @@ teken_subr_horizontal_tab(teken_t *t) /* Blank region that we skipped. */ if (tr.tr_end.tp_col > tr.tr_begin.tp_col) teken_funcs_fill(t, &tr, BLANK, &t->t_curattr); +#endif /* TEKEN_CONS25 */ } static void @@ -708,6 +717,22 @@ teken_subr_regular_character(teken_t *t, if (width <= 0) return; +#ifdef TEKEN_CONS25 + teken_subr_do_putchar(t, &t->t_cursor, c, width); + t->t_cursor.tp_col += width; + + if (t->t_cursor.tp_col >= t->t_winsize.tp_col) { + if (t->t_cursor.tp_row == t->t_scrollreg.ts_end - 1) { + /* Perform scrolling. */ + teken_subr_do_scroll(t, 1); + } else { + /* No scrolling needed. */ + if (t->t_cursor.tp_row < t->t_winsize.tp_row - 1) + t->t_cursor.tp_row++; + } + t->t_cursor.tp_col = 0; + } +#else /* !TEKEN_CONS25 */ if (t->t_cursor.tp_col == t->t_winsize.tp_col - 1 && (t->t_stateflags & (TS_WRAPPED|TS_AUTOWRAP)) == (TS_WRAPPED|TS_AUTOWRAP)) { @@ -752,6 +777,7 @@ teken_subr_regular_character(teken_t *t, t->t_stateflags &= ~TS_WRAPPED; } } +#endif /* TEKEN_CONS25 */ teken_funcs_cursor(t); } From alfred at FreeBSD.org Sun Jan 4 00:12:03 2009 From: alfred at FreeBSD.org (Alfred Perlstein) Date: Sun Jan 4 00:12:10 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... Message-ID: <200901040012.n040C2gH040928@svn.freebsd.org> Author: alfred Date: Sun Jan 4 00:12:01 2009 New Revision: 186730 URL: http://svn.freebsd.org/changeset/base/186730 Log: Sync with usb4bsd: src/lib/libusb20/libusb20_desc.c Make "libusb20_desc_foreach()" more readable. src/sys/dev/usb2/controller/*.[ch] src/sys/dev/usb2/core/*.[ch] Implement support for USB power save for all HC's. Implement support for Big-endian EHCI. Move Huawei quirks back into "u3g" driver. Improve device enumeration. src/sys/dev/usb2/ethernet/*[ch] Patches for supporting new AXE Gigabit chipset. src/sys/dev/usb2/serial/*[ch] Fix IOCTL return code. src/sys/dev/usb2/wlan/*[ch] Sync with old USB stack. Submitted by: hps Added: head/sys/modules/usb2/serial_3g/ head/sys/modules/usb2/serial_3g/Makefile (contents, props changed) Modified: head/lib/libusb20/libusb20_desc.c head/sys/dev/usb2/controller/at91dci.c head/sys/dev/usb2/controller/ehci2.c head/sys/dev/usb2/controller/ehci2.h head/sys/dev/usb2/controller/musb2_otg.c head/sys/dev/usb2/controller/ohci2.c head/sys/dev/usb2/controller/uhci2.c head/sys/dev/usb2/controller/uhci2.h head/sys/dev/usb2/controller/usb2_bus.h head/sys/dev/usb2/controller/usb2_controller.c head/sys/dev/usb2/controller/usb2_controller.h head/sys/dev/usb2/controller/uss820dci.c head/sys/dev/usb2/core/usb2_busdma.c head/sys/dev/usb2/core/usb2_core.h head/sys/dev/usb2/core/usb2_device.c head/sys/dev/usb2/core/usb2_device.h head/sys/dev/usb2/core/usb2_dynamic.c head/sys/dev/usb2/core/usb2_dynamic.h head/sys/dev/usb2/core/usb2_generic.c head/sys/dev/usb2/core/usb2_handle_request.c head/sys/dev/usb2/core/usb2_hub.c head/sys/dev/usb2/core/usb2_hub.h head/sys/dev/usb2/core/usb2_msctest.c head/sys/dev/usb2/core/usb2_msctest.h head/sys/dev/usb2/core/usb2_request.c head/sys/dev/usb2/core/usb2_request.h head/sys/dev/usb2/core/usb2_transfer.c head/sys/dev/usb2/core/usb2_transfer.h head/sys/dev/usb2/ethernet/if_axe2.c head/sys/dev/usb2/ethernet/if_axe2_reg.h head/sys/dev/usb2/image/uscanner2.c head/sys/dev/usb2/include/usb2_devid.h head/sys/dev/usb2/include/usb2_devtable.h head/sys/dev/usb2/include/usb2_ioctl.h head/sys/dev/usb2/include/usb2_standard.h head/sys/dev/usb2/serial/u3g2.c head/sys/dev/usb2/serial/uchcom2.c head/sys/dev/usb2/serial/uftdi2.c head/sys/dev/usb2/serial/uplcom2.c head/sys/dev/usb2/serial/uvscom2.c head/sys/dev/usb2/sound/uaudio2.c head/sys/dev/usb2/storage/umass2.c head/sys/dev/usb2/storage/ustorage2_fs.c head/sys/dev/usb2/wlan/if_ural2.c head/sys/dev/usb2/wlan/if_zyd2.c head/sys/dev/usb2/wlan/if_zyd2_reg.h head/sys/modules/usb2/Makefile Modified: head/lib/libusb20/libusb20_desc.c ============================================================================== --- head/lib/libusb20/libusb20_desc.c Sat Jan 3 22:51:54 2009 (r186729) +++ head/lib/libusb20/libusb20_desc.c Sun Jan 4 00:12:01 2009 (r186730) @@ -238,23 +238,37 @@ const uint8_t * libusb20_desc_foreach(const struct libusb20_me_struct *pdesc, const uint8_t *psubdesc) { - const void *end; + const uint8_t *start; + const uint8_t *end; + const uint8_t *desc_next; - if (pdesc == NULL) { + /* be NULL safe */ + if (pdesc == NULL) return (NULL); - } - end = LIBUSB20_ADD_BYTES(pdesc->ptr, pdesc->len); - if (psubdesc == NULL) { - psubdesc = LIBUSB20_ADD_BYTES(pdesc->ptr, 0); - } else { - psubdesc = LIBUSB20_ADD_BYTES(psubdesc, psubdesc[0]); - } - return (((((const void *)psubdesc) >= ((void *)(pdesc->ptr))) && - (((const void *)psubdesc) < end) && - (LIBUSB20_ADD_BYTES(psubdesc, psubdesc[0]) >= ((void *)(pdesc->ptr))) && - (LIBUSB20_ADD_BYTES(psubdesc, psubdesc[0]) <= end) && - (psubdesc[0] >= 3)) ? psubdesc : NULL); + start = (const uint8_t *)pdesc->ptr; + end = LIBUSB20_ADD_BYTES(start, pdesc->len); + + /* get start of next descriptor */ + if (psubdesc == NULL) + psubdesc = start; + else + psubdesc = psubdesc + psubdesc[0]; + + /* check that the next USB descriptor is within the range */ + if ((psubdesc < start) || (psubdesc >= end)) + return (NULL); /* out of range, or EOD */ + + /* check start of the second next USB descriptor, if any */ + desc_next = psubdesc + psubdesc[0]; + if ((desc_next < start) || (desc_next > end)) + return (NULL); /* out of range */ + + /* check minimum descriptor length */ + if (psubdesc[0] < 3) + return (NULL); /* too short descriptor */ + + return (psubdesc); /* return start of next descriptor */ } /*------------------------------------------------------------------------* Modified: head/sys/dev/usb2/controller/at91dci.c ============================================================================== --- head/sys/dev/usb2/controller/at91dci.c Sat Jan 3 22:51:54 2009 (r186729) +++ head/sys/dev/usb2/controller/at91dci.c Sun Jan 4 00:12:01 2009 (r186730) @@ -261,42 +261,28 @@ at91dci_pull_down(struct at91dci_softc * } static void -at91dci_wakeup_peer(struct at91dci_softc *sc) +at91dci_wakeup_peer(struct usb2_xfer *xfer) { - uint32_t temp; + struct at91dci_softc *sc = xfer->usb2_sc; + uint8_t use_polling; if (!(sc->sc_flags.status_suspend)) { return; } - temp = AT91_UDP_READ_4(sc, AT91_UDP_GSTATE); - - if (!(temp & AT91_UDP_GSTATE_ESR)) { - return; - } - AT91_UDP_WRITE_4(sc, AT91_UDP_GSTATE, temp); -} - -static void -at91dci_rem_wakeup_set(struct usb2_device *udev, uint8_t is_on) -{ - struct at91dci_softc *sc; - uint32_t temp; - - DPRINTFN(5, "is_on=%u\n", is_on); - - USB_BUS_LOCK_ASSERT(udev->bus, MA_OWNED); - - sc = AT9100_DCI_BUS2SC(udev->bus); + use_polling = mtx_owned(xfer->xfer_mtx) ? 1 : 0; - temp = AT91_UDP_READ_4(sc, AT91_UDP_GSTATE); + AT91_UDP_WRITE_4(sc, AT91_UDP_GSTATE, AT91_UDP_GSTATE_ESR); - if (is_on) { - temp |= AT91_UDP_GSTATE_ESR; + /* wait 8 milliseconds */ + if (use_polling) { + /* polling */ + DELAY(8000); } else { - temp &= ~AT91_UDP_GSTATE_ESR; + /* Wait for reset to complete. */ + usb2_pause_mtx(&sc->sc_bus.bus_mtx, 8); } - AT91_UDP_WRITE_4(sc, AT91_UDP_GSTATE, temp); + AT91_UDP_WRITE_4(sc, AT91_UDP_GSTATE, 0); } static void @@ -2120,7 +2106,7 @@ tr_handle_clear_port_feature: switch (value) { case UHF_PORT_SUSPEND: - at91dci_wakeup_peer(sc); + at91dci_wakeup_peer(xfer); break; case UHF_PORT_ENABLE: @@ -2492,5 +2478,4 @@ struct usb2_bus_methods at91dci_bus_meth .set_stall = &at91dci_set_stall, .clear_stall = &at91dci_clear_stall, .vbus_interrupt = &at91dci_vbus_interrupt, - .rem_wakeup_set = &at91dci_rem_wakeup_set, }; Modified: head/sys/dev/usb2/controller/ehci2.c ============================================================================== --- head/sys/dev/usb2/controller/ehci2.c Sat Jan 3 22:51:54 2009 (r186729) +++ head/sys/dev/usb2/controller/ehci2.c Sun Jan 4 00:12:01 2009 (r186730) @@ -84,7 +84,7 @@ SYSCTL_INT(_hw_usb2_ehci, OID_AUTO, no_h &ehcinohighspeed, 0, "Disable High Speed USB"); static void ehci_dump_regs(ehci_softc_t *sc); -static void ehci_dump_sqh(ehci_qh_t *sqh); +static void ehci_dump_sqh(ehci_softc_t *sc, ehci_qh_t *sqh); #endif @@ -101,7 +101,7 @@ extern struct usb2_pipe_methods ehci_roo static usb2_config_td_command_t ehci_root_ctrl_task; static void ehci_do_poll(struct usb2_bus *bus); -static void ehci_root_ctrl_poll(struct ehci_softc *sc); +static void ehci_root_ctrl_poll(ehci_softc_t *sc); static void ehci_device_done(struct usb2_xfer *xfer, usb2_error_t error); static uint8_t ehci_check_transfer(struct usb2_xfer *xfer); static void ehci_timeout(void *arg); @@ -110,6 +110,7 @@ static usb2_sw_transfer_func_t ehci_root static usb2_sw_transfer_func_t ehci_root_ctrl_done; struct ehci_std_temp { + ehci_softc_t *sc; struct usb2_page_cache *pc; ehci_qtd_t *td; ehci_qtd_t *td_next; @@ -123,10 +124,27 @@ struct ehci_std_temp { uint8_t short_frames_ok; }; +/* + * Byte-order conversion functions. + */ +static uint32_t +htoehci32(ehci_softc_t *sc, const uint32_t v) +{ + return ((sc->sc_flags & EHCI_SCFLG_BIGEDESC) ? + htobe32(v) : htole32(v)); +} + +static uint32_t +ehci32toh(ehci_softc_t *sc, const uint32_t v) +{ + return ((sc->sc_flags & EHCI_SCFLG_BIGEDESC) ? + be32toh(v) : le32toh(v)); +} + void ehci_iterate_hw_softc(struct usb2_bus *bus, usb2_bus_mem_sub_cb_t *cb) { - struct ehci_softc *sc = EHCI_BUS2SC(bus); + ehci_softc_t *sc = EHCI_BUS2SC(bus); uint32_t i; cb(bus, &sc->sc_hw.pframes_pc, &sc->sc_hw.pframes_pg, @@ -280,21 +298,21 @@ ehci_init(ehci_softc_t *sc) sc->sc_intr_p_last[i] = qh; qh->qh_self = - htole32(buf_res.physaddr) | - htole32(EHCI_LINK_QH); + htoehci32(sc, buf_res.physaddr) | + htoehci32(sc, EHCI_LINK_QH); qh->qh_endp = - htole32(EHCI_QH_SET_EPS(EHCI_QH_SPEED_HIGH)); + htoehci32(sc, EHCI_QH_SET_EPS(EHCI_QH_SPEED_HIGH)); qh->qh_endphub = - htole32(EHCI_QH_SET_MULT(1)); + htoehci32(sc, EHCI_QH_SET_MULT(1)); qh->qh_curqtd = 0; qh->qh_qtd.qtd_next = - htole32(EHCI_LINK_TERMINATE); + htoehci32(sc, EHCI_LINK_TERMINATE); qh->qh_qtd.qtd_altnext = - htole32(EHCI_LINK_TERMINATE); + htoehci32(sc, EHCI_LINK_TERMINATE); qh->qh_qtd.qtd_status = - htole32(EHCI_QTD_HALTED); + htoehci32(sc, EHCI_QTD_HALTED); } /* @@ -329,7 +347,7 @@ ehci_init(ehci_softc_t *sc) qh = sc->sc_intr_p_last[0]; /* the last (1ms) QH terminates */ - qh->qh_link = htole32(EHCI_LINK_TERMINATE); + qh->qh_link = htoehci32(sc, EHCI_LINK_TERMINATE); } for (i = 0; i < EHCI_VIRTUAL_FRAMELIST_COUNT; i++) { ehci_sitd_t *sitd; @@ -350,11 +368,11 @@ ehci_init(ehci_softc_t *sc) /* initialize full speed isochronous */ sitd->sitd_self = - htole32(buf_res.physaddr) | - htole32(EHCI_LINK_SITD); + htoehci32(sc, buf_res.physaddr) | + htoehci32(sc, EHCI_LINK_SITD); sitd->sitd_back = - htole32(EHCI_LINK_TERMINATE); + htoehci32(sc, EHCI_LINK_TERMINATE); sitd->sitd_next = sc->sc_intr_p_last[i | (EHCI_VIRTUAL_FRAMELIST_COUNT / 2)]->qh_self; @@ -375,8 +393,8 @@ ehci_init(ehci_softc_t *sc) /* initialize high speed isochronous */ itd->itd_self = - htole32(buf_res.physaddr) | - htole32(EHCI_LINK_ITD); + htoehci32(sc, buf_res.physaddr) | + htoehci32(sc, EHCI_LINK_ITD); itd->itd_next = sitd->sitd_self; @@ -421,20 +439,20 @@ ehci_init(ehci_softc_t *sc) /* init dummy QH that starts the async list */ qh->qh_self = - htole32(buf_res.physaddr) | - htole32(EHCI_LINK_QH); + htoehci32(sc, buf_res.physaddr) | + htoehci32(sc, EHCI_LINK_QH); /* fill the QH */ qh->qh_endp = - htole32(EHCI_QH_SET_EPS(EHCI_QH_SPEED_HIGH) | EHCI_QH_HRECL); - qh->qh_endphub = htole32(EHCI_QH_SET_MULT(1)); + htoehci32(sc, EHCI_QH_SET_EPS(EHCI_QH_SPEED_HIGH) | EHCI_QH_HRECL); + qh->qh_endphub = htoehci32(sc, EHCI_QH_SET_MULT(1)); qh->qh_link = qh->qh_self; qh->qh_curqtd = 0; /* fill the overlay qTD */ - qh->qh_qtd.qtd_next = htole32(EHCI_LINK_TERMINATE); - qh->qh_qtd.qtd_altnext = htole32(EHCI_LINK_TERMINATE); - qh->qh_qtd.qtd_status = htole32(EHCI_QTD_HALTED); + qh->qh_qtd.qtd_next = htoehci32(sc, EHCI_LINK_TERMINATE); + qh->qh_qtd.qtd_altnext = htoehci32(sc, EHCI_LINK_TERMINATE); + qh->qh_qtd.qtd_status = htoehci32(sc, EHCI_QTD_HALTED); } /* flush all cache into memory */ @@ -442,7 +460,7 @@ ehci_init(ehci_softc_t *sc) #if USB_DEBUG if (ehcidebug) { - ehci_dump_sqh(sc->sc_async_p_last); + ehci_dump_sqh(sc, sc->sc_async_p_last); } #endif @@ -490,7 +508,7 @@ done: * shut down the controller when the system is going down */ void -ehci_detach(struct ehci_softc *sc) +ehci_detach(ehci_softc_t *sc) { USB_BUS_LOCK(&sc->sc_bus); @@ -510,7 +528,7 @@ ehci_detach(struct ehci_softc *sc) } void -ehci_suspend(struct ehci_softc *sc) +ehci_suspend(ehci_softc_t *sc) { uint32_t cmd; uint32_t hcr; @@ -564,7 +582,7 @@ ehci_suspend(struct ehci_softc *sc) } void -ehci_resume(struct ehci_softc *sc) +ehci_resume(ehci_softc_t *sc) { struct usb2_page_search buf_res; uint32_t cmd; @@ -723,9 +741,9 @@ ehci_dump_regs(ehci_softc_t *sc) } static void -ehci_dump_link(uint32_t link, int type) +ehci_dump_link(ehci_softc_t *sc, uint32_t link, int type) { - link = le32toh(link); + link = ehci32toh(sc, link); printf("0x%08x", link); if (link & EHCI_LINK_TERMINATE) printf(""); @@ -752,16 +770,16 @@ ehci_dump_link(uint32_t link, int type) } static void -ehci_dump_qtd(ehci_qtd_t *qtd) +ehci_dump_qtd(ehci_softc_t *sc, ehci_qtd_t *qtd) { uint32_t s; printf(" next="); - ehci_dump_link(qtd->qtd_next, 0); + ehci_dump_link(sc, qtd->qtd_next, 0); printf(" altnext="); - ehci_dump_link(qtd->qtd_altnext, 0); + ehci_dump_link(sc, qtd->qtd_altnext, 0); printf("\n"); - s = le32toh(qtd->qtd_status); + s = ehci32toh(sc, qtd->qtd_status); printf(" status=0x%08x: toggle=%d bytes=0x%x ioc=%d c_page=0x%x\n", s, EHCI_QTD_GET_TOGGLE(s), EHCI_QTD_GET_BYTES(s), EHCI_QTD_GET_IOC(s), EHCI_QTD_GET_C_PAGE(s)); @@ -778,35 +796,35 @@ ehci_dump_qtd(ehci_qtd_t *qtd) for (s = 0; s < 5; s++) { printf(" buffer[%d]=0x%08x\n", s, - le32toh(qtd->qtd_buffer[s])); + ehci32toh(sc, qtd->qtd_buffer[s])); } for (s = 0; s < 5; s++) { printf(" buffer_hi[%d]=0x%08x\n", s, - le32toh(qtd->qtd_buffer_hi[s])); + ehci32toh(sc, qtd->qtd_buffer_hi[s])); } } static uint8_t -ehci_dump_sqtd(ehci_qtd_t *sqtd) +ehci_dump_sqtd(ehci_softc_t *sc, ehci_qtd_t *sqtd) { uint8_t temp; usb2_pc_cpu_invalidate(sqtd->page_cache); - printf("QTD(%p) at 0x%08x:\n", sqtd, le32toh(sqtd->qtd_self)); - ehci_dump_qtd(sqtd); - temp = (sqtd->qtd_next & htole32(EHCI_LINK_TERMINATE)) ? 1 : 0; + printf("QTD(%p) at 0x%08x:\n", sqtd, ehci32toh(sc, sqtd->qtd_self)); + ehci_dump_qtd(sc, sqtd); + temp = (sqtd->qtd_next & htoehci32(sc, EHCI_LINK_TERMINATE)) ? 1 : 0; return (temp); } static void -ehci_dump_sqtds(ehci_qtd_t *sqtd) +ehci_dump_sqtds(ehci_softc_t *sc, ehci_qtd_t *sqtd) { uint16_t i; uint8_t stop; stop = 0; for (i = 0; sqtd && (i < 20) && !stop; sqtd = sqtd->obj_next, i++) { - stop = ehci_dump_sqtd(sqtd); + stop = ehci_dump_sqtd(sc, sqtd); } if (sqtd) { printf("dump aborted, too many TDs\n"); @@ -814,16 +832,17 @@ ehci_dump_sqtds(ehci_qtd_t *sqtd) } static void -ehci_dump_sqh(ehci_qh_t *qh) +ehci_dump_sqh(ehci_softc_t *sc, ehci_qh_t *qh) { - uint32_t endp, endphub; + uint32_t endp; + uint32_t endphub; usb2_pc_cpu_invalidate(qh->page_cache); - printf("QH(%p) at 0x%08x:\n", qh, le32toh(qh->qh_self) & ~0x1F); + printf("QH(%p) at 0x%08x:\n", qh, ehci32toh(sc, qh->qh_self) & ~0x1F); printf(" link="); - ehci_dump_link(qh->qh_link, 1); + ehci_dump_link(sc, qh->qh_link, 1); printf("\n"); - endp = le32toh(qh->qh_endp); + endp = ehci32toh(sc, qh->qh_endp); printf(" endp=0x%08x\n", endp); printf(" addr=0x%02x inact=%d endpt=%d eps=%d dtc=%d hrecl=%d\n", EHCI_QH_GET_ADDR(endp), EHCI_QH_GET_INACT(endp), @@ -832,90 +851,90 @@ ehci_dump_sqh(ehci_qh_t *qh) printf(" mpl=0x%x ctl=%d nrl=%d\n", EHCI_QH_GET_MPL(endp), EHCI_QH_GET_CTL(endp), EHCI_QH_GET_NRL(endp)); - endphub = le32toh(qh->qh_endphub); + endphub = ehci32toh(sc, qh->qh_endphub); printf(" endphub=0x%08x\n", endphub); printf(" smask=0x%02x cmask=0x%02x huba=0x%02x port=%d mult=%d\n", EHCI_QH_GET_SMASK(endphub), EHCI_QH_GET_CMASK(endphub), EHCI_QH_GET_HUBA(endphub), EHCI_QH_GET_PORT(endphub), EHCI_QH_GET_MULT(endphub)); printf(" curqtd="); - ehci_dump_link(qh->qh_curqtd, 0); + ehci_dump_link(sc, qh->qh_curqtd, 0); printf("\n"); printf("Overlay qTD:\n"); - ehci_dump_qtd((void *)&qh->qh_qtd); + ehci_dump_qtd(sc, (void *)&qh->qh_qtd); } static void -ehci_dump_sitd(ehci_sitd_t *sitd) +ehci_dump_sitd(ehci_softc_t *sc, ehci_sitd_t *sitd) { usb2_pc_cpu_invalidate(sitd->page_cache); - printf("SITD(%p) at 0x%08x\n", sitd, le32toh(sitd->sitd_self) & ~0x1F); - printf(" next=0x%08x\n", le32toh(sitd->sitd_next)); + printf("SITD(%p) at 0x%08x\n", sitd, ehci32toh(sc, sitd->sitd_self) & ~0x1F); + printf(" next=0x%08x\n", ehci32toh(sc, sitd->sitd_next)); printf(" portaddr=0x%08x dir=%s addr=%d endpt=0x%x port=0x%x huba=0x%x\n", - le32toh(sitd->sitd_portaddr), - (sitd->sitd_portaddr & htole32(EHCI_SITD_SET_DIR_IN)) + ehci32toh(sc, sitd->sitd_portaddr), + (sitd->sitd_portaddr & htoehci32(sc, EHCI_SITD_SET_DIR_IN)) ? "in" : "out", - EHCI_SITD_GET_ADDR(le32toh(sitd->sitd_portaddr)), - EHCI_SITD_GET_ENDPT(le32toh(sitd->sitd_portaddr)), - EHCI_SITD_GET_PORT(le32toh(sitd->sitd_portaddr)), - EHCI_SITD_GET_HUBA(le32toh(sitd->sitd_portaddr))); - printf(" mask=0x%08x\n", le32toh(sitd->sitd_mask)); - printf(" status=0x%08x <%s> len=0x%x\n", le32toh(sitd->sitd_status), - (sitd->sitd_status & htole32(EHCI_SITD_ACTIVE)) ? "ACTIVE" : "", - EHCI_SITD_GET_LEN(le32toh(sitd->sitd_status))); + EHCI_SITD_GET_ADDR(ehci32toh(sc, sitd->sitd_portaddr)), + EHCI_SITD_GET_ENDPT(ehci32toh(sc, sitd->sitd_portaddr)), + EHCI_SITD_GET_PORT(ehci32toh(sc, sitd->sitd_portaddr)), + EHCI_SITD_GET_HUBA(ehci32toh(sc, sitd->sitd_portaddr))); + printf(" mask=0x%08x\n", ehci32toh(sc, sitd->sitd_mask)); + printf(" status=0x%08x <%s> len=0x%x\n", ehci32toh(sc, sitd->sitd_status), + (sitd->sitd_status & htoehci32(sc, EHCI_SITD_ACTIVE)) ? "ACTIVE" : "", + EHCI_SITD_GET_LEN(ehci32toh(sc, sitd->sitd_status))); printf(" back=0x%08x, bp=0x%08x,0x%08x,0x%08x,0x%08x\n", - le32toh(sitd->sitd_back), - le32toh(sitd->sitd_bp[0]), - le32toh(sitd->sitd_bp[1]), - le32toh(sitd->sitd_bp_hi[0]), - le32toh(sitd->sitd_bp_hi[1])); + ehci32toh(sc, sitd->sitd_back), + ehci32toh(sc, sitd->sitd_bp[0]), + ehci32toh(sc, sitd->sitd_bp[1]), + ehci32toh(sc, sitd->sitd_bp_hi[0]), + ehci32toh(sc, sitd->sitd_bp_hi[1])); } static void -ehci_dump_itd(ehci_itd_t *itd) +ehci_dump_itd(ehci_softc_t *sc, ehci_itd_t *itd) { usb2_pc_cpu_invalidate(itd->page_cache); - printf("ITD(%p) at 0x%08x\n", itd, le32toh(itd->itd_self) & ~0x1F); - printf(" next=0x%08x\n", le32toh(itd->itd_next)); - printf(" status[0]=0x%08x; <%s>\n", le32toh(itd->itd_status[0]), - (itd->itd_status[0] & htole32(EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); - printf(" status[1]=0x%08x; <%s>\n", le32toh(itd->itd_status[1]), - (itd->itd_status[1] & htole32(EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); - printf(" status[2]=0x%08x; <%s>\n", le32toh(itd->itd_status[2]), - (itd->itd_status[2] & htole32(EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); - printf(" status[3]=0x%08x; <%s>\n", le32toh(itd->itd_status[3]), - (itd->itd_status[3] & htole32(EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); - printf(" status[4]=0x%08x; <%s>\n", le32toh(itd->itd_status[4]), - (itd->itd_status[4] & htole32(EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); - printf(" status[5]=0x%08x; <%s>\n", le32toh(itd->itd_status[5]), - (itd->itd_status[5] & htole32(EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); - printf(" status[6]=0x%08x; <%s>\n", le32toh(itd->itd_status[6]), - (itd->itd_status[6] & htole32(EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); - printf(" status[7]=0x%08x; <%s>\n", le32toh(itd->itd_status[7]), - (itd->itd_status[7] & htole32(EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); - printf(" bp[0]=0x%08x\n", le32toh(itd->itd_bp[0])); + printf("ITD(%p) at 0x%08x\n", itd, ehci32toh(sc, itd->itd_self) & ~0x1F); + printf(" next=0x%08x\n", ehci32toh(sc, itd->itd_next)); + printf(" status[0]=0x%08x; <%s>\n", ehci32toh(sc, itd->itd_status[0]), + (itd->itd_status[0] & htoehci32(sc, EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); + printf(" status[1]=0x%08x; <%s>\n", ehci32toh(sc, itd->itd_status[1]), + (itd->itd_status[1] & htoehci32(sc, EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); + printf(" status[2]=0x%08x; <%s>\n", ehci32toh(sc, itd->itd_status[2]), + (itd->itd_status[2] & htoehci32(sc, EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); + printf(" status[3]=0x%08x; <%s>\n", ehci32toh(sc, itd->itd_status[3]), + (itd->itd_status[3] & htoehci32(sc, EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); + printf(" status[4]=0x%08x; <%s>\n", ehci32toh(sc, itd->itd_status[4]), + (itd->itd_status[4] & htoehci32(sc, EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); + printf(" status[5]=0x%08x; <%s>\n", ehci32toh(sc, itd->itd_status[5]), + (itd->itd_status[5] & htoehci32(sc, EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); + printf(" status[6]=0x%08x; <%s>\n", ehci32toh(sc, itd->itd_status[6]), + (itd->itd_status[6] & htoehci32(sc, EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); + printf(" status[7]=0x%08x; <%s>\n", ehci32toh(sc, itd->itd_status[7]), + (itd->itd_status[7] & htoehci32(sc, EHCI_ITD_ACTIVE)) ? "ACTIVE" : ""); + printf(" bp[0]=0x%08x\n", ehci32toh(sc, itd->itd_bp[0])); printf(" addr=0x%02x; endpt=0x%01x\n", - EHCI_ITD_GET_ADDR(le32toh(itd->itd_bp[0])), - EHCI_ITD_GET_ENDPT(le32toh(itd->itd_bp[0]))); - printf(" bp[1]=0x%08x\n", le32toh(itd->itd_bp[1])); + EHCI_ITD_GET_ADDR(ehci32toh(sc, itd->itd_bp[0])), + EHCI_ITD_GET_ENDPT(ehci32toh(sc, itd->itd_bp[0]))); + printf(" bp[1]=0x%08x\n", ehci32toh(sc, itd->itd_bp[1])); printf(" dir=%s; mpl=0x%02x\n", - (le32toh(itd->itd_bp[1]) & EHCI_ITD_SET_DIR_IN) ? "in" : "out", - EHCI_ITD_GET_MPL(le32toh(itd->itd_bp[1]))); + (ehci32toh(sc, itd->itd_bp[1]) & EHCI_ITD_SET_DIR_IN) ? "in" : "out", + EHCI_ITD_GET_MPL(ehci32toh(sc, itd->itd_bp[1]))); printf(" bp[2..6]=0x%08x,0x%08x,0x%08x,0x%08x,0x%08x\n", - le32toh(itd->itd_bp[2]), - le32toh(itd->itd_bp[3]), - le32toh(itd->itd_bp[4]), - le32toh(itd->itd_bp[5]), - le32toh(itd->itd_bp[6])); + ehci32toh(sc, itd->itd_bp[2]), + ehci32toh(sc, itd->itd_bp[3]), + ehci32toh(sc, itd->itd_bp[4]), + ehci32toh(sc, itd->itd_bp[5]), + ehci32toh(sc, itd->itd_bp[6])); printf(" bp_hi=0x%08x,0x%08x,0x%08x,0x%08x,\n" " 0x%08x,0x%08x,0x%08x\n", - le32toh(itd->itd_bp_hi[0]), - le32toh(itd->itd_bp_hi[1]), - le32toh(itd->itd_bp_hi[2]), - le32toh(itd->itd_bp_hi[3]), - le32toh(itd->itd_bp_hi[4]), - le32toh(itd->itd_bp_hi[5]), - le32toh(itd->itd_bp_hi[6])); + ehci32toh(sc, itd->itd_bp_hi[0]), + ehci32toh(sc, itd->itd_bp_hi[1]), + ehci32toh(sc, itd->itd_bp_hi[2]), + ehci32toh(sc, itd->itd_bp_hi[3]), + ehci32toh(sc, itd->itd_bp_hi[4]), + ehci32toh(sc, itd->itd_bp_hi[5]), + ehci32toh(sc, itd->itd_bp_hi[6])); } static void @@ -936,12 +955,12 @@ ehci_dump_isoc(ehci_softc_t *sc) sitd = sc->sc_isoc_fs_p_last[pos]; while (itd && max && max--) { - ehci_dump_itd(itd); + ehci_dump_itd(sc, itd); itd = itd->prev; } while (sitd && max && max--) { - ehci_dump_sitd(sitd); + ehci_dump_sitd(sc, sitd); sitd = sitd->prev; } } @@ -1022,6 +1041,11 @@ _ehci_append_qh(ehci_qh_t *sqh, ehci_qh_ { DPRINTFN(11, "%p to %p\n", sqh, last); + if (sqh->prev != NULL) { + /* should not happen */ + DPRINTFN(0, "QH already linked!\n"); + return (last); + } /* (sc->sc_bus.mtx) must be locked */ sqh->next = last->next; @@ -1040,12 +1064,6 @@ _ehci_append_qh(ehci_qh_t *sqh, ehci_qh_ usb2_pc_cpu_flush(last->page_cache); -#if USB_DEBUG - if (ehcidebug > 5) { - printf("%s:\n", __FUNCTION__); - ehci_dump_sqh(sqh); - } -#endif return (sqh); } @@ -1109,14 +1127,6 @@ _ehci_remove_qh(ehci_qh_t *sqh, ehci_qh_ sqh->next->prev = sqh->prev; usb2_pc_cpu_flush(sqh->next->page_cache); } - /* - * set the Terminate-bit in the e_next of the QH, in case - * the transferred packet was short so that the QH still - * points at the last used TD - */ - - sqh->qh_qtd.qtd_next = htole32(EHCI_LINK_TERMINATE); - last = ((last == sqh) ? sqh->prev : last); sqh->prev = 0; @@ -1129,6 +1139,7 @@ _ehci_remove_qh(ehci_qh_t *sqh, ehci_qh_ static usb2_error_t ehci_non_isoc_done_sub(struct usb2_xfer *xfer) { + ehci_softc_t *sc = xfer->usb2_sc; ehci_qtd_t *td; ehci_qtd_t *td_alt_next; uint32_t status; @@ -1140,7 +1151,7 @@ ehci_non_isoc_done_sub(struct usb2_xfer while (1) { usb2_pc_cpu_invalidate(td->page_cache); - status = le32toh(td->qtd_status); + status = ehci32toh(sc, td->qtd_status); len = EHCI_QTD_GET_BYTES(status); @@ -1232,7 +1243,9 @@ ehci_non_isoc_done(struct usb2_xfer *xfe #if USB_DEBUG if (ehcidebug > 10) { - ehci_dump_sqtds(xfer->td_transfer_first); + ehci_softc_t *sc = xfer->usb2_sc; + + ehci_dump_sqtds(sc, xfer->td_transfer_first); } #endif @@ -1282,6 +1295,7 @@ static uint8_t ehci_check_transfer(struct usb2_xfer *xfer) { struct usb2_pipe_methods *methods = xfer->pipe->methods; + ehci_softc_t *sc = xfer->usb2_sc; uint32_t status; @@ -1294,13 +1308,13 @@ ehci_check_transfer(struct usb2_xfer *xf td = xfer->td_transfer_last; usb2_pc_cpu_invalidate(td->page_cache); - status = le32toh(td->sitd_status); + status = ehci32toh(sc, td->sitd_status); /* also check if first is complete */ td = xfer->td_transfer_first; usb2_pc_cpu_invalidate(td->page_cache); - status |= le32toh(td->sitd_status); + status |= ehci32toh(sc, td->sitd_status); if (!(status & EHCI_SITD_ACTIVE)) { ehci_device_done(xfer, USB_ERR_NORMAL_COMPLETION); @@ -1329,7 +1343,7 @@ ehci_check_transfer(struct usb2_xfer *xf td->itd_status[6] | td->itd_status[7]; /* if no transactions are active we continue */ - if (!(status & htole32(EHCI_ITD_ACTIVE))) { + if (!(status & htoehci32(sc, EHCI_ITD_ACTIVE))) { ehci_device_done(xfer, USB_ERR_NORMAL_COMPLETION); goto transferred; } @@ -1346,7 +1360,7 @@ ehci_check_transfer(struct usb2_xfer *xf while (1) { usb2_pc_cpu_invalidate(td->page_cache); - status = le32toh(td->qtd_status); + status = ehci32toh(sc, td->qtd_status); /* * if there is an active TD the transfer isn't done @@ -1520,7 +1534,7 @@ ehci_timeout(void *arg) static void ehci_do_poll(struct usb2_bus *bus) { - struct ehci_softc *sc = EHCI_BUS2SC(bus); + ehci_softc_t *sc = EHCI_BUS2SC(bus); USB_BUS_LOCK(&sc->sc_bus); ehci_interrupt_poll(sc); @@ -1542,7 +1556,7 @@ ehci_setup_standard_chain_sub(struct ehc uint8_t shortpkt_old; uint8_t precompute; - qtd_altnext = htole32(EHCI_LINK_TERMINATE); + qtd_altnext = htoehci32(temp->sc, EHCI_LINK_TERMINATE); td_alt_next = NULL; buf_offset = 0; shortpkt_old = temp->shortpkt; @@ -1599,7 +1613,8 @@ restart: /* fill out current TD */ td->qtd_status = - temp->qtd_status | htole32(EHCI_QTD_SET_BYTES(average)); + temp->qtd_status | + htoehci32(temp->sc, EHCI_QTD_SET_BYTES(average)); if (average == 0) { @@ -1607,7 +1622,8 @@ restart: /* update data toggle, ZLP case */ - temp->qtd_status ^= htole32(EHCI_QTD_TOGGLE_MASK); + temp->qtd_status ^= + htoehci32(temp->sc, EHCI_QTD_TOGGLE_MASK); } td->len = 0; @@ -1627,7 +1643,8 @@ restart: if (((average + temp->max_frame_size - 1) / temp->max_frame_size) & 1) { - temp->qtd_status ^= htole32(EHCI_QTD_TOGGLE_MASK); + temp->qtd_status ^= + htoehci32(temp->sc, EHCI_QTD_TOGGLE_MASK); } } td->len = average; @@ -1639,7 +1656,8 @@ restart: /* fill out buffer pointers */ usb2_get_page(temp->pc, buf_offset, &buf_res); - td->qtd_buffer[0] = htole32(buf_res.physaddr); + td->qtd_buffer[0] = + htoehci32(temp->sc, buf_res.physaddr); td->qtd_buffer_hi[0] = 0; x = 1; @@ -1648,7 +1666,9 @@ restart: average -= EHCI_PAGE_SIZE; buf_offset += EHCI_PAGE_SIZE; usb2_get_page(temp->pc, buf_offset, &buf_res); - td->qtd_buffer[x] = htole32(buf_res.physaddr & (~0xFFF)); + td->qtd_buffer[x] = + htoehci32(temp->sc, + buf_res.physaddr & (~0xFFF)); td->qtd_buffer_hi[x] = 0; x++; } @@ -1663,7 +1683,9 @@ restart: */ buf_offset += average; usb2_get_page(temp->pc, buf_offset - 1, &buf_res); - td->qtd_buffer[x] = htole32(buf_res.physaddr & (~0xFFF)); + td->qtd_buffer[x] = + htoehci32(temp->sc, + buf_res.physaddr & (~0xFFF)); td->qtd_buffer_hi[x] = 0; } @@ -1717,6 +1739,7 @@ ehci_setup_standard_chain(struct usb2_xf temp.average = xfer->max_usb2_frame_size; temp.max_frame_size = xfer->max_frame_size; + temp.sc = xfer->usb2_sc; /* toggle the DMA set we are using */ xfer->flags_int.curr_dma_set ^= 1; @@ -1736,7 +1759,8 @@ ehci_setup_standard_chain(struct usb2_xf if (xfer->flags_int.control_xfr) { if (xfer->pipe->toggle_next) { /* DATA1 is next */ - temp.qtd_status |= htole32(EHCI_QTD_SET_TOGGLE(1)); + temp.qtd_status |= + htoehci32(temp.sc, EHCI_QTD_SET_TOGGLE(1)); } temp.auto_data_toggle = 0; } else { @@ -1745,14 +1769,16 @@ ehci_setup_standard_chain(struct usb2_xf if (usb2_get_speed(xfer->udev) != USB_SPEED_HIGH) { /* max 3 retries */ - temp.qtd_status |= htole32(EHCI_QTD_SET_CERR(3)); + temp.qtd_status |= + htoehci32(temp.sc, EHCI_QTD_SET_CERR(3)); } /* check if we should prepend a setup message */ if (xfer->flags_int.control_xfr) { if (xfer->flags_int.control_hdr) { - temp.qtd_status &= htole32(EHCI_QTD_SET_CERR(3)); + temp.qtd_status &= + htoehci32(temp.sc, EHCI_QTD_SET_CERR(3)); temp.qtd_status |= htole32 (EHCI_QTD_ACTIVE | EHCI_QTD_SET_PID(EHCI_QTD_PID_SETUP) | @@ -1783,7 +1809,8 @@ ehci_setup_standard_chain(struct usb2_xf } /* keep previous data toggle and error count */ - temp.qtd_status &= htole32(EHCI_QTD_SET_CERR(3) | + temp.qtd_status &= + htoehci32(temp.sc, EHCI_QTD_SET_CERR(3) | EHCI_QTD_SET_TOGGLE(1)); if (temp.len == 0) { @@ -1803,9 +1830,9 @@ ehci_setup_standard_chain(struct usb2_xf temp.qtd_status |= (UE_GET_DIR(xfer->endpoint) == UE_DIR_IN) ? - htole32(EHCI_QTD_ACTIVE | + htoehci32(temp.sc, EHCI_QTD_ACTIVE | EHCI_QTD_SET_PID(EHCI_QTD_PID_IN)) : - htole32(EHCI_QTD_ACTIVE | + htoehci32(temp.sc, EHCI_QTD_ACTIVE | EHCI_QTD_SET_PID(EHCI_QTD_PID_OUT)); ehci_setup_standard_chain_sub(&temp); @@ -1821,14 +1848,14 @@ ehci_setup_standard_chain(struct usb2_xf * direction. */ - temp.qtd_status &= htole32(EHCI_QTD_SET_CERR(3) | + temp.qtd_status &= htoehci32(temp.sc, EHCI_QTD_SET_CERR(3) | EHCI_QTD_SET_TOGGLE(1)); temp.qtd_status |= (UE_GET_DIR(xfer->endpoint) == UE_DIR_OUT) ? - htole32(EHCI_QTD_ACTIVE | + htoehci32(temp.sc, EHCI_QTD_ACTIVE | EHCI_QTD_SET_PID(EHCI_QTD_PID_IN) | EHCI_QTD_SET_TOGGLE(1)) : - htole32(EHCI_QTD_ACTIVE | + htoehci32(temp.sc, EHCI_QTD_ACTIVE | EHCI_QTD_SET_PID(EHCI_QTD_PID_OUT) | EHCI_QTD_SET_TOGGLE(1)); @@ -1841,9 +1868,9 @@ ehci_setup_standard_chain(struct usb2_xf td = temp.td; /* the last TD terminates the transfer: */ - td->qtd_next = htole32(EHCI_LINK_TERMINATE); - td->qtd_altnext = htole32(EHCI_LINK_TERMINATE); - td->qtd_status |= htole32(EHCI_QTD_IOC); + td->qtd_next = htoehci32(temp.sc, EHCI_LINK_TERMINATE); + td->qtd_altnext = htoehci32(temp.sc, EHCI_LINK_TERMINATE); + td->qtd_status |= htoehci32(temp.sc, EHCI_QTD_IOC); usb2_pc_cpu_flush(td->page_cache); @@ -1855,7 +1882,8 @@ ehci_setup_standard_chain(struct usb2_xf if (ehcidebug > 8) { DPRINTF("nexttog=%d; data before transfer:\n", xfer->pipe->toggle_next); - ehci_dump_sqtds(xfer->td_transfer_first); + ehci_dump_sqtds(temp.sc, + xfer->td_transfer_first); } #endif @@ -1892,7 +1920,7 @@ ehci_setup_standard_chain(struct usb2_xf } } - qh->qh_endp = htole32(qh_endp); + qh->qh_endp = htoehci32(temp.sc, qh_endp); qh_endphub = (EHCI_QH_SET_MULT(xfer->max_packet_count & 3) | @@ -1901,38 +1929,42 @@ ehci_setup_standard_chain(struct usb2_xf EHCI_QH_SET_HUBA(xfer->udev->hs_hub_addr) | EHCI_QH_SET_PORT(xfer->udev->hs_port_no)); - qh->qh_endphub = htole32(qh_endphub); - qh->qh_curqtd = htole32(0); + qh->qh_endphub = htoehci32(temp.sc, qh_endphub); + qh->qh_curqtd = htoehci32(temp.sc, 0); /* fill the overlay qTD */ - qh->qh_qtd.qtd_status = htole32(0); + qh->qh_qtd.qtd_status = htoehci32(temp.sc, 0); if (temp.auto_data_toggle) { /* let the hardware compute the data toggle */ - qh->qh_endp &= ~htole32(EHCI_QH_DTC); + qh->qh_endp &= htoehci32(temp.sc, ~EHCI_QH_DTC); if (xfer->pipe->toggle_next) { /* DATA1 is next */ - qh->qh_qtd.qtd_status |= htole32(EHCI_QTD_SET_TOGGLE(1)); + qh->qh_qtd.qtd_status |= + htoehci32(temp.sc, EHCI_QTD_SET_TOGGLE(1)); } } td = xfer->td_transfer_first; qh->qh_qtd.qtd_next = td->qtd_self; - qh->qh_qtd.qtd_altnext = htole32(EHCI_LINK_TERMINATE); + qh->qh_qtd.qtd_altnext = + htoehci32(temp.sc, EHCI_LINK_TERMINATE); usb2_pc_cpu_flush(qh->page_cache); - EHCI_APPEND_QH(qh, *qh_last); + if (xfer->udev->pwr_save.suspended == 0) { + EHCI_APPEND_QH(qh, *qh_last); + } } static void ehci_root_intr_done(struct usb2_xfer *xfer, struct usb2_sw_transfer *std) { - struct ehci_softc *sc = xfer->usb2_sc; + ehci_softc_t *sc = xfer->usb2_sc; uint16_t i; uint16_t m; @@ -1992,11 +2024,11 @@ ehci_isoc_fs_done(ehci_softc_t *sc, stru #if USB_DEBUG if (ehcidebug > 15) { DPRINTF("isoc FS-TD\n"); - ehci_dump_sitd(td); + ehci_dump_sitd(sc, td); } #endif usb2_pc_cpu_invalidate(td->page_cache); - status = le32toh(td->sitd_status); + status = ehci32toh(sc, td->sitd_status); len = EHCI_SITD_GET_LEN(status); @@ -2044,12 +2076,12 @@ ehci_isoc_hs_done(ehci_softc_t *sc, stru #if USB_DEBUG if (ehcidebug > 15) { DPRINTF("isoc HS-TD\n"); - ehci_dump_itd(td); + ehci_dump_itd(sc, td); } #endif usb2_pc_cpu_invalidate(td->page_cache); - status = le32toh(td->itd_status[td_no]); + status = ehci32toh(sc, td->itd_status[td_no]); len = EHCI_ITD_GET_LEN(status); @@ -2102,7 +2134,8 @@ ehci_device_done(struct usb2_xfer *xfer, if (ehcidebug > 8) { DPRINTF("nexttog=%d; data after transfer:\n", xfer->pipe->toggle_next); - ehci_dump_sqtds(xfer->td_transfer_first); + ehci_dump_sqtds(xfer->usb2_sc, + xfer->td_transfer_first); } #endif @@ -2322,6 +2355,7 @@ struct usb2_pipe_methods ehci_device_int static void ehci_device_isoc_fs_open(struct usb2_xfer *xfer) { + ehci_softc_t *sc = xfer->usb2_sc; ehci_sitd_t *td; uint32_t sitd_portaddr; uint8_t ds; @@ -2335,7 +2369,7 @@ ehci_device_isoc_fs_open(struct usb2_xfe if (UE_GET_DIR(xfer->endpoint) == UE_DIR_IN) { sitd_portaddr |= EHCI_SITD_SET_DIR_IN; } - sitd_portaddr = htole32(sitd_portaddr); + sitd_portaddr = htoehci32(sc, sitd_portaddr); /* initialize all TD's */ @@ -2352,7 +2386,7 @@ ehci_device_isoc_fs_open(struct usb2_xfe * * micro-frame usage (8 microframes per 1ms) */ - td->sitd_back = htole32(EHCI_LINK_TERMINATE); + td->sitd_back = htoehci32(sc, EHCI_LINK_TERMINATE); usb2_pc_cpu_flush(td->page_cache); } @@ -2499,7 +2533,7 @@ ehci_device_isoc_fs_enter(struct usb2_xf * non-zero length */ usb2_get_page(xfer->frbuffers, buf_offset, &buf_res); - td->sitd_bp[0] = htole32(buf_res.physaddr); + td->sitd_bp[0] = htoehci32(sc, buf_res.physaddr); buf_offset += *plen; /* * NOTE: We need to subtract one from the offset so @@ -2544,9 +2578,9 @@ ehci_device_isoc_fs_enter(struct usb2_xf *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From ed at FreeBSD.org Sun Jan 4 00:20:19 2009 From: ed at FreeBSD.org (Ed Schouten) Date: Sun Jan 4 00:20:30 2009 Subject: svn commit: r186731 - head/sys/dev/syscons/teken Message-ID: <200901040020.n040KIcc041121@svn.freebsd.org> Author: ed Date: Sun Jan 4 00:20:18 2009 New Revision: 186731 URL: http://svn.freebsd.org/changeset/base/186731 Log: Print control characters, even though they are normally not visible. With cons25, there are printable characters below 0x1B. This is not the case with ASCII, UTF-8, etc. but in this case we just have to. Also don't set LC_CTYPE to UTF-8 when libteken is compiled without UTF-8 in the demo-application. Modified: head/sys/dev/syscons/teken/teken.c head/sys/dev/syscons/teken/teken_demo.c Modified: head/sys/dev/syscons/teken/teken.c ============================================================================== --- head/sys/dev/syscons/teken/teken.c Sun Jan 4 00:12:01 2009 (r186730) +++ head/sys/dev/syscons/teken/teken.c Sun Jan 4 00:20:18 2009 (r186731) @@ -53,10 +53,14 @@ static FILE *df; #include "teken_wcwidth.h" #else /* !TEKEN_UTF8 */ static inline int -teken_wcwidth(teken_char_t c) +teken_wcwidth(teken_char_t c __unused) { +#ifdef TEKEN_CONS25 + return (1); +#else /* !TEKEN_CONS25 */ return (c <= 0x1B) ? -1 : 1; +#endif /* TEKEN_CONS25 */ } #endif /* TEKEN_UTF8 */ Modified: head/sys/dev/syscons/teken/teken_demo.c ============================================================================== --- head/sys/dev/syscons/teken/teken_demo.c Sun Jan 4 00:12:01 2009 (r186730) +++ head/sys/dev/syscons/teken/teken_demo.c Sun Jan 4 00:20:18 2009 (r186731) @@ -280,7 +280,9 @@ main(int argc __unused, char *argv[] __u exit(1); case 0: setenv("TERM", "cons25", 1); +#ifdef TEKEN_UTF8 setenv("LC_CTYPE", "UTF-8", 0); +#endif /* TEKEN_UTF8 */ execlp("zsh", "-zsh", NULL); execlp("bash", "-bash", NULL); execlp("sh", "-sh", NULL); From chinsan at FreeBSD.org Sun Jan 4 07:29:05 2009 From: chinsan at FreeBSD.org (Chin-San Huang) Date: Sun Jan 4 07:29:12 2009 Subject: svn commit: r186732 - head/usr.sbin/pkg_install/add Message-ID: <200901040729.n047T4oF049212@svn.freebsd.org> Author: chinsan (doc,ports committer) Date: Sun Jan 4 07:29:04 2009 New Revision: 186732 URL: http://svn.freebsd.org/changeset/base/186732 Log: - s/no-scripts/no-script/ PR: docs/127732 Submitted by: TerryP MFC after: 3 days Modified: head/usr.sbin/pkg_install/add/pkg_add.1 Modified: head/usr.sbin/pkg_install/add/pkg_add.1 ============================================================================== --- head/usr.sbin/pkg_install/add/pkg_add.1 Sun Jan 4 00:20:18 2009 (r186731) +++ head/usr.sbin/pkg_install/add/pkg_add.1 Sun Jan 4 07:29:04 2009 (r186732) @@ -15,7 +15,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 30, 2008 +.Dd Jan 4, 2009 .Dt PKG_ADD 1 .Os .Sh NAME @@ -90,7 +90,7 @@ if it is defined or in current directory .It Fl i , -no-deps Install the package without fetching and installing dependencies. -.It Fl I , -no-scripts +.It Fl I , -no-script If any installation scripts (pre-install or post-install) exist for a given package, do not execute them. .It Fl n , -dry-run From marcel at FreeBSD.org Sun Jan 4 07:32:07 2009 From: marcel at FreeBSD.org (Marcel Moolenaar) Date: Sun Jan 4 07:32:14 2009 Subject: svn commit: r186733 - head/sys/geom/part Message-ID: <200901040732.n047W7c4049310@svn.freebsd.org> Author: marcel Date: Sun Jan 4 07:32:06 2009 New Revision: 186733 URL: http://svn.freebsd.org/changeset/base/186733 Log: Improve probing. o Don't check the dummy fields. o The entry is unused if either dp_mid is 0 or dp_sid is 0. o The start or end cylinder cannot be 0. o The start CHS cannot be equal to the end CHS. Submitted by: nyan Modified: head/sys/geom/part/g_part_pc98.c Modified: head/sys/geom/part/g_part_pc98.c ============================================================================== --- head/sys/geom/part/g_part_pc98.c Sun Jan 4 07:29:04 2009 (r186732) +++ head/sys/geom/part/g_part_pc98.c Sun Jan 4 07:32:06 2009 (r186733) @@ -333,7 +333,7 @@ g_part_pc98_probe(struct g_part_table *t struct g_provider *pp; u_char *buf, *p; int error, index, res, sum; - uint16_t magic; + uint16_t magic, ecyl, scyl; pp = cp->provider; @@ -365,11 +365,15 @@ g_part_pc98_probe(struct g_part_table *t for (index = 0; index < NDOSPART; index++) { p = buf + SECSIZE + index * DOSPARTSIZE; - if (p[2] != 0 || p[3] != 0) - goto out; - if (p[1] == 0) + if (p[0] == 0 || p[1] == 0) /* !dp_mid || !dp_sid */ continue; - if (le16dec(p + 10) == 0) + scyl = le16dec(p + 10); + ecyl = le16dec(p + 14); + if (scyl == 0 || ecyl == 0) + goto out; + if (p[8] == p[12] && /* dp_ssect == dp_esect */ + p[9] == p[13] && /* dp_shd == dp_ehd */ + scyl == ecyl) goto out; } From ivoras at FreeBSD.org Sun Jan 4 11:31:04 2009 From: ivoras at FreeBSD.org (Ivan Voras) Date: Sun Jan 4 11:31:17 2009 Subject: svn commit: r186735 - head/sbin/geom/class/virstor Message-ID: <200901041131.n04BV360056278@svn.freebsd.org> Author: ivoras Date: Sun Jan 4 11:31:03 2009 New Revision: 186735 URL: http://svn.freebsd.org/changeset/base/186735 Log: Several significant updates: * Better wording of sections dealing with physical storage * A new section on assumptions gvirstor has on its consumer devices (components) and its interaction with file systems * Improved markup (by hrs@) Reviewed by: hrs Approved by: gnn (mentor) Modified: head/sbin/geom/class/virstor/gvirstor.8 Modified: head/sbin/geom/class/virstor/gvirstor.8 ============================================================================== --- head/sbin/geom/class/virstor/gvirstor.8 Sun Jan 4 07:33:10 2009 (r186734) +++ head/sbin/geom/class/virstor/gvirstor.8 Sun Jan 4 11:31:03 2009 (r186735) @@ -1,5 +1,4 @@ -.\" Copyright (c) 2005 Pawel Jakub Dawidek -.\" Copyright (c) 2005 Ivan Voras +.\" Copyright (c) 2006-2008 Ivan Voras .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -25,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 8, 2006 +.Dd December 17, 2008 .Dt GVIRSTOR 8 .Os .Sh NAME @@ -69,10 +68,17 @@ .Sh DESCRIPTION The .Nm -utility is used for setting up a storage device of arbitrary large size (for example, -several TB), consisting of an arbitrary number of physical storage devices with -total size <= the virtual size. Data for the virtual devices will be allocated from -physical devices on demand. In short, this is the virtual storage functionality. +utility is used for setting up a virtual storage device of arbitrary +large size +.Pq for example, several TB , +consisting of an arbitrary number of physical storage devices with the +total size which is equal to or smaller than the virtual size. Data +for the virtual devices will be allocated from physical devices on +demand. The idea behind +.Nm +is similar to the concept of Virtual Memory in operating systems, +effectively allowing users to overcommit on storage +.Pq free file system space . The first argument to .Nm indicates an action to be performed: @@ -82,12 +88,15 @@ Set up a virtual device from the given c .Ar name . Metadata are stored in the last sector of every component. Argument -.Ar virsize -is the size of new virtual device, with default being 2 TiB (2097152 MiB). +.Fl s Ar virsize +is the size of new virtual device, with default being 2 TiB +.Pq 2097152 MiB . Argument -.Ar chunksize -is the chunk size, with default being 4 MiB (4096 KiB). -The default is thus "-s 2097152 -m 4096". +.Fl m Ar chunksize +is the chunk size, with default being 4 MiB +.Pq 4096 KiB . +The default is thus +.Qq Fl s Ar 2097152 Fl m Ar 4096 . .It Cm stop Turn off an existing virtual device by its .Ar name . @@ -96,8 +105,10 @@ As with other GEOM classes, stopped geom .It Cm add Adds new components to existing virtual device by its .Ar name . -The specified virstor device must exist and be active (i.e. -module loaded, device present in /dev). +The specified virstor device must exist and be active +.Pq i.e. module loaded, device present in Pa /dev . +This action can be safely performed while the virstor device is in use +.Pq Qo hot Qc operation .It Cm remove Removes components from existing virtual device by its .Ar name . @@ -130,82 +141,97 @@ Hardcode providers' names in metadata. Be more verbose. .El .Sh EXIT STATUS -Exit status is 0 on success, and 1 if the command fails. +The +.Nm +utility exits 0 on success, and 1 if an error occurs. .Sh EXAMPLES The following example shows how to create a virtual device of default size -(2 TiB), of default chunk (extent) size (4 MiB), with two physical devices for -backing storage. +.Pq 2 TiB , +of default chunk +.Pq extent +size +.Pq 4 MiB , +with two physical devices for backing storage. .Bd -literal -offset indent -gvirstor label -v mydata /dev/ad4 /dev/ad6 -newfs /dev/virstor/mydata +.No gvirstor label -v Ar mydata Ar /dev/ad4 Ar /dev/ad6 +.No newfs Ar /dev/virstor/mydata .Ed .Pp From now on, the virtual device will be available via the .Pa /dev/virstor/mydata device entry. -To add a new physical device / provider to an active virstor device: +To add a new physical device / component to an active virstor device: .Bd -literal -offset indent -gvirstor add mydata ad8 +.No gvirstor add Ar mydata Ar ad8 .Ed .Pp -This will add physical storage (from ad8) to +This will add physical storage +.Ar ad8 +to .Pa /dev/virstor/mydata device. -To see device status information (including how much physical storage -is still available for the virtual device), use: +To see device status information +.Pq including how much physical storage is still available for the virtual device , +use: .Bd -literal -offset indent gvirstor list .Ed .Pp All standard .Xr geom 8 -subcommands (e.g. "status", "help") are also supported. -.Sh SYSCTLs +subcommands +.Pq e.g. Cm status , Cm help +are also supported. +.Sh SYSCTL VARIABLES .Nm -has several +has several .Xr sysctl 8 tunable variables. .Bd -literal -offset indent -.Pa int kern.geom.virstor.debug +.Va int kern.geom.virstor.debug .Ed .Pp This sysctl controls verbosity of the kernel module, in the range -1 to 15. Messages that are marked with higher verbosity levels than -this are supressed. Default value is 5 and it's not -recommented to set this tunable to less than 2, because level 1 messages +1 to 15. Messages that are marked with higher verbosity levels than +this are suppressed. Default value is 5 and it's not +recommended to set this tunable to less than 2, because level 1 messages are error events, and level 2 messages are system warnings. .Bd -literal -offset indent -.Pa int kern.geom.virstor.chunk_watermark +.Va int kern.geom.virstor.chunk_watermark .Ed .Pp Value in this sysctl sets warning watermark level for physical chunk usage on a single component. The warning is issued when a virstor component -has less than this many free chunks (default 100). +has less than this many free chunks +.Pq default 100 . .Bd -literal -offset indent -.Pa int kern.geom.virstor.component_watermark +.Va int kern.geom.virstor.component_watermark .Ed .Pp Value in this sysctl sets warning watermark level for component usage. -The warning is issed when there are less than this many unallocated -components (default is 1). +The warning is issued when there are less than this many unallocated +components +.Pq default is 1 . .Pp All these sysctls are also available as .Xr loader 8 tunables. -.Sh LOG MESSAGES +.Sh DIAGNOSTICS .Nm -kernel module issues log messages with prefixes in standardised format, +kernel module issues log messages with prefixes in standardized format, which is useful for log message filtering and dispatching. Each message line begins with .Bd -literal -offset indent -.Pa GEOM_VIRSTOR[%d]: +.Li GEOM_VIRSTOR[%d]: .Ed .Pp -The number (%d) is message verbosity / importance level, in the range -1 to 15. If a message filtering, dispatching or operator alert system is -used, it is recommended that messages with levels 1 and 2 be taken -seriously (for example, to catch out-of-space conditions as set by -watermark sysctls). +The number +.Pq %d +is message verbosity / importance level, in the range 1 to 15. If a +message filtering, dispatching or operator alert system is used, it is +recommended that messages with levels 1 and 2 be taken seriously +.Pq for example, to catch out-of-space conditions as set by watermark +sysctls . .Sh SEE ALSO .Xr geom 4 , .Xr geom 8 , @@ -218,10 +244,40 @@ The utility appeared in .Fx 7.0 . .Sh BUGS -Commands "add" and "remove" contain unavoidable critical sections -which may make the virstor device unusable if a power failure (or -other disruptive event) happens during their execution. -It's recommended to run them when the system is quiescent. +Commands +.Cm add +and +.Cm remove +contain unavoidable critical sections which may make the virstor +device unusable if a power failure +.Pq or other disruptive event +happens during their execution. It's recommended to run them when the +system is quiescent. +.Sh ASSUMPTIONS AND INTERACTION WITH FILE SYSTEMS +There are several assumptions that +.Nm +has in its operation: that the size of the virtual storage device will not +change once it's set, and that the sizes of individual physical storage +components will always remain constant during their existence. For +alternative ways to implement virtual or resizable file systems see +.Xr zfs 1M , +.Xr gconcat 8 and +.Xr growfs 8 . +.Pp +Note that +.Nm +has nontrivial interaction with file systems which initialize a large +number of on-disk structures during newfs. If such file systems +attempt to spread their structures across the drive media +.Pq like UFS/UFS2 does , +their efforts will be effectively foiled by sequential allocation of +chunks in +.Nm +and all their structures will be physically allocated at the start +of the first virstor component. This could have a significant impac +t on file system performance +.Pq which can in some rare cases be even positive . .Sh AUTHOR -.An Ivan Voras Aq ivoras@FreeBSD.org +.An Ivan Voras Aq ivoras@FreeBSD.org +.Pp Sponsored by Google Summer of Code 2006 From kostikbel at gmail.com Sun Jan 4 12:04:42 2009 From: kostikbel at gmail.com (Kostik Belousov) Date: Sun Jan 4 12:04:48 2009 Subject: svn commit: r186731 - head/sys/dev/syscons/teken In-Reply-To: <200901040020.n040KIcc041121@svn.freebsd.org> References: <200901040020.n040KIcc041121@svn.freebsd.org> Message-ID: <20090104120434.GF93900@deviant.kiev.zoral.com.ua> On Sun, Jan 04, 2009 at 12:20:18AM +0000, Ed Schouten wrote: > Author: ed > Date: Sun Jan 4 00:20:18 2009 > New Revision: 186731 > URL: http://svn.freebsd.org/changeset/base/186731 > > Log: > Print control characters, even though they are normally not visible. > > With cons25, there are printable characters below 0x1B. This is not the > case with ASCII, UTF-8, etc. but in this case we just have to. > > Also don't set LC_CTYPE to UTF-8 when libteken is compiled without UTF-8 > in the demo-application. > > Modified: > head/sys/dev/syscons/teken/teken.c > head/sys/dev/syscons/teken/teken_demo.c > > Modified: head/sys/dev/syscons/teken/teken.c > ============================================================================== > --- head/sys/dev/syscons/teken/teken.c Sun Jan 4 00:12:01 2009 (r186730) > +++ head/sys/dev/syscons/teken/teken.c Sun Jan 4 00:20:18 2009 (r186731) > @@ -53,10 +53,14 @@ static FILE *df; > #include "teken_wcwidth.h" > #else /* !TEKEN_UTF8 */ > static inline int > -teken_wcwidth(teken_char_t c) > +teken_wcwidth(teken_char_t c __unused) > { > > +#ifdef TEKEN_CONS25 > + return (1); > +#else /* !TEKEN_CONS25 */ > return (c <= 0x1B) ? -1 : 1; > +#endif /* TEKEN_CONS25 */ > } > #endif /* TEKEN_UTF8 */ > > > Modified: head/sys/dev/syscons/teken/teken_demo.c > ============================================================================== > --- head/sys/dev/syscons/teken/teken_demo.c Sun Jan 4 00:12:01 2009 (r186730) > +++ head/sys/dev/syscons/teken/teken_demo.c Sun Jan 4 00:20:18 2009 (r186731) > @@ -280,7 +280,9 @@ main(int argc __unused, char *argv[] __u > exit(1); > case 0: > setenv("TERM", "cons25", 1); > +#ifdef TEKEN_UTF8 > setenv("LC_CTYPE", "UTF-8", 0); > +#endif /* TEKEN_UTF8 */ > execlp("zsh", "-zsh", NULL); > execlp("bash", "-bash", NULL); > execlp("sh", "-sh", NULL); IMHO, it would be much easier to try and use the new code if the TEKEN_XXX defines would be implemented as both sysctl and kernel tunables. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20090104/a0bb5a07/attachment.pgp From ed at 80386.nl Sun Jan 4 12:13:33 2009 From: ed at 80386.nl (Ed Schouten) Date: Sun Jan 4 12:13:45 2009 Subject: svn commit: r186731 - head/sys/dev/syscons/teken In-Reply-To: <20090104120434.GF93900@deviant.kiev.zoral.com.ua> References: <200901040020.n040KIcc041121@svn.freebsd.org> <20090104120434.GF93900@deviant.kiev.zoral.com.ua> Message-ID: <20090104121331.GC14235@hoeg.nl> * Kostik Belousov wrote: > IMHO, it would be much easier to try and use the new code if the > TEKEN_XXX defines would be implemented as both sysctl and kernel > tunables. Yes. Eventually we should add tunables, but first I want to get it working correctly. Unfortunately there is a big amount of complexity when switching to xterm. I think it may be better to switch when we're moving to UTF-8 as well. If we want to switch to xterm without having UTF-8, I suspect we'll break lots of things related to character maps, box drawing, etc. But at least having a kernel tunable would be nice. I'll see what I can do. -- Ed Schouten WWW: http://80386.nl/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20090104/3487273c/attachment.pgp From bz at FreeBSD.org Sun Jan 4 12:18:19 2009 From: bz at FreeBSD.org (Bjoern A. Zeeb) Date: Sun Jan 4 12:18:31 2009 Subject: svn commit: r186736 - head/sys/kern Message-ID: <200901041218.n04CIIDe057163@svn.freebsd.org> Author: bz Date: Sun Jan 4 12:18:18 2009 New Revision: 186736 URL: http://svn.freebsd.org/changeset/base/186736 Log: Back out r186615; the sanitizing of the pointers in the error case is not needed and seems that it will not be needed either. Pointy hat: mine, mine, mine and not pho's Modified: head/sys/kern/kern_jail.c Modified: head/sys/kern/kern_jail.c ============================================================================== --- head/sys/kern/kern_jail.c Sun Jan 4 11:31:03 2009 (r186735) +++ head/sys/kern/kern_jail.c Sun Jan 4 12:18:18 2009 (r186736) @@ -329,11 +329,9 @@ jail_copyin_ips(struct jail *j) e_free_ip: #ifdef INET6 free(ip6, M_PRISON); - j->ip6 = NULL; #endif #ifdef INET free(ip4, M_PRISON); - j->ip4 = NULL; #endif return (error); } From christoph.mallon at gmx.de Sun Jan 4 15:25:58 2009 From: christoph.mallon at gmx.de (Christoph Mallon) Date: Sun Jan 4 15:26:05 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... In-Reply-To: <200901040012.n040C2gH040928@svn.freebsd.org> References: <200901040012.n040C2gH040928@svn.freebsd.org> Message-ID: <4960D501.70607@gmx.de> Alfred Perlstein schrieb: > Author: alfred > Date: Sun Jan 4 00:12:01 2009 > New Revision: 186730 > URL: http://svn.freebsd.org/changeset/base/186730 > > Log: > [...] > Make "libusb20_desc_foreach()" more readable. In my part of the world we give credit or, at the very least, say "thank you" to the sender, when we apply patches sent to us. Disappointedly Christoph From danger at FreeBSD.org Sun Jan 4 15:41:02 2009 From: danger at FreeBSD.org (Daniel Gerzo) Date: Sun Jan 4 15:41:10 2009 Subject: svn commit: r186737 - head/sbin/geom/class/virstor Message-ID: <200901041541.n04Ff1Oh060753@svn.freebsd.org> Author: danger (doc committer) Date: Sun Jan 4 15:41:01 2009 New Revision: 186737 URL: http://svn.freebsd.org/changeset/base/186737 Log: - grammar and language fixes - hard sentence breaks - trim EXIT STATUS section and move it to DIAGNOSTICS as well as use .Er macro - sort SEE ALSO MFC after: 7 days Modified: head/sbin/geom/class/virstor/gvirstor.8 Modified: head/sbin/geom/class/virstor/gvirstor.8 ============================================================================== --- head/sbin/geom/class/virstor/gvirstor.8 Sun Jan 4 12:18:18 2009 (r186736) +++ head/sbin/geom/class/virstor/gvirstor.8 Sun Jan 4 15:41:01 2009 (r186737) @@ -29,7 +29,7 @@ .Os .Sh NAME .Nm gvirstor -.Nd "provides virtual data storage geom" +.Nd "control utility for virtual data storage devices" .Sh SYNOPSIS .Nm .Cm label @@ -72,9 +72,10 @@ utility is used for setting up a virtual large size .Pq for example, several TB , consisting of an arbitrary number of physical storage devices with the -total size which is equal to or smaller than the virtual size. Data -for the virtual devices will be allocated from physical devices on -demand. The idea behind +total size which is equal to or smaller than the virtual size. +Data for the virtual devices will be allocated from physical devices on +demand. +The idea behind .Nm is similar to the concept of Virtual Memory in operating systems, effectively allowing users to overcommit on storage @@ -82,35 +83,35 @@ effectively allowing users to overcommit The first argument to .Nm indicates an action to be performed: -.Bl -tag -width ".Cm destroy" +.Bl -tag -width ".Cm remove" .It Cm label Set up a virtual device from the given components with the specified .Ar name . -Metadata are stored in the last sector of every component. +Metadata is stored in the last sector of every component. Argument .Fl s Ar virsize -is the size of new virtual device, with default being 2 TiB +is the size of new virtual device, with default being set to 2 TiB .Pq 2097152 MiB . Argument .Fl m Ar chunksize -is the chunk size, with default being 4 MiB +is the chunk size, with default being set to 4 MiB .Pq 4096 KiB . -The default is thus +The default arguments are thus .Qq Fl s Ar 2097152 Fl m Ar 4096 . .It Cm stop -Turn off an existing virtual device by its +Turn off an existing virtual device with the given .Ar name . This command does not touch on-disk metadata. As with other GEOM classes, stopped geoms cannot be started manually. .It Cm add -Adds new components to existing virtual device by its +Adds new components to existing virtual device with the given .Ar name . The specified virstor device must exist and be active .Pq i.e. module loaded, device present in Pa /dev . This action can be safely performed while the virstor device is in use .Pq Qo hot Qc operation .It Cm remove -Removes components from existing virtual device by its +Removes components from existing virtual device with the given .Ar name . Only unallocated providers can be removed. .It Cm clear @@ -140,10 +141,6 @@ Hardcode providers' names in metadata. .It Fl v Be more verbose. .El -.Sh EXIT STATUS -The -.Nm -utility exits 0 on success, and 1 if an error occurs. .Sh EXAMPLES The following example shows how to create a virtual device of default size .Pq 2 TiB , @@ -165,12 +162,13 @@ To add a new physical device / component .No gvirstor add Ar mydata Ar ad8 .Ed .Pp -This will add physical storage +This will add physical storage of .Ar ad8 to .Pa /dev/virstor/mydata device. -To see device status information +.Pp +To see the device status information .Pq including how much physical storage is still available for the virtual device , use: .Bd -literal -offset indent @@ -192,17 +190,20 @@ tunable variables. .Ed .Pp This sysctl controls verbosity of the kernel module, in the range -1 to 15. Messages that are marked with higher verbosity levels than -this are suppressed. Default value is 5 and it's not -recommended to set this tunable to less than 2, because level 1 messages -are error events, and level 2 messages are system warnings. +1 to 15. +Messages that are marked with higher verbosity levels than this are +suppressed. +Default value is 5 and it is not recommended to set this tunable to less +than 2, because level 1 messages are error events, and level 2 messages +are system warnings. .Bd -literal -offset indent .Va int kern.geom.virstor.chunk_watermark .Ed .Pp -Value in this sysctl sets warning watermark level for physical chunk usage -on a single component. The warning is issued when a virstor component -has less than this many free chunks +Value in this sysctl sets warning watermark level for physical chunk +usage on a single component. +The warning is issued when a virstor component has less than this many +free chunks .Pq default 100 . .Bd -literal -offset indent .Va int kern.geom.virstor.component_watermark @@ -217,31 +218,33 @@ All these sysctls are also available as .Xr loader 8 tunables. .Sh DIAGNOSTICS +.Ex -std +.Pp .Nm kernel module issues log messages with prefixes in standardized format, -which is useful for log message filtering and dispatching. Each message -line begins with +which is useful for log message filtering and dispatching. +Each message line begins with .Bd -literal -offset indent .Li GEOM_VIRSTOR[%d]: .Ed .Pp The number .Pq %d -is message verbosity / importance level, in the range 1 to 15. If a -message filtering, dispatching or operator alert system is used, it is -recommended that messages with levels 1 and 2 be taken seriously +is message verbosity / importance level, in the range 1 to 15. +If a message filtering, dispatching or operator alert system is used, it +is recommended that messages with levels 1 and 2 be taken seriously .Pq for example, to catch out-of-space conditions as set by watermark -sysctls . +sysctls. .Sh SEE ALSO .Xr geom 4 , -.Xr geom 8 , -.Xr newfs 8 , .Xr fstab 5 , -.Xr glabel 8 +.Xr geom 8 , +.Xr glabel 8 , +.Xr newfs 8 .Sh HISTORY The .Nm -utility appeared in +utility first appeared in .Fx 7.0 . .Sh BUGS Commands @@ -251,15 +254,15 @@ and contain unavoidable critical sections which may make the virstor device unusable if a power failure .Pq or other disruptive event -happens during their execution. It's recommended to run them when the -system is quiescent. +happens during their execution. +It is recommended to run them when the system is quiescent. .Sh ASSUMPTIONS AND INTERACTION WITH FILE SYSTEMS There are several assumptions that .Nm has in its operation: that the size of the virtual storage device will not -change once it's set, and that the sizes of individual physical storage -components will always remain constant during their existence. For -alternative ways to implement virtual or resizable file systems see +change once it is set, and that the sizes of individual physical storage +components will always remain constant during their existence. +For alternative ways to implement virtual or resizable file systems see .Xr zfs 1M , .Xr gconcat 8 and .Xr growfs 8 . @@ -267,17 +270,18 @@ alternative ways to implement virtual or Note that .Nm has nontrivial interaction with file systems which initialize a large -number of on-disk structures during newfs. If such file systems -attempt to spread their structures across the drive media +number of on-disk structures during newfs. +If such file systems attempt to spread their structures across the drive +media .Pq like UFS/UFS2 does , their efforts will be effectively foiled by sequential allocation of chunks in .Nm and all their structures will be physically allocated at the start -of the first virstor component. This could have a significant impac -t on file system performance +of the first virstor component. +This could have a significant impact on file system performance .Pq which can in some rare cases be even positive . .Sh AUTHOR .An Ivan Voras Aq ivoras@FreeBSD.org .Pp -Sponsored by Google Summer of Code 2006 +Sponsored by Google Summer of Code 2006. From stas at FreeBSD.org Sun Jan 4 15:48:39 2009 From: stas at FreeBSD.org (Stanislav Sedov) Date: Sun Jan 4 15:48:45 2009 Subject: svn commit: r186738 - head/share/man/man4 Message-ID: <200901041548.n04Fmcc5060920@svn.freebsd.org> Author: stas Date: Sun Jan 4 15:48:38 2009 New Revision: 186738 URL: http://svn.freebsd.org/changeset/base/186738 Log: - Improve wording. - ae(4) first appeared in 7.1. Reflect this. Approved by: kib (mentor) MFC after: 1 week Modified: head/share/man/man4/ae.4 Modified: head/share/man/man4/ae.4 ============================================================================== --- head/share/man/man4/ae.4 Sun Jan 4 15:41:01 2009 (r186737) +++ head/share/man/man4/ae.4 Sun Jan 4 15:48:38 2009 (r186738) @@ -121,8 +121,7 @@ the network connection (cable). .It "ae%d: reset timeout." The card reset operation has been timed out. .It "ae%d: Generating random ethernet address." -No valid ethernet address was found neither in the controller registers not in -NVRAM. +No valid Ethernet address was found in the controller NVRAM and registers. Random locally administered address with ASUS OUI identifier will be used instead. .El @@ -135,8 +134,8 @@ instead. .Xr vlan 4 , .Xr ifconfig 8 .Sh BUGS -The Attansic L2 FastEthernet contoller supports DMA but do not use a descriptor -based transfer mechanism via scatter-gather DMA. +The Attansic L2 FastEthernet contoller supports DMA but does not use a +descriptor based transfer mechanism via scatter-gather DMA. Thus the data should be copied to/from the controller memory on each transmit/receive. Furthermore, a lot of data alignment restrictions apply. @@ -150,4 +149,4 @@ driver and this manual page was written .An Stanislav Sedov .Aq stas@FreeBSD.org . It first appeared in -.Fx 8.0 . +.Fx 7.1 . From stas at FreeBSD.org Sun Jan 4 15:49:31 2009 From: stas at FreeBSD.org (Stanislav Sedov) Date: Sun Jan 4 15:49:44 2009 Subject: svn commit: r186739 - in head: share/man/man4 usr.sbin/cpucontrol Message-ID: <200901041549.n04FnU51060972@svn.freebsd.org> Author: stas Date: Sun Jan 4 15:49:30 2009 New Revision: 186739 URL: http://svn.freebsd.org/changeset/base/186739 Log: - Improve wording. Approved by: kib (mentor) MFC after: 1 week Modified: head/share/man/man4/cpuctl.4 head/usr.sbin/cpucontrol/cpucontrol.8 Modified: head/share/man/man4/cpuctl.4 ============================================================================== --- head/share/man/man4/cpuctl.4 Sun Jan 4 15:48:38 2009 (r186738) +++ head/share/man/man4/cpuctl.4 Sun Jan 4 15:49:30 2009 (r186739) @@ -55,7 +55,7 @@ CPU firmware updates. For each CPU present in the system, the special file .Pa /dev/cpuctl%d with the appropriate index will be created. -For multicore CPUs the +For multicore CPUs such special file will be created for each core. .Pp Currently, only i386 and amd64 processors are @@ -123,7 +123,7 @@ For additional information refer to .Bl -tag -width Er .It Bq Er ENXIO The operation requested is not supported by the device (e.g. unsupported -architecture or the CPU was disabled). +architecture or the CPU is disabled) .It Bq Er EINVAL Incorrect request was supplied, or microcode image is not correct. .It Bq Er ENOMEM Modified: head/usr.sbin/cpucontrol/cpucontrol.8 ============================================================================== --- head/usr.sbin/cpucontrol/cpucontrol.8 Sun Jan 4 15:48:38 2009 (r186738) +++ head/usr.sbin/cpucontrol/cpucontrol.8 Sun Jan 4 15:49:30 2009 (r186739) @@ -77,7 +77,7 @@ Apply CPU firmware updates. The .Nm utility will walk through the configured data directories -and will apply all firmware patches available for this CPU. +and apply all firmware updates available for this CPU. .It Fl v Increase the verbosity level. .It Fl h @@ -111,6 +111,11 @@ use the following command: .Dq Li "cpucontrol -d /usr/local/share/cpuctl/ -u /dev/cpuctl0" .Sh SEE ALSO .Xr cpuctl 4 +.Sh HISTORY +The +.Nm +utility first appeared in +.Fx 8.0 . .Sh BUGS Yes, probably, report if any. .Sh AUTHORS From kib at FreeBSD.org Sun Jan 4 15:56:50 2009 From: kib at FreeBSD.org (Konstantin Belousov) Date: Sun Jan 4 15:57:02 2009 Subject: svn commit: r186740 - head/sys/gnu/fs/ext2fs Message-ID: <200901041556.n04Funod061146@svn.freebsd.org> Author: kib Date: Sun Jan 4 15:56:49 2009 New Revision: 186740 URL: http://svn.freebsd.org/changeset/base/186740 Log: Do not incorrectly add the low 5 bits of the offset to the resulting position of the found zero bit. Submitted by: Jaakko Heinonen MFC after: 2 weeks Modified: head/sys/gnu/fs/ext2fs/ext2_bitops.h Modified: head/sys/gnu/fs/ext2fs/ext2_bitops.h ============================================================================== --- head/sys/gnu/fs/ext2fs/ext2_bitops.h Sun Jan 4 15:49:30 2009 (r186739) +++ head/sys/gnu/fs/ext2fs/ext2_bitops.h Sun Jan 4 15:56:49 2009 (r186740) @@ -84,7 +84,7 @@ find_next_zero_bit(void *data, size_t sz mask = ~0U << (ofs & 31); bit = *p | ~mask; if (bit != ~0U) - return (ffs(~bit) + ofs - 1); + return (ffs(~bit) + (ofs & ~31U) - 1); p++; ofs = (ofs + 31U) & ~31U; } From brueffer at FreeBSD.org Sun Jan 4 16:28:35 2009 From: brueffer at FreeBSD.org (Christian Brueffer) Date: Sun Jan 4 16:28:41 2009 Subject: svn commit: r186737 - head/sbin/geom/class/virstor In-Reply-To: <200901041541.n04Ff1Oh060753@svn.freebsd.org> References: <200901041541.n04Ff1Oh060753@svn.freebsd.org> Message-ID: <20090104155832.GA1257@haakonia.hitnet.RWTH-Aachen.DE> On Sun, Jan 04, 2009 at 03:41:01PM +0000, Daniel Gerzo wrote: > Author: danger (doc committer) > Date: Sun Jan 4 15:41:01 2009 > New Revision: 186737 > URL: http://svn.freebsd.org/changeset/base/186737 > > Log: [...] > - trim EXIT STATUS section and move it to DIAGNOSTICS as well as use .Er > macro > While using .Ex is good, collapsing EXIT STATUS into DIAGNOSTICS is not. EXIT STATUS is a standard section in our manpages and it's orthogonal to DIAGNOSTICS. Please revert this part. - Christian -- Christian Brueffer chris@unixpages.org brueffer@FreeBSD.org GPG Key: http://people.freebsd.org/~brueffer/brueffer.key.asc GPG Fingerprint: A5C8 2099 19FF AACA F41B B29B 6C76 178C A0ED 982D -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20090104/d688f7be/attachment.pgp From imp at bsdimp.com Sun Jan 4 17:08:48 2009 From: imp at bsdimp.com (M. Warner Losh) Date: Sun Jan 4 17:08:55 2009 Subject: svn commit: r186713 - head/usr.bin/make In-Reply-To: <200901031014.n03AE1lA022458@svn.freebsd.org> References: <200901031014.n03AE1lA022458@svn.freebsd.org> Message-ID: <20090104.100755.686402162.imp@bsdimp.com> In message: <200901031014.n03AE1lA022458@svn.freebsd.org> "David E. O'Brien" writes: : Author: obrien : Date: Sat Jan 3 10:14:01 2009 : New Revision: 186713 : URL: http://svn.freebsd.org/changeset/base/186713 : : Log: : + Add the -Q be-quiet flag for parallel jobs. : - Enable -Q by default for the moment - there is something weird : going on in the rescue build. This seems to also include other things not related to -Q, is that intentional: : Modified: head/usr.bin/make/var.c : ============================================================================== : --- head/usr.bin/make/var.c Sat Jan 3 05:32:37 2009 (r186712) : +++ head/usr.bin/make/var.c Sat Jan 3 10:14:01 2009 (r186713) : @@ -946,12 +946,14 @@ VarFindAny(const char name[], GNode *ctx : * The name and val arguments are duplicated so they may : * safely be freed. : */ : -static void : +static Var * : VarAdd(const char *name, const char *val, GNode *ctxt) : { : + Var *v; : : - Lst_AtFront(&ctxt->context, VarCreate(name, val, 0)); : + Lst_AtFront(&ctxt->context, v = VarCreate(name, val, 0)); : DEBUGF(VAR, ("%s:%s = %s\n", ctxt->name, name, val)); : + return (v); : } : : /** : @@ -1004,30 +1006,22 @@ Var_Set(const char *name, const char *va : n = VarPossiblyExpand(name, ctxt); : v = VarFindOnly(n, ctxt); : if (v == NULL) { : - VarAdd(n, val, ctxt); : - if (ctxt == VAR_CMD) { : - /* : - * Any variables given on the command line : - * are automatically exported to the : - * environment (as per POSIX standard) : - */ : - setenv(n, val, 1); : - } : + v = VarAdd(n, val, ctxt); : } else { : Buf_Clear(v->val); : Buf_Append(v->val, val); : - : - if (ctxt == VAR_CMD || (v->flags & VAR_TO_ENV)) { : - /* : - * Any variables given on the command line : - * are automatically exported to the : - * environment (as per POSIX standard) : - */ : - setenv(n, val, 1); : - } : DEBUGF(VAR, ("%s:%s = %s\n", ctxt->name, n, val)); : } : : + if (ctxt == VAR_CMD || (v->flags & VAR_TO_ENV)) { : + /* : + * Any variables given on the command line : + * are automatically exported to the : + * environment (as per POSIX standard) : + */ : + setenv(n, val, 1); : + } : + : free(n); : } : : @@ -2325,7 +2319,8 @@ match_var(const char str[], const char v : * None. The old string must be freed by the caller : */ : Buffer * : -Var_Subst(const char *str, GNode *ctxt, Boolean err) : +//Var_Subst(const char *var, const char *str, GNode *ctxt, Boolean undefErr) : +Var_Subst( const char *str, GNode *ctxt, Boolean err) : { : Boolean errorReported; : Buffer *buf; /* Buffer for forming things */ : From imp at bsdimp.com Sun Jan 4 17:11:38 2009 From: imp at bsdimp.com (M. Warner Losh) Date: Sun Jan 4 17:11:50 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... In-Reply-To: <200901040012.n040C2gH040928@svn.freebsd.org> References: <200901040012.n040C2gH040928@svn.freebsd.org> Message-ID: <20090104.101121.2139791946.imp@bsdimp.com> In message: <200901040012.n040C2gH040928@svn.freebsd.org> Alfred Perlstein writes: : Sync with usb4bsd: Alfred, thanks for trudging these fixes into the tree. It is a thankless job that people will complain about... Speaking of complaining, is there a review process that can be joined for them that's more formal than "diff against hps' p4 tree and complain?" Warner From christoph.mallon at gmx.de Sun Jan 4 18:06:22 2009 From: christoph.mallon at gmx.de (Christoph Mallon) Date: Sun Jan 4 18:06:29 2009 Subject: svn commit: r186504 - head/sbin/mount In-Reply-To: <200812262254.mBQMsrbR052676@svn.freebsd.org> References: <200812262254.mBQMsrbR052676@svn.freebsd.org> Message-ID: <4960FA9A.1090509@gmx.de> Hi David, I'm pretty sure $SUPERNATURAL_BEING_OF_YOUR_CHOICE killed a kitten for the ugly hack you added to mount. The moment you overflow a buffer, you are in no man's land and there's no escape. I appended a patch, which solves this issue once and for all: The argv array gets dynamically expanded, when its limit is reached. Please - for all kittens out there - commit this patch. Christoph David E. O'Brien schrieb: > Author: obrien > Date: Fri Dec 26 22:54:53 2008 > New Revision: 186504 > URL: http://svn.freebsd.org/changeset/base/186504 > > Log: > Make the sub-'argc' static to make it harder to overwrite thru a buffer > overflow. > > Modified: > head/sbin/mount/mount.c > > Modified: head/sbin/mount/mount.c > ============================================================================== > --- head/sbin/mount/mount.c Fri Dec 26 22:47:11 2008 (r186503) > +++ head/sbin/mount/mount.c Fri Dec 26 22:54:53 2008 (r186504) > @@ -503,9 +503,10 @@ int > mountfs(const char *vfstype, const char *spec, const char *name, int flags, > const char *options, const char *mntopts) > { > + static int argc; > char *argv[MAX_ARGS]; > struct statfs sf; > - int argc, i, ret; > + int i, ret; > char *optbuf, execname[PATH_MAX], mntpath[PATH_MAX]; > > /* resolve the mountpoint with realpath(3) */ > _______________________________________________ > svn-src-all@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/svn-src-all > To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" > -------------- next part -------------- Index: mount.c =================================================================== --- mount.c (Revision 186740) +++ mount.c (Arbeitskopie) @@ -68,16 +68,17 @@ #define MOUNT_META_OPTION_FSTAB "fstab" #define MOUNT_META_OPTION_CURRENT "current" -#define MAX_ARGS 100 - int debug, fstab_style, verbose; +static char **mnt_argv; +static int mnt_argv_size; +static int mnt_argc; char *catopt(char *, const char *); struct statfs *getmntpt(const char *); int hasopt(const char *, const char *); int ismounted(struct fstab *, struct statfs *, int); int isremountable(const char *); -void mangle(char *, int *, char *[]); +static void mangle(char *); char *update_options(char *, char *, int); int mountfs(const char *, const char *, const char *, int, const char *, const char *); @@ -499,12 +500,22 @@ return (found); } +static void +append_argv(char *arg) +{ + if (mnt_argc == mnt_argv_size) { + mnt_argv_size = mnt_argv_size == 0 ? 16 : mnt_argv_size * 2; + mnt_argv = realloc(mnt_argv, sizeof(*mnt_argv) * mnt_argv_size); + if (mnt_argv == NULL) + errx(1, "realloc failed"); + } + mnt_argv[mnt_argc++] = arg; +} + int mountfs(const char *vfstype, const char *spec, const char *name, int flags, const char *options, const char *mntopts) { - static int argc; - char *argv[MAX_ARGS]; struct statfs sf; int i, ret; char *optbuf, execname[PATH_MAX], mntpath[PATH_MAX]; @@ -542,32 +553,27 @@ /* Construct the name of the appropriate mount command */ (void)snprintf(execname, sizeof(execname), "mount_%s", vfstype); - argc = 0; - argv[argc++] = execname; - mangle(optbuf, &argc, argv); - argv[argc++] = strdup(spec); - argv[argc++] = strdup(name); - argv[argc] = NULL; + append_argv(execname); + mangle(optbuf); + append_argv(strdup(spec)); + append_argv(strdup(name)); + append_argv(NULL); - if (MAX_ARGS <= argc ) - errx(1, "Cannot process more than %d mount arguments", - MAX_ARGS); - if (debug) { if (use_mountprog(vfstype)) printf("exec: mount_%s", vfstype); else printf("mount -t %s", vfstype); - for (i = 1; i < argc; i++) - (void)printf(" %s", argv[i]); + for (i = 1; i < mnt_argc; i++) + (void)printf(" %s", mnt_argv[i]); (void)printf("\n"); return (0); } if (use_mountprog(vfstype)) { - ret = exec_mountprog(name, execname, argv); + ret = exec_mountprog(name, execname, mnt_argv); } else { - ret = mount_fs(vfstype, argc, argv); + ret = mount_fs(vfstype, mnt_argc, mnt_argv); } free(optbuf); @@ -669,13 +675,11 @@ return (cp); } -void -mangle(char *options, int *argcp, char *argv[]) +static void +mangle(char *options) { char *p, *s; - int argc; - argc = *argcp; for (s = options; (p = strsep(&s, ",")) != NULL;) if (*p != '\0') { if (strcmp(p, "noauto") == 0) { @@ -707,19 +711,17 @@ sizeof(groupquotaeq) - 1) == 0) { continue; } else if (*p == '-') { - argv[argc++] = p; + append_argv(p); p = strchr(p, '='); if (p != NULL) { *p = '\0'; - argv[argc++] = p+1; + append_argv(p + 1); } } else { - argv[argc++] = strdup("-o"); - argv[argc++] = p; + append_argv(strdup("-o")); + append_argv(p); } } - - *argcp = argc; } From rwatson at FreeBSD.org Sun Jan 4 19:03:43 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Sun Jan 4 19:03:55 2009 Subject: svn commit: r186745 - head/sys/sys Message-ID: <200901041903.n04J3hNs071797@svn.freebsd.org> Author: rwatson Date: Sun Jan 4 19:03:42 2009 New Revision: 186745 URL: http://svn.freebsd.org/changeset/base/186745 Log: Remove now-unused pr_ousrreq from struct protosw. It may not have been used since the last millenia. Modified: head/sys/sys/protosw.h Modified: head/sys/sys/protosw.h ============================================================================== --- head/sys/sys/protosw.h Sun Jan 4 18:18:59 2009 (r186744) +++ head/sys/sys/protosw.h Sun Jan 4 19:03:42 2009 (r186745) @@ -89,8 +89,6 @@ struct protosw { pr_output_t *pr_output; /* output to protocol (from above) */ pr_ctlinput_t *pr_ctlinput; /* control input (from below) */ pr_ctloutput_t *pr_ctloutput; /* control output (from above) */ -/* user-protocol hook */ - pr_usrreq_t *pr_ousrreq; /* utility hooks */ pr_init_t *pr_init; pr_fasttimo_t *pr_fasttimo; /* fast timeout (200ms) */ From rwatson at FreeBSD.org Sun Jan 4 19:16:38 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Sun Jan 4 19:16:50 2009 Subject: svn commit: r186746 - head/sys/kern Message-ID: <200901041916.n04JGadR072101@svn.freebsd.org> Author: rwatson Date: Sun Jan 4 19:16:36 2009 New Revision: 186746 URL: http://svn.freebsd.org/changeset/base/186746 Log: Remove two further uses (debugging and NULLing) of pr_ousrreq, missed due to svn commit in the wrong directory. Spotted by: bz Modified: head/sys/kern/uipc_debug.c head/sys/kern/uipc_domain.c Modified: head/sys/kern/uipc_debug.c ============================================================================== --- head/sys/kern/uipc_debug.c Sun Jan 4 19:03:42 2009 (r186745) +++ head/sys/kern/uipc_debug.c Sun Jan 4 19:16:36 2009 (r186746) @@ -322,7 +322,6 @@ db_print_protosw(struct protosw *pr, con db_print_indent(indent); db_printf("pr_ctloutput: %p ", pr->pr_ctloutput); - db_printf("pr_ousrreq: %p ", pr->pr_ousrreq); db_printf("pr_init: %p\n", pr->pr_init); db_print_indent(indent); @@ -331,7 +330,6 @@ db_print_protosw(struct protosw *pr, con db_printf("pr_drain: %p\n", pr->pr_drain); db_print_indent(indent); - db_printf("pr_ousrreq: %p\n", pr->pr_ousrreq); } static void Modified: head/sys/kern/uipc_domain.c ============================================================================== --- head/sys/kern/uipc_domain.c Sun Jan 4 19:03:42 2009 (r186745) +++ head/sys/kern/uipc_domain.c Sun Jan 4 19:16:36 2009 (r186746) @@ -426,7 +426,6 @@ found: dpr->pr_output = NULL; dpr->pr_ctlinput = NULL; dpr->pr_ctloutput = NULL; - dpr->pr_ousrreq = NULL; dpr->pr_init = NULL; dpr->pr_fasttimo = NULL; dpr->pr_slowtimo = NULL; From ed at FreeBSD.org Sun Jan 4 19:22:54 2009 From: ed at FreeBSD.org (Ed Schouten) Date: Sun Jan 4 19:23:06 2009 Subject: svn commit: r186747 - head/sys/kern Message-ID: <200901041922.n04JMrLt072275@svn.freebsd.org> Author: ed Date: Sun Jan 4 19:22:53 2009 New Revision: 186747 URL: http://svn.freebsd.org/changeset/base/186747 Log: Remove Giant locking from domains list. During boot, the domain list is locked with Giant. It is not possible to register any protocols after the system has booted, so the lock is only used to protect insertion of entries. There is already a mutex in uipc_domain.c called dom_mtx. Use this mutex to lock the list, instead of using Giant. It won't matter anything with respect to performance, but we'll never get rid of Giant if we don't remove from places where we don't need it. Approved by: rwatson MFC after: 3 weeks Modified: head/sys/kern/uipc_domain.c Modified: head/sys/kern/uipc_domain.c ============================================================================== --- head/sys/kern/uipc_domain.c Sun Jan 4 19:16:36 2009 (r186746) +++ head/sys/kern/uipc_domain.c Sun Jan 4 19:22:53 2009 (r186747) @@ -72,7 +72,7 @@ static void pfslowtimo(void *); struct domain *domains; /* registered protocol domains */ int domain_init_status = 0; -struct mtx dom_mtx; /* domain list lock */ +static struct mtx dom_mtx; /* domain list lock */ MTX_SYSINIT(domain, &dom_mtx, "domain list", MTX_DEF); /* @@ -338,13 +338,13 @@ found: * Protect us against races when two protocol registrations for * the same protocol happen at the same time. */ - mtx_lock(&Giant); + mtx_lock(&dom_mtx); /* The new protocol must not yet exist. */ for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) { if ((pr->pr_type == npr->pr_type) && (pr->pr_protocol == npr->pr_protocol)) { - mtx_unlock(&Giant); + mtx_unlock(&dom_mtx); return (EEXIST); /* XXX: Check only protocol? */ } /* While here, remember the first free spacer. */ @@ -354,7 +354,7 @@ found: /* If no free spacer is found we can't add the new protocol. */ if (fpr == NULL) { - mtx_unlock(&Giant); + mtx_unlock(&dom_mtx); return (ENOMEM); } @@ -362,7 +362,7 @@ found: bcopy(npr, fpr, sizeof(*fpr)); /* Job is done, no more protection required. */ - mtx_unlock(&Giant); + mtx_unlock(&dom_mtx); /* Initialize and activate the protocol. */ protosw_init(fpr); @@ -398,13 +398,13 @@ found: dpr = NULL; /* Lock out everyone else while we are manipulating the protosw. */ - mtx_lock(&Giant); + mtx_lock(&dom_mtx); /* The protocol must exist and only once. */ for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) { if ((pr->pr_type == type) && (pr->pr_protocol == protocol)) { if (dpr != NULL) { - mtx_unlock(&Giant); + mtx_unlock(&dom_mtx); return (EMLINK); /* Should not happen! */ } else dpr = pr; @@ -413,7 +413,7 @@ found: /* Protocol does not exist. */ if (dpr == NULL) { - mtx_unlock(&Giant); + mtx_unlock(&dom_mtx); return (EPROTONOSUPPORT); } @@ -433,7 +433,7 @@ found: dpr->pr_usrreqs = &nousrreqs; /* Job is done, not more protection required. */ - mtx_unlock(&Giant); + mtx_unlock(&dom_mtx); return (0); } From rwatson at FreeBSD.org Sun Jan 4 19:23:45 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Sun Jan 4 19:23:58 2009 Subject: svn commit: r186748 - head/share/man/man9 Message-ID: <200901041923.n04JNiZc072342@svn.freebsd.org> Author: rwatson Date: Sun Jan 4 19:23:44 2009 New Revision: 186748 URL: http://svn.freebsd.org/changeset/base/186748 Log: Remove reference to pr_ousrreq from domain(9) since it's now gone from struct protosw. Submitted by: bz MFC after: 3 weeks Modified: head/share/man/man9/domain.9 Modified: head/share/man/man9/domain.9 ============================================================================== --- head/share/man/man9/domain.9 Sun Jan 4 19:22:53 2009 (r186747) +++ head/share/man/man9/domain.9 Sun Jan 4 19:23:44 2009 (r186748) @@ -94,8 +94,6 @@ struct protosw { pr_output_t *pr_output; /* output to protocol (from above) */ pr_ctlinput_t *pr_ctlinput; /* control input (from below) */ pr_ctloutput_t *pr_ctloutput; /* control output (from above) */ -/* user-protocol hook */ - pr_usrreq_t *pr_ousrreq; /* utility hooks */ pr_init_t *pr_init; pr_fasttimo_t *pr_fasttimo; /* fast timeout (200ms) */ From kris at FreeBSD.org Sun Jan 4 20:43:26 2009 From: kris at FreeBSD.org (Kris Kennaway) Date: Sun Jan 4 20:43:32 2009 Subject: svn commit: r186337 - head/usr.sbin/burncd In-Reply-To: <20081223182314.GC25145@dragon.NUXI.org> References: <200812192020.mBJKKEIo081792@svn.freebsd.org> <20081223182314.GC25145@dragon.NUXI.org> Message-ID: <49611F6B.10802@FreeBSD.org> David O'Brien wrote: > On Sun, Dec 21, 2008 at 10:15:21AM -0200, Carlos A. M. dos Santos wrote: >> On Fri, Dec 19, 2008 at 6:20 PM, David E. O'Brien wrote: >>> Author: obrien >>> Date: Fri Dec 19 20:20:14 2008 >>> New Revision: 186337 >>> URL: http://svn.freebsd.org/changeset/base/186337 >>> >>> Log: >>> burncd(8) doesn't handle signals and interrupting burncd during operation. >>> For example, ^C (SIGINT) may leave the drive spinning and locked. >>> This may also happen if you try to write a too-large image to a disc >>> and burncd(8) exits with an I/O error. >>> >>> Add signal handling by doing a CDRIOCFLUSH ioctl to attempt to leave >>> burner in a sane state when burning is interrupted with SIGHUP, SIGINT, >>> SIGTERM, or in case an I/O error occurs during write. >>> Note, that blanking will still continue after interrupt but it seems to >>> finish correctly even after burncd(8) has quit. >>> >>> Also, while I'm here bump WARNS to "6". >>> >>> PR: 48730 >>> Submitted by: Jaakko Heinonen >> While you are here, would you mind taking a look at bin/123693, either >> committing the proposed patch or closing the PR if my proposition is >> not acceptable? > > Yep, I already have that patch to look at. Note it was hell getting the > patch - its best to not attach it when it will be base64 encoded - we > have no easy way of extracting such encoded attachements. > AFAIK, the web PR interface will detect base64-encoded attachments and present them for download. Kris From dougb at FreeBSD.org Sun Jan 4 20:59:24 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Sun Jan 4 20:59:36 2009 Subject: svn commit: r186749 - head/usr.sbin/mergemaster Message-ID: <200901042059.n04KxNhW074100@svn.freebsd.org> Author: dougb Date: Sun Jan 4 20:59:23 2009 New Revision: 186749 URL: http://svn.freebsd.org/changeset/base/186749 Log: Instead of using obj and all targets which are not cross-build aware, use _obj and everything which are. Submitted by: ru Modified: head/usr.sbin/mergemaster/mergemaster.sh Modified: head/usr.sbin/mergemaster/mergemaster.sh ============================================================================== --- head/usr.sbin/mergemaster/mergemaster.sh Sun Jan 4 19:23:44 2009 (r186748) +++ head/usr.sbin/mergemaster/mergemaster.sh Sun Jan 4 20:59:23 2009 (r186749) @@ -592,10 +592,11 @@ case "${RERUN}" in ${MM_MAKE} DESTDIR=${DESTDIR} distrib-dirs ;; esac + od=${TEMPROOT}/usr/obj ${MM_MAKE} DESTDIR=${TEMPROOT} distrib-dirs && - MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} obj SUBDIR_OVERRIDE=etc && - MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} all SUBDIR_OVERRIDE=etc && - MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} DESTDIR=${TEMPROOT} distribution;} || + MAKEOBJDIRPREFIX=$od ${MM_MAKE} _obj SUBDIR_OVERRIDE=etc && + MAKEOBJDIRPREFIX=$od ${MM_MAKE} everything SUBDIR_OVERRIDE=etc && + MAKEOBJDIRPREFIX=$od ${MM_MAKE} DESTDIR=${TEMPROOT} distribution;} || { echo ''; echo " *** FATAL ERROR: Cannot 'cd' to ${SOURCEDIR} and install files to"; echo " the temproot environment"; From rwatson at FreeBSD.org Sun Jan 4 21:13:52 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Sun Jan 4 21:14:03 2009 Subject: svn commit: r186750 - head/sys/netinet6 Message-ID: <200901042113.n04LDpiw074400@svn.freebsd.org> Author: rwatson Date: Sun Jan 4 21:13:51 2009 New Revision: 186750 URL: http://svn.freebsd.org/changeset/base/186750 Log: struct ip6protosw is a copy of struct protosw, so remove pr_usrreq there to reflect removal from struct protosw. Spotted by: ed Modified: head/sys/netinet6/ip6protosw.h Modified: head/sys/netinet6/ip6protosw.h ============================================================================== --- head/sys/netinet6/ip6protosw.h Sun Jan 4 20:59:23 2009 (r186749) +++ head/sys/netinet6/ip6protosw.h Sun Jan 4 21:13:51 2009 (r186750) @@ -126,11 +126,6 @@ struct ip6protosw { int (*pr_ctloutput) /* control output (from above) */ __P((struct socket *, struct sockopt *)); -/* user-protocol hook */ - int (*pr_usrreq) /* user request: see list below */ - __P((struct socket *, int, struct mbuf *, - struct mbuf *, struct mbuf *, struct thread *)); - /* utility hooks */ void (*pr_init) /* initialization hook */ __P((void)); From rwatson at FreeBSD.org Sun Jan 4 21:53:44 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Sun Jan 4 21:53:55 2009 Subject: svn commit: r186751 - in head/sys: netinet6 netipsec Message-ID: <200901042153.n04LrgkD075147@svn.freebsd.org> Author: rwatson Date: Sun Jan 4 21:53:42 2009 New Revision: 186751 URL: http://svn.freebsd.org/changeset/base/186751 Log: Unlike with struct protosw, several instances of struct ip6protosw did not use C99-style sparse structure initialization, so remove NULL assignments for now-removed pr_usrreq function pointers. Reported by: Chris Ruiz Modified: head/sys/netinet6/in6_gif.c head/sys/netipsec/xform_ipip.c Modified: head/sys/netinet6/in6_gif.c ============================================================================== --- head/sys/netinet6/in6_gif.c Sun Jan 4 21:13:51 2009 (r186750) +++ head/sys/netinet6/in6_gif.c Sun Jan 4 21:53:42 2009 (r186751) @@ -78,7 +78,6 @@ extern struct domain inet6domain; struct ip6protosw in6_gif_protosw = { SOCK_RAW, &inet6domain, 0/* IPPROTO_IPV[46] */, PR_ATOMIC|PR_ADDR, in6_gif_input, rip6_output, 0, rip6_ctloutput, - 0, 0, 0, 0, 0, &rip6_usrreqs }; Modified: head/sys/netipsec/xform_ipip.c ============================================================================== --- head/sys/netipsec/xform_ipip.c Sun Jan 4 21:13:51 2009 (r186750) +++ head/sys/netipsec/xform_ipip.c Sun Jan 4 21:53:42 2009 (r186751) @@ -673,7 +673,6 @@ static struct ip6protosw ipe6_protosw = { SOCK_RAW, &inetdomain, IPPROTO_IPV6, PR_ATOMIC|PR_ADDR|PR_LASTHDR, ip4_input6, 0, 0, rip_ctloutput, - 0, 0, 0, 0, 0, &rip_usrreqs }; From ed at 80386.nl Sun Jan 4 22:07:19 2009 From: ed at 80386.nl (Ed Schouten) Date: Sun Jan 4 22:07:25 2009 Subject: svn commit: r186751 - in head/sys: netinet6 netipsec In-Reply-To: <200901042153.n04LrgkD075147@svn.freebsd.org> References: <200901042153.n04LrgkD075147@svn.freebsd.org> Message-ID: <20090104220716.GL14235@hoeg.nl> * Robert Watson wrote: > Unlike with struct protosw, several instances of struct ip6protosw > did not use C99-style sparse structure initialization, so remove > NULL assignments for now-removed pr_usrreq function pointers. Maybe we should convert them to use the C99-style initialisation. This could prevent similar issues in the future, right? -- Ed Schouten WWW: http://80386.nl/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20090104/0fc3f504/attachment.pgp From kris at FreeBSD.org Sun Jan 4 22:11:25 2009 From: kris at FreeBSD.org (Kris Kennaway) Date: Sun Jan 4 22:11:36 2009 Subject: svn commit: r186740 - head/sys/gnu/fs/ext2fs In-Reply-To: <200901041556.n04Funod061146@svn.freebsd.org> References: <200901041556.n04Funod061146@svn.freebsd.org> Message-ID: <4961340B.5010306@FreeBSD.org> Konstantin Belousov wrote: > Author: kib > Date: Sun Jan 4 15:56:49 2009 > New Revision: 186740 > URL: http://svn.freebsd.org/changeset/base/186740 > > Log: > Do not incorrectly add the low 5 bits of the offset to the resulting > position of the found zero bit. > > Submitted by: Jaakko Heinonen > MFC after: 2 weeks > > Modified: > head/sys/gnu/fs/ext2fs/ext2_bitops.h Does this fix ext2fs on amd64? Kris > Modified: head/sys/gnu/fs/ext2fs/ext2_bitops.h > ============================================================================== > --- head/sys/gnu/fs/ext2fs/ext2_bitops.h Sun Jan 4 15:49:30 2009 (r186739) > +++ head/sys/gnu/fs/ext2fs/ext2_bitops.h Sun Jan 4 15:56:49 2009 (r186740) > @@ -84,7 +84,7 @@ find_next_zero_bit(void *data, size_t sz > mask = ~0U << (ofs & 31); > bit = *p | ~mask; > if (bit != ~0U) > - return (ffs(~bit) + ofs - 1); > + return (ffs(~bit) + (ofs & ~31U) - 1); > p++; > ofs = (ofs + 31U) & ~31U; > } From rwatson at FreeBSD.org Sun Jan 4 22:14:17 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Sun Jan 4 22:14:23 2009 Subject: svn commit: r186751 - in head/sys: netinet6 netipsec In-Reply-To: <20090104220716.GL14235@hoeg.nl> References: <200901042153.n04LrgkD075147@svn.freebsd.org> <20090104220716.GL14235@hoeg.nl> Message-ID: On Sun, 4 Jan 2009, Ed Schouten wrote: > * Robert Watson wrote: >> Unlike with struct protosw, several instances of struct ip6protosw >> did not use C99-style sparse structure initialization, so remove >> NULL assignments for now-removed pr_usrreq function pointers. > > Maybe we should convert them to use the C99-style initialisation. This could > prevent similar issues in the future, right? I think Bjoern already has a work-in-progress on this one, but yes, that would be a good idea. Robert N M Watson Computer Laboratory University of Cambridge From rwatson at FreeBSD.org Sun Jan 4 22:15:17 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Sun Jan 4 22:15:29 2009 Subject: svn commit: r186752 - head/sys/netipsec Message-ID: <200901042215.n04MFFjx075656@svn.freebsd.org> Author: rwatson Date: Sun Jan 4 22:15:15 2009 New Revision: 186752 URL: http://svn.freebsd.org/changeset/base/186752 Log: Fix non-C99 initialization for protosw initializing pr_ousrreq. Modified: head/sys/netipsec/xform_ipip.c Modified: head/sys/netipsec/xform_ipip.c ============================================================================== --- head/sys/netipsec/xform_ipip.c Sun Jan 4 21:53:42 2009 (r186751) +++ head/sys/netipsec/xform_ipip.c Sun Jan 4 22:15:15 2009 (r186752) @@ -664,7 +664,6 @@ static struct protosw ipe4_protosw = { SOCK_RAW, &inetdomain, IPPROTO_IPV4, PR_ATOMIC|PR_ADDR|PR_LASTHDR, ip4_input, 0, 0, rip_ctloutput, - 0, 0, 0, 0, 0, &rip_usrreqs }; From kostikbel at gmail.com Sun Jan 4 22:17:51 2009 From: kostikbel at gmail.com (Kostik Belousov) Date: Sun Jan 4 22:18:02 2009 Subject: svn commit: r186740 - head/sys/gnu/fs/ext2fs In-Reply-To: <4961340B.5010306@FreeBSD.org> References: <200901041556.n04Funod061146@svn.freebsd.org> <4961340B.5010306@FreeBSD.org> Message-ID: <20090104221742.GK93900@deviant.kiev.zoral.com.ua> On Sun, Jan 04, 2009 at 10:11:23PM +0000, Kris Kennaway wrote: > Konstantin Belousov wrote: > >Author: kib > >Date: Sun Jan 4 15:56:49 2009 > >New Revision: 186740 > >URL: http://svn.freebsd.org/changeset/base/186740 > > > >Log: > > Do not incorrectly add the low 5 bits of the offset to the resulting > > position of the found zero bit. > > > > Submitted by: Jaakko Heinonen > > MFC after: 2 weeks > > > >Modified: > > head/sys/gnu/fs/ext2fs/ext2_bitops.h > > Does this fix ext2fs on amd64? Submitter claims that yes, I only tested the function that was patched. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20090104/7984217c/attachment.pgp From kris at FreeBSD.org Sun Jan 4 22:22:10 2009 From: kris at FreeBSD.org (Kris Kennaway) Date: Sun Jan 4 22:22:21 2009 Subject: svn commit: r186740 - head/sys/gnu/fs/ext2fs In-Reply-To: <20090104221742.GK93900@deviant.kiev.zoral.com.ua> References: <200901041556.n04Funod061146@svn.freebsd.org> <4961340B.5010306@FreeBSD.org> <20090104221742.GK93900@deviant.kiev.zoral.com.ua> Message-ID: <4961368F.8090002@FreeBSD.org> Kostik Belousov wrote: > On Sun, Jan 04, 2009 at 10:11:23PM +0000, Kris Kennaway wrote: >> Konstantin Belousov wrote: >>> Author: kib >>> Date: Sun Jan 4 15:56:49 2009 >>> New Revision: 186740 >>> URL: http://svn.freebsd.org/changeset/base/186740 >>> >>> Log: >>> Do not incorrectly add the low 5 bits of the offset to the resulting >>> position of the found zero bit. >>> >>> Submitted by: Jaakko Heinonen >>> MFC after: 2 weeks >>> >>> Modified: >>> head/sys/gnu/fs/ext2fs/ext2_bitops.h >> Does this fix ext2fs on amd64? > > Submitter claims that yes, I only tested the function that was patched. Great! I thought I had filed a PR about this but can't find it now. Kris From ed at FreeBSD.org Sun Jan 4 22:24:49 2009 From: ed at FreeBSD.org (Ed Schouten) Date: Sun Jan 4 22:24:55 2009 Subject: svn commit: r186753 - head/sys/dev/syscons/teken Message-ID: <200901042224.n04MOlK7075867@svn.freebsd.org> Author: ed Date: Sun Jan 4 22:24:47 2009 New Revision: 186753 URL: http://svn.freebsd.org/changeset/base/186753 Log: Fix rendering glitch in cons25 emulation. Because we now have cons25-style linewrapping, we must also use cons25- style reverse linewrapping. This means that a ^H on column 0 will move the cursor one line up. Also fix a small regression: if the user invokes a RIS (Reset to Initial State), we must show the cursor again. Spotted by: Paul B. Mahol Modified: head/sys/dev/syscons/teken/teken_subr.h Modified: head/sys/dev/syscons/teken/teken_subr.h ============================================================================== --- head/sys/dev/syscons/teken/teken_subr.h Sun Jan 4 22:15:15 2009 (r186752) +++ head/sys/dev/syscons/teken/teken_subr.h Sun Jan 4 22:24:47 2009 (r186753) @@ -198,11 +198,22 @@ static void teken_subr_backspace(teken_t *t) { +#ifdef TEKEN_CONS25 + if (t->t_cursor.tp_col == 0) { + if (t->t_cursor.tp_row == t->t_originreg.ts_begin) + return; + t->t_cursor.tp_row--; + t->t_cursor.tp_col = t->t_winsize.tp_col - 1; + } else { + t->t_cursor.tp_col--; + } +#else /* !TEKEN_CONS25 */ if (t->t_cursor.tp_col == 0) return; t->t_cursor.tp_col--; t->t_stateflags &= ~TS_WRAPPED; +#endif /* TEKEN_CONS25 */ teken_funcs_cursor(t); } @@ -862,6 +873,7 @@ teken_subr_reset_to_initial_state(teken_ teken_subr_do_reset(t); teken_subr_erase_display(t, 2); + teken_funcs_param(t, TP_SHOWCURSOR, 1); teken_funcs_cursor(t); } From kensmith at FreeBSD.org Mon Jan 5 03:06:57 2009 From: kensmith at FreeBSD.org (Ken Smith) Date: Mon Jan 5 03:07:08 2009 Subject: svn commit: r186754 - svnadmin/conf Message-ID: <200901050306.n0536usp082977@svn.freebsd.org> Author: kensmith Date: Mon Jan 5 03:06:55 2009 New Revision: 186754 URL: http://svn.freebsd.org/changeset/base/186754 Log: End stable/7 code freeze. Approved by: core (implicit) Modified: svnadmin/conf/approvers Modified: svnadmin/conf/approvers ============================================================================== --- svnadmin/conf/approvers Sun Jan 4 22:24:47 2009 (r186753) +++ svnadmin/conf/approvers Mon Jan 5 03:06:55 2009 (r186754) @@ -17,7 +17,7 @@ # $FreeBSD$ # #^head/ re -^stable/7/ re +#^stable/7/ re #^stable/6/ re ^releng/7.1/ re ^releng/7.0/ (security-officer|so) From hrs at FreeBSD.org Mon Jan 5 03:50:06 2009 From: hrs at FreeBSD.org (Hiroki Sato) Date: Mon Jan 5 03:50:18 2009 Subject: svn commit: r186755 - in stable/7/release/doc: en_US.ISO8859-1/errata share/sgml Message-ID: <200901050350.n053o5a0083907@svn.freebsd.org> Author: hrs Date: Mon Jan 5 03:50:04 2009 New Revision: 186755 URL: http://svn.freebsd.org/changeset/base/186755 Log: - Trim old Errata. - Bump version numbers. - Document Errata items for 7.1R: em(4) -> igb(4) change, ae(4) missing in 7.1R relnotes, and s/get_setaffinity()/sched_setaffinity()/ in 7.1R relnotes. Approved by: re (implicit) Modified: stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml stable/7/release/doc/share/sgml/release.ent Modified: stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml ============================================================================== --- stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Mon Jan 5 03:06:55 2009 (r186754) +++ stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Mon Jan 5 03:50:04 2009 (r186755) @@ -16,7 +16,7 @@ %release; - + ]>
@@ -41,6 +41,7 @@ 2008 + 2009 The &os; Documentation Project @@ -125,11 +126,9 @@ Security Advisories -No advisories. -]]> -The following security advisories pertain to &os; &release.bugfix;. For more information, consult the individual advisories available from . @@ -154,128 +153,72 @@ 17 April 2008 OpenSSH X11-forwarding privilege escalation - - SA-08:06.bind - 13 July 2008 - DNS cache poisoning - - - SA-08:07.amd64 - 3 September 2008 - amd64 swapgs local privilege escalation - - - SA-08:08.nmount - 3 September 2008 - &man.nmount.2; local arbitrary code execution - - - SA-08:09.icmp6 - 3 September 2008 - Remote kernel panics on IPv6 connections - - - SA-08:10.nd6 - 1 October 2008 - IPv6 Neighbor Discovery Protocol routing vulnerability - - - SA-08:11.arc4random - 24 November 2008 - &man.arc4random.9; predictable sequence vulnerability - - - SA-08:12.ftpd - 23 December 2008 - Cross-site request forgery in &man.ftpd.8; - - - SA-08:13.protosw - 23 December 2008 - netgraph / bluetooth privilege escalation - -]]> +--> Open Issues -No open issues. -]]> - -[20080229] &man.tcpdump.1; does not correctly print the - TX/RX rates for 802.11 frames. This issue has been fixed on the - HEAD and RELENG_7 branches. - - [20080229] A bug in Linux emulation may cause segmentation - faults for some Linux programs using &man.mmap.2;. This issue - has been fixed on the HEAD and RELENG_7 branches. - - [20080229] Instances of packet corruption and instability - have been observed with the &man.re.4; network driver. Some - users have reported that using a newer version of this driver - (on HEAD) has solved their problems, or at least mitigated - them. - - [20080229, updated 20080817] A change in the way that &os; sends TCP options - has been reported to cause connectivity issues. - This problem has been corrected on - HEAD and the RELENG_7 and RELENG_7_0 branches.. Further - details are contained in errta notice - FreeBSD-EN-08:02.tcp. - - [20080307] The &os; implementation of SCTP currently depends - on having INET6 support compiled into the - kernel. This requirement is planned to be removed in future - releases. - - [20080307] Source upgrades from &os; - 6.X to &os; &release.bugfix; will - generate warnings from &man.kldxref.8; during - the installkernel step. These warnings are - harmless and can be ignored. - - [20080307] The &man.crypto.4; driver, which is required for - IPsec functionality, has severe problems on &os;/&arch.powerpc; - (a kernel with device crypto included in its - configuration will be non-functional). - -]]> + [20090105] As in the Announcement of 7.1-RELEASE, certain Intel NICs + will come up as &man.igb.4; instead of &man.em.4; in this + release. There are only 3 PCI ID's that should have + their name changed from &man.em.4; to &man.igb.4;: + + + + 0x10A78086 + + + + 0x10A98086 + + + + 0x10D68086 + + + + You should be able to determine if your card will + change names by running the following command: + + &prompt.user; pciconf -l +. . . +em0@pci0:0:25:0: class=0x020000 card=0x02381028 chip=0x10c08086 rev=0x02 hdr=0x00 + + and for the line representing your NIC (should be named + em on older systems, + e.g. em0 or em1, etc) + check the fourth column. If that says + chip=0x10a78086 (or one of the other two IDs + given above) you will have the adapter's name change. + + [20090105] The Release Notes for 7.1-RELEASE should have mentioned + changes that the &man.ae.4; driver has been added to provide support + for the Attansic/Atheros L2 FastEthernet controllers. + This driver is not enabled in GENERIC + kernels for this release. + + [20090105] The Release Notes for 7.1-RELEASE included the + following misdescriptions: + + + + In the entry of &man.linux.4; ABI support, + get_setaffinity() should have been + sched_setaffinity(). + + Late-Breaking News and Corrections -No news. -]]> - -[20080229] The &os; &release.bugfix; release documentation - (release notes, hardware notes, and so forth) all contained a - note that users of &os; 7-STABLE should be subscribed to - the freebsd-current mailing list. This note - should not have appeared. - - [20080229] The release notes gave an incorrect version - number for KDE. The correct version number is 3.5.8. - -]]>
Modified: stable/7/release/doc/share/sgml/release.ent ============================================================================== --- stable/7/release/doc/share/sgml/release.ent Mon Jan 5 03:06:55 2009 (r186754) +++ stable/7/release/doc/share/sgml/release.ent Mon Jan 5 03:50:04 2009 (r186755) @@ -6,12 +6,12 @@ - + - + - + @@ -40,7 +40,7 @@ - + From rafan at FreeBSD.org Mon Jan 5 04:26:25 2009 From: rafan at FreeBSD.org (Rong-En Fan) Date: Mon Jan 5 04:26:42 2009 Subject: svn commit: r186756 - stable/7/usr.sbin/rpc.yppasswdd Message-ID: <200901050426.n054QPaQ084704@svn.freebsd.org> Author: rafan Date: Mon Jan 5 04:26:24 2009 New Revision: 186756 URL: http://svn.freebsd.org/changeset/base/186756 Log: MFC r184459 - Whenever a password/shell is changed via rpc.yppasswdd, the daemon leaves one zombie process because it does not do the cleanup. For a long running NIS/YP server, it will have lots of zombie processes on it. Fix that by ignoring the SIGCHLD signal since we don't really care about the exit status in this case. PR: bin/91980 Reported by: Arjan van der Velde Submitted by: Jui-Nan Lin" Reviewed by: delphij Modified: stable/7/usr.sbin/rpc.yppasswdd/ (props changed) stable/7/usr.sbin/rpc.yppasswdd/yppasswdd_main.c Modified: stable/7/usr.sbin/rpc.yppasswdd/yppasswdd_main.c ============================================================================== --- stable/7/usr.sbin/rpc.yppasswdd/yppasswdd_main.c Mon Jan 5 03:50:04 2009 (r186755) +++ stable/7/usr.sbin/rpc.yppasswdd/yppasswdd_main.c Mon Jan 5 04:26:24 2009 (r186756) @@ -165,6 +165,7 @@ main(int argc, char *argv[]) struct sockaddr_in saddr; socklen_t asize = sizeof (saddr); struct netconfig *nconf; + struct sigaction sa; void *localhandle; int ch; char *mastername; @@ -268,6 +269,9 @@ the %s domain -- aborting", yppasswd_dom } } openlog("rpc.yppasswdd", LOG_PID, LOG_DAEMON); + memset(&sa, 0, sizeof(sa)); + sa.sa_flags = SA_NOCLDWAIT; + sigaction(SIGCHLD, &sa, NULL); rpcb_unset(YPPASSWDPROG, YPPASSWDVERS, NULL); rpcb_unset(MASTER_YPPASSWDPROG, MASTER_YPPASSWDVERS, NULL); From kensmith at FreeBSD.org Mon Jan 5 04:45:19 2009 From: kensmith at FreeBSD.org (Ken Smith) Date: Mon Jan 5 04:45:37 2009 Subject: svn commit: r186757 - stable/7/sys/conf Message-ID: <200901050445.n054jIs1085134@svn.freebsd.org> Author: kensmith Date: Mon Jan 5 04:45:17 2009 New Revision: 186757 URL: http://svn.freebsd.org/changeset/base/186757 Log: Release is done, bump stable/7 to -STABLE. Modified: stable/7/sys/conf/newvers.sh Modified: stable/7/sys/conf/newvers.sh ============================================================================== --- stable/7/sys/conf/newvers.sh Mon Jan 5 04:26:24 2009 (r186756) +++ stable/7/sys/conf/newvers.sh Mon Jan 5 04:45:17 2009 (r186757) @@ -32,7 +32,7 @@ TYPE="FreeBSD" REVISION="7.1" -BRANCH="PRERELEASE" +BRANCH="STABLE" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi From alfred at freebsd.org Mon Jan 5 05:00:36 2009 From: alfred at freebsd.org (Alfred Perlstein) Date: Mon Jan 5 05:00:47 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... In-Reply-To: <4960D501.70607@gmx.de> References: <200901040012.n040C2gH040928@svn.freebsd.org> <4960D501.70607@gmx.de> Message-ID: <20090105050035.GW60686@elvis.mu.org> * Christoph Mallon [090104 07:52] wrote: > Alfred Perlstein schrieb: > >Author: alfred > >Date: Sun Jan 4 00:12:01 2009 > >New Revision: 186730 > >URL: http://svn.freebsd.org/changeset/base/186730 > > > >Log: > >[...] > > Make "libusb20_desc_foreach()" more readable. > > In my part of the world we give credit or, at the very least, say "thank > you" to the sender, when we apply patches sent to us. > > > Disappointedly > Christoph Was this something you submitted to Hans? If so I will ask him to try to retain credits going forward. -- - Alfred Perlstein From alfred at freebsd.org Mon Jan 5 05:04:16 2009 From: alfred at freebsd.org (Alfred Perlstein) Date: Mon Jan 5 05:04:27 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... In-Reply-To: <20090104.101121.2139791946.imp@bsdimp.com> References: <200901040012.n040C2gH040928@svn.freebsd.org> <20090104.101121.2139791946.imp@bsdimp.com> Message-ID: <20090105050415.GY60686@elvis.mu.org> * M. Warner Losh [090104 09:11] wrote: > In message: <200901040012.n040C2gH040928@svn.freebsd.org> > Alfred Perlstein writes: > : Sync with usb4bsd: > > Alfred, > > thanks for trudging these fixes into the tree. It is a thankless job > that people will complain about... > > Speaking of complaining, is there a review process that can be joined > for them that's more formal than "diff against hps' p4 tree and > complain?" We're trying to figure out a way to do this. We haven't had much luck exploring svk/hg/git as they're just about as much work as shipping patches back and forth. I asked core for a restricted "users/hps" area under svn for Hans to put code, but that was denied, perhaps now it's time to reconsider that? -- - Alfred Perlstein From jkoshy at FreeBSD.org Mon Jan 5 05:14:27 2009 From: jkoshy at FreeBSD.org (Joseph Koshy) Date: Mon Jan 5 05:14:34 2009 Subject: svn commit: r186758 - head/lib/libelf Message-ID: <200901050514.n055EQsG085692@svn.freebsd.org> Author: jkoshy Date: Mon Jan 5 05:14:26 2009 New Revision: 186758 URL: http://svn.freebsd.org/changeset/base/186758 Log: Add a README. Added: head/lib/libelf/README (contents, props changed) Added: head/lib/libelf/README ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libelf/README Mon Jan 5 05:14:26 2009 (r186758) @@ -0,0 +1,12 @@ +# $FreeBSD$ +# $NetBSD$ + +libelf: a BSD-licensed implementation of the ELF(3)/GELF(3) API. + +Documentation: + * Manual page elf.3 contains an overview of the library. Other + manual pages document individual APIs in the library. + * A tutorial "libelf by Example" is available at: + http://people.freebsd.org/~jkoshy/download/libelf/article.html + +For ongoing development please see http://elftoolchain.sourceforge.net/ From hrs at FreeBSD.org Mon Jan 5 05:53:15 2009 From: hrs at FreeBSD.org (Hiroki Sato) Date: Mon Jan 5 05:53:22 2009 Subject: svn commit: r186759 - stable/7/release/doc/en_US.ISO8859-1/relnotes Message-ID: <200901050553.n055rEmL086398@svn.freebsd.org> Author: hrs Date: Mon Jan 5 05:53:14 2009 New Revision: 186759 URL: http://svn.freebsd.org/changeset/base/186759 Log: - Trim old items. - Fix indent. Modified: stable/7/release/doc/en_US.ISO8859-1/relnotes/article.sgml Modified: stable/7/release/doc/en_US.ISO8859-1/relnotes/article.sgml ============================================================================== --- stable/7/release/doc/en_US.ISO8859-1/relnotes/article.sgml Mon Jan 5 05:14:26 2009 (r186758) +++ stable/7/release/doc/en_US.ISO8859-1/relnotes/article.sgml Mon Jan 5 05:53:14 2009 (r186759) @@ -12,342 +12,238 @@ ]>
- - &os; &release.current; Release Notes + + &os; &release.current; Release Notes - The &os; Project + The &os; Project - $FreeBSD$ + $FreeBSD$ - - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - The &os; Documentation Project - - - - &tm-attrib.freebsd; - &tm-attrib.ibm; - &tm-attrib.ieee; - &tm-attrib.intel; - &tm-attrib.sparc; - &tm-attrib.general; - - - - The release notes for &os; &release.current; contain a summary - of the changes made to the &os; base system on the - &release.branch; development line. - This document lists applicable security advisories that were issued since - the last release, as well as significant changes to the &os; - kernel and userland. - Some brief remarks on upgrading are also presented. - - - - - Introduction - - This document contains the release notes for &os; - &release.current;. It - describes recently added, changed, or deleted features of &os;. - It also provides some notes on upgrading - from previous versions of &os;. + + 2000 + 2001 + 2002 + 2003 + 2004 + 2005 + 2006 + 2007 + 2008 + 2009 + The &os; Documentation Project + + + + &tm-attrib.freebsd; + &tm-attrib.ibm; + &tm-attrib.ieee; + &tm-attrib.intel; + &tm-attrib.sparc; + &tm-attrib.general; + + + + The release notes for &os; &release.current; contain a summary + of the changes made to the &os; base system on the + &release.branch; development line. + This document lists applicable security advisories that were issued since + the last release, as well as significant changes to the &os; + kernel and userland. + Some brief remarks on upgrading are also presented. + + + + + Introduction + + This document contains the release notes for &os; + &release.current;. It + describes recently added, changed, or deleted features of &os;. + It also provides some notes on upgrading + from previous versions of &os;. The &release.type; distribution to which these release notes - apply represents the latest point along the &release.branch; development - branch since &release.branch; was created. Information regarding pre-built, binary - &release.type; distributions along this branch - can be found at . + The &release.type; distribution to which these release notes + apply represents the latest point along the &release.branch; development + branch since &release.branch; was created. Information regarding pre-built, binary + &release.type; distributions along this branch + can be found at . ]]> The &release.type; distribution to which these release notes - apply represents a point along the &release.branch; development - branch between &release.prev; and the future &release.next;. - Information regarding - pre-built, binary &release.type; distributions along this branch - can be found at . + The &release.type; distribution to which these release notes + apply represents a point along the &release.branch; development + branch between &release.prev; and the future &release.next;. + Information regarding + pre-built, binary &release.type; distributions along this branch + can be found at . ]]> This distribution of &os; &release.current; is a - &release.type; distribution. It can be found at or any of its mirrors. More - information on obtaining this (or other) &release.type; - distributions of &os; can be found in the Obtaining - &os; appendix to the &os; - Handbook. + This distribution of &os; &release.current; is a + &release.type; distribution. It can be found at or any of its mirrors. More + information on obtaining this (or other) &release.type; + distributions of &os; can be found in the Obtaining + &os; appendix to the &os; Handbook. ]]> - All users are encouraged to consult the release errata before - installing &os;. The errata document is updated with - late-breaking information discovered late in the - release cycle or after the release. Typically, it contains - information on known bugs, security advisories, and corrections to - documentation. An up-to-date copy of the errata for &os; - &release.current; can be found on the &os; Web site. - - - - - What's New - - This section describes - the most user-visible new or changed features in &os; - since &release.prev;. - - - Typical release note items - document recent security advisories issued after - &release.prev;, - new drivers or hardware support, new commands or options, - major bug fixes, or contributed software upgrades. They may also - list changes to major ports/packages or release engineering - practices. Clearly the release notes cannot list every single - change made to &os; between releases; this document focuses - primarily on security advisories, user-visible changes, and major - architectural improvements. - - - Security Advisories - - - - - - Kernel Changes - - The &man.ddb.4; kernel debugger now has an output capture - facility. Input and output from &man.ddb.4; can now be captured - to a memory buffer for later inspection using &man.sysctl.8; or - a textdump. The new capture command controls - this feature. - - The &man.ddb.4; debugger now supports a simple scripting - facility, which supports a set of named scripts consisting of a - set of &man.ddb.4; commands. These commands can be managed from - within &man.ddb.4; or with the use of the new &man.ddb.8; - utility. More details can be found in the &man.ddb.4; manual - page. - - The kernel now supports a new textdump format of kernel - dumps. A textdump provides higher-level information via - mechanically generated/extracted debugging output, rather than a - simple memory dump. This facility can be used to generate brief - kernel bug reports that are rich in debugging information, but - are not dependent on kernel symbol tables or precisely - synchronized source code. More information can be found in the - &man.textdump.4; manual page. - - [&arch.amd64;, &arch.i386;] The ULE - scheduler is now the default process scheduler - in GENERIC kernels. + All users are encouraged to consult the release errata before + installing &os;. The errata document is updated with + late-breaking information discovered late in the + release cycle or after the release. Typically, it contains + information on known bugs, security advisories, and corrections to + documentation. An up-to-date copy of the errata for &os; + &release.current; can be found on the &os; Web site. + + + + What's New + + This section describes the most user-visible new or changed + features in &os; since &release.prev;. + + Typical release note items document recent security + advisories issued after &release.prev;, new drivers or hardware + support, new commands or options, major bug fixes, or + contributed software upgrades. They may also list changes to + major ports/packages or release engineering practices. Clearly + the release notes cannot list every single change made to &os; + between releases; this document focuses primarily on security + advisories, user-visible changes, and major architectural + improvements. - - Boot Loader Changes + + Security Advisories + - [&arch.amd64;, &arch.i386;] The BTX kernel used by the boot - loader has been changed to invoke BIOS routines from real - mode. This change makes it possible to boot &os; from USB - devices. - - [&arch.amd64;, &arch.i386;] A new gptboot boot loader has - been added to support booting from a GPT labeled disk. A - new boot command has been added to - &man.gpt.8;, which makes a GPT disk bootable by writing the - required bits of the boot loader, creating a new boot - partition if required. - - - - - Hardware Support - - The &man.cmx.4; driver, a driver for Omnikey CardMan 4040 - PCMCIA smartcard readers, has been added. - - The &man.uslcom.4; driver, a driver for Silicon - Laboratories CP2101/CP2102-based USB serial adapters, has been - imported from OpenBSD. - - - Multimedia Support - - - - - - Network Interface Support - - The &man.ale.4; driver has been added to provide support - for Atheros AR8121/AR8113/AR8114 Gigabit/Fast Ethernet controllers. - This driver is not enabled in GENERIC - kernels for this release. - - The &man.em.4; driver has been split into two drivers - with some common parts. The &man.em.4; driver will continue - to support adapters up to the 82575, as well as new - client/desktop adapters. A new &man.igb.4; driver - will support new server adapters. - - [&arch.amd64;, &arch.i386;] The &man.wpi.4; driver has - been updated to include a number of stability fixes. - - - - - - Network Protocols + + Kernel Changes - - - - Disks and Storage + + Boot Loader Changes - The &man.aac.4; driver now supports volumes larger than - 2TB in size. + + - The &man.hptrr.4; driver has been updated to version 1.2 - from Highpoint. + + Hardware Support - + - - File Systems + + Multimedia Support - - - + + - - Userland Changes + + Network Interface Support - The &man.adduser.8; utility now supports - a option to set the mode of a new user's - home directory. - - &man.chflags.1; now supports a flag for - verbose output and a flag to ignore errors - with the same semantics as (for example) - &man.chmod.1;. - - The &man.realpath.1; utility now supports - a flag to suppress warnings; it now also - accepts multiple paths on its command line. - - &man.cron.8; now supports a option, - which can help managing cron mails in massive hosting - environment. + - &man.ypserv.8; now supports a option to - specify the port number on which it should listen. + + - - <filename>/etc/rc.d</filename> Scripts + + Network Protocols - - - - - - Contributed Software + - AMD has been updated from 6.0.10 - to 6.1.5. + - awk has been updated from 1 May - 2007 release to the 23 October 2007 release. + + Disks and Storage - bzip2 has been updated from 1.0.4 - to 1.0.5. + - OpenPAM has been updated from the - Figwort release to the Hydrangea release. + - OpenSSH has been updated from - 4.5p1 to 5.1p1. + + File Systems - sendmail has been updated from - 8.14.2 to 8.14.3. + + + - The timezone database has been updated from - the tzdata2007h release to - the tzdata2008b release. + + Userland Changes - + - - Ports/Packages Collection Infrastructure + + <filename>/etc/rc.d</filename> Scripts - + + + - + + Contributed Software - - Release Engineering and Integration + + - The supported version of - the GNOME desktop environment - (x11/gnome2) has been - updated from 2.20.1 to 2.22. + + Ports/Packages Collection Infrastructure - + - - Documentation + - - - + + Release Engineering and Integration - - Upgrading from previous releases of &os; + + - [&arch.i386;, &arch.amd64;] Beginning with &os; 6.2-RELEASE, - binary upgrades between RELEASE versions (and snapshots of the - various security branches) are supported using the - &man.freebsd-update.8; utility. The binary upgrade procedure will - update unmodified userland utilities, as well as unmodified GENERIC or - SMP kernels distributed as a part of an official &os; release. - The &man.freebsd-update.8; utility requires that the host being - upgraded have Internet connectivity. + + Documentation - An older form of binary upgrade is supported through the - Upgrade option from the main &man.sysinstall.8; - menu on CDROM distribution media. This type of binary upgrade - may be useful on non-&arch.i386;, non-&arch.amd64; machines - or on systems with no Internet connectivity. + + + - Source-based upgrades (those based on recompiling the &os; - base system from source code) from previous versions are - supported, according to the instructions in - /usr/src/UPDATING. + + Upgrading from previous releases of &os; - - Upgrading &os; should, of course, only be attempted after - backing up all data and configuration - files. - - + Beginning with &os; 6.2-RELEASE, binary + upgrades between RELEASE versions (and snapshots of the various + security branches) are supported using the + &man.freebsd-update.8; utility. The binary upgrade procedure + will update unmodified userland utilities, as well as unmodified + GENERIC or SMP kernels distributed as a part of an official &os; + release. The &man.freebsd-update.8; utility requires that the + host being upgraded have Internet connectivity. + + An older form of binary upgrade is supported through the + Upgrade option from the main + &man.sysinstall.8; menu on CDROM distribution media. This type + of binary upgrade may be useful on non-&arch.i386;, + non-&arch.amd64; machines or on systems with no Internet + connectivity. + + Source-based upgrades (those based on recompiling the &os; + base system from source code) from previous versions are + supported, according to the instructions in + /usr/src/UPDATING. + + + Upgrading &os; should, of course, only be attempted after + backing up all data and configuration + files. + +
From hrs at FreeBSD.org Mon Jan 5 05:54:14 2009 From: hrs at FreeBSD.org (Hiroki Sato) Date: Mon Jan 5 05:54:21 2009 Subject: svn commit: r186760 - stable/7/release/doc/share/sgml Message-ID: <200901050554.n055sDGp086454@svn.freebsd.org> Author: hrs Date: Mon Jan 5 05:54:13 2009 New Revision: 186760 URL: http://svn.freebsd.org/changeset/base/186760 Log: Update &release.manpath.*;. Modified: stable/7/release/doc/share/sgml/release.ent Modified: stable/7/release/doc/share/sgml/release.ent ============================================================================== --- stable/7/release/doc/share/sgml/release.ent Mon Jan 5 05:53:14 2009 (r186759) +++ stable/7/release/doc/share/sgml/release.ent Mon Jan 5 05:54:13 2009 (r186760) @@ -36,9 +36,8 @@ - - - + + @@ -58,4 +57,3 @@ - From hrs at FreeBSD.org Mon Jan 5 05:56:22 2009 From: hrs at FreeBSD.org (Hiroki Sato) Date: Mon Jan 5 05:56:38 2009 Subject: svn commit: r186761 - in stable/7/release/doc: . share/mk share/sgml Message-ID: <200901050556.n055uJvt086555@svn.freebsd.org> Author: hrs Date: Mon Jan 5 05:56:19 2009 New Revision: 186761 URL: http://svn.freebsd.org/changeset/base/186761 Log: Clean up a DSSSL file for release documents: Remove {,no.}include.historic, Fix arch="" support, and Update platform list in README. Modified: stable/7/release/doc/README stable/7/release/doc/share/mk/doc.relnotes.mk stable/7/release/doc/share/sgml/release.dsl Modified: stable/7/release/doc/README ============================================================================== --- stable/7/release/doc/README Mon Jan 5 05:54:13 2009 (r186760) +++ stable/7/release/doc/README Mon Jan 5 05:56:19 2009 (r186761) @@ -99,9 +99,10 @@ element will be included. For example: SPARC64-specific text -The currently-supported architectures are i386, sparc64, and -ia64. An element may appear for multiple architectures by specifying -a comma-separated list of architectures (i.e. arch="sparc64,ia64"). +The currently-supported architectures are amd64, arm, i386, ia64, +pc98, powerpc, and sparc64. An element may appear for multiple +architectures by specifying a comma-separated list of architectures +(i.e. arch="sparc64,ia64"). When creating a translation, make a new directory under this directory with a language code (paralleling the DocProj directory Modified: stable/7/release/doc/share/mk/doc.relnotes.mk ============================================================================== --- stable/7/release/doc/share/mk/doc.relnotes.mk Mon Jan 5 05:54:13 2009 (r186760) +++ stable/7/release/doc/share/mk/doc.relnotes.mk Mon Jan 5 05:56:19 2009 (r186761) @@ -11,23 +11,6 @@ DSLHTML?= ${RELN_ROOT}/share/sgml/defaul DSLPRINT?= ${RELN_ROOT}/share/sgml/default.dsl # -# Tweakable Makefile variables -# -# INCLUDE_HISTORIC Used by relnotes document only. When set, -# causes all release notes entries to be printed, -# even those marked as "historic". If not set -# (the default), only print "non-historic" -# release note entries. To designate a release -# note entry as "historic", add a role="historic" -# attribute to the applicable element(s). -# -.if defined(INCLUDE_HISTORIC) -JADEFLAGS+= -iinclude.historic -.else -JADEFLAGS+= -ino.include.historic -.endif - -# # Automatic device list generation: # .if exists(${RELN_ROOT}/../man4) Modified: stable/7/release/doc/share/sgml/release.dsl ============================================================================== --- stable/7/release/doc/share/sgml/release.dsl Mon Jan 5 05:54:13 2009 (r186760) +++ stable/7/release/doc/share/sgml/release.dsl Mon Jan 5 05:56:19 2009 (r186761) @@ -3,8 +3,6 @@ - - %release.ent; @@ -14,14 +12,6 @@ -; Configure behavior of this stylesheet - - - ; String manipulation functions (define (split-string-to-list STR) ;; return list of STR separated with char #\ or #\, @@ -54,92 +44,6 @@ ((equal? STR (car s)) #t) (else (loop (cdr s)))))) -; Deal with conditional inclusion of text via entities. -(default - (let* ((arch (attribute-string (normalize "arch"))) - (role (attribute-string (normalize "role"))) - (for-arch (entity-text "arch"))) - (cond - - ; If role=historic, and we're not printing historic things, then - ; don't output this element. - ((and (equal? role "historic") - (not %include-historic%)) - (empty-sosofo)) - - - ; If arch= not specified, then print unconditionally. This clause - ; handles the majority of cases. - ((or (equal? arch #f) (equal? arch "")) - (next-match)) - - ; arch= specified, see if it's equal to "all". If so, then - ; print unconditionally. Note that this clause could be - ; combined with the check to see if arch= wasn't specified - ; or was empty; they have the same outcome. - ((equal? arch "all") - (next-match)) - - ; arch= specified. If we're building for all architectures, - ; then print it prepended with the set of architectures to which - ; this element applies. - ; - ; XXX This doesn't work. -; ((equal? for-arch "all") -; (sosofo-append (literal "[") (literal arch) (literal "] ") -; (process-children))) - - ; arch= specified, so we need to check to see if the specified - ; parameter includes the architecture we're building for. - ((string-list-match? for-arch (split-string-to-list arch)) - (next-match)) - - ; None of the above - (else (empty-sosofo))))) - -(mode qandatoc - (default - (let* ((arch (attribute-string (normalize "arch"))) - (role (attribute-string (normalize "role"))) - (for-arch (entity-text "arch"))) - (cond - - ; If role=historic, and we're not printing historic things, then - ; don't output this element. - ((and (equal? role "historic") - (not %include-historic%)) - (empty-sosofo)) - - - ; If arch= not specified, then print unconditionally. This clause - ; handles the majority of cases. - ((or (equal? arch #f) (equal? arch "")) - (next-match)) - - ; arch= specified, see if it's equal to "all". If so, then - ; print unconditionally. Note that this clause could be - ; combined with the check to see if arch= wasn't specified - ; or was empty; they have the same outcome. - ((equal? arch "all") - (next-match)) - - ; arch= specified. If we're building for all architectures, - ; then print it prepended with the set of architectures to which - ; this element applies. - ; - ; XXX This doesn't work. -; ((equal? for-arch "all") -; (sosofo-append (literal "[") (literal arch) (literal "] ") -; (process-children))) - - ; arch= specified, so we need to check to see if the specified - ; parameter includes the architecture we're building for. - ((string-list-match? for-arch (split-string-to-list arch)) - (next-match)) - - ; None of the above - (else (empty-sosofo)))))) - ; We might have some sect1 level elements where the modification times ; are significant. An example of this is the "What's New" section in ; the release notes. We enable the printing of pubdate entry in @@ -150,6 +54,88 @@ ; Put URLs in footnotes, and put footnotes at the bottom of each page. (define bop-footnotes #t) (define %footnote-ulinks% #t) + + (define ($paragraph$) + (let ((arch (attribute-string (normalize "arch"))) + (role (attribute-string (normalize "role"))) + (arch-string (entity-text "arch")) + (merged-string (entity-text "merged"))) + (if (or (equal? (print-backend) 'tex) + (equal? (print-backend) #f)) + ;; avoid using country: characteristic because of a JadeTeX bug... + (make paragraph + first-line-start-indent: (if (is-first-para) + %para-indent-firstpara% + %para-indent%) + space-before: %para-sep% + space-after: (if (INLIST?) + 0pt + %para-sep%) + quadding: %default-quadding% + hyphenate?: %hyphenation% + language: (dsssl-language-code) + (make sequence + (cond + ;; If arch= not specified, then print unconditionally. This clause + ;; handles the majority of cases. + ((or (equal? arch #f) + (equal? arch "") + (equal? arch "all")) + (process-children-trim)) + (else + (make sequence + (literal "[") + (let loop ((prev (car (split-string-to-list arch))) + (rest (cdr (split-string-to-list arch)))) + (make sequence + (literal prev) + (if (not (null? rest)) + (make sequence + (literal ", ") + (loop (car rest) (cdr rest))) + (empty-sosofo)))) + (literal "] ") + (process-children-trim)))) + (if (and (not (null? role)) (equal? role "merged")) + (literal " [" merged-string "]") + (empty-sosofo)))) + (make paragraph + first-line-start-indent: (if (is-first-para) + %para-indent-firstpara% + %para-indent%) + space-before: %para-sep% + space-after: (if (INLIST?) + 0pt + %para-sep%) + quadding: %default-quadding% + hyphenate?: %hyphenation% + language: (dsssl-language-code) + country: (dsssl-country-code) + (make sequence + (cond + ;; If arch= not specified, then print unconditionally. This clause + ;; handles the majority of cases. + ((or (equal? arch #f) + (equal? arch "") + (equal? arch "all")) + (process-children-trim)) + (else + (make sequence + (literal "[") + (let loop ((prev (car (split-string-to-list arch))) + (rest (cdr (split-string-to-list arch)))) + (make sequence + (literal prev) + (if (not (null? rest)) + (make sequence + (literal ", ") + (loop (car rest) (cdr rest))) + (empty-sosofo)))) + (literal "] ") + (process-children-trim)))) + (if (and (not (null? role)) (equal? role "merged")) + (literal " [" merged-string "]") + (empty-sosofo))))))) ]]> (define (toc-depth nd) From hrs at FreeBSD.org Mon Jan 5 06:02:18 2009 From: hrs at FreeBSD.org (Hiroki Sato) Date: Mon Jan 5 06:02:50 2009 Subject: svn commit: r186762 - in stable/6/release/doc: en_US.ISO8859-1/relnotes/common share/mk share/sgml Message-ID: <200901050602.n0562HIo086716@svn.freebsd.org> Author: hrs Date: Mon Jan 5 06:02:17 2009 New Revision: 186762 URL: http://svn.freebsd.org/changeset/base/186762 Log: - Trim old relnotes items. - Remove {,no.}include.historic knob. Modified: stable/6/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml stable/6/release/doc/en_US.ISO8859-1/relnotes/common/relnotes.ent stable/6/release/doc/share/mk/doc.relnotes.mk stable/6/release/doc/share/sgml/release.dsl Modified: stable/6/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml ============================================================================== --- stable/6/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml Mon Jan 5 05:56:19 2009 (r186761) +++ stable/6/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml Mon Jan 5 06:02:17 2009 (r186762) @@ -15,6 +15,7 @@ 2006 2007 2008 + 2009 The &os; Documentation Project @@ -133,11 +134,7 @@ - The BTX kernel used by the boot - loader has been changed to invoke BIOS routines from real - mode. This change makes it possible to boot &os; from USB - devices. - + @@ -199,16 +196,7 @@ Contributed Software - bzip2 has been updated from 1.0.4 - to 1.0.5. - - sendmail has been updated from - 8.14.2 to 8.14.3. - - The timezone database has been updated from - the tzdata2007k release to - the tzdata2008b release. - + @@ -221,11 +209,7 @@ Release Engineering and Integration - The supported version of - the GNOME desktop environment - (x11/gnome2) has been - updated from 2.20.1 to 2.22. - + Modified: stable/6/release/doc/en_US.ISO8859-1/relnotes/common/relnotes.ent ============================================================================== --- stable/6/release/doc/en_US.ISO8859-1/relnotes/common/relnotes.ent Mon Jan 5 05:56:19 2009 (r186761) +++ stable/6/release/doc/en_US.ISO8859-1/relnotes/common/relnotes.ent Mon Jan 5 06:02:17 2009 (r186762) @@ -2,11 +2,6 @@ - - - - - Modified: stable/6/release/doc/share/mk/doc.relnotes.mk ============================================================================== --- stable/6/release/doc/share/mk/doc.relnotes.mk Mon Jan 5 05:56:19 2009 (r186761) +++ stable/6/release/doc/share/mk/doc.relnotes.mk Mon Jan 5 06:02:17 2009 (r186762) @@ -11,23 +11,6 @@ DSLHTML?= ${RELN_ROOT}/share/sgml/defaul DSLPRINT?= ${RELN_ROOT}/share/sgml/default.dsl # -# Tweakable Makefile variables -# -# INCLUDE_HISTORIC Used by relnotes document only. When set, -# causes all release notes entries to be printed, -# even those marked as "historic". If not set -# (the default), only print "non-historic" -# release note entries. To designate a release -# note entry as "historic", add a role="historic" -# attribute to the applicable element(s). -# -.if defined(INCLUDE_HISTORIC) -JADEFLAGS+= -iinclude.historic -.else -JADEFLAGS+= -ino.include.historic -.endif - -# # Automatic device list generation: # .if exists(${RELN_ROOT}/../man4) Modified: stable/6/release/doc/share/sgml/release.dsl ============================================================================== --- stable/6/release/doc/share/sgml/release.dsl Mon Jan 5 05:56:19 2009 (r186761) +++ stable/6/release/doc/share/sgml/release.dsl Mon Jan 5 06:02:17 2009 (r186762) @@ -3,8 +3,6 @@ - - %release.ent; @@ -14,14 +12,6 @@ -; Configure behavior of this stylesheet - - - ; String manipulation functions (define (split-string-to-list STR) ;; return list of STR separated with char #\ or #\, @@ -60,13 +50,6 @@ (for-arch (entity-text "arch"))) (cond - ; If role=historic, and we're not printing historic things, then - ; don't output this element. - ((and (equal? role "historic") - (not %include-historic%)) - (empty-sosofo)) - - ; If arch= not specified, then print unconditionally. This clause ; handles the majority of cases. ((or (equal? arch #f) (equal? arch "")) @@ -103,13 +86,6 @@ (for-arch (entity-text "arch"))) (cond - ; If role=historic, and we're not printing historic things, then - ; don't output this element. - ((and (equal? role "historic") - (not %include-historic%)) - (empty-sosofo)) - - ; If arch= not specified, then print unconditionally. This clause ; handles the majority of cases. ((or (equal? arch #f) (equal? arch "")) @@ -171,7 +147,6 @@ (u (string-append "&release.man.url;?query=" (data r) "&" "sektion=" (data m)))) (case v - (("xfree86") (string-append u "&" "manpath=XFree86+&release.manpath.xfree86;" )) (("xorg") (string-append u "&" "manpath=Xorg+&release.manpath.xorg;" )) (("netbsd") (string-append u "&" "manpath=NetBSD+&release.manpath.netbsd;")) (("ports") (string-append u "&" "manpath=FreeBSD+&release.manpath.freebsd-ports;")) From hrs at FreeBSD.org Mon Jan 5 08:33:58 2009 From: hrs at FreeBSD.org (Hiroki Sato) Date: Mon Jan 5 08:34:04 2009 Subject: svn commit: r186763 - stable/7/release/doc/en_US.ISO8859-1/errata Message-ID: <200901050833.n058Xvxf089555@svn.freebsd.org> Author: hrs Date: Mon Jan 5 08:33:56 2009 New Revision: 186763 URL: http://svn.freebsd.org/changeset/base/186763 Log: Add missing items in relnotes as Errata items: - jme(4), age(4), malo(4), bm(4), et(4), and glxsb(4). - multiple routing table support. Spotted by: weongyo and yongari Modified: stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Modified: stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml ============================================================================== --- stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Mon Jan 5 06:02:17 2009 (r186762) +++ stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Mon Jan 5 08:33:56 2009 (r186763) @@ -195,6 +195,10 @@ em0@pci0:0:25:0: class=0x020000 card=0x0 check the fourth column. If that says chip=0x10a78086 (or one of the other two IDs given above) you will have the adapter's name change.
+ + + + Late-Breaking News and Corrections [20090105] The Release Notes for 7.1-RELEASE should have mentioned changes that the &man.ae.4; driver has been added to provide support @@ -213,12 +217,129 @@ em0@pci0:0:25:0: class=0x020000 card=0x0 - + [20090105] The Release Notes for 7.1-RELEASE should have + mentioned changes that the &man.jme.4; driver has been added to + provide support for PCIe adapters based on JMicron JMC250 + gigabit Ethernet and JMC260 fast Ethernet controllers. + + [20090105] The Release Notes for 7.1-RELEASE should have + mentioned changes that the &man.age.4; driver has been added to + provide support for Attansic/Atheros L1 gigabit Ethernet + controller. + + [20090105] The Release Notes for 7.1-RELEASE should have + mentioned changes that the &man.malo.4; driver has been added to + provide support for Marvell Libertas 88W8335 based PCI network + adapters. + + [20090105] The Release Notes for 7.1-RELEASE should have + mentioned changes that the bm(4) driver has been added to + provide support for Apple Big Mac (BMAC) Ethernet controller, + found on various Apple G3 models. + + [20090105] The Release Notes for 7.1-RELEASE should have + mentioned changes that the et(4) driver has been added to + provide support for Agere ET1310 10/100/Gigabit Ethernet + controller. + + [20090105] The Release Notes for 7.1-RELEASE should have + mentioned changes that the &man.glxsb.4; driver has been added + to provide support for the Security Block in AMD Geode LX + processors. + + [20090105] The Release Notes for 7.1-RELEASE should have + mentioned that &os; now supports multiple routing tables. To + enable this, the following steps are needed: - - Late-Breaking News and Corrections + + + Add the following kernel configuration option and + rebuild the kernel. The 2 is the + number of FIB (the maximum value is 16). + + options ROUTETABLES=2 + + The procedure for rebuilding the &os; kernel is + described in the &os; + Handbook. + + This number can be modified on boot time. To do so, add + the following to /boot/loader.conf and + reboot the system: - No news. - + net.fibs=6 + + + Set a loader tunable net.my_fibnum if + needed. This means the default number of routing tables. + If not specified, 0 will be used. + + + + Set a loader tunable + net.add_addr_allfibs if needed. This + enables to add routes to all FIBs for new interfaces by + default. When this is set to 0, it will + only allocate routes on interface changes for the FIB of the + caller when adding a new set of addresses to an interface. + Note that this tunable is set to 1 by + default. + + + + To select one of the FIBs, the new &man.setfib.1; utility + can be used. This set an associated FIB with the process. For + example: + + &prompt.root; setfib -3 ping target.example.com + + The FIB #3 will be used for the &man.ping.8; command. + + The FIB which the packet will be associated with will be + determined in the following rules: + + + + All packets which have a FIB associated with them will + use the FIB. If not, FIB #0 will be used. + + + + A packet received on an interface for forwarding uses + FIB #0. + + + + A TCP listen socket associated with an FIB will generate + accept sockets which are associated with the same FIB. + + + + A packet generated in response to other packet uses the + FIB associated with the packet being responded to. + + + + A packet generated on tunnel interfaces such as + &man.gif.4; and &man.tun.4; will be encapsulated using the + FIB of the process which set up the tunnel. + + + + Routing messages will be associated with the process's + FIB. + + + + Also, the &man.ipfw.8; now supports an action rule + setfib. The following action: + + setfib fibnum + + will make the matched packet use the FIB specified in + fibnum. The rule processing + continues at the next rule. + From hrs at FreeBSD.org Mon Jan 5 08:56:48 2009 From: hrs at FreeBSD.org (Hiroki Sato) Date: Mon Jan 5 08:57:05 2009 Subject: svn commit: r186764 - stable/7/release/doc/en_US.ISO8859-1/errata Message-ID: <200901050856.n058ujil089969@svn.freebsd.org> Author: hrs Date: Mon Jan 5 08:56:45 2009 New Revision: 186764 URL: http://svn.freebsd.org/changeset/base/186764 Log: Add explanation of FIB. Modified: stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Modified: stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml ============================================================================== --- stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Mon Jan 5 08:33:56 2009 (r186763) +++ stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Mon Jan 5 08:56:45 2009 (r186764) @@ -254,8 +254,9 @@ em0@pci0:0:25:0: class=0x020000 card=0x0 Add the following kernel configuration option and - rebuild the kernel. The 2 is the - number of FIB (the maximum value is 16). + rebuild the kernel. The 2 is the number + of FIB (Forward Information Base, synonym for a routing + table here). The maximum value is 16. options ROUTETABLES=2 From trhodes at FreeBSD.org Mon Jan 5 12:10:24 2009 From: trhodes at FreeBSD.org (Tom Rhodes) Date: Mon Jan 5 12:10:36 2009 Subject: svn commit: r186768 - head/sbin/mount_msdosfs Message-ID: <200901051210.n05CAMba095670@svn.freebsd.org> Author: trhodes Date: Mon Jan 5 12:10:22 2009 New Revision: 186768 URL: http://svn.freebsd.org/changeset/base/186768 Log: Add missing qualifier which was missed in the previous commit. Noticed by: brooks Modified: head/sbin/mount_msdosfs/mount_msdosfs.8 Modified: head/sbin/mount_msdosfs/mount_msdosfs.8 ============================================================================== --- head/sbin/mount_msdosfs/mount_msdosfs.8 Mon Jan 5 10:43:48 2009 (r186767) +++ head/sbin/mount_msdosfs/mount_msdosfs.8 Mon Jan 5 12:10:22 2009 (r186768) @@ -75,7 +75,7 @@ The following MSDOS file system-specific .Bl -tag -width indent .It Cm large Support file systems larger than 128 gigabytes at the expense -of 32 bytes of kernel memory. +of 32 bytes of kernel memory for each file on disk. This memory will not be reclaimed until the file system has been unmounted. .It Cm longnames From trhodes at FreeBSD.org Mon Jan 5 12:18:47 2009 From: trhodes at FreeBSD.org (Tom Rhodes) Date: Mon Jan 5 12:18:59 2009 Subject: svn commit: r186769 - head/lib/libc/sys Message-ID: <200901051218.n05CIk9G095855@svn.freebsd.org> Author: trhodes Date: Mon Jan 5 12:18:46 2009 New Revision: 186769 URL: http://svn.freebsd.org/changeset/base/186769 Log: Note that the protocol argument can be set to 0. PR: 127890 Reviewed by: rwatson Modified: head/lib/libc/sys/socket.2 Modified: head/lib/libc/sys/socket.2 ============================================================================== --- head/lib/libc/sys/socket.2 Mon Jan 5 12:10:22 2009 (r186768) +++ head/lib/libc/sys/socket.2 Mon Jan 5 12:18:46 2009 (r186769) @@ -28,7 +28,7 @@ .\" From: @(#)socket.2 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd August 4, 2008 +.Dd January 5, 2009 .Dt SOCKET 2 .Os .Sh NAME @@ -131,6 +131,11 @@ in which communication is to take place; see .Xr protocols 5 . .Pp +The +.Fa protocol +argument may be set to zero (0) to request the default +implementation of a socket type for the protocol, if any. +.Pp Sockets of type .Dv SOCK_STREAM are full-duplex byte streams, similar From trhodes at FreeBSD.org Mon Jan 5 12:35:39 2009 From: trhodes at FreeBSD.org (Tom Rhodes) Date: Mon Jan 5 12:35:52 2009 Subject: svn commit: r186429 - head/sbin/mount_msdosfs In-Reply-To: <20090102165652.GA8152@lor.one-eyed-alien.net> References: <200812231335.mBNDZRBZ003693@svn.freebsd.org> <20090102165652.GA8152@lor.one-eyed-alien.net> Message-ID: <20090105071055.569e16c3.trhodes@FreeBSD.org> On Fri, 2 Jan 2009 10:56:52 -0600 Brooks Davis wrote: > On Tue, Dec 23, 2008 at 01:35:27PM +0000, Tom Rhodes wrote: > > Author: trhodes > > Date: Tue Dec 23 13:35:26 2008 > > New Revision: 186429 > > URL: http://svn.freebsd.org/changeset/base/186429 > > > > Log: > > Document the "-o large" option. > > > > PR: 129792 > > > > Modified: > > head/sbin/mount_msdosfs/mount_msdosfs.8 > > > > Modified: head/sbin/mount_msdosfs/mount_msdosfs.8 > > ============================================================================== > > --- head/sbin/mount_msdosfs/mount_msdosfs.8 Tue Dec 23 13:09:17 2008 (r186428) > > +++ head/sbin/mount_msdosfs/mount_msdosfs.8 Tue Dec 23 13:35:26 2008 (r186429) > > @@ -30,7 +30,7 @@ > > .\" > > .\" $FreeBSD$ > > .\" > > -.Dd April 7, 1994 > > +.Dd December 23, 2008 > > .Dt MOUNT_MSDOSFS 8 > > .Os > > .Sh NAME > > @@ -73,6 +73,11 @@ as described in > > .Xr mount 8 . > > The following MSDOS file system-specific options are available: > > .Bl -tag -width indent > > +.It Cm large > > +Support file systems larger than 128 gigabytes at the expense > > +of 32 bytes of kernel memory. > > The second half of this sentence doesn't make sense. If it's 32-bytes > per file system, that's not worth mentioning since the mount table > entry is going to be a bigger than that. Presumably there's a missing > qualifier like "per file opened" or something. For each file on disk, I've committed a fix, thanks! -- Tom Rhodes From rafan at FreeBSD.org Mon Jan 5 13:06:04 2009 From: rafan at FreeBSD.org (Rong-En Fan) Date: Mon Jan 5 13:06:22 2009 Subject: svn commit: r186772 - stable/6/usr.sbin/rpc.yppasswdd Message-ID: <200901051306.n05D63et096962@svn.freebsd.org> Author: rafan Date: Mon Jan 5 13:06:03 2009 New Revision: 186772 URL: http://svn.freebsd.org/changeset/base/186772 Log: MFC r184459 - Whenever a password/shell is changed via rpc.yppasswdd, the daemon leaves one zombie process because it does not do the cleanup. For a long running NIS/YP server, it will have lots of zombie processes on it. Fix that by ignoring the SIGCHLD signal since we don't really care about the exit status in this case. PR: bin/91980 Reported by: Arjan van der Velde Submitted by: Jui-Nan Lin" Reviewed by: delphij Modified: stable/6/usr.sbin/rpc.yppasswdd/ (props changed) stable/6/usr.sbin/rpc.yppasswdd/yppasswdd_main.c Modified: stable/6/usr.sbin/rpc.yppasswdd/yppasswdd_main.c ============================================================================== --- stable/6/usr.sbin/rpc.yppasswdd/yppasswdd_main.c Mon Jan 5 12:58:43 2009 (r186771) +++ stable/6/usr.sbin/rpc.yppasswdd/yppasswdd_main.c Mon Jan 5 13:06:03 2009 (r186772) @@ -165,6 +165,7 @@ main(int argc, char *argv[]) struct sockaddr_in saddr; socklen_t asize = sizeof (saddr); struct netconfig *nconf; + struct sigaction sa; void *localhandle; int ch; char *mastername; @@ -268,6 +269,9 @@ the %s domain -- aborting", yppasswd_dom } } openlog("rpc.yppasswdd", LOG_PID, LOG_DAEMON); + memset(&sa, 0, sizeof(sa)); + sa.sa_flags = SA_NOCLDWAIT; + sigaction(SIGCHLD, &sa, NULL); rpcb_unset(YPPASSWDPROG, YPPASSWDVERS, NULL); rpcb_unset(MASTER_YPPASSWDPROG, MASTER_YPPASSWDVERS, NULL); From flz at FreeBSD.org Mon Jan 5 13:10:07 2009 From: flz at FreeBSD.org (Florent Thoumie) Date: Mon Jan 5 13:10:24 2009 Subject: svn commit: r186773 - in stable/7/usr.sbin/pkg_install: . create lib Message-ID: <200901051310.n05DA6UQ097067@svn.freebsd.org> Author: flz Date: Mon Jan 5 13:10:06 2009 New Revision: 186773 URL: http://svn.freebsd.org/changeset/base/186773 Log: Synchronize pkg_install with HEAD (20080708): r180361: actually enable '-n' for pkg_create(1) r181376: use humanize_number to report pen-sizes Modified: stable/7/usr.sbin/pkg_install/ (props changed) stable/7/usr.sbin/pkg_install/Makefile.inc stable/7/usr.sbin/pkg_install/create/main.c stable/7/usr.sbin/pkg_install/lib/lib.h stable/7/usr.sbin/pkg_install/lib/pen.c Modified: stable/7/usr.sbin/pkg_install/Makefile.inc ============================================================================== --- stable/7/usr.sbin/pkg_install/Makefile.inc Mon Jan 5 13:06:03 2009 (r186772) +++ stable/7/usr.sbin/pkg_install/Makefile.inc Mon Jan 5 13:10:06 2009 (r186773) @@ -4,6 +4,9 @@ LIBINSTALL= ${.OBJDIR}/../lib/libinstall.a +DPADD+= ${LIBUTIL} +LDADD+= -lutil + .if ${MK_OPENSSL} != "no" && \ defined(LDADD) && ${LDADD:M-lfetch} != "" DPADD+= ${LIBSSL} ${LIBCRYPTO} Modified: stable/7/usr.sbin/pkg_install/create/main.c ============================================================================== --- stable/7/usr.sbin/pkg_install/create/main.c Mon Jan 5 13:06:03 2009 (r186772) +++ stable/7/usr.sbin/pkg_install/create/main.c Mon Jan 5 13:10:06 2009 (r186773) @@ -208,6 +208,10 @@ main(int argc, char **argv) Recursive = TRUE; break; + case 'n': + Regenerate = FALSE; + break; + case 0: if (Help) usage(); Modified: stable/7/usr.sbin/pkg_install/lib/lib.h ============================================================================== --- stable/7/usr.sbin/pkg_install/lib/lib.h Mon Jan 5 13:06:03 2009 (r186772) +++ stable/7/usr.sbin/pkg_install/lib/lib.h Mon Jan 5 13:10:06 2009 (r186773) @@ -105,7 +105,7 @@ * Version of the package tools - increase only when some * functionality used by bsd.port.mk is changed, added or removed */ -#define PKG_INSTALL_VERSION 20080612 +#define PKG_INSTALL_VERSION 20080708 #define PKG_WRAPCONF_FNAME "/var/db/pkg_install.conf" #define main(argc, argv) real_main(argc, argv) Modified: stable/7/usr.sbin/pkg_install/lib/pen.c ============================================================================== --- stable/7/usr.sbin/pkg_install/lib/pen.c Mon Jan 5 13:06:03 2009 (r186772) +++ stable/7/usr.sbin/pkg_install/lib/pen.c Mon Jan 5 13:10:06 2009 (r186773) @@ -23,6 +23,7 @@ __FBSDID("$FreeBSD$"); #include "lib.h" #include +#include #include #include #include @@ -44,6 +45,7 @@ find_play_pen(char *pen, off_t sz) { char *cp; struct stat sb; + char humbuf[6]; if (pen[0] && isdir(dirname(pen)) == TRUE && (min_free(dirname(pen)) >= sz)) return pen; @@ -59,10 +61,12 @@ find_play_pen(char *pen, off_t sz) strcpy(pen, "/usr/tmp/instmp.XXXXXX"); else { cleanup(0); + humanize_number(humbuf, sizeof humbuf, sz, "", HN_AUTOSCALE, + HN_NOSPACE); errx(2, "%s: can't find enough temporary space to extract the files, please set your\n" -"PKG_TMPDIR environment variable to a location with at least %ld bytes\n" -"free", __func__, (long)sz); +"PKG_TMPDIR environment variable to a location with at least %s bytes\n" +"free", __func__, humbuf); return NULL; } return pen; @@ -98,6 +102,8 @@ popPen(char *pen) char * make_playpen(char *pen, off_t sz) { + char humbuf1[6], humbuf2[6]; + if (!find_play_pen(pen, sz)) return NULL; @@ -111,8 +117,13 @@ make_playpen(char *pen, off_t sz) } if (Verbose) { - if (sz) - fprintf(stderr, "Requested space: %d bytes, free space: %lld bytes in %s\n", (int)sz, (long long)min_free(pen), pen); + if (sz) { + humanize_number(humbuf1, sizeof humbuf1, sz, "", HN_AUTOSCALE, + HN_NOSPACE); + humanize_number(humbuf2, sizeof humbuf2, min_free(pen), + "", HN_AUTOSCALE, HN_NOSPACE); + fprintf(stderr, "Requested space: %s bytes, free space: %s bytes in %s\n", humbuf1, humbuf2, pen); + } } if (min_free(pen) < sz) { From des at des.no Mon Jan 5 13:46:27 2009 From: des at des.no (=?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?=) Date: Mon Jan 5 13:46:35 2009 Subject: svn commit: r186502 - head/usr.bin/make In-Reply-To: <200812262231.mBQMVjHC052150@svn.freebsd.org> (Luigi Rizzo's message of "Fri, 26 Dec 2008 22:31:45 +0000 (UTC)") References: <200812262231.mBQMVjHC052150@svn.freebsd.org> Message-ID: <867i59lvbj.fsf@ds4.des.no> Luigi Rizzo writes: > Log: > Clarify the behaviour of conditionals when dealing with comparisons. > In particular, point out that string comparison can only use != and == > (how weird, given that the underlying call to strcmp returns more > information), that floating point values are correctly interpreted > as numbers, and that the left-hand side must be a variable expansion. Any chance of fixing items 1 and 3? DES -- Dag-Erling Sm?rgrav - des@des.no From rrs at FreeBSD.org Mon Jan 5 13:55:18 2009 From: rrs at FreeBSD.org (Randall Stewart) Date: Mon Jan 5 13:55:30 2009 Subject: svn commit: r186775 - head/sys/sys Message-ID: <200901051355.n05DtHoD097993@svn.freebsd.org> Author: rrs Date: Mon Jan 5 13:55:17 2009 New Revision: 186775 URL: http://svn.freebsd.org/changeset/base/186775 Log: Add the missing PRU_FLUSH and 'FLUSH' defines noticed by rwatson. Opps.. Modified: head/sys/sys/protosw.h Modified: head/sys/sys/protosw.h ============================================================================== --- head/sys/sys/protosw.h Mon Jan 5 13:18:39 2009 (r186774) +++ head/sys/sys/protosw.h Mon Jan 5 13:55:17 2009 (r186775) @@ -170,7 +170,8 @@ struct protosw { #define PRU_SEND_EOF 22 /* send and close */ #define PRU_SOSETLABEL 23 /* MAC label change */ #define PRU_CLOSE 24 /* socket close */ -#define PRU_NREQ 24 +#define PRU_FLUSH 25 /* flush the socket */ +#define PRU_NREQ 25 #ifdef PRUREQUESTS const char *prurequests[] = { @@ -180,7 +181,7 @@ const char *prurequests[] = { "SENSE", "RCVOOB", "SENDOOB", "SOCKADDR", "PEERADDR", "CONNECT2", "FASTTIMO", "SLOWTIMO", "PROTORCV", "PROTOSEND", "SEND_EOF", "SOSETLABEL", - "CLOSE", + "CLOSE", "FLUSH", }; #endif From des at des.no Mon Jan 5 13:56:20 2009 From: des at des.no (=?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?=) Date: Mon Jan 5 13:56:31 2009 Subject: svn commit: r186444 - head/usr.sbin/burncd In-Reply-To: <200812231757.mBNHvI9c009238@svn.freebsd.org> (David E. O'Brien's message of "Tue, 23 Dec 2008 17:57:18 +0000 (UTC)") References: <200812231757.mBNHvI9c009238@svn.freebsd.org> Message-ID: <863afxluv2.fsf@ds4.des.no> "David E. O'Brien" writes: > -static int global_fd_for_cleanup, quiet, verbose, saved_block_size, notracks; > +static int quiet, verbose, saved_block_size, notracks; > +static volatile int global_fd_for_cleanup; The correct type is sig_atomic_t (which in FreeBSD is either int or long depending on the platform) DES -- Dag-Erling Sm?rgrav - des@des.no From rwatson at FreeBSD.org Mon Jan 5 14:21:50 2009 From: rwatson at FreeBSD.org (Robert Watson) Date: Mon Jan 5 14:21:57 2009 Subject: svn commit: r186776 - in head/sys: amd64/conf i386/conf Message-ID: <200901051421.n05ELnlC098512@svn.freebsd.org> Author: rwatson Date: Mon Jan 5 14:21:49 2009 New Revision: 186776 URL: http://svn.freebsd.org/changeset/base/186776 Log: Add commented out options KDTRACE_HOOKS and, for amd64, KDRACE_FRAME, to GENERIC configuration files. This brings what's in 8.x in sync with what is in 7.x, but does not change any current defaults. Possibly they should now be enabled in head by default? Modified: head/sys/amd64/conf/GENERIC head/sys/i386/conf/GENERIC Modified: head/sys/amd64/conf/GENERIC ============================================================================== --- head/sys/amd64/conf/GENERIC Mon Jan 5 13:55:17 2009 (r186775) +++ head/sys/amd64/conf/GENERIC Mon Jan 5 14:21:49 2009 (r186776) @@ -65,6 +65,8 @@ options KBD_INSTALL_CDEV # install a CD options STOP_NMI # Stop CPUS using NMI instead of IPI options AUDIT # Security event auditing options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) +#options KDTRACE_FRAME # Ensure frames are compiled in +#options KDTRACE_HOOKS # Kernel DTrace hooks # Debugging for use in -current options KDB # Enable kernel debugger support. Modified: head/sys/i386/conf/GENERIC ============================================================================== --- head/sys/i386/conf/GENERIC Mon Jan 5 13:55:17 2009 (r186775) +++ head/sys/i386/conf/GENERIC Mon Jan 5 14:21:49 2009 (r186776) @@ -65,6 +65,7 @@ options KBD_INSTALL_CDEV # install a CD options STOP_NMI # Stop CPUS using NMI instead of IPI options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) options AUDIT # Security event auditing +#options KDTRACE_HOOKS # Kernel DTrace hooks # Debugging for use in -current options KDB # Enable kernel debugger support. From rizzo at iet.unipi.it Mon Jan 5 14:24:34 2009 From: rizzo at iet.unipi.it (Luigi Rizzo) Date: Mon Jan 5 14:24:45 2009 Subject: svn commit: r186502 - head/usr.bin/make In-Reply-To: <867i59lvbj.fsf@ds4.des.no> References: <200812262231.mBQMVjHC052150@svn.freebsd.org> <867i59lvbj.fsf@ds4.des.no> Message-ID: <20090105142929.GA70683@onelab2.iet.unipi.it> On Mon, Jan 05, 2009 at 02:46:24PM +0100, Dag-Erling Sm??rgrav wrote: > Luigi Rizzo writes: > > Log: > > Clarify the behaviour of conditionals when dealing with comparisons. > > In particular, point out that string comparison can only use != and == > > (how weird, given that the underlying call to strcmp returns more > > information), that floating point values are correctly interpreted > > as numbers, and that the left-hand side must be a variable expansion. > > Any chance of fixing items 1 and 3? item 1 is easy except perhaps for Locale issues which however should not be a big deal in this context. item 3 should also be easy. But the thing i wonder about is whether there is any standard that mandates this beviour, or we are relatively free to make enhancements to our "make" program. cheers luigi From lulf at FreeBSD.org Mon Jan 5 15:18:17 2009 From: lulf at FreeBSD.org (Ulf Lilleengen) Date: Mon Jan 5 15:18:32 2009 Subject: svn commit: r186781 - in head: contrib/csup usr.bin/csup Message-ID: <200901051518.n05FIGli099929@svn.freebsd.org> Author: lulf Date: Mon Jan 5 15:18:16 2009 New Revision: 186781 URL: http://svn.freebsd.org/changeset/base/186781 Log: Merge support for CVSMode (aka. mirror mode) into csup. This means csup can now fetch a complete CVS repository. Support for rsync update of regular files are also included, but are not yet enabled. The change should not have an impact on existing csup usage, as little of the existing code has changed. Added: head/contrib/csup/lex.rcs.c - copied unchanged from r186779, projects/csup_cvsmode/contrib/csup/lex.rcs.c head/contrib/csup/rcsfile.c - copied unchanged from r186779, projects/csup_cvsmode/contrib/csup/rcsfile.c head/contrib/csup/rcsfile.h - copied unchanged from r186779, projects/csup_cvsmode/contrib/csup/rcsfile.h head/contrib/csup/rcsparse.c - copied unchanged from r186779, projects/csup_cvsmode/contrib/csup/rcsparse.c head/contrib/csup/rcsparse.h - copied unchanged from r186779, projects/csup_cvsmode/contrib/csup/rcsparse.h head/contrib/csup/rcstokenizer.h - copied unchanged from r186779, projects/csup_cvsmode/contrib/csup/rcstokenizer.h head/contrib/csup/rcstokenizer.l - copied unchanged from r186779, projects/csup_cvsmode/contrib/csup/rcstokenizer.l head/contrib/csup/rsyncfile.c - copied unchanged from r186779, projects/csup_cvsmode/contrib/csup/rsyncfile.c head/contrib/csup/rsyncfile.h - copied unchanged from r186779, projects/csup_cvsmode/contrib/csup/rsyncfile.h Modified: head/contrib/csup/ (props changed) head/contrib/csup/GNUmakefile head/contrib/csup/Makefile head/contrib/csup/TODO head/contrib/csup/config.c head/contrib/csup/detailer.c head/contrib/csup/diff.c head/contrib/csup/diff.h head/contrib/csup/fattr.c head/contrib/csup/fattr.h head/contrib/csup/keyword.c head/contrib/csup/keyword.h head/contrib/csup/lister.c head/contrib/csup/misc.c head/contrib/csup/misc.h head/contrib/csup/mux.c head/contrib/csup/proto.c head/contrib/csup/proto.h head/contrib/csup/status.c head/contrib/csup/stream.c head/contrib/csup/stream.h head/contrib/csup/updater.c head/usr.bin/csup/ (props changed) head/usr.bin/csup/Makefile Modified: head/contrib/csup/GNUmakefile ============================================================================== --- head/contrib/csup/GNUmakefile Mon Jan 5 15:02:05 2009 (r186780) +++ head/contrib/csup/GNUmakefile Mon Jan 5 15:18:16 2009 (r186781) @@ -12,8 +12,9 @@ GROUP?= 0 UNAME= $(shell uname -s) SRCS= attrstack.c config.c detailer.c diff.c fattr.c fixups.c fnmatch.c \ - globtree.c idcache.c keyword.c lister.c main.c misc.c mux.c pathcomp.c \ - parse.c proto.c status.c stream.c threads.c token.c updater.c + globtree.c idcache.c keyword.c lex.rcs.c lister.c main.c misc.c mux.c \ + pathcomp.c parse.c proto.c rcsfile.c rcsparse.c rsyncfile.c status.c \ + stream.c threads.c token.c updater.c OBJS= $(SRCS:.c=.o) WARNS= -Wall -W -Wno-unused-parameter -Wmissing-prototypes -Wpointer-arith \ Modified: head/contrib/csup/Makefile ============================================================================== --- head/contrib/csup/Makefile Mon Jan 5 15:02:05 2009 (r186780) +++ head/contrib/csup/Makefile Mon Jan 5 15:18:16 2009 (r186781) @@ -9,10 +9,11 @@ UNAME!= /usr/bin/uname -s PROG= csup SRCS= attrstack.c config.c detailer.c diff.c fattr.c fixups.c fnmatch.c \ globtree.c idcache.c keyword.c lister.c main.c misc.c mux.c parse.y \ - pathcomp.c proto.c status.c stream.c threads.c token.l updater.c + pathcomp.c proto.c status.c stream.c threads.c token.l updater.c \ + rcsfile.c rcsparse.c lex.rcs.c rsyncfile.c CFLAGS+= -I. -I${.CURDIR} -g -pthread -DHAVE_FFLAGS -DNDEBUG -WARNS?= 6 +WARNS?= 1 # A bit of tweaking is needed to get this Makefile working # with the bsd.prog.mk of all the *BSD OSes... Modified: head/contrib/csup/TODO ============================================================================== --- head/contrib/csup/TODO Mon Jan 5 15:02:05 2009 (r186780) +++ head/contrib/csup/TODO Mon Jan 5 15:18:16 2009 (r186781) @@ -28,4 +28,3 @@ MISSING FEATURES: checkout files (files in CVS/ subdirectores), a command line override to only update a specific collection and a third verbosity level to display commit log messages. -- Add support for CVS mode (maybe?). Modified: head/contrib/csup/config.c ============================================================================== --- head/contrib/csup/config.c Mon Jan 5 15:02:05 2009 (r186780) +++ head/contrib/csup/config.c Mon Jan 5 15:18:16 2009 (r186781) @@ -133,7 +133,6 @@ config_init(const char *file, struct col coll->co_options &= ~CO_CHECKRCS; /* In recent versions, we always try to set the file modes. */ coll->co_options |= CO_SETMODE; - /* XXX We don't support the rsync updating algorithm yet. */ coll->co_options |= CO_NORSYNC; error = config_parse_refusefiles(coll); if (error) @@ -444,10 +443,6 @@ coll_add(char *name) "\"%s\"\n", cur_coll->co_name); exit(1); } - if (!(cur_coll->co_options & CO_CHECKOUTMODE)) { - lprintf(-1, "Client only supports checkout mode\n"); - exit(1); - } if (!STAILQ_EMPTY(&colls)) { coll = STAILQ_LAST(&colls, coll, co_next); if (strcmp(coll->co_host, cur_coll->co_host) != 0) { Modified: head/contrib/csup/detailer.c ============================================================================== --- head/contrib/csup/detailer.c Mon Jan 5 15:02:05 2009 (r186780) +++ head/contrib/csup/detailer.c Mon Jan 5 15:18:16 2009 (r186781) @@ -30,13 +30,21 @@ #include #include #include +#include + +#include +#include +#include #include "config.h" #include "detailer.h" #include "fixups.h" +#include "globtree.h" #include "misc.h" #include "mux.h" #include "proto.h" +#include "rcsfile.h" +#include "rsyncfile.h" #include "status.h" #include "stream.h" @@ -56,8 +64,16 @@ struct detailer { static int detailer_batch(struct detailer *); static int detailer_coll(struct detailer *, struct coll *, struct status *); -static int detailer_dofile(struct detailer *, struct coll *, +static int detailer_dofile_co(struct detailer *, struct coll *, struct status *, char *); +static int detailer_dofile_rcs(struct detailer *, struct coll *, + char *, char *); +static int detailer_dofile_regular(struct detailer *, char *, char *); +static int detailer_dofile_rsync(struct detailer *, char *, char *); +static int detailer_checkrcsattr(struct detailer *, struct coll *, char *, + struct fattr *, int); +int detailer_send_details(struct detailer *, struct coll *, char *, + char *, struct fattr *); void * detailer(void *arg) @@ -186,8 +202,13 @@ detailer_batch(struct detailer *d) } if (fixup->f_coll != coll) break; - error = proto_printf(wr, "Y %s %s %s\n", fixup->f_name, - coll->co_tag, coll->co_date); + if (coll->co_options & CO_CHECKOUTMODE) + error = proto_printf(wr, "Y %s %s %s\n", + fixup->f_name, coll->co_tag, coll->co_date); + else { + error = proto_printf(wr, "A %s\n", + fixup->f_name); + } if (error) return (DETAILER_ERR_WRITE); fixup = NULL; @@ -208,12 +229,14 @@ detailer_batch(struct detailer *d) static int detailer_coll(struct detailer *d, struct coll *coll, struct status *st) { + struct fattr *rcsattr; struct stream *rd, *wr; - char *cmd, *file, *line, *msg; - int error; + char *attr, *cmd, *file, *line, *msg, *path, *target; + int error, attic; rd = d->rd; wr = d->wr; + attic = 0; line = stream_getln(rd, NULL); if (line == NULL) return (DETAILER_ERR_READ); @@ -226,17 +249,84 @@ detailer_coll(struct detailer *d, struct /* Delete file. */ file = proto_get_ascii(&line); if (file == NULL || line != NULL) - return (DETAILER_ERR_PROTO); + return (DETAILER_ERR_PROTO); error = proto_printf(wr, "D %s\n", file); if (error) return (DETAILER_ERR_WRITE); break; + case 'I': + case 'i': + case 'j': + /* Directory operations. */ + file = proto_get_ascii(&line); + if (file == NULL || line != NULL) + return (DETAILER_ERR_PROTO); + error = proto_printf(wr, "%s %s\n", cmd, file); + if (error) + return (DETAILER_ERR_WRITE); + break; + case 'J': + /* Set directory attributes. */ + file = proto_get_ascii(&line); + attr = proto_get_ascii(&line); + if (file == NULL || line != NULL || attr == NULL) + return (DETAILER_ERR_PROTO); + error = proto_printf(wr, "%s %s %s\n", cmd, file, attr); + if (error) + return (DETAILER_ERR_WRITE); + break; + case 'H': + case 'h': + /* Create a hard link. */ + file = proto_get_ascii(&line); + target = proto_get_ascii(&line); + if (file == NULL || target == NULL) + return (DETAILER_ERR_PROTO); + error = proto_printf(wr, "%s %s %s\n", cmd, file, + target); + break; + case 't': + file = proto_get_ascii(&line); + attr = proto_get_ascii(&line); + if (file == NULL || attr == NULL || line != NULL) { + return (DETAILER_ERR_PROTO); + } + rcsattr = fattr_decode(attr); + if (rcsattr == NULL) { + return (DETAILER_ERR_PROTO); + } + error = detailer_checkrcsattr(d, coll, file, rcsattr, + 1); + break; + + case 'T': + file = proto_get_ascii(&line); + attr = proto_get_ascii(&line); + if (file == NULL || attr == NULL || line != NULL) + return (DETAILER_ERR_PROTO); + rcsattr = fattr_decode(attr); + if (rcsattr == NULL) + return (DETAILER_ERR_PROTO); + error = detailer_checkrcsattr(d, coll, file, rcsattr, + 0); + break; + case 'U': /* Add or update file. */ file = proto_get_ascii(&line); if (file == NULL || line != NULL) return (DETAILER_ERR_PROTO); - error = detailer_dofile(d, coll, st, file); + if (coll->co_options & CO_CHECKOUTMODE) { + error = detailer_dofile_co(d, coll, st, file); + } else { + path = cvspath(coll->co_prefix, file, 0); + rcsattr = fattr_frompath(path, FATTR_NOFOLLOW); + error = detailer_send_details(d, coll, file, + path, rcsattr); + if (rcsattr != NULL) + fattr_free(rcsattr); + free(path); + } if (error) return (error); break; @@ -261,14 +351,110 @@ detailer_coll(struct detailer *d, struct return (0); } +/* + * Tell the server to update a regular file. + */ static int -detailer_dofile(struct detailer *d, struct coll *coll, struct status *st, - char *file) +detailer_dofile_regular(struct detailer *d, char *name, char *path) { + struct stream *wr; + struct stat st; char md5[MD5_DIGEST_SIZE]; + int error; + + wr = d->wr; + error = stat(path, &st); + /* If we don't have it or it's unaccessible, we want it again. */ + if (error) { + proto_printf(wr, "A %s\n", name); + return (0); + } + + /* If not, we want the file to be updated. */ + error = MD5_File(path, md5); + if (error) { + lprintf(-1, "Error reading \"%s\"\n", name); + return (error); + } + error = proto_printf(wr, "R %s %O %s\n", name, st.st_size, md5); + if (error) + return (DETAILER_ERR_WRITE); + return (0); +} + +/* + * Tell the server to update a file with the rsync algorithm. + */ +static int +detailer_dofile_rsync(struct detailer *d, char *name, char *path) +{ + struct stream *wr; + struct rsyncfile *rf; + + wr = d->wr; + rf = rsync_open(path, 0, 1); + if (rf == NULL) { + /* Fallback if we fail in opening it. */ + proto_printf(wr, "A %s\n", name); + return (0); + } + proto_printf(wr, "r %s %z %z\n", name, rsync_filesize(rf), + rsync_blocksize(rf)); + /* Detail the blocks. */ + while (rsync_nextblock(rf) != 0) + proto_printf(wr, "%s %s\n", rsync_rsum(rf), rsync_blockmd5(rf)); + proto_printf(wr, ".\n"); + rsync_close(rf); + return (0); +} + +/* + * Tell the server to update an RCS file that we have, or send it if we don't. + */ +static int +detailer_dofile_rcs(struct detailer *d, struct coll *coll, char *name, + char *path) +{ + struct stream *wr; + struct fattr *fa; + struct rcsfile *rf; + int error; + + wr = d->wr; + path = atticpath(coll->co_prefix, name); + fa = fattr_frompath(path, FATTR_NOFOLLOW); + if (fa == NULL) { + /* We don't have it, so send request to get it. */ + error = proto_printf(wr, "A %s\n", name); + if (error) + return (DETAILER_ERR_WRITE); + free(path); + return (0); + } + + rf = rcsfile_frompath(path, name, coll->co_cvsroot, coll->co_tag, 1); + free(path); + if (rf == NULL) { + error = proto_printf(wr, "A %s\n", name); + if (error) + return (DETAILER_ERR_WRITE); + return (0); + } + /* Tell to update the RCS file. The client version details follow. */ + rcsfile_send_details(rf, wr); + rcsfile_free(rf); + fattr_free(fa); + return (0); +} + +static int +detailer_dofile_co(struct detailer *d, struct coll *coll, struct status *st, + char *file) +{ struct stream *wr; struct fattr *fa; struct statusrec *sr; + char md5[MD5_DIGEST_SIZE]; char *path; int error, ret; @@ -337,3 +523,81 @@ detailer_dofile(struct detailer *d, stru return (DETAILER_ERR_WRITE); return (0); } + +int +detailer_checkrcsattr(struct detailer *d, struct coll *coll, char *name, + struct fattr *server_attr, int attic) +{ + struct fattr *client_attr; + char *attr, *path; + int error; + + /* + * I don't think we can use the status file, since it only records file + * attributes in cvsmode. + */ + client_attr = NULL; + path = cvspath(coll->co_prefix, name, attic); + if (path == NULL) { + return (DETAILER_ERR_PROTO); + } + + if (access(path, F_OK) == 0 && + ((client_attr = fattr_frompath(path, FATTR_NOFOLLOW)) != NULL) && + fattr_equal(client_attr, server_attr)) { + attr = fattr_encode(client_attr, NULL, 0); + if (attic) { + error = proto_printf(d->wr, "l %s %s\n", name, attr); + } else { + error = proto_printf(d->wr, "L %s %s\n", name, attr); + } + free(attr); + free(path); + fattr_free(client_attr); + if (error) + return (DETAILER_ERR_WRITE); + return (0); + } + /* We don't have it, so tell the server to send it. */ + error = detailer_send_details(d, coll, name, path, client_attr); + fattr_free(client_attr); + free(path); + return (error); +} + +int +detailer_send_details(struct detailer *d, struct coll *coll, char *name, + char *path, struct fattr *fa) +{ + int error; + size_t len; + + /* + * Try to check if the file exists either live or dead to see if we can + * edit it and put it live or dead, rather than receiving the entire + * file. + */ + if (fa == NULL) { + path = atticpath(coll->co_prefix, name); + fa = fattr_frompath(path, FATTR_NOFOLLOW); + } + if (fa == NULL) { + error = proto_printf(d->wr, "A %s\n", name); + if (error) + return (DETAILER_ERR_WRITE); + } else if (fattr_type(fa) == FT_FILE) { + if (isrcs(name, &len) && !(coll->co_options & CO_NORCS)) { + detailer_dofile_rcs(d, coll, name, path); + } else if (!(coll->co_options & CO_NORSYNC) && + !globtree_test(coll->co_norsync, name)) { + detailer_dofile_rsync(d, name, path); + } else { + detailer_dofile_regular(d, name, path); + } + } else { + error = proto_printf(d->wr, "N %s\n", name); + if (error) + return (DETAILER_ERR_WRITE); + } + return (0); +} Modified: head/contrib/csup/diff.c ============================================================================== --- head/contrib/csup/diff.c Mon Jan 5 15:02:05 2009 (r186780) +++ head/contrib/csup/diff.c Mon Jan 5 15:18:16 2009 (r186781) @@ -26,9 +26,12 @@ * $FreeBSD$ */ +#include + #include #include #include +#include #include #include @@ -36,15 +39,20 @@ #include "keyword.h" #include "misc.h" #include "stream.h" +#include "queue.h" typedef long lineno_t; #define EC_ADD 0 #define EC_DEL 1 +#define MAXKEY LONG_MAX /* Editing command and state. */ struct editcmd { int cmd; + long key; + int havetext; + int offset; lineno_t where; lineno_t count; lineno_t lasta; @@ -55,20 +63,28 @@ struct editcmd { struct diffinfo *di; struct stream *orig; struct stream *dest; + LIST_ENTRY(editcmd) next; +}; + +struct diffstart { + LIST_HEAD(, editcmd) dhead; }; static int diff_geteditcmd(struct editcmd *, char *); static int diff_copyln(struct editcmd *, lineno_t); +static int diff_ignoreln(struct editcmd *, lineno_t); static void diff_write(struct editcmd *, void *, size_t); +static int diff_insert_edit(struct diffstart *, struct editcmd *); +static void diff_free(struct diffstart *); int diff_apply(struct stream *rd, struct stream *orig, struct stream *dest, - struct keyword *keyword, struct diffinfo *di) + struct keyword *keyword, struct diffinfo *di, int comode) { struct editcmd ec; lineno_t i; - char *line; size_t size; + char *line; int empty, error, noeol; memset(&ec, 0, sizeof(ec)); @@ -104,7 +120,7 @@ diff_apply(struct stream *rd, struct str line = stream_getln(rd, &size); if (line == NULL) return (-1); - if (line[0] == '.') { + if (comode && line[0] == '.') { line++; size--; } @@ -124,10 +140,10 @@ diff_apply(struct stream *rd, struct str } line = stream_getln(rd, NULL); } - if (line == NULL) + if (comode && line == NULL) return (-1); /* If we got ".+", there's no ending newline. */ - if (strcmp(line, ".+") == 0 && !empty) + if (comode && strcmp(line, ".+") == 0 && !empty) noeol = 1; ec.where = 0; while ((line = stream_getln(orig, &size)) != NULL) @@ -143,6 +159,198 @@ diff_apply(struct stream *rd, struct str return (0); } +/* + * Reverse a diff using the same algorithm as in cvsup. + */ +static int +diff_write_reverse(struct stream *dest, struct diffstart *ds) +{ + struct editcmd *ec, *nextec; + long editline, endline, firstoutputlinedeleted; + long num_added, num_deleted, startline; + int num; + + nextec = LIST_FIRST(&ds->dhead); + editline = 0; + num = 0; + while (nextec != NULL) { + ec = nextec; + nextec = LIST_NEXT(nextec, next); + if (nextec == NULL) + break; + num++; + num_deleted = 0; + if (ec->havetext) + num_deleted = ec->count; + num_added = num_deleted + nextec->offset - ec->offset; + if (num_deleted > 0) { + firstoutputlinedeleted = ec->key - num_deleted + 1; + stream_printf(dest, "d%ld %ld\n", firstoutputlinedeleted, + num_deleted); + if (num_added <= 0) + continue; + } + if (num_added > 0) { + stream_printf(dest, "a%ld %ld\n", ec->key, num_added); + startline = ec->key - num_deleted + 1 + ec->offset; + endline = startline + num_added - 1; + + /* Copy lines from original file. First ignore some. */ + ec->editline = editline; + diff_ignoreln(ec, startline - 1); + diff_copyln(ec, endline); + editline = ec->editline; + } + } + return (0); +} + +/* + * Insert a diff into the list sorted on key. Should perhaps use quicker + * algorithms than insertion sort, but do this for now. + */ +static int +diff_insert_edit(struct diffstart *ds, struct editcmd *ec) +{ + struct editcmd *curec; + + if (ec == NULL) + return (0); + + if (LIST_EMPTY(&ds->dhead)) { + LIST_INSERT_HEAD(&ds->dhead, ec, next); + return (0); + } + + /* Insertion sort based on key. */ + LIST_FOREACH(curec, &ds->dhead, next) { + if (ec->key < curec->key) { + LIST_INSERT_BEFORE(curec, ec, next); + return (0); + } + if (LIST_NEXT(curec, next) == NULL) + break; + } + /* Just insert it after. */ + LIST_INSERT_AFTER(curec, ec, next); + return (0); +} + +static void +diff_free(struct diffstart *ds) +{ + struct editcmd *ec; + + while(!LIST_EMPTY(&ds->dhead)) { + ec = LIST_FIRST(&ds->dhead); + LIST_REMOVE(ec, next); + free(ec); + } +} + +/* + * Write the reverse diff from the diff in rd, and original file into + * destination. This algorithm is the same as used in cvsup. + */ +int +diff_reverse(struct stream *rd, struct stream *orig, struct stream *dest, + struct keyword *keyword, struct diffinfo *di) +{ + struct diffstart ds; + struct editcmd ec, *addec, *delec; + lineno_t i; + char *line; + int error, offset; + + memset(&ec, 0, sizeof(ec)); + ec.orig = orig; + ec.dest = dest; + ec.keyword = keyword; + ec.di = di; + addec = NULL; + delec = NULL; + ec.havetext = 0; + offset = 0; + LIST_INIT(&ds.dhead); + + /* Start with next since we need it. */ + line = stream_getln(rd, NULL); + /* First we build up the list of diffs from input. */ + while (line != NULL) { + error = diff_geteditcmd(&ec, line); + if (error) + break; + if (ec.cmd == EC_ADD) { + addec = xmalloc(sizeof(struct editcmd)); + *addec = ec; + addec->havetext = 1; + /* Ignore the lines we was supposed to add. */ + for (i = 0; i < ec.count; i++) { + line = stream_getln(rd, NULL); + if (line == NULL) + return (-1); + } + + /* Get the next diff command if we have one. */ + addec->key = addec->where + addec->count - offset; + if (delec != NULL && + delec->key == addec->key - addec->count) { + delec->key = addec->key; + delec->havetext = addec->havetext; + delec->count = addec->count; + diff_insert_edit(&ds, delec); + free(addec); + delec = NULL; + addec = NULL; + } else { + if (delec != NULL) { + diff_insert_edit(&ds, delec); + } + delec = NULL; + addec->offset = offset; + diff_insert_edit(&ds, addec); + addec = NULL; + } + offset -= ec.count; + } else if (ec.cmd == EC_DEL) { + if (delec != NULL) { + /* Update offset to our next. */ + diff_insert_edit(&ds, delec); + delec = NULL; + } + delec = xmalloc(sizeof(struct editcmd)); + *delec = ec; + delec->key = delec->where - 1 - offset; + delec->offset = offset; + delec->count = 0; + delec->havetext = 0; + /* Important to use the count we had before reset.*/ + offset += ec.count; + } + line = stream_getln(rd, NULL); + } + + while (line != NULL) + line = stream_getln(rd, NULL); + if (delec != NULL) { + diff_insert_edit(&ds, delec); + delec = NULL; + } + + addec = xmalloc(sizeof(struct editcmd)); + /* Should be filesize, but we set it to max value. */ + addec->key = MAXKEY; + addec->offset = offset; + addec->havetext = 0; + addec->count = 0; + diff_insert_edit(&ds, addec); + addec = NULL; + diff_write_reverse(dest, &ds); + diff_free(&ds); + stream_flush(dest); + return (0); +} + /* Get an editing command from the diff. */ static int diff_geteditcmd(struct editcmd *ec, char *line) @@ -181,8 +389,8 @@ diff_geteditcmd(struct editcmd *ec, char static int diff_copyln(struct editcmd *ec, lineno_t to) { - char *line; size_t size; + char *line; while (ec->editline < to) { line = stream_getln(ec->orig, &size); @@ -194,12 +402,28 @@ diff_copyln(struct editcmd *ec, lineno_t return (0); } +/* Ignore lines from the original version of the file up to line "to". */ +static int +diff_ignoreln(struct editcmd *ec, lineno_t to) +{ + size_t size; + char *line; + + while (ec->editline < to) { + line = stream_getln(ec->orig, &size); + if (line == NULL) + return (-1); + ec->editline++; + } + return (0); +} + /* Write a new line to the file, expanding RCS keywords appropriately. */ static void diff_write(struct editcmd *ec, void *buf, size_t size) { - char *line, *newline; size_t newsize; + char *line, *newline; int ret; line = buf; Modified: head/contrib/csup/diff.h ============================================================================== --- head/contrib/csup/diff.h Mon Jan 5 15:02:05 2009 (r186780) +++ head/contrib/csup/diff.h Mon Jan 5 15:18:16 2009 (r186781) @@ -45,6 +45,8 @@ struct diffinfo { }; int diff_apply(struct stream *, struct stream *, struct stream *, - struct keyword *, struct diffinfo *); + struct keyword *, struct diffinfo *, int); +int diff_reverse(struct stream *, struct stream *, + struct stream *, struct keyword *, struct diffinfo *); #endif /* !_DIFF_H_ */ Modified: head/contrib/csup/fattr.c ============================================================================== --- head/contrib/csup/fattr.c Mon Jan 5 15:02:05 2009 (r186780) +++ head/contrib/csup/fattr.c Mon Jan 5 15:18:16 2009 (r186781) @@ -44,7 +44,7 @@ /* * Include the appropriate definition for the file attributes we support. * There are two different files: fattr_bsd.h for BSD-like systems that - * support the extended file flags à la chflags() and fattr_posix.h for + * support the extended file flags a la chflags() and fattr_posix.h for * bare POSIX systems that don't. */ #ifdef HAVE_FFLAGS @@ -449,7 +449,7 @@ fattr_encode(const struct fattr *fa, fat piece++; } if (mask & FA_DEV) { - vallen = snprintf(piece->val, sizeof(piece->val), "%lld", + vallen = snprintf(piece->val, sizeof(piece->val), "%llx", (long long)fa->dev); len += snprintf(piece->len, sizeof(piece->len), "%lld", (long long)vallen) + vallen + 1; @@ -534,6 +534,13 @@ fattr_getlinkcount(const struct fattr *f return (fa->linkcount); } +char * +fattr_getlinktarget(const struct fattr *fa) +{ + + return (fa->linktarget); +} + /* * Eat the specified attribute and put it in the file attribute * structure. Returns NULL on error, or a pointer to the next @@ -732,18 +739,28 @@ fattr_makenode(const struct fattr *fa, c mode_t modemask, mode; int error; + error = 0; + if (fa->mask & FA_OWNER && fa->mask & FA_GROUP) modemask = FA_SETIDMASK | FA_PERMMASK; else modemask = FA_PERMMASK; /* We only implement fattr_makenode() for dirs for now. */ - assert(fa->type == FT_DIRECTORY); if (fa->mask & FA_MODE) mode = fa->mode & modemask; else mode = 0700; - error = mkdir(path, mode); + + if (fa->type == FT_DIRECTORY) + error = mkdir(path, mode); + else if (fa->type == FT_SYMLINK) { + error = symlink(fa->linktarget, path); + } else if (fa->type == FT_CDEV) { + lprintf(-1, "Character devices not supported!\n"); + } else if (fa->type == FT_BDEV) { + lprintf(-1, "Block devices not supported!\n"); + } return (error); } @@ -823,6 +840,19 @@ fattr_install(struct fattr *fa, const ch } #endif + /* + * If it is changed from a file to a symlink, remove the file + * and create the symlink. + */ + if (inplace && (fa->type == FT_SYMLINK) && + (old->type == FT_FILE)) { + error = unlink(topath); + if (error) + goto bad; + error = symlink(fa->linktarget, topath); + if (error) + goto bad; + } /* Determine whether we need to remove the target first. */ if (!inplace && (fa->type == FT_DIRECTORY) != (old->type == FT_DIRECTORY)) { @@ -853,8 +883,9 @@ fattr_install(struct fattr *fa, const ch if (mask & FA_GROUP) gid = fa->gid; error = chown(frompath, uid, gid); - if (error) + if (error) { goto bad; + } } if (mask & FA_MODE) { newmode = fa->mode & modemask; @@ -901,6 +932,9 @@ fattr_equal(const struct fattr *fa1, con mask = fa1->mask & fa2->mask; if (fa1->type == FT_UNKNOWN || fa2->type == FT_UNKNOWN) return (0); + if (mask & FA_FILETYPE) + if (fa1->type != fa2->type) + return (0); if (mask & FA_MODTIME) if (fa1->modtime != fa2->modtime) return (0); @@ -936,3 +970,12 @@ fattr_equal(const struct fattr *fa1, con return (0); return (1); } + +/* + * Must have to get the correct filesize sendt by the server. + */ +off_t +fattr_filesize(const struct fattr *fa) +{ + return (fa->size); +} Modified: head/contrib/csup/fattr.h ============================================================================== --- head/contrib/csup/fattr.h Mon Jan 5 15:02:05 2009 (r186780) +++ head/contrib/csup/fattr.h Mon Jan 5 15:18:16 2009 (r186781) @@ -101,6 +101,7 @@ int fattr_type(const struct fattr *); void fattr_maskout(struct fattr *, int); int fattr_getmask(const struct fattr *); nlink_t fattr_getlinkcount(const struct fattr *); +char *fattr_getlinktarget(const struct fattr *); void fattr_umask(struct fattr *, mode_t); void fattr_merge(struct fattr *, const struct fattr *); void fattr_mergedefault(struct fattr *); @@ -111,5 +112,7 @@ int fattr_install(struct fattr *, cons int fattr_equal(const struct fattr *, const struct fattr *); void fattr_free(struct fattr *); int fattr_supported(int); +off_t fattr_filesize(const struct fattr *); + #endif /* !_FATTR_H_ */ Modified: head/contrib/csup/keyword.c ============================================================================== --- head/contrib/csup/keyword.c Mon Jan 5 15:02:05 2009 (r186780) +++ head/contrib/csup/keyword.c Mon Jan 5 15:18:16 2009 (r186781) @@ -152,6 +152,29 @@ keyword_decode_expand(const char *expand return (-1); } +const char * +keyword_encode_expand(int expand) +{ + + switch (expand) { + case EXPAND_DEFAULT: + return ("."); + case EXPAND_KEYVALUE: + return ("kv"); + case EXPAND_KEYVALUELOCKER: + return ("kvl"); + case EXPAND_KEY: + return ("k"); + case EXPAND_OLD: + return ("o"); + case EXPAND_BINARY: + return ("b"); + case EXPAND_VALUE: + return ("v"); + } + return (NULL); +} + void keyword_free(struct keyword *keyword) { Modified: head/contrib/csup/keyword.h ============================================================================== --- head/contrib/csup/keyword.h Mon Jan 5 15:02:05 2009 (r186780) +++ head/contrib/csup/keyword.h Mon Jan 5 15:18:16 2009 (r186781) @@ -42,6 +42,7 @@ struct keyword; struct keyword *keyword_new(void); int keyword_decode_expand(const char *); +const char *keyword_encode_expand(int); int keyword_alias(struct keyword *, const char *, const char *); int keyword_enable(struct keyword *, const char *); int keyword_disable(struct keyword *, const char *); Copied: head/contrib/csup/lex.rcs.c (from r186779, projects/csup_cvsmode/contrib/csup/lex.rcs.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/csup/lex.rcs.c Mon Jan 5 15:18:16 2009 (r186781, copy of r186779, projects/csup_cvsmode/contrib/csup/lex.rcs.c) @@ -0,0 +1,2094 @@ + +#line 3 "lex.rcs.c" + +#define YY_INT_ALIGNED short int + +/* A lexical scanner generated by flex */ + +#define FLEX_SCANNER +#define YY_FLEX_MAJOR_VERSION 2 +#define YY_FLEX_MINOR_VERSION 5 +#define YY_FLEX_SUBMINOR_VERSION 35 +#if YY_FLEX_SUBMINOR_VERSION > 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include +#include +#include +#include + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From hrs at FreeBSD.org Mon Jan 5 15:38:47 2009 From: hrs at FreeBSD.org (Hiroki Sato) Date: Mon Jan 5 15:38:54 2009 Subject: svn commit: r186782 - stable/7/release/doc/en_US.ISO8859-1/errata Message-ID: <200901051538.n05FcjU8000460@svn.freebsd.org> Author: hrs Date: Mon Jan 5 15:38:45 2009 New Revision: 186782 URL: http://svn.freebsd.org/changeset/base/186782 Log: Add more missing bits: procstat(1). Modified: stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Modified: stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml ============================================================================== --- stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Mon Jan 5 15:18:16 2009 (r186781) +++ stable/7/release/doc/en_US.ISO8859-1/errata/article.sgml Mon Jan 5 15:38:45 2009 (r186782) @@ -200,6 +200,13 @@ em0@pci0:0:25:0: class=0x020000 card=0x0 Late-Breaking News and Corrections + [20090105] The Release Notes for 7.1-RELEASE should have + mentioned that the &man.procstat.1; utility has been added. + This is a process inspection utility which provides both some of + the missing functionality from &man.procfs.5; and new + functionality for monitoring and debugging specific + processes. + [20090105] The Release Notes for 7.1-RELEASE should have mentioned changes that the &man.ae.4; driver has been added to provide support for the Attansic/Atheros L2 FastEthernet controllers. From lulf at freebsd.org Mon Jan 5 16:00:31 2009 From: lulf at freebsd.org (Ulf Lilleengen) Date: Mon Jan 5 16:00:42 2009 Subject: svn commit: r186781 - in head: contrib/csup usr.bin/csup In-Reply-To: <200901051518.n05FIGli099929@svn.freebsd.org> References: <200901051518.n05FIGli099929@svn.freebsd.org> Message-ID: <20090105160025.GA22123@carrot.lan> On Mon, Jan 05, 2009 at 03:18:16PM +0000, Ulf Lilleengen wrote: > Author: lulf > Date: Mon Jan 5 15:18:16 2009 > New Revision: 186781 > URL: http://svn.freebsd.org/changeset/base/186781 > > Log: > Merge support for CVSMode (aka. mirror mode) into csup. This means csup can now > fetch a complete CVS repository. Support for rsync update of regular files are > also included, but are not yet enabled. The change should not have an impact on > existing csup usage, as little of the existing code has changed. > A big thanks to naddy@ and kris@ for help with testing and reproducing problems. -- Ulf Lilleengen From imp at bsdimp.com Mon Jan 5 16:05:26 2009 From: imp at bsdimp.com (M. Warner Losh) Date: Mon Jan 5 16:05:32 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... In-Reply-To: <20090105050415.GY60686@elvis.mu.org> References: <200901040012.n040C2gH040928@svn.freebsd.org> <20090104.101121.2139791946.imp@bsdimp.com> <20090105050415.GY60686@elvis.mu.org> Message-ID: <20090105.090449.-1253035084.imp@bsdimp.com> In message: <20090105050415.GY60686@elvis.mu.org> Alfred Perlstein writes: : * M. Warner Losh [090104 09:11] wrote: : > In message: <200901040012.n040C2gH040928@svn.freebsd.org> : > Alfred Perlstein writes: : > : Sync with usb4bsd: : > : > Alfred, : > : > thanks for trudging these fixes into the tree. It is a thankless job : > that people will complain about... : > : > Speaking of complaining, is there a review process that can be joined : > for them that's more formal than "diff against hps' p4 tree and : > complain?" : : We're trying to figure out a way to do this. We haven't had much : luck exploring svk/hg/git as they're just about as much work as : shipping patches back and forth. : : I asked core for a restricted "users/hps" area under svn for Hans : to put code, but that was denied, perhaps now it's time to reconsider : that? And also: > In my part of the world we give credit or, at the very least, say "thank > you" to the sender, when we apply patches sent to us. One of the things that works well in Linux is the patch queues that they have. You submit a patch, people talk about it, and various tags get added to it. They break things down into a series of mostly independent patches. Maybe we should try to initiate something like this so that we can comment on changes more easily, as well as track submitters and the like as things pass through Hans. Consider it an experiment to see if we can do things to help improve our world? Warner From keramida at FreeBSD.org Mon Jan 5 16:25:38 2009 From: keramida at FreeBSD.org (Giorgos Keramidas) Date: Mon Jan 5 16:25:50 2009 Subject: svn commit: r186783 - head/share/man/man7 Message-ID: <200901051625.n05GPakZ001363@svn.freebsd.org> Author: keramida (doc committer) Date: Mon Jan 5 16:25:36 2009 New Revision: 186783 URL: http://svn.freebsd.org/changeset/base/186783 Log: Document the NO_XXX options supported by our Makefile.inc1. Noticed by: simon Reviewed by: imp MFC after: 1 week Modified: head/share/man/man7/build.7 Modified: head/share/man/man7/build.7 ============================================================================== --- head/share/man/man7/build.7 Mon Jan 5 15:38:45 2009 (r186782) +++ head/share/man/man7/build.7 Mon Jan 5 16:25:36 2009 (r186783) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 1, 2006 +.Dd January 5, 2009 .Dt BUILD 7 .Os .Sh NAME @@ -373,6 +373,69 @@ value for that platform. .El .Pp Builds under directory +.Pa /usr/src +are also influenced by defining one or more the following symbols, +using the +.Fl D +option of +.Xr make 1 : +.Bl -tag -width ".Va -DNO_KERNELDEPEND" +.It Va NO_CLEANDIR +If set, the build targets that clean parts of the object tree use the +equivalent of +.Dq make clean +instead of +.Dq make cleandir . +.It Va NO_CLEAN +If set, no object tree files are cleaned at all. +Setting +.Va NO_CLEAN +implies +.Va NO_KERNELCLEAN , +so when +.Va NO_CLEAN +is set no kernel objects are cleaned either. +.It Va NO_CTF +If set, the build process does not run the DTrace CTF conversion tools +on built objects. +.It Va NO_SHARE +If set, the build does not descend into the +.Pa /usr/src/share +subdirectory (i.e. manpages, locale data files, timezone data files and +other +.Pa /usr/src/share +files will not be rebuild from their sources). +.It Va NO_KERNELCLEAN +If set, the build process does not run +.Dq make clean +as part of the +.Cm buildkernel +target. +.It Va NO_KERNELCONFIG +If set, the build process does not run +.Xr config 8 +as part of the +.Cm buildkernel +target. +.It Va NO_KERNELDEPEND +If set, the build process does not run +.Dq make depend +as part of the +.Cm buildkernel +target. +.It Va NO_DOCUPDATE +If set, the update process does not update the source of the +.Fx +documentation as part of the +.Dq make update +target. +.It Va NO_PORTSUPDATE +If set, the update process does not update the Ports tree as part of the +.Dq make update +target. +.El +.Pp +Builds under directory .Pa /usr/doc are influenced by the following .Xr make 1 From obrien at FreeBSD.org Mon Jan 5 16:47:43 2009 From: obrien at FreeBSD.org (David E. O'Brien) Date: Mon Jan 5 16:47:50 2009 Subject: svn commit: r186784 - head/usr.sbin/burncd Message-ID: <200901051647.n05Glgf5001761@svn.freebsd.org> Author: obrien Date: Mon Jan 5 16:47:42 2009 New Revision: 186784 URL: http://svn.freebsd.org/changeset/base/186784 Log: Correct the type for the global var accessed in sig handlers. Modified: head/usr.sbin/burncd/burncd.c Modified: head/usr.sbin/burncd/burncd.c ============================================================================== --- head/usr.sbin/burncd/burncd.c Mon Jan 5 16:25:36 2009 (r186783) +++ head/usr.sbin/burncd/burncd.c Mon Jan 5 16:47:42 2009 (r186784) @@ -59,7 +59,7 @@ struct track_info { }; static struct track_info tracks[100]; static int quiet, verbose, saved_block_size, notracks; -static volatile int global_fd_for_cleanup; +static volatile sig_atomic_t global_fd_for_cleanup; void add_track(char *, int, int, int); void do_DAO(int fd, int, int); From obrien at FreeBSD.org Mon Jan 5 16:48:33 2009 From: obrien at FreeBSD.org (David O'Brien) Date: Mon Jan 5 16:48:46 2009 Subject: svn commit: r186337 - head/usr.sbin/burncd In-Reply-To: <49611F6B.10802@FreeBSD.org> References: <200812192020.mBJKKEIo081792@svn.freebsd.org> <20081223182314.GC25145@dragon.NUXI.org> <49611F6B.10802@FreeBSD.org> Message-ID: <20090105164832.GF46222@dragon.NUXI.org> On Sun, Jan 04, 2009 at 08:43:23PM +0000, Kris Kennaway wrote: > David O'Brien wrote: >> On Sun, Dec 21, 2008 at 10:15:21AM -0200, Carlos A. M. dos Santos wrote: >>> On Fri, Dec 19, 2008 at 6:20 PM, David E. O'Brien >>> wrote: >>>> Author: obrien >>>> Date: Fri Dec 19 20:20:14 2008 >>>> New Revision: 186337 >>>> URL: http://svn.freebsd.org/changeset/base/186337 >>>> >>>> Log: >>>> burncd(8) doesn't handle signals and interrupting burncd during >>>> operation. >>>> For example, ^C (SIGINT) may leave the drive spinning and locked. >>>> This may also happen if you try to write a too-large image to a disc >>>> and burncd(8) exits with an I/O error. >>>> >>>> Add signal handling by doing a CDRIOCFLUSH ioctl to attempt to leave >>>> burner in a sane state when burning is interrupted with SIGHUP, SIGINT, >>>> SIGTERM, or in case an I/O error occurs during write. >>>> Note, that blanking will still continue after interrupt but it seems to >>>> finish correctly even after burncd(8) has quit. >>>> >>>> Also, while I'm here bump WARNS to "6". >>>> >>>> PR: 48730 >>>> Submitted by: Jaakko Heinonen >>> While you are here, would you mind taking a look at bin/123693, either >>> committing the proposed patch or closing the PR if my proposition is >>> not acceptable? >> Yep, I already have that patch to look at. Note it was hell getting the >> patch - its best to not attach it when it will be base64 encoded - we >> have no easy way of extracting such encoded attachements. >> > > AFAIK, the web PR interface will detect base64-encoded attachments and > present them for download. Everytime I tried, I wound up with a binary file being downloaded. -- -- David (obrien@FreeBSD.org) From Hartmut.Brandt at dlr.de Mon Jan 5 16:54:36 2009 From: Hartmut.Brandt at dlr.de (Hartmut.Brandt@dlr.de) Date: Mon Jan 5 16:54:47 2009 Subject: svn commit: r186502 - head/usr.bin/make In-Reply-To: <20090105142929.GA70683@onelab2.iet.unipi.it> References: <200812262231.mBQMVjHC052150@svn.freebsd.org> <867i59lvbj.fsf@ds4.des.no> <20090105142929.GA70683@onelab2.iet.unipi.it> Message-ID: > -----Original Message----- > From: owner-src-committers@FreeBSD.org > [mailto:owner-src-committers@FreeBSD.org] On Behalf Of Luigi Rizzo > Sent: Monday, January 05, 2009 3:29 PM > To: Dag-Erling Sm??rgrav > Cc: Luigi Rizzo; src-committers@FreeBSD.org; > svn-src-all@FreeBSD.org; svn-src-head@FreeBSD.org > Subject: Re: svn commit: r186502 - head/usr.bin/make > > On Mon, Jan 05, 2009 at 02:46:24PM +0100, Dag-Erling Sm??rgrav wrote: > > Luigi Rizzo writes: > > > Log: > > > Clarify the behaviour of conditionals when dealing with > comparisons. > > > In particular, point out that string comparison can > only use != and == > > > (how weird, given that the underlying call to strcmp > returns more > > > information), that floating point values are correctly > interpreted > > > as numbers, and that the left-hand side must be a > variable expansion. > > > > Any chance of fixing items 1 and 3? > > item 1 is easy except perhaps for Locale issues which however > should not > be a big deal in this context. > item 3 should also be easy. > > But the thing i wonder about is whether there is any standard that > mandates this beviour, or we are relatively free to make enhancements > to our "make" program. >From the Posix standpoint of view, we can do what we want as long as we are not syntax compatible with posix-make :-) This is the reason, why most of our make extensions are compatible with posix. As soon as you have a construct that is a syntax error according to the Posix specification you invoke implementation-defined behaviour and as such you just have to document it. There are several of these escape mechanisms in the standard: the .POSIX pseudo-target and all targets that start with a dot and consist of uppercase letters. With regard to conditionals: there is no standard. Posix decided to standard only minimal make, which is roughly compatible to V7 make. If you change things like conditional semantics you should: (1) document it, and (2) arrange a full ports build with the portcluster people. This takes some days, but is a good thing to do. harti From sam at freebsd.org Mon Jan 5 17:12:04 2009 From: sam at freebsd.org (Sam Leffler) Date: Mon Jan 5 17:12:16 2009 Subject: svn commit: r186749 - head/usr.sbin/mergemaster In-Reply-To: <200901042059.n04KxNhW074100@svn.freebsd.org> References: <200901042059.n04KxNhW074100@svn.freebsd.org> Message-ID: <49623F62.6000206@freebsd.org> Doug Barton wrote: > Author: dougb > Date: Sun Jan 4 20:59:23 2009 > New Revision: 186749 > URL: http://svn.freebsd.org/changeset/base/186749 > > Log: > Instead of using obj and all targets which are not cross-build aware, > use _obj and everything which are. > > Submitted by: ru > > Modified: > head/usr.sbin/mergemaster/mergemaster.sh > > Modified: head/usr.sbin/mergemaster/mergemaster.sh > ============================================================================== > --- head/usr.sbin/mergemaster/mergemaster.sh Sun Jan 4 19:23:44 2009 (r186748) > +++ head/usr.sbin/mergemaster/mergemaster.sh Sun Jan 4 20:59:23 2009 (r186749) > @@ -592,10 +592,11 @@ case "${RERUN}" in > ${MM_MAKE} DESTDIR=${DESTDIR} distrib-dirs > ;; > esac > + od=${TEMPROOT}/usr/obj > ${MM_MAKE} DESTDIR=${TEMPROOT} distrib-dirs && > - MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} obj SUBDIR_OVERRIDE=etc && > - MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} all SUBDIR_OVERRIDE=etc && > - MAKEOBJDIRPREFIX=${TEMPROOT}/usr/obj ${MM_MAKE} DESTDIR=${TEMPROOT} distribution;} || > + MAKEOBJDIRPREFIX=$od ${MM_MAKE} _obj SUBDIR_OVERRIDE=etc && > + MAKEOBJDIRPREFIX=$od ${MM_MAKE} everything SUBDIR_OVERRIDE=etc && > + MAKEOBJDIRPREFIX=$od ${MM_MAKE} DESTDIR=${TEMPROOT} distribution;} || > { echo ''; > echo " *** FATAL ERROR: Cannot 'cd' to ${SOURCEDIR} and install files to"; > echo " the temproot environment"; > > > This fixes my cross-install setup; thank you. Sam From obrien at freebsd.org Mon Jan 5 17:15:53 2009 From: obrien at freebsd.org (David O'Brien) Date: Mon Jan 5 17:15:59 2009 Subject: svn commit: r186731 - head/sys/dev/syscons/teken In-Reply-To: <20090104121331.GC14235@hoeg.nl> References: <200901040020.n040KIcc041121@svn.freebsd.org> <20090104120434.GF93900@deviant.kiev.zoral.com.ua> <20090104121331.GC14235@hoeg.nl> Message-ID: <20090105171523.GC50568@dragon.NUXI.org> On Sun, Jan 04, 2009 at 01:13:31PM +0100, Ed Schouten wrote: > * Kostik Belousov wrote: > > IMHO, it would be much easier to try and use the new code if the > > TEKEN_XXX defines would be implemented as both sysctl and kernel > > tunables. > > Yes. Eventually we should add tunables, but first I want to get it > working correctly. Unfortunately there is a big amount of complexity > when switching to xterm. Why xterm and not vt100? -- -- David (obrien@FreeBSD.org) From ed at 80386.nl Mon Jan 5 17:23:05 2009 From: ed at 80386.nl (Ed Schouten) Date: Mon Jan 5 17:23:16 2009 Subject: svn commit: r186731 - head/sys/dev/syscons/teken In-Reply-To: <20090105171523.GC50568@dragon.NUXI.org> References: <200901040020.n040KIcc041121@svn.freebsd.org> <20090104120434.GF93900@deviant.kiev.zoral.com.ua> <20090104121331.GC14235@hoeg.nl> <20090105171523.GC50568@dragon.NUXI.org> Message-ID: <20090105172243.GO14235@hoeg.nl> Hello David, * David O'Brien wrote: > Why xterm and not vt100? The reason I'm proposing xterm, is because it is the best supported terminal type out there. Example: if we would use TERM=vt100, we would only get black & white. If we use TERM=vt100-color, we do get the colors, but unfortunately we won't be compatible with other operating systems. Solaris, for example, has no termtype called vt100-color. This means the user has to change TERM by hand. TERM=xterm has proven to be very portable across different operating systems and there are a lot of other pieces of software that try to mimic it. At least the Terminal application in OS X, GNOME's gnome-terminal, maybe KDE's Konsole as well. I hope that answers your question? -- Ed Schouten WWW: http://80386.nl/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20090105/84500d9e/attachment.pgp From bz at FreeBSD.org Mon Jan 5 17:30:09 2009 From: bz at FreeBSD.org (Bjoern A. Zeeb) Date: Mon Jan 5 17:30:21 2009 Subject: svn commit: r186751 - in head/sys: netinet6 netipsec In-Reply-To: References: <200901042153.n04LrgkD075147@svn.freebsd.org> <20090104220716.GL14235@hoeg.nl> Message-ID: <20090105172400.T45399@maildrop.int.zabbadoz.net> On Sun, 4 Jan 2009, Robert Watson wrote: > > On Sun, 4 Jan 2009, Ed Schouten wrote: > >> * Robert Watson wrote: >>> Unlike with struct protosw, several instances of struct ip6protosw >>> did not use C99-style sparse structure initialization, so remove >>> NULL assignments for now-removed pr_usrreq function pointers. >> >> Maybe we should convert them to use the C99-style initialisation. This >> could prevent similar issues in the future, right? > > I think Bjoern already has a work-in-progress on this one, but yes, that > would be a good idea. I have broken it out from a larger patch; the C99 initializer is here: http://people.freebsd.org/~bz/20090105-02-c99-initializers.diff I case someone can give it a quick glance I'll commit them. /bz -- Bjoern A. Zeeb The greatest risk is not taking one. From maxim at FreeBSD.org Mon Jan 5 17:38:04 2009 From: maxim at FreeBSD.org (Maxim Konovalov) Date: Mon Jan 5 17:38:16 2009 Subject: svn commit: r186785 - head/share/misc Message-ID: <200901051738.n05Hc383005455@svn.freebsd.org> Author: maxim Date: Mon Jan 5 17:38:03 2009 New Revision: 186785 URL: http://svn.freebsd.org/changeset/base/186785 Log: o FreeBSD 7.1 added. Modified: head/share/misc/bsd-family-tree Modified: head/share/misc/bsd-family-tree ============================================================================== --- head/share/misc/bsd-family-tree Mon Jan 5 16:47:42 2009 (r186784) +++ head/share/misc/bsd-family-tree Mon Jan 5 17:38:03 2009 (r186785) @@ -221,9 +221,13 @@ FreeBSD 5.2 | | *--FreeBSD | | | | DragonFly 1.12.0 | 7.0 | | | | | | | | | | OpenBSD 4.3 | - | V | | | | DragonFly 2.0.0 - | FreeBSD | | OpenBSD 4.4 | - | 6.4 | | | | + | | | | | | DragonFly 2.0.0 + | | FreeBSD | | OpenBSD 4.4 | + | | 6.4 | | | | + | | | | | | + | FreeBSD 7.1 | | | | + | | | | | | + | V | | | | | | | | | FreeBSD 8 -current | NetBSD -current OpenBSD -current | | | | | | @@ -490,6 +494,7 @@ OpenBSD 4.3 2008-05-01 [OBD] DragonFly 2.0.0 2008-07-21 [DFB] OpenBSD 4.4 2008-11-01 [OBD] FreeBSD 6.4 2008-11-28 [FBD] +FreeBSD 7.1 2009-01-04 [FBD] Bibliography ------------------------ From ivoras at freebsd.org Mon Jan 5 17:47:05 2009 From: ivoras at freebsd.org (Ivan Voras) Date: Mon Jan 5 17:47:11 2009 Subject: svn commit: r186731 - head/sys/dev/syscons/teken In-Reply-To: <20090105172243.GO14235@hoeg.nl> References: <200901040020.n040KIcc041121@svn.freebsd.org> <20090104120434.GF93900@deviant.kiev.zoral.com.ua> <20090104121331.GC14235@hoeg.nl> <20090105171523.GC50568@dragon.NUXI.org> <20090105172243.GO14235@hoeg.nl> Message-ID: <9bbcef730901050946q64b59c9bvc0a5b587b2e7bb11@mail.gmail.com> 2009/1/5 Ed Schouten : > Hello David, > > * David O'Brien wrote: >> Why xterm and not vt100? > > The reason I'm proposing xterm, is because it is the best supported > terminal type out there. Example: if we would use TERM=vt100, we would > only get black & white. If we use TERM=vt100-color, we do get the > colors, but unfortunately we won't be compatible with other operating > systems. Solaris, for example, has no termtype called vt100-color. This > means the user has to change TERM by hand. > > TERM=xterm has proven to be very portable across different operating > systems and there are a lot of other pieces of software that try to > mimic it. At least the Terminal application in OS X, GNOME's > gnome-terminal, maybe KDE's Konsole as well. > > I hope that answers your question? Also, isn't xterm better suited for UTF-8? From ed at 80386.nl Mon Jan 5 18:08:41 2009 From: ed at 80386.nl (Ed Schouten) Date: Mon Jan 5 18:08:53 2009 Subject: svn commit: r186751 - in head/sys: netinet6 netipsec In-Reply-To: <20090105172400.T45399@maildrop.int.zabbadoz.net> References: <200901042153.n04LrgkD075147@svn.freebsd.org> <20090104220716.GL14235@hoeg.nl> <20090105172400.T45399@maildrop.int.zabbadoz.net> Message-ID: <20090105180839.GP14235@hoeg.nl> * Bjoern A. Zeeb wrote: > I have broken it out from a larger patch; the C99 initializer is here: > http://people.freebsd.org/~bz/20090105-02-c99-initializers.diff > > I case someone can give it a quick glance I'll commit them. Looks good, but I'm not a sys/net* guru. ;-) -- Ed Schouten WWW: http://80386.nl/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20090105/0d145531/attachment.pgp From christoph.mallon at gmx.de Mon Jan 5 18:13:18 2009 From: christoph.mallon at gmx.de (Christoph Mallon) Date: Mon Jan 5 18:13:25 2009 Subject: svn commit: r186751 - in head/sys: netinet6 netipsec In-Reply-To: <20090105172400.T45399@maildrop.int.zabbadoz.net> References: <200901042153.n04LrgkD075147@svn.freebsd.org> <20090104220716.GL14235@hoeg.nl> <20090105172400.T45399@maildrop.int.zabbadoz.net> Message-ID: <49624DB9.8080900@gmx.de> Bjoern A. Zeeb schrieb: > I have broken it out from a larger patch; the C99 initializer is here: > http://people.freebsd.org/~bz/20090105-02-c99-initializers.diff > > I case someone can give it a quick glance I'll commit them. + .pr_flags = PR_ATOMIC|PR_ADDR, style(9) wants spaces around binary operators. The designator initializers seem to be correct. Christoph From ed at 80386.nl Mon Jan 5 18:16:47 2009 From: ed at 80386.nl (Ed Schouten) Date: Mon Jan 5 18:16:53 2009 Subject: svn commit: r186731 - head/sys/dev/syscons/teken In-Reply-To: <9bbcef730901050946q64b59c9bvc0a5b587b2e7bb11@mail.gmail.com> References: <200901040020.n040KIcc041121@svn.freebsd.org> <20090104120434.GF93900@deviant.kiev.zoral.com.ua> <20090104121331.GC14235@hoeg.nl> <20090105171523.GC50568@dragon.NUXI.org> <20090105172243.GO14235@hoeg.nl> <9bbcef730901050946q64b59c9bvc0a5b587b2e7bb11@mail.gmail.com> Message-ID: <20090105181645.GQ14235@hoeg.nl> * Ivan Voras wrote: > Also, isn't xterm better suited for UTF-8? Yes. I have yet to confirm this, but I suspect things may go wrong when you run a non-UTF-8 aware application that performs box drawing inside a UTF-8 aware cons25 emulator. With cons25, the box drawing characters are above 0x7f, which is obviously not compatible with UTF-8. With xterm you can use the UTF-8 codepoints or switch to the special character map with the box drawing characters. When your application doesn't use UTF-8, it should only generate bytes below 0x80. -- Ed Schouten WWW: http://80386.nl/ -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: not available Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20090105/f0b47b20/attachment-0001.pgp From julian at elischer.org Mon Jan 5 19:39:43 2009 From: julian at elischer.org (Julian Elischer) Date: Mon Jan 5 19:39:49 2009 Subject: svn commit: r186751 - in head/sys: netinet6 netipsec In-Reply-To: <20090105180839.GP14235@hoeg.nl> References: <200901042153.n04LrgkD075147@svn.freebsd.org> <20090104220716.GL14235@hoeg.nl> <20090105172400.T45399@maildrop.int.zabbadoz.net> <20090105180839.GP14235@hoeg.nl> Message-ID: <49625AF6.5040407@elischer.org> Ed Schouten wrote: > * Bjoern A. Zeeb wrote: >> I have broken it out from a larger patch; the C99 initializer is here: >> http://people.freebsd.org/~bz/20090105-02-c99-initializers.diff >> >> I case someone can give it a quick glance I'll commit them. > > Looks good, but I'm not a sys/net* guru. ;-) > looks fine.. From mav at FreeBSD.org Mon Jan 5 19:40:11 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Mon Jan 5 19:40:31 2009 Subject: svn commit: r186786 - stable/7/sys/dev/mmc Message-ID: <200901051940.n05Je9pD008934@svn.freebsd.org> Author: mav Date: Mon Jan 5 19:40:09 2009 New Revision: 186786 URL: http://svn.freebsd.org/changeset/base/186786 Log: Sync MMC/SD subsystem with HEAD. Add support for MMC and SDHC cards, high speed timing, wide bus, multiblock transfers and many other features. Modified: stable/7/sys/dev/mmc/bridge.h stable/7/sys/dev/mmc/mmc.c stable/7/sys/dev/mmc/mmcbrvar.h stable/7/sys/dev/mmc/mmcreg.h stable/7/sys/dev/mmc/mmcsd.c stable/7/sys/dev/mmc/mmcvar.h Modified: stable/7/sys/dev/mmc/bridge.h ============================================================================== --- stable/7/sys/dev/mmc/bridge.h Mon Jan 5 17:38:03 2009 (r186785) +++ stable/7/sys/dev/mmc/bridge.h Mon Jan 5 19:40:09 2009 (r186786) @@ -104,6 +104,10 @@ enum mmc_bus_width { bus_width_1 = 0, bus_width_4 = 2, bus_width_8 = 3 }; +enum mmc_bus_timing { + bus_timing_normal = 0, bus_timing_hs +}; + struct mmc_ios { uint32_t clock; /* Speed of the clock in Hz to move data */ enum mmc_vdd vdd; /* Voltage to apply to the power pins/ */ @@ -111,6 +115,7 @@ struct mmc_ios { enum mmc_chip_select chip_select; enum mmc_bus_width bus_width; enum mmc_power_mode power_mode; + enum mmc_bus_timing timing; }; enum mmc_card_mode { @@ -125,6 +130,7 @@ struct mmc_host { uint32_t caps; #define MMC_CAP_4_BIT_DATA (1 << 0) /* Can do 4-bit data transfers */ #define MMC_CAP_8_BIT_DATA (1 << 1) /* Can do 8-bit data transfers */ +#define MMC_CAP_HSPEED (1 << 2) /* Can do High Speed transfers */ enum mmc_card_mode mode; struct mmc_ios ios; /* Current state of the host */ }; Modified: stable/7/sys/dev/mmc/mmc.c ============================================================================== --- stable/7/sys/dev/mmc/mmc.c Mon Jan 5 17:38:03 2009 (r186785) +++ stable/7/sys/dev/mmc/mmc.c Mon Jan 5 19:40:09 2009 (r186786) @@ -61,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -82,10 +83,23 @@ struct mmc_softc { struct mmc_ivars { uint32_t raw_cid[4]; /* Raw bits of the CID */ uint32_t raw_csd[4]; /* Raw bits of the CSD */ + uint32_t raw_scr[2]; /* Raw bits of the SCR */ + uint8_t raw_ext_csd[512]; /* Raw bits of the EXT_CSD */ + uint32_t raw_sd_status[16]; /* Raw bits of the SD_STATUS */ uint16_t rca; enum mmc_card_mode mode; struct mmc_cid cid; /* cid decoded */ struct mmc_csd csd; /* csd decoded */ + struct mmc_scr scr; /* scr decoded */ + struct mmc_sd_status sd_status; /* SD_STATUS decoded */ + u_char read_only; /* True when the device is read-only */ + u_char bus_width; /* Bus width to use */ + u_char timing; /* Bus timing support */ + u_char high_cap; /* High Capacity card (block addressed) */ + uint32_t sec_count; /* Card capacity in 512byte blocks */ + uint32_t tran_speed; /* Max speed in normal mode */ + uint32_t hs_tran_speed; /* Max speed in high speed mode */ + uint32_t erase_sector; /* Card native erase sector size */ }; #define CMD_RETRIES 3 @@ -94,21 +108,32 @@ struct mmc_ivars { static int mmc_probe(device_t dev); static int mmc_attach(device_t dev); static int mmc_detach(device_t dev); +static int mmc_suspend(device_t dev); +static int mmc_resume(device_t dev); #define MMC_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) #define MMC_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) -#define MMC_LOCK_INIT(_sc) \ - mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->dev), \ +#define MMC_LOCK_INIT(_sc) \ + mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->dev), \ "mmc", MTX_DEF) #define MMC_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); #define MMC_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); #define MMC_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); +static int mmc_calculate_clock(struct mmc_softc *sc); static void mmc_delayed_attach(void *); +static void mmc_power_down(struct mmc_softc *sc); static int mmc_wait_for_cmd(struct mmc_softc *sc, struct mmc_command *cmd, int retries); static int mmc_wait_for_command(struct mmc_softc *sc, uint32_t opcode, uint32_t arg, uint32_t flags, uint32_t *resp, int retries); +static int mmc_select_card(struct mmc_softc *sc, uint16_t rca); +static int mmc_set_card_bus_width(struct mmc_softc *sc, uint16_t rca, int width); +static int mmc_app_send_scr(struct mmc_softc *sc, uint16_t rca, uint32_t *rawscr); +static void mmc_app_decode_scr(uint32_t *raw_scr, struct mmc_scr *scr); +static int mmc_send_ext_csd(struct mmc_softc *sc, uint8_t *rawextcsd); +static void mmc_scan(struct mmc_softc *sc); +static int mmc_delete_cards(struct mmc_softc *sc); static void mmc_ms_delay(int ms) @@ -120,7 +145,7 @@ static int mmc_probe(device_t dev) { - device_set_desc(dev, "mmc/sd bus"); + device_set_desc(dev, "MMC/SD bus"); return (0); } @@ -145,35 +170,47 @@ static int mmc_detach(device_t dev) { struct mmc_softc *sc = device_get_softc(dev); - device_t *kids; - int i, nkid; - - /* kill children [ph33r]. -sorbo */ - if (device_get_children(sc->dev, &kids, &nkid) != 0) - return 0; - for (i = 0; i < nkid; i++) { - device_t kid = kids[i]; - void *ivar = device_get_ivars(kid); - - device_detach(kid); - device_delete_child(sc->dev, kid); - free(ivar, M_DEVBUF); - } - free(kids, M_TEMP); + int err; + if ((err = mmc_delete_cards(sc)) != 0) + return (err); + mmc_power_down(sc); MMC_LOCK_DESTROY(sc); - return 0; + return (0); +} + +static int +mmc_suspend(device_t dev) +{ + struct mmc_softc *sc = device_get_softc(dev); + int err; + + err = bus_generic_suspend(dev); + if (err) + return (err); + mmc_power_down(sc); + return (0); +} + +static int +mmc_resume(device_t dev) +{ + struct mmc_softc *sc = device_get_softc(dev); + + mmc_scan(sc); + return (bus_generic_resume(dev)); } static int mmc_acquire_bus(device_t busdev, device_t dev) { struct mmc_softc *sc; + struct mmc_ivars *ivar; int err; int rca; - err = MMCBR_ACQUIRE_HOST(device_get_parent(busdev), dev); + err = MMCBR_ACQUIRE_HOST(device_get_parent(busdev), busdev); if (err) return (err); sc = device_get_softc(busdev); @@ -184,24 +221,36 @@ mmc_acquire_bus(device_t busdev, device_ MMC_UNLOCK(sc); if (busdev != dev) { - // Keep track of the last rca that we've selected. If - // we're asked to do it again, don't. We never unselect - // unless the bus code itself wants the mmc bus. + /* + * Keep track of the last rca that we've selected. If + * we're asked to do it again, don't. We never + * unselect unless the bus code itself wants the mmc + * bus, and constantly reselecting causes problems. + */ rca = mmc_get_rca(dev); if (sc->last_rca != rca) { - mmc_wait_for_command(sc, MMC_SELECT_CARD, rca << 16, - MMC_RSP_R1 | MMC_CMD_AC, NULL, CMD_RETRIES); + mmc_select_card(sc, rca); sc->last_rca = rca; + /* Prepare bus width for the new card. */ + ivar = device_get_ivars(dev); + if (bootverbose) { + device_printf(busdev, + "setting bus width to %d bits\n", + (ivar->bus_width == bus_width_4) ? 4 : + (ivar->bus_width == bus_width_8) ? 8 : 1); + } + mmc_set_card_bus_width(sc, rca, ivar->bus_width); + mmcbr_set_bus_width(busdev, ivar->bus_width); + mmcbr_update_ios(busdev); } - // XXX should set bus width here? } else { - // If there's a card selected, stand down. + /* + * If there's a card selected, stand down. + */ if (sc->last_rca != 0) { - mmc_wait_for_command(sc, MMC_SELECT_CARD, 0, - MMC_RSP_R1 | MMC_CMD_AC, NULL, CMD_RETRIES); + mmc_select_card(sc, 0); sc->last_rca = 0; } - // XXX should set bus width here? } return (0); @@ -221,7 +270,7 @@ mmc_release_bus(device_t busdev, device_ if (sc->owner != dev) panic("mmc: you don't own the bus. game over."); MMC_UNLOCK(sc); - err = MMCBR_RELEASE_HOST(device_get_parent(busdev), dev); + err = MMCBR_RELEASE_HOST(device_get_parent(busdev), busdev); if (err) return (err); MMC_LOCK(sc); @@ -230,17 +279,11 @@ mmc_release_bus(device_t busdev, device_ return (0); } -static void -mmc_rescan_cards(struct mmc_softc *sc) -{ - /* XXX: Look at the children and see if they respond to status */ -} - static uint32_t mmc_select_vdd(struct mmc_softc *sc, uint32_t ocr) { - // XXX - return ocr; + + return (ocr & MMC_OCR_VOLTAGE); } static int @@ -250,7 +293,7 @@ mmc_highest_voltage(uint32_t ocr) for (i = 30; i >= 0; i--) if (ocr & (1 << i)) - return i; + return (i); return (-1); } @@ -259,31 +302,25 @@ mmc_wakeup(struct mmc_request *req) { struct mmc_softc *sc; -// printf("Wakeup for req %p done_data %p\n", req, req->done_data); sc = (struct mmc_softc *)req->done_data; MMC_LOCK(sc); req->flags |= MMC_REQ_DONE; - wakeup(req); MMC_UNLOCK(sc); + wakeup(req); } static int mmc_wait_for_req(struct mmc_softc *sc, struct mmc_request *req) { - int err; req->done = mmc_wakeup; req->done_data = sc; -// printf("Submitting request %p sc %p\n", req, sc); MMCBR_REQUEST(device_get_parent(sc->dev), sc->dev, req); MMC_LOCK(sc); - do { - err = msleep(req, &sc->sc_mtx, PZERO | PCATCH, "mmcreq", - hz / 10); - } while (!(req->flags & MMC_REQ_DONE) && err == EAGAIN); -// printf("Request %p done with error %d\n", req, err); + while ((req->flags & MMC_REQ_DONE) == 0) + msleep(req, &sc->sc_mtx, 0, "mmcreq", 0); MMC_UNLOCK(sc); - return (err); + return (0); } static int @@ -291,7 +328,7 @@ mmc_wait_for_request(device_t brdev, dev { struct mmc_softc *sc = device_get_softc(brdev); - return mmc_wait_for_req(sc, req); + return (mmc_wait_for_req(sc, req)); } static int @@ -302,9 +339,8 @@ mmc_wait_for_cmd(struct mmc_softc *sc, s memset(&mreq, 0, sizeof(mreq)); memset(cmd->resp, 0, sizeof(cmd->resp)); cmd->retries = retries; - cmd->data = NULL; mreq.cmd = cmd; -// printf("CMD: %x ARG %x\n", cmd->opcode, cmd->arg); +/* printf("CMD: %x ARG %x\n", cmd->opcode, cmd->arg); */ mmc_wait_for_req(sc, &mreq); return (cmd->error); } @@ -320,6 +356,7 @@ mmc_wait_for_app_cmd(struct mmc_softc *s appcmd.opcode = MMC_APP_CMD; appcmd.arg = rca << 16; appcmd.flags = MMC_RSP_R1 | MMC_CMD_AC; + appcmd.data = NULL; mmc_wait_for_cmd(sc, &appcmd, 0); err = appcmd.error; if (err != MMC_ERR_NONE) @@ -345,6 +382,7 @@ mmc_wait_for_command(struct mmc_softc *s cmd.opcode = opcode; cmd.arg = arg; cmd.flags = flags; + cmd.data = NULL; err = mmc_wait_for_cmd(sc, &cmd, retries); if (err) return (err); @@ -374,6 +412,7 @@ mmc_idle_cards(struct mmc_softc *sc) cmd.opcode = MMC_GO_IDLE_STATE; cmd.arg = 0; cmd.flags = MMC_RSP_NONE | MMC_CMD_BC; + cmd.data = NULL; mmc_wait_for_cmd(sc, &cmd, 0); mmc_ms_delay(1); @@ -392,19 +431,21 @@ mmc_send_app_op_cond(struct mmc_softc *s cmd.opcode = ACMD_SD_SEND_OP_COND; cmd.arg = ocr; cmd.flags = MMC_RSP_R3 | MMC_CMD_BCR; + cmd.data = NULL; for (i = 0; i < 100; i++) { err = mmc_wait_for_app_cmd(sc, 0, &cmd, CMD_RETRIES); if (err != MMC_ERR_NONE) break; - if ((cmd.resp[0] & MMC_OCR_CARD_BUSY) || ocr == 0) + if ((cmd.resp[0] & MMC_OCR_CARD_BUSY) || + (ocr & MMC_OCR_VOLTAGE) == 0) break; err = MMC_ERR_TIMEOUT; mmc_ms_delay(10); } if (rocr && err == MMC_ERR_NONE) *rocr = cmd.resp[0]; - return err; + return (err); } static int @@ -417,19 +458,37 @@ mmc_send_op_cond(struct mmc_softc *sc, u cmd.opcode = MMC_SEND_OP_COND; cmd.arg = ocr; cmd.flags = MMC_RSP_R3 | MMC_CMD_BCR; + cmd.data = NULL; for (i = 0; i < 100; i++) { err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES); if (err != MMC_ERR_NONE) break; - if ((cmd.resp[0] & MMC_OCR_CARD_BUSY) || ocr == 0) + if ((cmd.resp[0] & MMC_OCR_CARD_BUSY) || + (ocr & MMC_OCR_VOLTAGE) == 0) break; err = MMC_ERR_TIMEOUT; mmc_ms_delay(10); } if (rocr && err == MMC_ERR_NONE) *rocr = cmd.resp[0]; - return err; + return (err); +} + +static int +mmc_send_if_cond(struct mmc_softc *sc, uint8_t vhs) +{ + struct mmc_command cmd; + int err; + + memset(&cmd, 0, sizeof(cmd)); + cmd.opcode = SD_SEND_IF_COND; + cmd.arg = (vhs << 8) + 0xAA; + cmd.flags = MMC_RSP_R7 | MMC_CMD_BCR; + cmd.data = NULL; + + err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES); + return (err); } static void @@ -448,43 +507,269 @@ mmc_power_up(struct mmc_softc *sc) mmc_ms_delay(1); mmcbr_set_clock(dev, mmcbr_get_f_min(sc->dev)); + mmcbr_set_timing(dev, bus_timing_normal); mmcbr_set_power_mode(dev, power_on); mmcbr_update_ios(dev); mmc_ms_delay(2); } -// I wonder if the following is endian safe. +static void +mmc_power_down(struct mmc_softc *sc) +{ + device_t dev = sc->dev; + + mmcbr_set_bus_mode(dev, opendrain); + mmcbr_set_chip_select(dev, cs_dontcare); + mmcbr_set_bus_width(dev, bus_width_1); + mmcbr_set_power_mode(dev, power_off); + mmcbr_set_clock(dev, 0); + mmcbr_set_timing(dev, bus_timing_normal); + mmcbr_update_ios(dev); +} + +static int +mmc_select_card(struct mmc_softc *sc, uint16_t rca) +{ + int flags; + + flags = (rca ? MMC_RSP_R1B : MMC_RSP_NONE) | MMC_CMD_AC; + return (mmc_wait_for_command(sc, MMC_SELECT_CARD, (uint32_t)rca << 16, + flags, NULL, CMD_RETRIES)); +} + +static int +mmc_switch(struct mmc_softc *sc, uint8_t set, uint8_t index, uint8_t value) +{ + struct mmc_command cmd; + int err; + + cmd.opcode = MMC_SWITCH_FUNC; + cmd.arg = (MMC_SWITCH_FUNC_WR << 24) | + (index << 16) | + (value << 8) | + set; + cmd.flags = MMC_RSP_R1B | MMC_CMD_AC; + cmd.data = NULL; + err = mmc_wait_for_cmd(sc, &cmd, 0); + return (err); +} + +static int +mmc_sd_switch(struct mmc_softc *sc, uint8_t mode, uint8_t grp, uint8_t value, uint8_t *res) +{ + int err; + struct mmc_command cmd; + struct mmc_data data; + + memset(&cmd, 0, sizeof(struct mmc_command)); + memset(&data, 0, sizeof(struct mmc_data)); + + memset(res, 0, 64); + cmd.opcode = SD_SWITCH_FUNC; + cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC; + cmd.arg = mode << 31; + cmd.arg |= 0x00FFFFFF; + cmd.arg &= ~(0xF << (grp * 4)); + cmd.arg |= value << (grp * 4); + cmd.data = &data; + + data.data = res; + data.len = 64; + data.flags = MMC_DATA_READ; + + err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES); + return (err); +} + +static int +mmc_set_card_bus_width(struct mmc_softc *sc, uint16_t rca, int width) +{ + int err; + + if (mmcbr_get_mode(sc->dev) == mode_sd) { + struct mmc_command cmd; + + memset(&cmd, 0, sizeof(struct mmc_command)); + cmd.opcode = ACMD_SET_BUS_WIDTH; + cmd.flags = MMC_RSP_R1 | MMC_CMD_AC; + switch (width) { + case bus_width_1: + cmd.arg = SD_BUS_WIDTH_1; + break; + case bus_width_4: + cmd.arg = SD_BUS_WIDTH_4; + break; + default: + return (MMC_ERR_INVALID); + } + err = mmc_wait_for_app_cmd(sc, rca, &cmd, CMD_RETRIES); + } else { + uint8_t value; + + switch (width) { + case bus_width_1: + value = EXT_CSD_BUS_WIDTH_1; + break; + case bus_width_4: + value = EXT_CSD_BUS_WIDTH_4; + break; + case bus_width_8: + value = EXT_CSD_BUS_WIDTH_8; + break; + default: + return (MMC_ERR_INVALID); + } + err = mmc_switch(sc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BUS_WIDTH, value); + } + return (err); +} + +static int +mmc_set_timing(struct mmc_softc *sc, int timing) +{ + int err; + uint8_t value; + + switch (timing) { + case bus_timing_normal: + value = 0; + break; + case bus_timing_hs: + value = 1; + break; + default: + return (MMC_ERR_INVALID); + } + if (mmcbr_get_mode(sc->dev) == mode_sd) { + u_char switch_res[64]; + + err = mmc_sd_switch(sc, 1, 0, value, switch_res); + } else { + err = mmc_switch(sc, EXT_CSD_CMD_SET_NORMAL, + EXT_CSD_HS_TIMING, value); + } + return (err); +} + +static int +mmc_test_bus_width(struct mmc_softc *sc) +{ + struct mmc_command cmd; + struct mmc_data data; + int err; + uint8_t buf[8]; + uint8_t p8[8] = { 0x55, 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + uint8_t p8ok[8] = { 0xAA, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; + uint8_t p4[4] = { 0x5A, 0x00, 0x00, 0x00, }; + uint8_t p4ok[4] = { 0xA5, 0x00, 0x00, 0x00, }; + + if (mmcbr_get_caps(sc->dev) & MMC_CAP_8_BIT_DATA) { + mmcbr_set_bus_width(sc->dev, bus_width_8); + mmcbr_update_ios(sc->dev); + + cmd.opcode = MMC_BUSTEST_W; + cmd.arg = 0; + cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC; + cmd.data = &data; + + data.data = p8; + data.len = 8; + data.flags = MMC_DATA_WRITE; + mmc_wait_for_cmd(sc, &cmd, 0); + + cmd.opcode = MMC_BUSTEST_R; + cmd.arg = 0; + cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC; + cmd.data = &data; + + data.data = buf; + data.len = 8; + data.flags = MMC_DATA_READ; + err = mmc_wait_for_cmd(sc, &cmd, 0); + + mmcbr_set_bus_width(sc->dev, bus_width_1); + mmcbr_update_ios(sc->dev); + + if (err == MMC_ERR_NONE && memcmp(buf, p8ok, 8) == 0) + return (bus_width_8); + } + + if (mmcbr_get_caps(sc->dev) & MMC_CAP_4_BIT_DATA) { + mmcbr_set_bus_width(sc->dev, bus_width_4); + mmcbr_update_ios(sc->dev); + + cmd.opcode = MMC_BUSTEST_W; + cmd.arg = 0; + cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC; + cmd.data = &data; + + data.data = p4; + data.len = 4; + data.flags = MMC_DATA_WRITE; + mmc_wait_for_cmd(sc, &cmd, 0); + + cmd.opcode = MMC_BUSTEST_R; + cmd.arg = 0; + cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC; + cmd.data = &data; + + data.data = buf; + data.len = 4; + data.flags = MMC_DATA_READ; + err = mmc_wait_for_cmd(sc, &cmd, 0); + + mmcbr_set_bus_width(sc->dev, bus_width_1); + mmcbr_update_ios(sc->dev); + + if (err == MMC_ERR_NONE && memcmp(buf, p4ok, 4) == 0) + return (bus_width_4); + } + return (bus_width_1); +} + static uint32_t -mmc_get_bits(uint32_t *bits, int start, int size) +mmc_get_bits(uint32_t *bits, int bit_len, int start, int size) { - const int i = 3 - (start / 32); + const int i = (bit_len / 32) - (start / 32) - 1; const int shift = start & 31; uint32_t retval = bits[i] >> shift; if (size + shift > 32) retval |= bits[i - 1] << (32 - shift); - return retval & ((1 << size) - 1); + return (retval & ((1 << size) - 1)); } static void -mmc_decode_cid(int is_sd, uint32_t *raw_cid, struct mmc_cid *cid) +mmc_decode_cid_sd(uint32_t *raw_cid, struct mmc_cid *cid) { int i; + /* There's no version info, so we take it on faith */ memset(cid, 0, sizeof(*cid)); - if (is_sd) { - /* There's no version info, so we take it on faith */ - cid->mid = mmc_get_bits(raw_cid, 120, 8); - cid->oid = mmc_get_bits(raw_cid, 104, 16); - for (i = 0; i < 5; i++) - cid->pnm[i] = mmc_get_bits(raw_cid, 96 - i * 8, 8); - cid->prv = mmc_get_bits(raw_cid, 56, 8); - cid->psn = mmc_get_bits(raw_cid, 24, 32); - cid->mdt_year = mmc_get_bits(raw_cid, 12, 8) + 2001; - cid->mdt_month = mmc_get_bits(raw_cid, 8, 4); - } else { - // XXX write me - panic("write mmc cid decoder"); - } + cid->mid = mmc_get_bits(raw_cid, 128, 120, 8); + cid->oid = mmc_get_bits(raw_cid, 128, 104, 16); + for (i = 0; i < 5; i++) + cid->pnm[i] = mmc_get_bits(raw_cid, 128, 96 - i * 8, 8); + cid->prv = mmc_get_bits(raw_cid, 128, 56, 8); + cid->psn = mmc_get_bits(raw_cid, 128, 24, 32); + cid->mdt_year = mmc_get_bits(raw_cid, 128, 12, 8) + 2001; + cid->mdt_month = mmc_get_bits(raw_cid, 128, 8, 4); +} + +static void +mmc_decode_cid_mmc(uint32_t *raw_cid, struct mmc_cid *cid) +{ + int i; + + /* There's no version info, so we take it on faith */ + memset(cid, 0, sizeof(*cid)); + cid->mid = mmc_get_bits(raw_cid, 128, 120, 8); + cid->oid = mmc_get_bits(raw_cid, 128, 104, 8); + for (i = 0; i < 6; i++) + cid->pnm[i] = mmc_get_bits(raw_cid, 128, 96 - i * 8, 8); + cid->prv = mmc_get_bits(raw_cid, 128, 48, 8); + cid->psn = mmc_get_bits(raw_cid, 128, 16, 32); + cid->mdt_month = mmc_get_bits(raw_cid, 128, 12, 4); + cid->mdt_year = mmc_get_bits(raw_cid, 128, 8, 4) + 1997; } static const int exp[8] = { @@ -501,50 +786,142 @@ static const int cur_max[8] = { }; static void -mmc_decode_csd(int is_sd, uint32_t *raw_csd, struct mmc_csd *csd) +mmc_decode_csd_sd(uint32_t *raw_csd, struct mmc_csd *csd) { int v; int m; int e; memset(csd, 0, sizeof(*csd)); - if (is_sd) { - csd->csd_structure = v = mmc_get_bits(raw_csd, 126, 2); - if (v == 0) { - m = mmc_get_bits(raw_csd, 115, 4); - e = mmc_get_bits(raw_csd, 112, 3); - csd->tacc = exp[e] * mant[m] + 9 / 10; - csd->nsac = mmc_get_bits(raw_csd, 104, 8) * 100; - m = mmc_get_bits(raw_csd, 99, 4); - e = mmc_get_bits(raw_csd, 96, 3); - csd->tran_speed = exp[e] * 10000 * mant[m]; - csd->ccc = mmc_get_bits(raw_csd, 84, 12); - csd->read_bl_len = 1 << mmc_get_bits(raw_csd, 80, 4); - csd->read_bl_partial = mmc_get_bits(raw_csd, 79, 1); - csd->write_blk_misalign = mmc_get_bits(raw_csd, 78, 1); - csd->read_blk_misalign = mmc_get_bits(raw_csd, 77, 1); - csd->dsr_imp = mmc_get_bits(raw_csd, 76, 1); - csd->vdd_r_curr_min = cur_min[mmc_get_bits(raw_csd, 59, 3)]; - csd->vdd_r_curr_max = cur_max[mmc_get_bits(raw_csd, 56, 3)]; - csd->vdd_w_curr_min = cur_min[mmc_get_bits(raw_csd, 53, 3)]; - csd->vdd_w_curr_max = cur_max[mmc_get_bits(raw_csd, 50, 3)]; - m = mmc_get_bits(raw_csd, 62, 12); - e = mmc_get_bits(raw_csd, 47, 3); - csd->capacity = ((1 + m) << (e + 2)) * csd->read_bl_len; - csd->erase_blk_en = mmc_get_bits(raw_csd, 46, 1); - csd->sector_size = mmc_get_bits(raw_csd, 39, 7); - csd->wp_grp_size = mmc_get_bits(raw_csd, 32, 7); - csd->wp_grp_enable = mmc_get_bits(raw_csd, 31, 1); - csd->r2w_factor = 1 << mmc_get_bits(raw_csd, 26, 3); - csd->write_bl_len = 1 << mmc_get_bits(raw_csd, 22, 4); - csd->write_bl_partial = mmc_get_bits(raw_csd, 21, 1); - } else if (v == 1) { - panic("Write SDHC CSD parser"); - } else - panic("unknown SD CSD version"); - } else { - panic("Write a MMC CSD parser"); + csd->csd_structure = v = mmc_get_bits(raw_csd, 128, 126, 2); + if (v == 0) { + m = mmc_get_bits(raw_csd, 128, 115, 4); + e = mmc_get_bits(raw_csd, 128, 112, 3); + csd->tacc = exp[e] * mant[m] + 9 / 10; + csd->nsac = mmc_get_bits(raw_csd, 128, 104, 8) * 100; + m = mmc_get_bits(raw_csd, 128, 99, 4); + e = mmc_get_bits(raw_csd, 128, 96, 3); + csd->tran_speed = exp[e] * 10000 * mant[m]; + csd->ccc = mmc_get_bits(raw_csd, 128, 84, 12); + csd->read_bl_len = 1 << mmc_get_bits(raw_csd, 128, 80, 4); + csd->read_bl_partial = mmc_get_bits(raw_csd, 128, 79, 1); + csd->write_blk_misalign = mmc_get_bits(raw_csd, 128, 78, 1); + csd->read_blk_misalign = mmc_get_bits(raw_csd, 128, 77, 1); + csd->dsr_imp = mmc_get_bits(raw_csd, 128, 76, 1); + csd->vdd_r_curr_min = cur_min[mmc_get_bits(raw_csd, 128, 59, 3)]; + csd->vdd_r_curr_max = cur_max[mmc_get_bits(raw_csd, 128, 56, 3)]; + csd->vdd_w_curr_min = cur_min[mmc_get_bits(raw_csd, 128, 53, 3)]; + csd->vdd_w_curr_max = cur_max[mmc_get_bits(raw_csd, 128, 50, 3)]; + m = mmc_get_bits(raw_csd, 128, 62, 12); + e = mmc_get_bits(raw_csd, 128, 47, 3); + csd->capacity = ((1 + m) << (e + 2)) * csd->read_bl_len; + csd->erase_blk_en = mmc_get_bits(raw_csd, 128, 46, 1); + csd->erase_sector = mmc_get_bits(raw_csd, 128, 39, 7) + 1; + csd->wp_grp_size = mmc_get_bits(raw_csd, 128, 32, 7); + csd->wp_grp_enable = mmc_get_bits(raw_csd, 128, 31, 1); + csd->r2w_factor = 1 << mmc_get_bits(raw_csd, 128, 26, 3); + csd->write_bl_len = 1 << mmc_get_bits(raw_csd, 128, 22, 4); + csd->write_bl_partial = mmc_get_bits(raw_csd, 128, 21, 1); + } else if (v == 1) { + m = mmc_get_bits(raw_csd, 128, 115, 4); + e = mmc_get_bits(raw_csd, 128, 112, 3); + csd->tacc = exp[e] * mant[m] + 9 / 10; + csd->nsac = mmc_get_bits(raw_csd, 128, 104, 8) * 100; + m = mmc_get_bits(raw_csd, 128, 99, 4); + e = mmc_get_bits(raw_csd, 128, 96, 3); + csd->tran_speed = exp[e] * 10000 * mant[m]; + csd->ccc = mmc_get_bits(raw_csd, 128, 84, 12); + csd->read_bl_len = 1 << mmc_get_bits(raw_csd, 128, 80, 4); + csd->read_bl_partial = mmc_get_bits(raw_csd, 128, 79, 1); + csd->write_blk_misalign = mmc_get_bits(raw_csd, 128, 78, 1); + csd->read_blk_misalign = mmc_get_bits(raw_csd, 128, 77, 1); + csd->dsr_imp = mmc_get_bits(raw_csd, 128, 76, 1); + csd->capacity = ((uint64_t)mmc_get_bits(raw_csd, 128, 48, 22) + 1) * + 512 * 1024; + csd->erase_blk_en = mmc_get_bits(raw_csd, 128, 46, 1); + csd->erase_sector = mmc_get_bits(raw_csd, 128, 39, 7) + 1; + csd->wp_grp_size = mmc_get_bits(raw_csd, 128, 32, 7); + csd->wp_grp_enable = mmc_get_bits(raw_csd, 128, 31, 1); + csd->r2w_factor = 1 << mmc_get_bits(raw_csd, 128, 26, 3); + csd->write_bl_len = 1 << mmc_get_bits(raw_csd, 128, 22, 4); + csd->write_bl_partial = mmc_get_bits(raw_csd, 128, 21, 1); + } else + panic("unknown SD CSD version"); +} + +static void +mmc_decode_csd_mmc(uint32_t *raw_csd, struct mmc_csd *csd) +{ + int m; + int e; + + memset(csd, 0, sizeof(*csd)); + csd->csd_structure = mmc_get_bits(raw_csd, 128, 126, 2); + csd->spec_vers = mmc_get_bits(raw_csd, 128, 122, 4); + m = mmc_get_bits(raw_csd, 128, 115, 4); + e = mmc_get_bits(raw_csd, 128, 112, 3); + csd->tacc = exp[e] * mant[m] + 9 / 10; + csd->nsac = mmc_get_bits(raw_csd, 128, 104, 8) * 100; + m = mmc_get_bits(raw_csd, 128, 99, 4); + e = mmc_get_bits(raw_csd, 128, 96, 3); + csd->tran_speed = exp[e] * 10000 * mant[m]; + csd->ccc = mmc_get_bits(raw_csd, 128, 84, 12); + csd->read_bl_len = 1 << mmc_get_bits(raw_csd, 128, 80, 4); + csd->read_bl_partial = mmc_get_bits(raw_csd, 128, 79, 1); + csd->write_blk_misalign = mmc_get_bits(raw_csd, 128, 78, 1); + csd->read_blk_misalign = mmc_get_bits(raw_csd, 128, 77, 1); + csd->dsr_imp = mmc_get_bits(raw_csd, 128, 76, 1); + csd->vdd_r_curr_min = cur_min[mmc_get_bits(raw_csd, 128, 59, 3)]; + csd->vdd_r_curr_max = cur_max[mmc_get_bits(raw_csd, 128, 56, 3)]; + csd->vdd_w_curr_min = cur_min[mmc_get_bits(raw_csd, 128, 53, 3)]; + csd->vdd_w_curr_max = cur_max[mmc_get_bits(raw_csd, 128, 50, 3)]; + m = mmc_get_bits(raw_csd, 128, 62, 12); + e = mmc_get_bits(raw_csd, 128, 47, 3); + csd->capacity = ((1 + m) << (e + 2)) * csd->read_bl_len; + csd->erase_blk_en = 0; + csd->erase_sector = (mmc_get_bits(raw_csd, 128, 42, 5) + 1) * + (mmc_get_bits(raw_csd, 128, 37, 5) + 1); + csd->wp_grp_size = mmc_get_bits(raw_csd, 128, 32, 5); + csd->wp_grp_enable = mmc_get_bits(raw_csd, 128, 31, 1); + csd->r2w_factor = 1 << mmc_get_bits(raw_csd, 128, 26, 3); + csd->write_bl_len = 1 << mmc_get_bits(raw_csd, 128, 22, 4); + csd->write_bl_partial = mmc_get_bits(raw_csd, 128, 21, 1); +} + +static void +mmc_app_decode_scr(uint32_t *raw_scr, struct mmc_scr *scr) +{ + unsigned int scr_struct; + + memset(scr, 0, sizeof(*scr)); + + scr_struct = mmc_get_bits(raw_scr, 64, 60, 4); + if (scr_struct != 0) { + printf("Unrecognised SCR structure version %d\n", + scr_struct); + return; } + scr->sda_vsn = mmc_get_bits(raw_scr, 64, 56, 4); + scr->bus_widths = mmc_get_bits(raw_scr, 64, 48, 4); +} + +static void +mmc_app_decode_sd_status(uint32_t *raw_sd_status, + struct mmc_sd_status *sd_status) +{ + + memset(sd_status, 0, sizeof(*sd_status)); + + sd_status->bus_width = mmc_get_bits(raw_sd_status, 512, 510, 2); + sd_status->secured_mode = mmc_get_bits(raw_sd_status, 512, 509, 1); + sd_status->card_type = mmc_get_bits(raw_sd_status, 512, 480, 16); + sd_status->prot_area = mmc_get_bits(raw_sd_status, 512, 448, 12); + sd_status->speed_class = mmc_get_bits(raw_sd_status, 512, 440, 8); + sd_status->perf_move = mmc_get_bits(raw_sd_status, 512, 432, 8); + sd_status->au_size = mmc_get_bits(raw_sd_status, 512, 428, 4); + sd_status->erase_size = mmc_get_bits(raw_sd_status, 512, 408, 16); + sd_status->erase_timeout = mmc_get_bits(raw_sd_status, 512, 402, 6); + sd_status->erase_offset = mmc_get_bits(raw_sd_status, 512, 400, 2); } static int @@ -556,6 +933,7 @@ mmc_all_send_cid(struct mmc_softc *sc, u cmd.opcode = MMC_ALL_SEND_CID; cmd.arg = 0; cmd.flags = MMC_RSP_R2 | MMC_CMD_BCR; + cmd.data = NULL; err = mmc_wait_for_cmd(sc, &cmd, 0); memcpy(rawcid, cmd.resp, 4 * sizeof(uint32_t)); return (err); @@ -570,12 +948,103 @@ mmc_send_csd(struct mmc_softc *sc, uint1 cmd.opcode = MMC_SEND_CSD; cmd.arg = rca << 16; cmd.flags = MMC_RSP_R2 | MMC_CMD_BCR; + cmd.data = NULL; err = mmc_wait_for_cmd(sc, &cmd, 0); memcpy(rawcid, cmd.resp, 4 * sizeof(uint32_t)); return (err); } static int +mmc_app_send_scr(struct mmc_softc *sc, uint16_t rca, uint32_t *rawscr) +{ + int err; + struct mmc_command cmd; + struct mmc_data data; + + memset(&cmd, 0, sizeof(struct mmc_command)); + memset(&data, 0, sizeof(struct mmc_data)); + + memset(rawscr, 0, 8); + cmd.opcode = ACMD_SEND_SCR; + cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC; + cmd.arg = 0; + cmd.data = &data; + + data.data = rawscr; + data.len = 8; + data.flags = MMC_DATA_READ; + + err = mmc_wait_for_app_cmd(sc, rca, &cmd, CMD_RETRIES); + rawscr[0] = be32toh(rawscr[0]); + rawscr[1] = be32toh(rawscr[1]); + return (err); +} + +static int +mmc_send_ext_csd(struct mmc_softc *sc, uint8_t *rawextcsd) +{ + int err; + struct mmc_command cmd; + struct mmc_data data; + + memset(&cmd, 0, sizeof(struct mmc_command)); + memset(&data, 0, sizeof(struct mmc_data)); + + memset(rawextcsd, 0, 512); + cmd.opcode = MMC_SEND_EXT_CSD; + cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC; + cmd.arg = 0; + cmd.data = &data; + + data.data = rawextcsd; + data.len = 512; + data.flags = MMC_DATA_READ; + + err = mmc_wait_for_cmd(sc, &cmd, CMD_RETRIES); + return (err); +} + +static int +mmc_app_sd_status(struct mmc_softc *sc, uint16_t rca, uint32_t *rawsdstatus) +{ + int err, i; + struct mmc_command cmd; + struct mmc_data data; + + memset(&cmd, 0, sizeof(struct mmc_command)); + memset(&data, 0, sizeof(struct mmc_data)); + + memset(rawsdstatus, 0, 64); + cmd.opcode = ACMD_SD_STATUS; + cmd.flags = MMC_RSP_R1 | MMC_CMD_ADTC; + cmd.arg = 0; + cmd.data = &data; + + data.data = rawsdstatus; + data.len = 64; + data.flags = MMC_DATA_READ; + + err = mmc_wait_for_app_cmd(sc, rca, &cmd, CMD_RETRIES); + for (i = 0; i < 16; i++) + rawsdstatus[i] = be32toh(rawsdstatus[i]); + return (err); +} + +static int +mmc_set_relative_addr(struct mmc_softc *sc, uint16_t resp) +{ + struct mmc_command cmd; + int err; + + cmd.opcode = MMC_SET_RELATIVE_ADDR; + cmd.arg = resp << 16; + cmd.flags = MMC_RSP_R6 | MMC_CMD_BCR; + cmd.data = NULL; + err = mmc_wait_for_cmd(sc, &cmd, 0); + return (err); +} + +static int mmc_send_relative_addr(struct mmc_softc *sc, uint32_t *resp) { struct mmc_command cmd; @@ -584,6 +1053,7 @@ mmc_send_relative_addr(struct mmc_softc cmd.opcode = SD_SEND_RELATIVE_ADDR; cmd.arg = 0; cmd.flags = MMC_RSP_R6 | MMC_CMD_BCR; + cmd.data = NULL; err = mmc_wait_for_cmd(sc, &cmd, 0); *resp = cmd.resp[0]; return (err); @@ -592,39 +1062,182 @@ mmc_send_relative_addr(struct mmc_softc static void mmc_discover_cards(struct mmc_softc *sc) { - struct mmc_ivars *ivar; - int err; - uint32_t resp; + struct mmc_ivars *ivar = NULL; + device_t *devlist; + int err, i, devcount, newcard; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From bz at FreeBSD.org Mon Jan 5 19:50:08 2009 From: bz at FreeBSD.org (Bjoern A. Zeeb) Date: Mon Jan 5 19:50:20 2009 Subject: svn commit: r186751 - in head/sys: netinet6 netipsec In-Reply-To: <49624DB9.8080900@gmx.de> References: <200901042153.n04LrgkD075147@svn.freebsd.org> <20090104220716.GL14235@hoeg.nl> <20090105172400.T45399@maildrop.int.zabbadoz.net> <49624DB9.8080900@gmx.de> Message-ID: <20090105194210.P45399@maildrop.int.zabbadoz.net> On Mon, 5 Jan 2009, Christoph Mallon wrote: Hi, > Bjoern A. Zeeb schrieb: >> I have broken it out from a larger patch; the C99 initializer is here: >> http://people.freebsd.org/~bz/20090105-02-c99-initializers.diff >> >> I case someone can give it a quick glance I'll commit them. > > + .pr_flags = PR_ATOMIC|PR_ADDR, > > style(9) wants spaces around binary operators. I am not sure it does. In case it does I am not going to break consistency with all other 65 places that don't do for pr_flags; but it seems I should change the = to =. Thanks for making me look, and thanks for review! -- Bjoern A. Zeeb The greatest risk is not taking one. From mav at FreeBSD.org Mon Jan 5 19:54:00 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Mon Jan 5 19:54:11 2009 Subject: svn commit: r186787 - stable/7/sys/arm/at91 Message-ID: <200901051953.n05JrwlM009207@svn.freebsd.org> Author: mav Date: Mon Jan 5 19:53:58 2009 New Revision: 186787 URL: http://svn.freebsd.org/changeset/base/186787 Log: MFC rev. 183479, 184452. Keep in sync with latest MMC stack: - limit transfers with single block, - properly implement read-only. Modified: stable/7/sys/arm/at91/at91_mci.c Modified: stable/7/sys/arm/at91/at91_mci.c ============================================================================== --- stable/7/sys/arm/at91/at91_mci.c Mon Jan 5 19:40:09 2009 (r186786) +++ stable/7/sys/arm/at91/at91_mci.c Mon Jan 5 19:53:58 2009 (r186787) @@ -462,7 +462,7 @@ at91_mci_request(device_t brdev, device_ static int at91_mci_get_ro(device_t brdev, device_t reqdev) { - return (-1); + return (0); } static int @@ -649,6 +649,9 @@ at91_mci_read_ivar(device_t bus, device_ case MMCBR_IVAR_VDD: *(int *)result = sc->host.ios.vdd; break; + case MMCBR_IVAR_MAX_DATA: + *(int *)result = 1; + break; } return (0); } @@ -685,9 +688,11 @@ at91_mci_write_ivar(device_t bus, device case MMCBR_IVAR_VDD: sc->host.ios.vdd = value; break; + /* These are read-only */ case MMCBR_IVAR_HOST_OCR: case MMCBR_IVAR_F_MIN: case MMCBR_IVAR_F_MAX: + case MMCBR_IVAR_MAX_DATA: return (EINVAL); } return (0); From luigi at FreeBSD.org Mon Jan 5 20:09:55 2009 From: luigi at FreeBSD.org (Luigi Rizzo) Date: Mon Jan 5 20:10:04 2009 Subject: svn commit: r186789 - head/sys/boot/forth Message-ID: <200901052009.n05K9soF009621@svn.freebsd.org> Author: luigi Date: Mon Jan 5 20:09:54 2009 New Revision: 186789 URL: http://svn.freebsd.org/changeset/base/186789 Log: This patch introduces a number of simplifications to the Forth functions used in the bootloader. The goal is to make the code more readable and smaller (especially because we have size issues in the loader's environment). High level description of the changes: + define some string manipulation functions to improve readability; + create functions to manipulate module descriptors, removing some duplicated code; + rename the error codes to ESOMETHING; + consistently use set_environment_variable (which evaluates $variables) when interpreting variable=value assignments; I have tested the code, but there might be code paths that I have not traversed so please let me know of any issues. Details of this change: --- loader.4th --- + add some module operators, to remove duplicated code while parsing module-related commands: set-module-flag enable-module disable-module toggle-module show-module --- pnp.4th --- + move here the definition related to the pnp devices list, e.g. STAILQ_* , pnpident, pnpinfo --- support.4th --- + rename error codes to capital e.g. ENOMEM EFREE ... and do obvious changes related to the renaming; + remove unused structures (those relevant to pnp are moved to pnp.4th) + various string functions - strlen removed (it is an internal function) - strchr, defined as the C function - strtype -- type a string to output - strref -- assign a reference to the string on the stack - unquote -- remove quotes from a string + remove reset_line_buffer + move up the 'set_environment_variable' function (which now uses the interpreter, so $variables are evaluated). Use the function in various places + add a 'test_file function' for debugging purposes MFC after: 4 weeks Modified: head/sys/boot/forth/loader.4th head/sys/boot/forth/pnp.4th head/sys/boot/forth/support.4th Modified: head/sys/boot/forth/loader.4th ============================================================================== --- head/sys/boot/forth/loader.4th Mon Jan 5 20:02:12 2009 (r186788) +++ head/sys/boot/forth/loader.4th Mon Jan 5 20:09:54 2009 (r186789) @@ -93,6 +93,7 @@ only forth definitions also support-func \ \ If a password was defined, execute autoboot and ask for \ password if autoboot returns. +\ Do not exit unless the right password is given. : check-password password .addr @ if @@ -150,8 +151,7 @@ only forth definitions also support-func \ line, if interpreted, or given on the stack, if compiled in. : (read-conf) ( addr len -- ) - conf_files .addr @ ?dup if free abort" Fatal error freeing memory" then - strdup conf_files .len ! conf_files .addr ! + conf_files string= include_conf_files \ Will recurse on new loader_conf_files definitions ; @@ -165,110 +165,26 @@ only forth definitions also support-func then ; immediate -\ ***** enable-module -\ -\ Turn a module loading on. +\ show, enable, disable, toggle module loading. They all take module from +\ the next word -: enable-module ( -- ) - bl parse module_options @ >r - begin - r@ - while - 2dup - r@ module.name dup .addr @ swap .len @ - compare 0= if - 2drop - r@ module.name dup .addr @ swap .len @ type - true r> module.flag ! - ." will be loaded." cr - exit - then - r> module.next @ >r - repeat - r> drop - type ." wasn't found." cr +: set-module-flag ( module_addr val -- ) \ set and print flag + over module.flag ! + dup module.name strtype + module.flag @ if ." will be loaded" else ." will not be loaded" then cr ; -\ ***** disable-module -\ -\ Turn a module loading off. - -: disable-module ( -- ) - bl parse module_options @ >r - begin - r@ - while - 2dup - r@ module.name dup .addr @ swap .len @ - compare 0= if - 2drop - r@ module.name dup .addr @ swap .len @ type - false r> module.flag ! - ." will not be loaded." cr - exit - then - r> module.next @ >r - repeat - r> drop - type ." wasn't found." cr -; +: enable-module find-module ?dup if true set-module-flag then ; -\ ***** toggle-module -\ -\ Turn a module loading on/off. +: disable-module find-module ?dup if false set-module-flag then ; -: toggle-module ( -- ) - bl parse module_options @ >r - begin - r@ - while - 2dup - r@ module.name dup .addr @ swap .len @ - compare 0= if - 2drop - r@ module.name dup .addr @ swap .len @ type - r@ module.flag @ 0= dup r> module.flag ! - if - ." will be loaded." cr - else - ." will not be loaded." cr - then - exit - then - r> module.next @ >r - repeat - r> drop - type ." wasn't found." cr -; +: toggle-module find-module ?dup if dup module.flag @ 0= set-module-flag then ; \ ***** show-module \ \ Show loading information about a module. -: show-module ( -- ) - bl parse module_options @ >r - begin - r@ - while - 2dup - r@ module.name dup .addr @ swap .len @ - compare 0= if - 2drop - ." Name: " r@ module.name dup .addr @ swap .len @ type cr - ." Path: " r@ module.loadname dup .addr @ swap .len @ type cr - ." Type: " r@ module.type dup .addr @ swap .len @ type cr - ." Flags: " r@ module.args dup .addr @ swap .len @ type cr - ." Before load: " r@ module.beforeload dup .addr @ swap .len @ type cr - ." After load: " r@ module.afterload dup .addr @ swap .len @ type cr - ." Error: " r@ module.loaderror dup .addr @ swap .len @ type cr - ." Status: " r> module.flag @ if ." Load" else ." Don't load" then cr - exit - then - r> module.next @ >r - repeat - r> drop - type ." wasn't found." cr -; +: show-module ( -- ) find-module ?dup if show-one-module then ; \ Words to be used inside configuration files Modified: head/sys/boot/forth/pnp.4th ============================================================================== --- head/sys/boot/forth/pnp.4th Mon Jan 5 20:02:12 2009 (r186788) +++ head/sys/boot/forth/pnp.4th Mon Jan 5 20:09:54 2009 (r186789) @@ -24,6 +24,39 @@ \ \ $FreeBSD$ + +\ The following pnp code is used in pnp.4th and pnp.c +structure: STAILQ_HEAD + ptr stqh_first \ type* + ptr stqh_last \ type** +;structure + +structure: STAILQ_ENTRY + ptr stqe_next \ type* +;structure + +structure: pnphandler + ptr pnph.name + ptr pnph.enumerate +;structure + +structure: pnpident + ptr pnpid.ident \ char* + sizeof STAILQ_ENTRY cells member: pnpid.link \ pnpident +;structure + +structure: pnpinfo \ sync with sys/boot/config/bootstrap.h + ptr pnpi.desc + int pnpi.revision + ptr pnpi.module \ (char*) module args + int pnpi.argc + ptr pnpi.argv + ptr pnpi.handler \ pnphandler + sizeof STAILQ_HEAD member: pnpi.ident \ pnpident + sizeof STAILQ_ENTRY member: pnpi.link \ pnpinfo +;structure +\ end of pnp support + pnpdevices drop : enumerate Modified: head/sys/boot/forth/support.4th ============================================================================== --- head/sys/boot/forth/support.4th Mon Jan 5 20:02:12 2009 (r186788) +++ head/sys/boot/forth/support.4th Mon Jan 5 20:09:54 2009 (r186789) @@ -26,7 +26,6 @@ \ Loader.rc support functions: \ -\ initialize_support ( -- ) initialize global variables \ initialize ( addr len -- ) as above, plus load_conf_files \ load_conf ( addr len -- ) load conf file given \ include_conf_files ( -- ) load all conf files in load_conf_files @@ -61,24 +60,23 @@ \ value any_conf_read? indicates if a conf file was succesfully read \ \ Other exported words: -\ +\ note, strlen is internal \ strdup ( addr len -- addr' len) similar to strdup(3) \ strcat ( addr len addr' len' -- addr len+len' ) similar to strcat(3) -\ strlen ( addr -- len ) similar to strlen(3) \ s' ( | string' -- addr len | ) similar to s" \ rudimentary structure support \ Exception values -1 constant syntax_error -2 constant out_of_memory -3 constant free_error -4 constant set_error -5 constant read_error -6 constant open_error -7 constant exec_error -8 constant before_load_error -9 constant after_load_error +1 constant ESYNTAX +2 constant ENOMEM +3 constant EFREE +4 constant ESETERROR \ error setting environment variable +5 constant EREAD \ error reading +6 constant EOPEN +7 constant EEXEC \ XXX never catched +8 constant EBEFORELOAD +9 constant EAFTERLOAD \ I/O constants @@ -132,7 +130,8 @@ structure: module ptr module.next ;structure -\ Internal loader structures +\ Internal loader structures (preloaded_file, kernel_module, file_metadata) +\ must be in sync with the C struct in sys/boot/common/bootstrap.h structure: preloaded_file ptr pf.name ptr pf.type @@ -159,51 +158,7 @@ structure: file_metadata 0 member: md.data \ variable size ;structure -structure: config_resource - ptr cf.name - int cf.type -0 constant RES_INT -1 constant RES_STRING -2 constant RES_LONG - 2 cells member: u -;structure - -structure: config_device - ptr cd.name - int cd.unit - int cd.resource_count - ptr cd.resources \ config_resource -;structure - -structure: STAILQ_HEAD - ptr stqh_first \ type* - ptr stqh_last \ type** -;structure - -structure: STAILQ_ENTRY - ptr stqe_next \ type* -;structure - -structure: pnphandler - ptr pnph.name - ptr pnph.enumerate -;structure - -structure: pnpident - ptr pnpid.ident \ char* - sizeof STAILQ_ENTRY cells member: pnpid.link \ pnpident -;structure - -structure: pnpinfo - ptr pnpi.desc - int pnpi.revision - ptr pnpi.module \ (char*) module args - int pnpi.argc - ptr pnpi.argv - ptr pnpi.handler \ pnphandler - sizeof STAILQ_HEAD member: pnpi.ident \ pnpident - sizeof STAILQ_ENTRY member: pnpi.link \ pnpinfo -;structure +\ end of structures \ Global variables @@ -216,11 +171,9 @@ create last_module_option sizeof module. 0 value nextboot? \ Support string functions - -: strdup ( addr len -- addr' len ) - >r r@ allocate if out_of_memory throw then - tuck r@ move - r> +: strdup { addr len -- addr' len' } + len allocate if ENOMEM throw then + addr over len move len ; : strcat { addr len addr' len' -- addr len+len' } @@ -228,29 +181,27 @@ create last_module_option sizeof module. addr len len' + ; -: strlen ( addr -- len ) - 0 >r +: strchr { addr len c -- addr' len' } begin - dup c@ while - 1+ r> 1+ >r repeat - drop r> + len + while + addr c@ c = if addr len exit then + addr 1 + to addr + len 1 - to len + repeat + 0 0 ; -: s' +: s' \ same as s", allows " in the string [char] ' parse - state @ if - postpone sliteral - then + state @ if postpone sliteral then ; immediate : 2>r postpone >r postpone >r ; immediate : 2r> postpone r> postpone r> ; immediate : 2r@ postpone 2r> postpone 2dup postpone 2>r ; immediate -: getenv? - getenv - -1 = if false else drop true then -; +: getenv? getenv -1 = if false else drop true then ; \ Private definitions @@ -271,27 +222,27 @@ only forth also support-functions defini \ Standard suffixes -: load_module_suffix s" _load" ; -: module_loadname_suffix s" _name" ; -: module_type_suffix s" _type" ; -: module_args_suffix s" _flags" ; -: module_beforeload_suffix s" _before" ; -: module_afterload_suffix s" _after" ; -: module_loaderror_suffix s" _error" ; +: load_module_suffix s" _load" ; +: module_loadname_suffix s" _name" ; +: module_type_suffix s" _type" ; +: module_args_suffix s" _flags" ; +: module_beforeload_suffix s" _before" ; +: module_afterload_suffix s" _after" ; +: module_loaderror_suffix s" _error" ; \ Support operators : >= < 0= ; : <= > 0= ; -\ Assorted support funcitons +\ Assorted support functions -: free-memory free if free_error throw then ; +: free-memory free if EFREE throw then ; : strget { var -- addr len } var .addr @ var .len @ ; \ assign addr len to variable. -: strset { addr len var -- } addr var .addr ! len var .len ! ; +: strset { addr len var -- } addr var .addr ! len var .len ! ; \ free memory and reset fields : strfree { var -- } var .addr @ ?dup if free-memory 0 0 var strset then ; @@ -299,6 +250,18 @@ only forth also support-functions defini \ free old content, make a copy of the string and assign to variable : string= { addr len var -- } var strfree addr len strdup var strset ; +: strtype ( str -- ) strget type ; + +\ assign a reference to what is on the stack +: strref { addr len var -- addr len } + addr var .addr ! len var .len ! addr len +; + +\ unquote a string +: unquote ( addr len -- addr len ) + over c@ [char] " = if 2 chars - swap char+ swap then +; + \ Assignment data temporary storage string name_buffer @@ -366,16 +329,16 @@ line-reading definitions line_buffer .len @ if line_buffer .addr @ line_buffer .len @ r@ + - resize if out_of_memory throw then + resize if ENOMEM throw then else - r@ allocate if out_of_memory throw then + r@ allocate if ENOMEM throw then then line_buffer .addr ! r> ; : append_to_line_buffer ( addr len -- ) - line_buffer .addr @ line_buffer .len @ + line_buffer strget 2swap strcat line_buffer .len ! drop @@ -395,23 +358,15 @@ line-reading definitions : refill_buffer 0 to read_buffer_ptr read_buffer .addr @ 0= if - read_buffer_size allocate if out_of_memory throw then + read_buffer_size allocate if ENOMEM throw then read_buffer .addr ! then fd @ read_buffer .addr @ read_buffer_size fread - dup -1 = if read_error throw then + dup -1 = if EREAD throw then dup 0= if true to end_of_file? then read_buffer .len ! ; -: reset_line_buffer - line_buffer .addr @ ?dup if - free-memory - then - 0 line_buffer .addr ! - 0 line_buffer .len ! -; - support-functions definitions : reset_line_reading @@ -419,7 +374,7 @@ support-functions definitions ; : read_line - reset_line_buffer + line_buffer strfree skip_newlines begin read_from_buffer @@ -459,9 +414,9 @@ also parser definitions also 0 value parsing_function 0 value end_of_line -: end_of_line? - line_pointer end_of_line = -; +: end_of_line? line_pointer end_of_line = ; + +\ classifiers for various character classes in the input line : letter? line_pointer c@ >r @@ -480,70 +435,46 @@ also parser definitions also or ; -: quote? - line_pointer c@ [char] " = -; +: quote? line_pointer c@ [char] " = ; -: assignment_sign? - line_pointer c@ [char] = = -; +: assignment_sign? line_pointer c@ [char] = = ; -: comment? - line_pointer c@ [char] # = -; +: comment? line_pointer c@ [char] # = ; -: space? - line_pointer c@ bl = - line_pointer c@ tab = or -; +: space? line_pointer c@ bl = line_pointer c@ tab = or ; -: backslash? - line_pointer c@ [char] \ = -; +: backslash? line_pointer c@ [char] \ = ; -: underscore? - line_pointer c@ [char] _ = -; +: underscore? line_pointer c@ [char] _ = ; -: dot? - line_pointer c@ [char] . = -; +: dot? line_pointer c@ [char] . = ; -: skip_character - line_pointer char+ to line_pointer -; +\ manipulation of input line +: skip_character line_pointer char+ to line_pointer ; -: skip_to_end_of_line - end_of_line to line_pointer -; +: skip_to_end_of_line end_of_line to line_pointer ; : eat_space begin - space? + end_of_line? if 0 else space? then while skip_character - end_of_line? if exit then repeat ; : parse_name ( -- addr len ) line_pointer begin - letter? digit? underscore? dot? or or or + end_of_line? if 0 else letter? digit? underscore? dot? or or or then while skip_character - end_of_line? if - line_pointer over - - strdup - exit - then repeat line_pointer over - strdup ; : remove_backslashes { addr len | addr' len' -- addr' len' } - len allocate if out_of_memory throw then + len allocate if ENOMEM throw then to addr' addr >r begin @@ -561,16 +492,16 @@ also parser definitions also : parse_quote ( -- addr len ) line_pointer skip_character - end_of_line? if syntax_error throw then + end_of_line? if ESYNTAX throw then begin quote? 0= while backslash? if skip_character - end_of_line? if syntax_error throw then + end_of_line? if ESYNTAX throw then then skip_character - end_of_line? if syntax_error throw then + end_of_line? if ESYNTAX throw then repeat skip_character line_pointer over - @@ -579,8 +510,7 @@ also parser definitions also : read_name parse_name ( -- addr len ) - name_buffer .len ! - name_buffer .addr ! + name_buffer strset ; : read_value @@ -589,8 +519,7 @@ also parser definitions also else parse_name ( -- addr len ) then - value_buffer .len ! - value_buffer .addr ! + value_buffer strset ; : comment @@ -600,7 +529,7 @@ also parser definitions also : white_space_4 eat_space comment? if ['] comment to parsing_function exit then - end_of_line? 0= if syntax_error throw then + end_of_line? 0= if ESYNTAX throw then ; : variable_value @@ -613,7 +542,7 @@ also parser definitions also letter? digit? quote? or or if ['] variable_value to parsing_function exit then - syntax_error throw + ESYNTAX throw ; : assignment_sign @@ -624,7 +553,7 @@ also parser definitions also : white_space_2 eat_space assignment_sign? if ['] assignment_sign to parsing_function exit then - syntax_error throw + ESYNTAX throw ; : variable_name @@ -636,13 +565,13 @@ also parser definitions also eat_space letter? if ['] variable_name to parsing_function exit then comment? if ['] comment to parsing_function exit then - end_of_line? 0= if syntax_error throw then + end_of_line? 0= if ESYNTAX throw then ; file-processing definitions : get_assignment - line_buffer .addr @ line_buffer .len @ + to end_of_line + line_buffer strget + to end_of_line line_buffer .addr @ to line_pointer ['] white_space_1 to parsing_function begin @@ -653,7 +582,7 @@ file-processing definitions parsing_function ['] comment = parsing_function ['] white_space_1 = parsing_function ['] white_space_4 = - or or 0= if syntax_error throw then + or or 0= if ESYNTAX throw then ; only forth also support-functions also file-processing definitions also @@ -661,7 +590,7 @@ only forth also support-functions also f \ Process line : assignment_type? ( addr len -- flag ) - name_buffer .addr @ name_buffer .len @ + name_buffer strget compare 0= ; @@ -671,69 +600,56 @@ only forth also support-functions also f over compare 0= ; -: loader_conf_files? - s" loader_conf_files" assignment_type? -; +: loader_conf_files? s" loader_conf_files" assignment_type? ; -: nextboot_flag? - s" nextboot_enable" assignment_type? -; +: nextboot_flag? s" nextboot_enable" assignment_type? ; -: nextboot_conf? - s" nextboot_conf" assignment_type? -; +: nextboot_conf? s" nextboot_conf" assignment_type? ; -: verbose_flag? - s" verbose_loading" assignment_type? -; +: verbose_flag? s" verbose_loading" assignment_type? ; -: execute? - s" exec" assignment_type? -; +: execute? s" exec" assignment_type? ; -: password? - s" password" assignment_type? -; +: password? s" password" assignment_type? ; -: module_load? - load_module_suffix suffix_type? -; +: module_load? load_module_suffix suffix_type? ; -: module_loadname? - module_loadname_suffix suffix_type? -; +: module_loadname? module_loadname_suffix suffix_type? ; -: module_type? - module_type_suffix suffix_type? -; +: module_type? module_type_suffix suffix_type? ; -: module_args? - module_args_suffix suffix_type? -; +: module_args? module_args_suffix suffix_type? ; -: module_beforeload? - module_beforeload_suffix suffix_type? -; +: module_beforeload? module_beforeload_suffix suffix_type? ; -: module_afterload? - module_afterload_suffix suffix_type? -; +: module_afterload? module_afterload_suffix suffix_type? ; -: module_loaderror? - module_loaderror_suffix suffix_type? -; +: module_loaderror? module_loaderror_suffix suffix_type? ; -: set_nextboot_conf - nextboot_conf_file .addr @ ?dup if - free-memory - then - value_buffer .addr @ c@ [char] " = if - value_buffer .addr @ char+ value_buffer .len @ 2 chars - +\ build a 'set' statement and execute it +: set_environment_variable + name_buffer .len @ value_buffer .len @ + 5 chars + \ size of result string + allocate if ENOMEM throw then + dup 0 \ start with an empty string and append the pieces + s" set " strcat + name_buffer strget strcat + s" =" strcat + value_buffer strget strcat + ['] evaluate catch if + 2drop free drop + ESETERROR throw else - value_buffer .addr @ value_buffer .len @ + free-memory then - strdup - nextboot_conf_file .len ! nextboot_conf_file .addr ! +; + +: set_conf_files + set_environment_variable + s" loader_conf_files" getenv conf_files string= +; + +: set_nextboot_conf \ XXX maybe do as set_conf_files ? + value_buffer strget unquote nextboot_conf_file string= ; : append_to_module_options_list ( addr -- ) @@ -746,35 +662,32 @@ only forth also support-functions also f then ; -: set_module_name ( addr -- ) - name_buffer .addr @ name_buffer .len @ - strdup - >r over module.name .addr ! - r> swap module.name .len ! +: set_module_name { addr -- } \ check leaks + name_buffer strget addr module.name string= ; : yes_value? - value_buffer .addr @ value_buffer .len @ + value_buffer strget \ XXX could use unquote 2dup s' "YES"' compare >r 2dup s' "yes"' compare >r 2dup s" YES" compare >r s" yes" compare r> r> r> and and and 0= ; -: find_module_option ( -- addr | 0 ) +: find_module_option ( -- addr | 0 ) \ return ptr to entry matching name_buffer module_options @ begin dup while - dup module.name dup .addr @ swap .len @ - name_buffer .addr @ name_buffer .len @ + dup module.name strget + name_buffer strget compare 0= if exit then module.next @ repeat ; : new_module_option ( -- addr ) - sizeof module allocate if out_of_memory throw then + sizeof module allocate if ENOMEM throw then dup sizeof module erase dup append_to_module_options_list dup set_module_name @@ -792,103 +705,38 @@ only forth also support-functions also f : set_module_args name_buffer .len @ module_args_suffix nip - name_buffer .len ! - get_module_option module.args - dup .addr @ ?dup if free-memory then - value_buffer .addr @ value_buffer .len @ - over c@ [char] " = if - 2 chars - swap char+ swap - then - strdup - >r over .addr ! - r> swap .len ! + value_buffer strget unquote + get_module_option module.args string= ; : set_module_loadname name_buffer .len @ module_loadname_suffix nip - name_buffer .len ! - get_module_option module.loadname - dup .addr @ ?dup if free-memory then - value_buffer .addr @ value_buffer .len @ - over c@ [char] " = if - 2 chars - swap char+ swap - then - strdup - >r over .addr ! - r> swap .len ! + value_buffer strget unquote + get_module_option module.loadname string= ; : set_module_type name_buffer .len @ module_type_suffix nip - name_buffer .len ! - get_module_option module.type - dup .addr @ ?dup if free-memory then - value_buffer .addr @ value_buffer .len @ - over c@ [char] " = if - 2 chars - swap char+ swap - then - strdup - >r over .addr ! - r> swap .len ! + value_buffer strget unquote + get_module_option module.type string= ; : set_module_beforeload name_buffer .len @ module_beforeload_suffix nip - name_buffer .len ! - get_module_option module.beforeload - dup .addr @ ?dup if free-memory then - value_buffer .addr @ value_buffer .len @ - over c@ [char] " = if - 2 chars - swap char+ swap - then - strdup - >r over .addr ! - r> swap .len ! + value_buffer strget unquote + get_module_option module.beforeload string= ; : set_module_afterload name_buffer .len @ module_afterload_suffix nip - name_buffer .len ! - get_module_option module.afterload - dup .addr @ ?dup if free-memory then - value_buffer .addr @ value_buffer .len @ - over c@ [char] " = if - 2 chars - swap char+ swap - then - strdup - >r over .addr ! - r> swap .len ! + value_buffer strget unquote + get_module_option module.afterload string= ; : set_module_loaderror name_buffer .len @ module_loaderror_suffix nip - name_buffer .len ! - get_module_option module.loaderror - dup .addr @ ?dup if free-memory then - value_buffer .addr @ value_buffer .len @ - over c@ [char] " = if - 2 chars - swap char+ swap - then - strdup - >r over .addr ! - r> swap .len ! -; - -: set_environment_variable - name_buffer .len @ - value_buffer .len @ + - 5 chars + - allocate if out_of_memory throw then - dup 0 ( addr -- addr addr len ) - s" set " strcat - name_buffer .addr @ name_buffer .len @ strcat - s" =" strcat - value_buffer .addr @ value_buffer .len @ strcat - ['] evaluate catch if - 2drop free drop - set_error throw - else - free-memory - then -; - -: set_conf_files - set_environment_variable - s" loader_conf_files" getenv conf_files string= + value_buffer strget unquote + get_module_option module.loaderror string= ; : set_nextboot_flag @@ -900,23 +748,12 @@ only forth also support-functions also f ; : execute_command - value_buffer .addr @ value_buffer .len @ - over c@ [char] " = if - 2 - swap char+ swap - then - ['] evaluate catch if exec_error throw then + value_buffer strget unquote + ['] evaluate catch if EEXEC throw then ; : set_password - password .addr @ ?dup if free if free_error throw then then - value_buffer .addr @ c@ [char] " = if - value_buffer .addr @ char+ value_buffer .len @ 2 - strdup - value_buffer .addr @ free if free_error throw then - else - value_buffer .addr @ value_buffer .len @ - then - password .len ! password .addr ! - 0 value_buffer .addr ! + value_buffer strget unquote password string= ; : process_assignment @@ -944,16 +781,8 @@ only forth also support-functions also f \ not allocated, it's value (0) is used as flag. : free_buffers - name_buffer .addr @ dup if free then - value_buffer .addr @ dup if free then - or if free_error throw then -; - -: reset_assignment_buffers - 0 name_buffer .addr ! - 0 name_buffer .len ! - 0 value_buffer .addr ! - 0 value_buffer .len ! + name_buffer strfree + value_buffer strfree ; \ Higher level file processing @@ -964,7 +793,7 @@ support-functions definitions begin end_of_file? 0= while - reset_assignment_buffers + free_buffers read_line get_assignment ['] process_assignment catch @@ -977,8 +806,8 @@ support-functions definitions 0 to end_of_file? reset_line_reading O_RDONLY fopen fd ! - fd @ -1 = if open_error throw then - reset_assignment_buffers + fd @ -1 = if EOPEN throw then + free_buffers read_line get_assignment ['] process_assignment catch @@ -991,39 +820,73 @@ only forth also support-functions defini \ Interface to loading conf files : load_conf ( addr len -- ) + ." ----- Trying conf " 2dup type cr 0 to end_of_file? reset_line_reading O_RDONLY fopen fd ! - fd @ -1 = if open_error throw then + fd @ -1 = if EOPEN throw then ['] process_conf catch fd @ fclose throw *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From christoph.mallon at gmx.de Mon Jan 5 20:15:33 2009 From: christoph.mallon at gmx.de (Christoph Mallon) Date: Mon Jan 5 20:15:45 2009 Subject: svn commit: r186751 - in head/sys: netinet6 netipsec In-Reply-To: <20090105194210.P45399@maildrop.int.zabbadoz.net> References: <200901042153.n04LrgkD075147@svn.freebsd.org> <20090104220716.GL14235@hoeg.nl> <20090105172400.T45399@maildrop.int.zabbadoz.net> <49624DB9.8080900@gmx.de> <20090105194210.P45399@maildrop.int.zabbadoz.net> Message-ID: <49626A60.70808@gmx.de> Bjoern A. Zeeb schrieb: > On Mon, 5 Jan 2009, Christoph Mallon wrote: >> Bjoern A. Zeeb schrieb: >>> I have broken it out from a larger patch; the C99 initializer is here: >>> http://people.freebsd.org/~bz/20090105-02-c99-initializers.diff >>> >>> I case someone can give it a quick glance I'll commit them. >> >> + .pr_flags = PR_ATOMIC|PR_ADDR, >> >> style(9) wants spaces around binary operators. > > I am not sure it does. "Unary operators do not require spaces, binary operators do." I guess only "usual" binary operators are meant here and it does not include ",", "[]" or "->". > In case it does I am not going to break > consistency with all other 65 places that don't do for pr_flags; You have a point there. Maybe these should be fixed all at once. > but it seems I should change the = to =. /after/ =? This sounds wrong to me. (In general I think using for alignment is a bad idea and it should only be used for indentation) From mav at FreeBSD.org Mon Jan 5 20:23:02 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Mon Jan 5 20:23:15 2009 Subject: svn commit: r186790 - stable/7/sys/dev/sdhci Message-ID: <200901052023.n05KN1BD009899@svn.freebsd.org> Author: mav Date: Mon Jan 5 20:23:01 2009 New Revision: 186790 URL: http://svn.freebsd.org/changeset/base/186790 Log: MFC sdhci driver. Added: stable/7/sys/dev/sdhci/ stable/7/sys/dev/sdhci/sdhci.c (contents, props changed) stable/7/sys/dev/sdhci/sdhci.h (contents, props changed) Added: stable/7/sys/dev/sdhci/sdhci.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/7/sys/dev/sdhci/sdhci.c Mon Jan 5 20:23:01 2009 (r186790) @@ -0,0 +1,1566 @@ +/*- + * Copyright (c) 2008 Alexander Motin + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +#include +#include +#include + +#include "mmcbr_if.h" +#include "sdhci.h" + +#define DMA_BLOCK_SIZE 4096 +#define DMA_BOUNDARY 0 /* DMA reload every 4K */ + +/* Controller doesn't honor resets unless we touch the clock register */ +#define SDHCI_QUIRK_CLOCK_BEFORE_RESET (1<<0) +/* Controller really supports DMA */ +#define SDHCI_QUIRK_FORCE_DMA (1<<1) +/* Controller has unusable DMA engine */ +#define SDHCI_QUIRK_BROKEN_DMA (1<<2) +/* Controller doesn't like to be reset when there is no card inserted. */ +#define SDHCI_QUIRK_NO_CARD_NO_RESET (1<<3) +/* Controller has flaky internal state so reset it on each ios change */ +#define SDHCI_QUIRK_RESET_ON_IOS (1<<4) +/* Controller can only DMA chunk sizes that are a multiple of 32 bits */ +#define SDHCI_QUIRK_32BIT_DMA_SIZE (1<<5) +/* Controller needs to be reset after each request to stay stable */ +#define SDHCI_QUIRK_RESET_AFTER_REQUEST (1<<6) +/* Controller has an off-by-one issue with timeout value */ +#define SDHCI_QUIRK_INCR_TIMEOUT_CONTROL (1<<7) +/* Controller has broken read timings */ +#define SDHCI_QUIRK_BROKEN_TIMINGS (1<<8) + +static const struct sdhci_device { + uint32_t model; + uint16_t subvendor; + char *desc; + u_int quirks; +} sdhci_devices[] = { + { 0x08221180, 0xffff, "RICOH R5C822 SD", + SDHCI_QUIRK_FORCE_DMA }, + { 0x8034104c, 0xffff, "TI XX21/XX11 SD", + SDHCI_QUIRK_FORCE_DMA }, + { 0x05501524, 0xffff, "ENE CB712 SD", + SDHCI_QUIRK_BROKEN_TIMINGS }, + { 0x05511524, 0xffff, "ENE CB712 SD 2", + SDHCI_QUIRK_BROKEN_TIMINGS }, + { 0x07501524, 0xffff, "ENE CB714 SD", + SDHCI_QUIRK_RESET_ON_IOS | + SDHCI_QUIRK_BROKEN_TIMINGS }, + { 0x07511524, 0xffff, "ENE CB714 SD 2", + SDHCI_QUIRK_RESET_ON_IOS | + SDHCI_QUIRK_BROKEN_TIMINGS }, + { 0x410111ab, 0xffff, "Marvell CaFe SD", + SDHCI_QUIRK_INCR_TIMEOUT_CONTROL }, + { 0x2381197B, 0xffff, "JMicron JMB38X SD", + SDHCI_QUIRK_32BIT_DMA_SIZE | + SDHCI_QUIRK_RESET_AFTER_REQUEST }, + { 0, 0xffff, NULL, + 0 } +}; + +struct sdhci_softc; + +struct sdhci_slot { + struct sdhci_softc *sc; + device_t dev; /* Slot device */ + u_char num; /* Slot number */ + u_char opt; /* Slot options */ +#define SDHCI_HAVE_DMA 1 + uint32_t max_clk; /* Max possible freq */ + uint32_t timeout_clk; /* Timeout freq */ + struct resource *mem_res; /* Memory resource */ + int mem_rid; + bus_dma_tag_t dmatag; + bus_dmamap_t dmamap; + u_char *dmamem; + bus_addr_t paddr; /* DMA buffer address */ + struct task card_task; /* Card presence check task */ + struct callout card_callout; /* Card insert delay callout */ + struct mmc_host host; /* Host parameters */ + struct mmc_request *req; /* Current request */ + struct mmc_command *curcmd; /* Current command of current request */ + + uint32_t intmask; /* Current interrupt mask */ + uint32_t clock; /* Current clock freq. */ + size_t offset; /* Data buffer offset */ + uint8_t hostctrl; /* Current host control register */ + u_char power; /* Current power */ + u_char bus_busy; /* Bus busy status */ + u_char cmd_done; /* CMD command part done flag */ + u_char data_done; /* DAT command part done flag */ + u_char flags; /* Request execution flags */ +#define CMD_STARTED 1 +#define STOP_STARTED 2 +#define SDHCI_USE_DMA 4 /* Use DMA for this req. */ + struct mtx mtx; /* Slot mutex */ +}; + +struct sdhci_softc { + device_t dev; /* Controller device */ + u_int quirks; /* Chip specific quirks */ + struct resource *irq_res; /* IRQ resource */ + int irq_rid; + void *intrhand; /* Interrupt handle */ + + int num_slots; /* Number of slots on this controller */ + struct sdhci_slot slots[6]; +}; + +static inline uint8_t +RD1(struct sdhci_slot *slot, bus_size_t off) +{ + bus_barrier(slot->mem_res, 0, 0xFF, + BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); + return bus_read_1(slot->mem_res, off); +} + +static inline void +WR1(struct sdhci_slot *slot, bus_size_t off, uint8_t val) +{ + bus_barrier(slot->mem_res, 0, 0xFF, + BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); + bus_write_1(slot->mem_res, off, val); +} + +static inline uint16_t +RD2(struct sdhci_slot *slot, bus_size_t off) +{ + bus_barrier(slot->mem_res, 0, 0xFF, + BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); + return bus_read_2(slot->mem_res, off); +} + +static inline void +WR2(struct sdhci_slot *slot, bus_size_t off, uint16_t val) +{ + bus_barrier(slot->mem_res, 0, 0xFF, + BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); + bus_write_2(slot->mem_res, off, val); +} + +static inline uint32_t +RD4(struct sdhci_slot *slot, bus_size_t off) +{ + bus_barrier(slot->mem_res, 0, 0xFF, + BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); + return bus_read_4(slot->mem_res, off); +} + +static inline void +WR4(struct sdhci_slot *slot, bus_size_t off, uint32_t val) +{ + bus_barrier(slot->mem_res, 0, 0xFF, + BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); + bus_write_4(slot->mem_res, off, val); +} + +/* bus entry points */ +static int sdhci_probe(device_t dev); +static int sdhci_attach(device_t dev); +static int sdhci_detach(device_t dev); +static void sdhci_intr(void *); + +static void sdhci_set_clock(struct sdhci_slot *slot, uint32_t clock); +static void sdhci_start(struct sdhci_slot *slot); +static void sdhci_start_data(struct sdhci_slot *slot, struct mmc_data *data); + +static void sdhci_card_task(void *, int); + +/* helper routines */ +#define SDHCI_LOCK(_slot) mtx_lock(&(_slot)->mtx) +#define SDHCI_UNLOCK(_slot) mtx_unlock(&(_slot)->mtx) +#define SDHCI_LOCK_INIT(_slot) \ + mtx_init(&_slot->mtx, "SD slot mtx", "sdhci", MTX_DEF) +#define SDHCI_LOCK_DESTROY(_slot) mtx_destroy(&_slot->mtx); +#define SDHCI_ASSERT_LOCKED(_slot) mtx_assert(&_slot->mtx, MA_OWNED); +#define SDHCI_ASSERT_UNLOCKED(_slot) mtx_assert(&_slot->mtx, MA_NOTOWNED); + +static int +slot_printf(struct sdhci_slot *slot, const char * fmt, ...) +{ + va_list ap; + int retval; + + retval = printf("%s-slot%d: ", + device_get_nameunit(slot->sc->dev), slot->num); + + va_start(ap, fmt); + retval += vprintf(fmt, ap); + va_end(ap); + return (retval); +} + +static void +sdhci_getaddr(void *arg, bus_dma_segment_t *segs, int nsegs, int error) +{ + if (error != 0) { + printf("getaddr: error %d\n", error); + return; + } + *(bus_addr_t *)arg = segs[0].ds_addr; +} + +static void +sdhci_dumpregs(struct sdhci_slot *slot) +{ + slot_printf(slot, + "============== REGISTER DUMP ==============\n"); + + slot_printf(slot, "Sys addr: 0x%08x | Version: 0x%08x\n", + RD4(slot, SDHCI_DMA_ADDRESS), RD2(slot, SDHCI_HOST_VERSION)); + slot_printf(slot, "Blk size: 0x%08x | Blk cnt: 0x%08x\n", + RD2(slot, SDHCI_BLOCK_SIZE), RD2(slot, SDHCI_BLOCK_COUNT)); + slot_printf(slot, "Argument: 0x%08x | Trn mode: 0x%08x\n", + RD4(slot, SDHCI_ARGUMENT), RD2(slot, SDHCI_TRANSFER_MODE)); + slot_printf(slot, "Present: 0x%08x | Host ctl: 0x%08x\n", + RD4(slot, SDHCI_PRESENT_STATE), RD1(slot, SDHCI_HOST_CONTROL)); + slot_printf(slot, "Power: 0x%08x | Blk gap: 0x%08x\n", + RD1(slot, SDHCI_POWER_CONTROL), RD1(slot, SDHCI_BLOCK_GAP_CONTROL)); + slot_printf(slot, "Wake-up: 0x%08x | Clock: 0x%08x\n", + RD1(slot, SDHCI_WAKE_UP_CONTROL), RD2(slot, SDHCI_CLOCK_CONTROL)); + slot_printf(slot, "Timeout: 0x%08x | Int stat: 0x%08x\n", + RD1(slot, SDHCI_TIMEOUT_CONTROL), RD4(slot, SDHCI_INT_STATUS)); + slot_printf(slot, "Int enab: 0x%08x | Sig enab: 0x%08x\n", + RD4(slot, SDHCI_INT_ENABLE), RD4(slot, SDHCI_SIGNAL_ENABLE)); + slot_printf(slot, "AC12 err: 0x%08x | Slot int: 0x%08x\n", + RD2(slot, SDHCI_ACMD12_ERR), RD2(slot, SDHCI_SLOT_INT_STATUS)); + slot_printf(slot, "Caps: 0x%08x | Max curr: 0x%08x\n", + RD4(slot, SDHCI_CAPABILITIES), RD4(slot, SDHCI_MAX_CURRENT)); + + slot_printf(slot, + "===========================================\n"); +} + +static void +sdhci_reset(struct sdhci_slot *slot, uint8_t mask) +{ + int timeout; + uint8_t res; + + if (slot->sc->quirks & SDHCI_QUIRK_NO_CARD_NO_RESET) { + if (!(RD4(slot, SDHCI_PRESENT_STATE) & + SDHCI_CARD_PRESENT)) + return; + } + + /* Some controllers need this kick or reset won't work. */ + if ((mask & SDHCI_RESET_ALL) == 0 && + (slot->sc->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET)) { + uint32_t clock; + + /* This is to force an update */ + clock = slot->clock; + slot->clock = 0; + sdhci_set_clock(slot, clock); + } + + WR1(slot, SDHCI_SOFTWARE_RESET, mask); + + if (mask & SDHCI_RESET_ALL) { + slot->clock = 0; + slot->power = 0; + } + + /* Wait max 100 ms */ + timeout = 100; + /* Controller clears the bits when it's done */ + while ((res = RD1(slot, SDHCI_SOFTWARE_RESET)) & mask) { + if (timeout == 0) { + slot_printf(slot, + "Reset 0x%x never completed - 0x%x.\n", + (int)mask, (int)res); + sdhci_dumpregs(slot); + return; + } + timeout--; + DELAY(1000); + } +} + +static void +sdhci_init(struct sdhci_slot *slot) +{ + + sdhci_reset(slot, SDHCI_RESET_ALL); + + /* Enable interrupts. */ + slot->intmask = SDHCI_INT_BUS_POWER | SDHCI_INT_DATA_END_BIT | + SDHCI_INT_DATA_CRC | SDHCI_INT_DATA_TIMEOUT | SDHCI_INT_INDEX | + SDHCI_INT_END_BIT | SDHCI_INT_CRC | SDHCI_INT_TIMEOUT | + SDHCI_INT_CARD_REMOVE | SDHCI_INT_CARD_INSERT | + SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL | + SDHCI_INT_DMA_END | SDHCI_INT_DATA_END | SDHCI_INT_RESPONSE | + SDHCI_INT_ACMD12ERR; + WR4(slot, SDHCI_INT_ENABLE, slot->intmask); + WR4(slot, SDHCI_SIGNAL_ENABLE, slot->intmask); +} + +static void +sdhci_set_clock(struct sdhci_slot *slot, uint32_t clock) +{ + uint32_t res; + uint16_t clk; + int timeout; + + if (clock == slot->clock) + return; + slot->clock = clock; + + /* Turn off the clock. */ + WR2(slot, SDHCI_CLOCK_CONTROL, 0); + /* If no clock requested - left it so. */ + if (clock == 0) + return; + /* Looking for highest freq <= clock. */ + res = slot->max_clk; + for (clk = 1; clk < 256; clk <<= 1) { + if (res <= clock) + break; + res >>= 1; + } + /* Divider 1:1 is 0x00, 2:1 is 0x01, 256:1 is 0x80 ... */ + clk >>= 1; + /* Now we have got divider, set it. */ + clk <<= SDHCI_DIVIDER_SHIFT; + WR2(slot, SDHCI_CLOCK_CONTROL, clk); + /* Enable clock. */ + clk |= SDHCI_CLOCK_INT_EN; + WR2(slot, SDHCI_CLOCK_CONTROL, clk); + /* Wait up to 10 ms until it stabilize. */ + timeout = 10; + while (!((clk = RD2(slot, SDHCI_CLOCK_CONTROL)) + & SDHCI_CLOCK_INT_STABLE)) { + if (timeout == 0) { + slot_printf(slot, + "Internal clock never stabilised.\n"); + sdhci_dumpregs(slot); + return; + } + timeout--; + DELAY(1000); + } + /* Pass clock signal to the bus. */ + clk |= SDHCI_CLOCK_CARD_EN; + WR2(slot, SDHCI_CLOCK_CONTROL, clk); +} + +static void +sdhci_set_power(struct sdhci_slot *slot, u_char power) +{ + uint8_t pwr; + + if (slot->power == power) + return; + slot->power = power; + + /* Turn off the power. */ + pwr = 0; + WR1(slot, SDHCI_POWER_CONTROL, pwr); + /* If power down requested - left it so. */ + if (power == 0) + return; + /* Set voltage. */ + switch (1 << power) { + case MMC_OCR_LOW_VOLTAGE: + pwr |= SDHCI_POWER_180; + break; + case MMC_OCR_290_300: + case MMC_OCR_300_310: + pwr |= SDHCI_POWER_300; + break; + case MMC_OCR_320_330: + case MMC_OCR_330_340: + pwr |= SDHCI_POWER_330; + break; + } + WR1(slot, SDHCI_POWER_CONTROL, pwr); + /* Turn on the power. */ + pwr |= SDHCI_POWER_ON; + WR1(slot, SDHCI_POWER_CONTROL, pwr); +} + +static void +sdhci_read_block_pio(struct sdhci_slot *slot) +{ + uint32_t data; + char *buffer; + size_t left; + + buffer = slot->curcmd->data->data; + buffer += slot->offset; + /* Transfer one block at a time. */ + left = min(512, slot->curcmd->data->len - slot->offset); + slot->offset += left; + + /* If we are too fast, broken controllers return zeroes. */ + if (slot->sc->quirks & SDHCI_QUIRK_BROKEN_TIMINGS) + DELAY(10); + /* Handle unalligned and alligned buffer cases. */ + if ((intptr_t)buffer & 3) { + while (left > 3) { + data = RD4(slot, SDHCI_BUFFER); + buffer[0] = data; + buffer[1] = (data >> 8); + buffer[2] = (data >> 16); + buffer[3] = (data >> 24); + buffer += 4; + left -= 4; + } + } else { + bus_read_multi_stream_4(slot->mem_res, SDHCI_BUFFER, + (uint32_t *)buffer, left >> 2); + left &= 3; + } + /* Handle uneven size case. */ + if (left > 0) { + data = RD4(slot, SDHCI_BUFFER); + while (left > 0) { + *(buffer++) = data; + data >>= 8; + left--; + } + } +} + +static void +sdhci_write_block_pio(struct sdhci_slot *slot) +{ + uint32_t data = 0; + char *buffer; + size_t left; + + buffer = slot->curcmd->data->data; + buffer += slot->offset; + /* Transfer one block at a time. */ + left = min(512, slot->curcmd->data->len - slot->offset); + slot->offset += left; + + /* Handle unalligned and alligned buffer cases. */ + if ((intptr_t)buffer & 3) { + while (left > 3) { + data = buffer[0] + + (buffer[1] << 8) + + (buffer[2] << 16) + + (buffer[3] << 24); + left -= 4; + buffer += 4; + WR4(slot, SDHCI_BUFFER, data); + } + } else { + bus_write_multi_stream_4(slot->mem_res, SDHCI_BUFFER, + (uint32_t *)buffer, left >> 2); + left &= 3; + } + /* Handle uneven size case. */ + if (left > 0) { + while (left > 0) { + data <<= 8; + data += *(buffer++); + left--; + } + WR4(slot, SDHCI_BUFFER, data); + } +} + +static void +sdhci_transfer_pio(struct sdhci_slot *slot) +{ + + /* Read as many blocks as possible. */ + if (slot->curcmd->data->flags & MMC_DATA_READ) { + while (RD4(slot, SDHCI_PRESENT_STATE) & + SDHCI_DATA_AVAILABLE) { + sdhci_read_block_pio(slot); + if (slot->offset >= slot->curcmd->data->len) + break; + } + } else { + while (RD4(slot, SDHCI_PRESENT_STATE) & + SDHCI_SPACE_AVAILABLE) { + sdhci_write_block_pio(slot); + if (slot->offset >= slot->curcmd->data->len) + break; + } + } +} + +static void +sdhci_card_delay(void *arg) +{ + struct sdhci_slot *slot = arg; + + taskqueue_enqueue(taskqueue_swi_giant, &slot->card_task); +} + +static void +sdhci_card_task(void *arg, int pending) +{ + struct sdhci_slot *slot = arg; + + SDHCI_LOCK(slot); + if (RD4(slot, SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT) { + if (slot->dev == NULL) { + /* If card is present - attach mmc bus. */ + slot->dev = device_add_child(slot->sc->dev, "mmc", -1); + device_set_ivars(slot->dev, slot); + SDHCI_UNLOCK(slot); + device_probe_and_attach(slot->dev); + } else + SDHCI_UNLOCK(slot); + } else { + if (slot->dev != NULL) { + /* If no card present - detach mmc bus. */ + device_t d = slot->dev; + slot->dev = NULL; + SDHCI_UNLOCK(slot); + device_delete_child(slot->sc->dev, d); + } else + SDHCI_UNLOCK(slot); + } +} + +static int +sdhci_probe(device_t dev) +{ + uint32_t model; + uint16_t subvendor; + uint8_t class, subclass; + int i, result; + + model = (uint32_t)pci_get_device(dev) << 16; + model |= (uint32_t)pci_get_vendor(dev) & 0x0000ffff; + subvendor = pci_get_subvendor(dev); + class = pci_get_class(dev); + subclass = pci_get_subclass(dev); + + result = ENXIO; + for (i = 0; sdhci_devices[i].model != 0; i++) { + if (sdhci_devices[i].model == model && + (sdhci_devices[i].subvendor == 0xffff || + sdhci_devices[i].subvendor == subvendor)) { + device_set_desc(dev, sdhci_devices[i].desc); + result = BUS_PROBE_DEFAULT; + break; + } + } + if (result == ENXIO && class == PCIC_BASEPERIPH && + subclass == PCIS_BASEPERIPH_SDHC) { + device_set_desc(dev, "Generic SD HCI"); + result = BUS_PROBE_GENERIC; + } + + return (result); +} + +static int +sdhci_attach(device_t dev) +{ + struct sdhci_softc *sc = device_get_softc(dev); + uint32_t model; + uint16_t subvendor; + uint8_t class, subclass, progif; + int err, slots, bar, i; + + sc->dev = dev; + model = (uint32_t)pci_get_device(dev) << 16; + model |= (uint32_t)pci_get_vendor(dev) & 0x0000ffff; + subvendor = pci_get_subvendor(dev); + class = pci_get_class(dev); + subclass = pci_get_subclass(dev); + progif = pci_get_progif(dev); + /* Apply chip specific quirks. */ + for (i = 0; sdhci_devices[i].model != 0; i++) { + if (sdhci_devices[i].model == model && + (sdhci_devices[i].subvendor == 0xffff || + sdhci_devices[i].subvendor == subvendor)) { + sc->quirks = sdhci_devices[i].quirks; + break; + } + } + /* Read slots info from PCI registers. */ + slots = pci_read_config(dev, PCI_SLOT_INFO, 1); + bar = PCI_SLOT_INFO_FIRST_BAR(slots); + slots = PCI_SLOT_INFO_SLOTS(slots); + if (slots > 6 || bar > 5) { + device_printf(dev, "Incorrect slots information (%d, %d).\n", + slots, bar); + return (EINVAL); + } + /* Allocate IRQ. */ + sc->irq_rid = 0; + sc->irq_res = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irq_rid, + RF_SHAREABLE | RF_ACTIVE); + if (sc->irq_res == NULL) { + device_printf(dev, "Can't allocate IRQ\n"); + return (ENOMEM); + } + /* Scan all slots. */ + for (i = 0; i < slots; i++) { + struct sdhci_slot *slot = &sc->slots[sc->num_slots]; + uint32_t caps; + + SDHCI_LOCK_INIT(slot); + slot->sc = sc; + slot->num = sc->num_slots; + /* Allocate memory. */ + slot->mem_rid = PCIR_BAR(bar + i); + slot->mem_res = bus_alloc_resource(dev, + SYS_RES_MEMORY, &slot->mem_rid, 0ul, ~0ul, 0x100, RF_ACTIVE); + if (slot->mem_res == NULL) { + device_printf(dev, "Can't allocate memory\n"); + SDHCI_LOCK_DESTROY(slot); + continue; + } + /* Allocate DMA tag. */ + err = bus_dma_tag_create(bus_get_dma_tag(dev), + DMA_BLOCK_SIZE, 0, BUS_SPACE_MAXADDR_32BIT, + BUS_SPACE_MAXADDR, NULL, NULL, + DMA_BLOCK_SIZE, 1, DMA_BLOCK_SIZE, + BUS_DMA_ALLOCNOW, NULL, NULL, + &slot->dmatag); + if (err != 0) { + device_printf(dev, "Can't create DMA tag\n"); + SDHCI_LOCK_DESTROY(slot); + continue; + } + /* Allocate DMA memory. */ + err = bus_dmamem_alloc(slot->dmatag, (void **)&slot->dmamem, + BUS_DMA_NOWAIT, &slot->dmamap); + if (err != 0) { + device_printf(dev, "Can't alloc DMA memory\n"); + SDHCI_LOCK_DESTROY(slot); + continue; + } + /* Map the memory. */ + err = bus_dmamap_load(slot->dmatag, slot->dmamap, + (void *)slot->dmamem, DMA_BLOCK_SIZE, + sdhci_getaddr, &slot->paddr, 0); + if (err != 0 || slot->paddr == 0) { + device_printf(dev, "Can't load DMA memory\n"); + SDHCI_LOCK_DESTROY(slot); + continue; + } + /* Initialize slot. */ + sdhci_init(slot); + caps = RD4(slot, SDHCI_CAPABILITIES); + /* Calculate base clock frequency. */ + slot->max_clk = + (caps & SDHCI_CLOCK_BASE_MASK) >> SDHCI_CLOCK_BASE_SHIFT; + if (slot->max_clk == 0) { + device_printf(dev, "Hardware doesn't specify base clock " + "frequency.\n"); + } + slot->max_clk *= 1000000; + /* Calculate timeout clock frequency. */ + slot->timeout_clk = + (caps & SDHCI_TIMEOUT_CLK_MASK) >> SDHCI_TIMEOUT_CLK_SHIFT; + if (slot->timeout_clk == 0) { + device_printf(dev, "Hardware doesn't specify timeout clock " + "frequency.\n"); + } + if (caps & SDHCI_TIMEOUT_CLK_UNIT) + slot->timeout_clk *= 1000; + + slot->host.f_min = slot->max_clk / 256; + slot->host.f_max = slot->max_clk; + slot->host.host_ocr = 0; + if (caps & SDHCI_CAN_VDD_330) + slot->host.host_ocr |= MMC_OCR_320_330 | MMC_OCR_330_340; + if (caps & SDHCI_CAN_VDD_300) + slot->host.host_ocr |= MMC_OCR_290_300 | MMC_OCR_300_310; + if (caps & SDHCI_CAN_VDD_180) + slot->host.host_ocr |= MMC_OCR_LOW_VOLTAGE; + if (slot->host.host_ocr == 0) { + device_printf(dev, "Hardware doesn't report any " + "support voltages.\n"); + } + slot->host.caps = MMC_CAP_4_BIT_DATA; + if (caps & SDHCI_CAN_DO_HISPD) + slot->host.caps |= MMC_CAP_HSPEED; + /* Decide if we have usable DMA. */ + if (caps & SDHCI_CAN_DO_DMA) + slot->opt |= SDHCI_HAVE_DMA; + if (class == PCIC_BASEPERIPH && + subclass == PCIS_BASEPERIPH_SDHC && + progif != PCI_SDHCI_IFDMA) + slot->opt &= ~SDHCI_HAVE_DMA; + if (sc->quirks & SDHCI_QUIRK_BROKEN_DMA) + slot->opt &= ~SDHCI_HAVE_DMA; + if (sc->quirks & SDHCI_QUIRK_FORCE_DMA) + slot->opt |= SDHCI_HAVE_DMA; + + if (bootverbose) { + slot_printf(slot, "%uMHz%s 4bits%s%s%s %s\n", + slot->max_clk / 1000000, + (caps & SDHCI_CAN_DO_HISPD) ? " HS" : "", + (caps & SDHCI_CAN_VDD_330) ? " 3.3V" : "", + (caps & SDHCI_CAN_VDD_300) ? " 3.0V" : "", + (caps & SDHCI_CAN_VDD_180) ? " 1.8V" : "", + (slot->opt & SDHCI_HAVE_DMA) ? "DMA" : "PIO"); + sdhci_dumpregs(slot); + } + + TASK_INIT(&slot->card_task, 0, sdhci_card_task, slot); + callout_init(&slot->card_callout, 1); + sc->num_slots++; + } + device_printf(dev, "%d slot(s) allocated\n", sc->num_slots); + /* Activate the interrupt */ + err = bus_setup_intr(dev, sc->irq_res, INTR_TYPE_MISC | INTR_MPSAFE, + NULL, sdhci_intr, sc, &sc->intrhand); + if (err) + device_printf(dev, "Can't setup IRQ\n"); + pci_enable_busmaster(dev); + /* Process cards detection. */ + for (i = 0; i < sc->num_slots; i++) { + struct sdhci_slot *slot = &sc->slots[i]; + + sdhci_card_task(slot, 0); + } + + return (0); +} + +static int +sdhci_detach(device_t dev) +{ + struct sdhci_softc *sc = device_get_softc(dev); + int i; + + bus_teardown_intr(dev, sc->irq_res, sc->intrhand); + bus_release_resource(dev, SYS_RES_IRQ, + sc->irq_rid, sc->irq_res); + + for (i = 0; i < sc->num_slots; i++) { + struct sdhci_slot *slot = &sc->slots[i]; + device_t d; + + callout_drain(&slot->card_callout); + taskqueue_drain(taskqueue_swi_giant, &slot->card_task); + + SDHCI_LOCK(slot); + d = slot->dev; + slot->dev = NULL; + SDHCI_UNLOCK(slot); + if (d != NULL) + device_delete_child(dev, d); + + SDHCI_LOCK(slot); + sdhci_reset(slot, SDHCI_RESET_ALL); + SDHCI_UNLOCK(slot); + bus_dmamap_unload(slot->dmatag, slot->dmamap); + bus_dmamem_free(slot->dmatag, slot->dmamem, slot->dmamap); + bus_dma_tag_destroy(slot->dmatag); + bus_release_resource(dev, SYS_RES_MEMORY, + slot->mem_rid, slot->mem_res); + SDHCI_LOCK_DESTROY(slot); + } + return (0); +} + +static int +sdhci_suspend(device_t dev) +{ + struct sdhci_softc *sc = device_get_softc(dev); + int i, err; + + err = bus_generic_suspend(dev); + if (err) + return (err); + for (i = 0; i < sc->num_slots; i++) + sdhci_reset(&sc->slots[i], SDHCI_RESET_ALL); + return (0); +} + +static int +sdhci_resume(device_t dev) +{ + struct sdhci_softc *sc = device_get_softc(dev); + int i; + + for (i = 0; i < sc->num_slots; i++) + sdhci_init(&sc->slots[i]); + return (bus_generic_resume(dev)); +} + +static int +sdhci_update_ios(device_t brdev, device_t reqdev) +{ + struct sdhci_slot *slot = device_get_ivars(reqdev); + struct mmc_ios *ios = &slot->host.ios; + + SDHCI_LOCK(slot); + /* Do full reset on bus power down to clear from any state. */ + if (ios->power_mode == power_off) { + WR4(slot, SDHCI_SIGNAL_ENABLE, 0); + sdhci_init(slot); + } + /* Configure the bus. */ + sdhci_set_clock(slot, ios->clock); + sdhci_set_power(slot, (ios->power_mode == power_off)?0:ios->vdd); + if (ios->bus_width == bus_width_4) + slot->hostctrl |= SDHCI_CTRL_4BITBUS; + else + slot->hostctrl &= ~SDHCI_CTRL_4BITBUS; + if (ios->timing == bus_timing_hs) + slot->hostctrl |= SDHCI_CTRL_HISPD; + else + slot->hostctrl &= ~SDHCI_CTRL_HISPD; + WR1(slot, SDHCI_HOST_CONTROL, slot->hostctrl); + /* Some controllers like reset after bus changes. */ + if(slot->sc->quirks & SDHCI_QUIRK_RESET_ON_IOS) + sdhci_reset(slot, SDHCI_RESET_CMD | SDHCI_RESET_DATA); + + SDHCI_UNLOCK(slot); + return (0); +} + +static void +sdhci_set_transfer_mode(struct sdhci_slot *slot, + struct mmc_data *data) +{ + uint16_t mode; + + if (data == NULL) + return; + + mode = SDHCI_TRNS_BLK_CNT_EN; + if (data->len > 512) + mode |= SDHCI_TRNS_MULTI; + if (data->flags & MMC_DATA_READ) + mode |= SDHCI_TRNS_READ; + if (slot->req->stop) + mode |= SDHCI_TRNS_ACMD12; + if (slot->flags & SDHCI_USE_DMA) + mode |= SDHCI_TRNS_DMA; + + WR2(slot, SDHCI_TRANSFER_MODE, mode); +} + +static void +sdhci_start_command(struct sdhci_slot *slot, struct mmc_command *cmd) +{ + struct mmc_request *req = slot->req; + int flags, timeout; + uint32_t mask, state; + + slot->curcmd = cmd; + slot->cmd_done = 0; + + cmd->error = MMC_ERR_NONE; + + /* This flags combination is not supported by controller. */ + if ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) { + slot_printf(slot, "Unsupported response type!\n"); + cmd->error = MMC_ERR_FAILED; + slot->req = NULL; + slot->curcmd = NULL; + req->done(req); + return; + } + + /* Read controller present state. */ + state = RD4(slot, SDHCI_PRESENT_STATE); + /* Do not issue command if there is no card, clock or power. + * Controller will not detect timeout without clock active. */ + if ((state & SDHCI_CARD_PRESENT) == 0 || + slot->power == 0 || + slot->clock == 0) { + cmd->error = MMC_ERR_FAILED; + slot->req = NULL; + slot->curcmd = NULL; + req->done(req); + return; + } + /* Always wait for free CMD bus. */ + mask = SDHCI_CMD_INHIBIT; + /* Wait for free DAT if we have data or busy signal. */ + if (cmd->data || (cmd->flags & MMC_RSP_BUSY)) + mask |= SDHCI_DAT_INHIBIT; + /* We shouldn't wait for DAT for stop commands. */ + if (cmd == slot->req->stop) + mask &= ~SDHCI_DAT_INHIBIT; + /* Wait for bus no more then 10 ms. */ + timeout = 10; + while (state & mask) { + if (timeout == 0) { + slot_printf(slot, "Controller never released " + "inhibit bit(s).\n"); + sdhci_dumpregs(slot); + cmd->error = MMC_ERR_FAILED; + slot->req = NULL; + slot->curcmd = NULL; + req->done(req); + return; + } + timeout--; + DELAY(1000); + state = RD4(slot, SDHCI_PRESENT_STATE); + } + + /* Prepare command flags. */ + if (!(cmd->flags & MMC_RSP_PRESENT)) + flags = SDHCI_CMD_RESP_NONE; + else if (cmd->flags & MMC_RSP_136) + flags = SDHCI_CMD_RESP_LONG; + else if (cmd->flags & MMC_RSP_BUSY) + flags = SDHCI_CMD_RESP_SHORT_BUSY; + else + flags = SDHCI_CMD_RESP_SHORT; + if (cmd->flags & MMC_RSP_CRC) + flags |= SDHCI_CMD_CRC; + if (cmd->flags & MMC_RSP_OPCODE) + flags |= SDHCI_CMD_INDEX; + if (cmd->data) + flags |= SDHCI_CMD_DATA; + if (cmd->opcode == MMC_STOP_TRANSMISSION) + flags |= SDHCI_CMD_TYPE_ABORT; + /* Prepare data. */ + sdhci_start_data(slot, cmd->data); + /* + * Interrupt aggregation: To reduce total number of interrupts + * group response interrupt with data interrupt when possible. + * If there going to be data interrupt, mask response one. + */ + if (slot->data_done == 0) { + WR4(slot, SDHCI_SIGNAL_ENABLE, + slot->intmask &= ~SDHCI_INT_RESPONSE); + } + /* Set command argument. */ + WR4(slot, SDHCI_ARGUMENT, cmd->arg); + /* Set data transfer mode. */ + sdhci_set_transfer_mode(slot, cmd->data); + /* Set command flags. */ + WR1(slot, SDHCI_COMMAND_FLAGS, flags); + /* Start command. */ + WR1(slot, SDHCI_COMMAND, cmd->opcode); +} + +static void +sdhci_finish_command(struct sdhci_slot *slot) +{ + int i; + + slot->cmd_done = 1; + /* Interrupt aggregation: Restore command interrupt. + * Main restore point for the case when command interrupt + * happened first. */ + WR4(slot, SDHCI_SIGNAL_ENABLE, slot->intmask |= SDHCI_INT_RESPONSE); + /* In case of error - reset host and return. */ + if (slot->curcmd->error) { + sdhci_reset(slot, SDHCI_RESET_CMD); + sdhci_reset(slot, SDHCI_RESET_DATA); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From bz at FreeBSD.org Mon Jan 5 20:29:02 2009 From: bz at FreeBSD.org (Bjoern A. Zeeb) Date: Mon Jan 5 20:29:08 2009 Subject: svn commit: r186791 - in head/sys: netinet6 netipsec Message-ID: <200901052029.n05KT1OL010054@svn.freebsd.org> Author: bz Date: Mon Jan 5 20:29:01 2009 New Revision: 186791 URL: http://svn.freebsd.org/changeset/base/186791 Log: Switch the last protosw* structs to C99 initializers. Reviewed by: ed, julian, Christoph Mallon MFC after: 2 weeks Modified: head/sys/netinet6/in6_gif.c head/sys/netipsec/xform_ipip.c Modified: head/sys/netinet6/in6_gif.c ============================================================================== --- head/sys/netinet6/in6_gif.c Mon Jan 5 20:23:01 2009 (r186790) +++ head/sys/netinet6/in6_gif.c Mon Jan 5 20:29:01 2009 (r186791) @@ -75,11 +75,15 @@ static int gif_validate6(const struct ip struct ifnet *); extern struct domain inet6domain; -struct ip6protosw in6_gif_protosw = -{ SOCK_RAW, &inet6domain, 0/* IPPROTO_IPV[46] */, PR_ATOMIC|PR_ADDR, - in6_gif_input, rip6_output, 0, rip6_ctloutput, - 0, 0, 0, 0, - &rip6_usrreqs +struct ip6protosw in6_gif_protosw = { + .pr_type = SOCK_RAW, + .pr_domain = &inet6domain, + .pr_protocol = 0, /* IPPROTO_IPV[46] */ + .pr_flags = PR_ATOMIC|PR_ADDR, + .pr_input = in6_gif_input, + .pr_output = rip6_output, + .pr_ctloutput = rip6_ctloutput, + .pr_usrreqs = &rip6_usrreqs }; int Modified: head/sys/netipsec/xform_ipip.c ============================================================================== --- head/sys/netipsec/xform_ipip.c Mon Jan 5 20:23:01 2009 (r186790) +++ head/sys/netipsec/xform_ipip.c Mon Jan 5 20:29:01 2009 (r186791) @@ -660,20 +660,24 @@ static struct xformsw ipe4_xformsw = { }; extern struct domain inetdomain; -static struct protosw ipe4_protosw = -{ SOCK_RAW, &inetdomain, IPPROTO_IPV4, PR_ATOMIC|PR_ADDR|PR_LASTHDR, - ip4_input, - 0, 0, rip_ctloutput, - 0, 0, 0, 0, - &rip_usrreqs +static struct protosw ipe4_protosw = { + .pr_type = SOCK_RAW, + .pr_domain = &inetdomain, + .pr_protocol = IPPROTO_IPV4, + .pr_flags = PR_ATOMIC|PR_ADDR|PR_LASTHDR, + .pr_input = ip4_input, + .pr_ctloutput = rip_ctloutput, + .pr_usrreqs = &rip_usrreqs }; #ifdef INET6 -static struct ip6protosw ipe6_protosw = -{ SOCK_RAW, &inetdomain, IPPROTO_IPV6, PR_ATOMIC|PR_ADDR|PR_LASTHDR, - ip4_input6, - 0, 0, rip_ctloutput, - 0, 0, 0, 0, - &rip_usrreqs +static struct ip6protosw ipe6_protosw = { + .pr_type = SOCK_RAW, + .pr_domain = &inetdomain, + .pr_protocol = IPPROTO_IPV6, + .pr_flags = PR_ATOMIC|PR_ADDR|PR_LASTHDR, + .pr_input = ip4_input6, + .pr_ctloutput = rip_ctloutput, + .pr_usrreqs = &rip_usrreqs }; #endif From mav at FreeBSD.org Mon Jan 5 20:37:08 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Mon Jan 5 20:37:14 2009 Subject: svn commit: r186792 - in stable/7/sys: conf modules modules/sdhci Message-ID: <200901052037.n05Kb7pC010250@svn.freebsd.org> Author: mav Date: Mon Jan 5 20:37:07 2009 New Revision: 186792 URL: http://svn.freebsd.org/changeset/base/186792 Log: MFC rev. 184138. Add mmc, mmcsd and sdhci modules to the build. Added: stable/7/sys/modules/sdhci/ stable/7/sys/modules/sdhci/Makefile (contents, props changed) Modified: stable/7/sys/conf/NOTES stable/7/sys/conf/files stable/7/sys/modules/Makefile Modified: stable/7/sys/conf/NOTES ============================================================================== --- stable/7/sys/conf/NOTES Mon Jan 5 20:29:01 2009 (r186791) +++ stable/7/sys/conf/NOTES Mon Jan 5 20:37:07 2009 (r186792) @@ -2238,10 +2238,13 @@ device cardbus # # MMC/SD # -# mmc: mmc bus -# mmcsd: mmc memory and sd cards. -#device mmc -#device mmcsd +# mmc MMC/SD bus +# mmcsd MMC/SD memory card +# sdhci Generic PCI SD Host Controller +# +device mmc +device mmcsd +device sdhci # # SMB bus Modified: stable/7/sys/conf/files ============================================================================== --- stable/7/sys/conf/files Mon Jan 5 20:29:01 2009 (r186791) +++ stable/7/sys/conf/files Mon Jan 5 20:37:07 2009 (r186792) @@ -935,6 +935,7 @@ dev/scc/scc_dev_sab82532.c optional scc dev/scc/scc_dev_z8530.c optional scc dev/scd/scd.c optional scd isa dev/scd/scd_isa.c optional scd isa +dev/sdhci/sdhci.c optional sdhci pci dev/sf/if_sf.c optional sf pci dev/si/si.c optional si dev/si/si2_z280.c optional si Modified: stable/7/sys/modules/Makefile ============================================================================== --- stable/7/sys/modules/Makefile Mon Jan 5 20:29:01 2009 (r186791) +++ stable/7/sys/modules/Makefile Mon Jan 5 20:37:07 2009 (r186792) @@ -180,6 +180,8 @@ SUBDIR= ${_3dfx} \ mii \ mlx \ ${_mly} \ + mmc \ + mmcsd \ mpt \ mqueue \ msdosfs \ @@ -246,6 +248,7 @@ SUBDIR= ${_3dfx} \ scc \ scd \ ${_scsi_low} \ + sdhci \ sem \ sf \ ${_sio} \ Added: stable/7/sys/modules/sdhci/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/7/sys/modules/sdhci/Makefile Mon Jan 5 20:37:07 2009 (r186792) @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/sdhci + +KMOD= sdhci +SRCS= sdhci.c sdhci.h device_if.h bus_if.h pci_if.h mmcbr_if.h + +.include From sgk at troutmask.apl.washington.edu Mon Jan 5 20:43:58 2009 From: sgk at troutmask.apl.washington.edu (Steve Kargl) Date: Mon Jan 5 20:44:09 2009 Subject: svn commit: r186751 - in head/sys: netinet6 netipsec In-Reply-To: <20090105194210.P45399@maildrop.int.zabbadoz.net> References: <200901042153.n04LrgkD075147@svn.freebsd.org> <20090104220716.GL14235@hoeg.nl> <20090105172400.T45399@maildrop.int.zabbadoz.net> <49624DB9.8080900@gmx.de> <20090105194210.P45399@maildrop.int.zabbadoz.net> Message-ID: <20090105204356.GA52934@troutmask.apl.washington.edu> On Mon, Jan 05, 2009 at 07:45:47PM +0000, Bjoern A. Zeeb wrote: > On Mon, 5 Jan 2009, Christoph Mallon wrote: > > Hi, > > >Bjoern A. Zeeb schrieb: > >>I have broken it out from a larger patch; the C99 initializer is here: > >>http://people.freebsd.org/~bz/20090105-02-c99-initializers.diff > >> > >>I case someone can give it a quick glance I'll commit them. > > > >+ .pr_flags = PR_ATOMIC|PR_ADDR, > > > >style(9) wants spaces around binary operators. > > I am not sure it does. In case it does I am not going to break > consistency with all other 65 places that don't do for pr_flags; > but it seems I should change the = to =. > Thanks for making me look, and thanks for review! > >From style(9): Unary operators do not require spaces, binary operators do. and Stylistic changes (including whitespace changes) are hard on the source repository and are to be avoided without good reason. So, it appears your change conforms to the prevailing style of the file, and is acceptable. -- Steve From brueffer at FreeBSD.org Mon Jan 5 20:46:47 2009 From: brueffer at FreeBSD.org (Christian Brueffer) Date: Mon Jan 5 20:47:04 2009 Subject: svn commit: r186793 - head/share/man/man4 Message-ID: <200901052046.n05KkkAh010603@svn.freebsd.org> Author: brueffer Date: Mon Jan 5 20:46:46 2009 New Revision: 186793 URL: http://svn.freebsd.org/changeset/base/186793 Log: More wording improvements. Discussed with: stas Modified: head/share/man/man4/cpuctl.4 Modified: head/share/man/man4/cpuctl.4 ============================================================================== --- head/share/man/man4/cpuctl.4 Mon Jan 5 20:37:07 2009 (r186792) +++ head/share/man/man4/cpuctl.4 Mon Jan 5 20:46:46 2009 (r186793) @@ -45,18 +45,18 @@ at boot time, place the following in cpuctl_load="YES" .Ed .Sh DESCRIPTION -The special file +The special device .Pa /dev/cpuctl presents interface to the system CPU. It provides functionality to retrieve CPUID information, read/write machine specific registers (MSR) and perform CPU firmware updates. .Pp -For each CPU present in the system, the special file +For each CPU present in the system, the special device .Pa /dev/cpuctl%d with the appropriate index will be created. -For multicore CPUs such -special file will be created for each core. +For multicore CPUs such a +special device will be created for each core. .Pp Currently, only i386 and amd64 processors are supported. From mav at FreeBSD.org Mon Jan 5 20:55:57 2009 From: mav at FreeBSD.org (Alexander Motin) Date: Mon Jan 5 20:56:04 2009 Subject: svn commit: r186794 - stable/7/share/man/man4 Message-ID: <200901052055.n05KtumJ010922@svn.freebsd.org> Author: mav Date: Mon Jan 5 20:55:56 2009 New Revision: 186794 URL: http://svn.freebsd.org/changeset/base/186794 Log: MFC mmc, mmcsd and sdhci man pages. Added: stable/7/share/man/man4/sdhci.4 - copied unchanged from r184156, head/share/man/man4/sdhci.4 Modified: stable/7/share/man/man4/ (props changed) stable/7/share/man/man4/igb.4 (props changed) stable/7/share/man/man4/mmc.4 stable/7/share/man/man4/mmcsd.4 Modified: stable/7/share/man/man4/mmc.4 ============================================================================== --- stable/7/share/man/man4/mmc.4 Mon Jan 5 20:46:46 2009 (r186793) +++ stable/7/share/man/man4/mmc.4 Mon Jan 5 20:55:56 2009 (r186794) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 26, 2007 +.Dd October 8, 2008 .Dt MMC 4 .Os .Sh NAME @@ -48,7 +48,8 @@ MultiMediaCards exist only in memory. SD Cards exist as memory, I/O, or combination cards. .Sh SEE ALSO .Xr mmcsd 4 , -.Xr at91_mci 4 +.Xr at91_mci 4 , +.Xr sdhci 4 .Rs .%T "SD Specifications, Part 1, Physical Layer, Simplified Specification" .Re @@ -56,6 +57,4 @@ SD Cards exist as memory, I/O, or combin .%T "The MultiMediaCard System Specification" .Re .Sh BUGS -Memory MultMediaCards do not currently work. SDIO cards currently do not work. -SDHC cards currently do not work. Modified: stable/7/share/man/man4/mmcsd.4 ============================================================================== --- stable/7/share/man/man4/mmcsd.4 Mon Jan 5 20:46:46 2009 (r186793) +++ stable/7/share/man/man4/mmcsd.4 Mon Jan 5 20:55:56 2009 (r186794) @@ -24,28 +24,25 @@ .\" .\" $FreeBSD$ .\" -.Dd May 26, 2007 +.Dd October 22, 2008 .Dt MMCSD 4 .Os .Sh NAME .Nm mmcsd -.Nd MMC and SD card driver. +.Nd MMC and SD memory card driver. .Sh SYNOPSIS .Cd device mmcsd .Sh DESCRIPTION The .Nm -driver implements the MMC and SD memory cards. +driver implements direct access block device for MMC and SD memory cards. .Sh SEE ALSO .Xr mmc 4 , -.Xr at91_mci 4 +.Xr at91_mci 4 , +.Xr sdhci 4 .Rs .%T "SD Specifications, Part 1, Physical Layer, Simplified Specification" .Re .Rs .%T "The MultiMediaCard System Specification" .Re -.Sh BUGS -Memory MultMediaCards do not currently work. -SDIO cards currently do not work. -SDHC cards currently do not work. Copied: stable/7/share/man/man4/sdhci.4 (from r184156, head/share/man/man4/sdhci.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/7/share/man/man4/sdhci.4 Mon Jan 5 20:55:56 2009 (r186794, copy of r184156, head/share/man/man4/sdhci.4) @@ -0,0 +1,52 @@ +.\" +.\" Copyright (c) 2008 Alexander Motin +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd October 22, 2008 +.Dt SDHCI 4 +.Os +.Sh NAME +.Nm sdhci +.Nd PCI SD Host Controller bridge driver +.Sh SYNOPSIS +.Cd device mmc +.Cd device mmcsd +.Cd device sdhci +.Sh DESCRIPTION +The +.Nm +driver supports PCI devices with class 8 and subclass 5 according to +SD Host Controller Specification. +Driver supports up to six high speed 4bit MMC/SD slots per controller. +Driver attaches mmc bus to the respective slot on card insertion and +detaches it on card removing. +.Sh SEE ALSO +.Xr mmc 4 , +.Xr mmcsd 4 +.Rs +.%T "SD Specifications, Part 2, SD Host Controller, Simplified Specification" +.Re +.Sh AUTHORS +.An Alexander Motin Aq mav@FreeBSD.org . From alfred at freebsd.org Mon Jan 5 20:57:22 2009 From: alfred at freebsd.org (Alfred Perlstein) Date: Mon Jan 5 20:57:28 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... In-Reply-To: <20090105.090449.-1253035084.imp@bsdimp.com> References: <200901040012.n040C2gH040928@svn.freebsd.org> <20090104.101121.2139791946.imp@bsdimp.com> <20090105050415.GY60686@elvis.mu.org> <20090105.090449.-1253035084.imp@bsdimp.com> Message-ID: <20090105205721.GH60686@elvis.mu.org> * M. Warner Losh [090105 08:05] wrote: > In message: <20090105050415.GY60686@elvis.mu.org> > Alfred Perlstein writes: > : * M. Warner Losh [090104 09:11] wrote: > : > In message: <200901040012.n040C2gH040928@svn.freebsd.org> > : > Alfred Perlstein writes: > : > : Sync with usb4bsd: > : > > : > Alfred, > : > > : > thanks for trudging these fixes into the tree. It is a thankless job > : > that people will complain about... > : > > : > Speaking of complaining, is there a review process that can be joined > : > for them that's more formal than "diff against hps' p4 tree and > : > complain?" > : > : We're trying to figure out a way to do this. We haven't had much > : luck exploring svk/hg/git as they're just about as much work as > : shipping patches back and forth. > : > : I asked core for a restricted "users/hps" area under svn for Hans > : to put code, but that was denied, perhaps now it's time to reconsider > : that? > > And also: > > In my part of the world we give credit or, at the very least, say "thank > > you" to the sender, when we apply patches sent to us. > > One of the things that works well in Linux is the patch queues that > they have. You submit a patch, people talk about it, and various tags > get added to it. They break things down into a series of mostly > independent patches. > > Maybe we should try to initiate something like this so that we can > comment on changes more easily, as well as track submitters and the > like as things pass through Hans. > > Consider it an experiment to see if we can do things to help improve > our world? I guess so, but this can all be implemented via a sandbox in our VCS for Hans/me to use... or GNATS, but that just adds overhead. I sort of feel this would be reinventing something that we already have. -- - Alfred Perlstein From imp at FreeBSD.org Mon Jan 5 20:58:42 2009 From: imp at FreeBSD.org (Warner Losh) Date: Mon Jan 5 20:58:48 2009 Subject: svn commit: r186795 - head/sys/dev/pccard Message-ID: <200901052058.n05KwfoM011025@svn.freebsd.org> Author: imp Date: Mon Jan 5 20:58:41 2009 New Revision: 186795 URL: http://svn.freebsd.org/changeset/base/186795 Log: Define bits for memory mapping house keeping by bridges. Modified: head/sys/dev/pccard/pccardvar.h Modified: head/sys/dev/pccard/pccardvar.h ============================================================================== --- head/sys/dev/pccard/pccardvar.h Mon Jan 5 20:55:56 2009 (r186794) +++ head/sys/dev/pccard/pccardvar.h Mon Jan 5 20:58:41 2009 (r186795) @@ -69,6 +69,10 @@ struct pccard_mem_handle { int kind; }; +/* Bits for kind */ +#define PCCARD_MEM_16BIT 1 /* 1 -> 16bit 0 -> 8bit */ +#define PCCARD_MEM_ATTR 2 /* 1 -> attribute mem 0 -> common */ + #define PCCARD_WIDTH_AUTO 0 #define PCCARD_WIDTH_IO8 1 #define PCCARD_WIDTH_IO16 2 From imp at FreeBSD.org Mon Jan 5 21:00:23 2009 From: imp at FreeBSD.org (Warner Losh) Date: Mon Jan 5 21:00:34 2009 Subject: svn commit: r186796 - head/sys/dev/exca Message-ID: <200901052100.n05L0McF011137@svn.freebsd.org> Author: imp Date: Mon Jan 5 21:00:22 2009 New Revision: 186796 URL: http://svn.freebsd.org/changeset/base/186796 Log: First cut at fixing memory mapping botch. Nobody must use the ray(4) driver since it couldn't have worked with NEWCARD w/o these fixes. This should allow selecting 16-bit memory width as well (which was what was broken). Modified: head/sys/dev/exca/exca.c Modified: head/sys/dev/exca/exca.c ============================================================================== --- head/sys/dev/exca/exca.c Mon Jan 5 20:58:41 2009 (r186795) +++ head/sys/dev/exca/exca.c Mon Jan 5 21:00:22 2009 (r186796) @@ -179,39 +179,38 @@ exca_do_mem_map(struct exca_softc *sc, i struct mem_map_index_st *map; struct pccard_mem_handle *mem; uint32_t offset; - int mem8 = 1 /* mem->kind == PCCARD_A_MEM_ATTR */; + uint32_t mem16; + uint32_t attrmem; map = &mem_map_index[win]; mem = &sc->mem[win]; + mem16 = (mem->kind & PCCARD_MEM_16BIT) ? + EXCA_SYSMEM_ADDRX_START_MSB_DATASIZE_16BIT : 0; + attrmem = (mem->kind & PCCARD_MEM_ATTR) ? + EXCA_CARDMEM_ADDRX_MSB_REGACTIVE_ATTR : 0; offset = ((mem->cardaddr >> EXCA_CARDMEM_ADDRX_SHIFT) - (mem->addr >> EXCA_SYSMEM_ADDRX_SHIFT)) & 0x3fff; exca_putb(sc, map->sysmem_start_lsb, - (mem->addr >> EXCA_SYSMEM_ADDRX_SHIFT) & 0xff); + mem->addr >> EXCA_SYSMEM_ADDRX_SHIFT); exca_putb(sc, map->sysmem_start_msb, ((mem->addr >> (EXCA_SYSMEM_ADDRX_SHIFT + 8)) & - EXCA_SYSMEM_ADDRX_START_MSB_ADDR_MASK) | - (mem8 ? 0 : EXCA_SYSMEM_ADDRX_START_MSB_DATASIZE_16BIT)); + EXCA_SYSMEM_ADDRX_START_MSB_ADDR_MASK) | mem16); exca_putb(sc, map->sysmem_stop_lsb, - ((mem->addr + mem->realsize - 1) >> - EXCA_SYSMEM_ADDRX_SHIFT) & 0xff); + (mem->addr + mem->realsize - 1) >> EXCA_SYSMEM_ADDRX_SHIFT); exca_putb(sc, map->sysmem_stop_msb, (((mem->addr + mem->realsize - 1) >> (EXCA_SYSMEM_ADDRX_SHIFT + 8)) & EXCA_SYSMEM_ADDRX_STOP_MSB_ADDR_MASK) | EXCA_SYSMEM_ADDRX_STOP_MSB_WAIT2); - - exca_putb(sc, map->sysmem_win, - (mem->addr >> EXCA_MEMREG_WIN_SHIFT) & 0xff); + exca_putb(sc, map->sysmem_win, mem->addr >> EXCA_MEMREG_WIN_SHIFT); exca_putb(sc, map->cardmem_lsb, offset & 0xff); - exca_putb(sc, map->cardmem_msb, (((offset >> 8) & 0xff) & - EXCA_CARDMEM_ADDRX_MSB_ADDR_MASK) | - ((mem->kind == PCCARD_A_MEM_ATTR) ? - EXCA_CARDMEM_ADDRX_MSB_REGACTIVE_ATTR : 0)); + exca_putb(sc, map->cardmem_msb, ((offset >> 8) & + EXCA_CARDMEM_ADDRX_MSB_ADDR_MASK) | attrmem); #ifdef EXCA_DEBUG - if (mem->kind == PCCARD_A_MEM_ATTR) + if (mem->kind & PCCARD_MEM_ATTR) printf("attribtue memory\n"); else printf("common memory\n"); @@ -342,7 +341,21 @@ exca_mem_set_flags(struct exca_softc *sc return (ENOENT); } - sc->mem[win].kind = flags; + switch (flags) + { + case PCCARD_A_MEM_ATTR: + sc->mem[win].kind |= PCCARD_MEM_ATTR; + break; + case PCCARD_A_MEM_COM: + sc->mem[win].kind &= ~PCCARD_MEM_ATTR; + break; + case PCCARD_A_MEM_16BIT: + sc->mem[win].kind |= PCCARD_MEM_16BIT; + break; + case PCCARD_A_MEM_8BIT: + sc->mem[win].kind &= ~PCCARD_MEM_16BIT; + break; + } exca_do_mem_map(sc, win); return (0); } @@ -801,7 +814,7 @@ exca_activate_resource(struct exca_softc err = exca_io_map(exca, PCCARD_WIDTH_AUTO, res); break; case SYS_RES_MEMORY: - err = exca_mem_map(exca, PCCARD_A_MEM_COM, res); + err = exca_mem_map(exca, 0, res); break; } if (err) From christoph.mallon at gmx.de Mon Jan 5 21:03:18 2009 From: christoph.mallon at gmx.de (Christoph Mallon) Date: Mon Jan 5 21:03:41 2009 Subject: svn commit: r186751 - in head/sys: netinet6 netipsec In-Reply-To: <20090105204356.GA52934@troutmask.apl.washington.edu> References: <200901042153.n04LrgkD075147@svn.freebsd.org> <20090104220716.GL14235@hoeg.nl> <20090105172400.T45399@maildrop.int.zabbadoz.net> <49624DB9.8080900@gmx.de> <20090105194210.P45399@maildrop.int.zabbadoz.net> <20090105204356.GA52934@troutmask.apl.washington.edu> Message-ID: <49627592.60208@gmx.de> Steve Kargl schrieb: > Stylistic changes (including whitespace changes) are hard on > the source repository and are to be avoided without good reason. Yet another anachronism in style(9). (Does that sentence even mean what I think it means? Somehow it sounds like "there is no good reason, but avoid them anyway" instead of "avoid them if you have no good reason".) From stas at FreeBSD.org Mon Jan 5 21:05:35 2009 From: stas at FreeBSD.org (Stanislav Sedov) Date: Mon Jan 5 21:05:42 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... In-Reply-To: <200901040012.n040C2gH040928@svn.freebsd.org> References: <200901040012.n040C2gH040928@svn.freebsd.org> Message-ID: <20090106000757.9c92d93d.stas@FreeBSD.org> On Sun, 4 Jan 2009 00:12:02 +0000 (UTC) Alfred Perlstein mentioned: > Author: alfred > Date: Sun Jan 4 00:12:01 2009 > New Revision: 186730 > URL: http://svn.freebsd.org/changeset/base/186730 > > Log: > Sync with usb4bsd: > > src/lib/libusb20/libusb20_desc.c > > Make "libusb20_desc_foreach()" more readable. > > src/sys/dev/usb2/controller/*.[ch] > src/sys/dev/usb2/core/*.[ch] > > Implement support for USB power save for all HC's. > > Implement support for Big-endian EHCI. > > Move Huawei quirks back into "u3g" driver. > > Improve device enumeration. > > src/sys/dev/usb2/ethernet/*[ch] > > Patches for supporting new AXE Gigabit chipset. > > src/sys/dev/usb2/serial/*[ch] > > Fix IOCTL return code. > > src/sys/dev/usb2/wlan/*[ch] > > Sync with old USB stack. > > Submitted by: hps ... > +#if (USB_DEBUG != 0) > + if (rem != (USB_P2U(pc->buffer) & (USB_PAGE_SIZE - 1))) { > + /* > + * This check verifies that the physical address is correct: > + */ > + DPRINTFN(0, "Page offset was not preserved!\n"); > + error = 1; > + goto done; > + } > +#endif > while (nseg > 0) { > nseg--; > segs++; > @@ -788,7 +800,16 @@ > ext_seg = 0; > } > nseg--; > - > +#if (USB_DEBUG != 0) > + if (rem != (USB_P2U(pc->buffer) & (USB_PAGE_SIZE - 1))) { > + /* > + * This check verifies that the physical address is correct: > + */ > + DPRINTFN(0, "Page offset was not preserved!\n"); > + error = 1; > + goto done; > + } > +#endif This bits prevent usb2 from working on my desktop with the following messages: usb2_pc_common_mem_cb:429: Page offset was not preserved! usb2_alloc_device:1423: set address 2 failed (ignored) usb2_pc_common_mem_cb:429: Page offset was not preserved! usb2_alloc_device:1458: getting device descriptor at addr 2 failed! usb2_pc_common_mem_cb:429: Page offset was not preserved! usb2_alloc_device:1423: set address 2 failed (ignored) usb2_pc_common_mem_cb:429: Page offset was not preserved! usb2_alloc_device:1458: getting device descriptor at addr 2 failed! usb2_pc_common_mem_cb:429: Page offset was not preserved! usb2_req_re_enumerate:1362: addr=2, set address failed! (ignored) usb2_pc_common_mem_cb:429: Page offset was not preserved! usb2_req_re_enumerate:1375: getting device descriptor at addr 2 failed! usb2_pc_common_mem_cb:429: Page offset was not preserved! usb2_req_re_enumerate:1362: addr=2, set address failed! (ignored) usb2_pc_common_mem_cb:429: Page offset was not preserved! usb2_req_re_enumerate:1375: getting device descriptor at addr 2 failed! Starting Network: lo0 em0. Waiting 30s for an interface to come up: usb2_pc_common_mem_cb:429: Page offset was not preserved! usb2_req_re_enumerate:1362: addr=2, set address failed! (ignored) usb2_pc_common_mem_cb:429: Page offset was not preserved! usb2_req_re_enumerate:1375: getting device descriptor at addr 2 failed! ugen3.2: <> at usbus3 (disconnected) uhub_reattach_port:417: could not allocate new device! usb2_pc_common_mem_cb:429: Page offset was not preserved! usb2_req_re_enumerate:1362: addr=2, set address failed! (ignored) usb2_pc_common_mem_cb:429: Page offset was not preserved! usb2_req_re_enumerate:1375: getting device descriptor at addr 2 failed! ugen1.2: <> at usbus1 (disconnected) uhub_reattach_port:417: could not allocate new device! Can you take a look at this? Thanks! -- Stanislav Sedov ST4096-RIPE !DSPAM:4962761d967001591710962! From imp at bsdimp.com Mon Jan 5 21:09:25 2009 From: imp at bsdimp.com (M. Warner Losh) Date: Mon Jan 5 21:09:38 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... In-Reply-To: <20090105205721.GH60686@elvis.mu.org> References: <20090105050415.GY60686@elvis.mu.org> <20090105.090449.-1253035084.imp@bsdimp.com> <20090105205721.GH60686@elvis.mu.org> Message-ID: <20090105.140654.796891882.imp@bsdimp.com> In message: <20090105205721.GH60686@elvis.mu.org> Alfred Perlstein writes: : * M. Warner Losh [090105 08:05] wrote: : > In message: <20090105050415.GY60686@elvis.mu.org> : > Alfred Perlstein writes: : > : * M. Warner Losh [090104 09:11] wrote: : > : > In message: <200901040012.n040C2gH040928@svn.freebsd.org> : > : > Alfred Perlstein writes: : > : > : Sync with usb4bsd: : > : > : > : > Alfred, : > : > : > : > thanks for trudging these fixes into the tree. It is a thankless job : > : > that people will complain about... : > : > : > : > Speaking of complaining, is there a review process that can be joined : > : > for them that's more formal than "diff against hps' p4 tree and : > : > complain?" : > : : > : We're trying to figure out a way to do this. We haven't had much : > : luck exploring svk/hg/git as they're just about as much work as : > : shipping patches back and forth. : > : : > : I asked core for a restricted "users/hps" area under svn for Hans : > : to put code, but that was denied, perhaps now it's time to reconsider : > : that? : > : > And also: : > > In my part of the world we give credit or, at the very least, say "thank : > > you" to the sender, when we apply patches sent to us. : > : > One of the things that works well in Linux is the patch queues that : > they have. You submit a patch, people talk about it, and various tags : > get added to it. They break things down into a series of mostly : > independent patches. : > : > Maybe we should try to initiate something like this so that we can : > comment on changes more easily, as well as track submitters and the : > like as things pass through Hans. : > : > Consider it an experiment to see if we can do things to help improve : > our world? : : I guess so, but this can all be implemented via a sandbox in : our VCS for Hans/me to use... or GNATS, but that just adds overhead. : : I sort of feel this would be reinventing something that we already : have. We don't already have this. The patch streams that are implemented elsewhere serve the purpose of review and tracking. Patches are posted to a mailing list, people review them, they get committed upstream. See, for example, the qemu developer mailing list for one way this is done. If we were to follow that model, individual patches would be generated, posted there, and then committed as patches if there were no objections. While many of these features would be there in, say, an svn project tree, the review before merge isn't. Also, by forcing the patches to be reviewed and committed individually, we retain more history than we have now. And we have fewer chances to undo changes that are committed between big honkin' code drops into the tree. We need to draw more developers into this process. It can't just be Hans feeding you patches forever. There has to be uptake by the greater FreeBSD community of developers, or this usb stack will fail like the last one did. We need a bus-factor greater than 1. It is my contention that having a more public review process would help facilitate drawing more people in... Warner From jkim at FreeBSD.org Mon Jan 5 21:51:51 2009 From: jkim at FreeBSD.org (Jung-uk Kim) Date: Mon Jan 5 21:51:57 2009 Subject: svn commit: r186797 - in head/sys: amd64/amd64 amd64/include i386/cpufreq Message-ID: <200901052151.n05LpnTJ012276@svn.freebsd.org> Author: jkim Date: Mon Jan 5 21:51:49 2009 New Revision: 186797 URL: http://svn.freebsd.org/changeset/base/186797 Log: Add Centaur/IDT/VIA vendor ID for Nano family, which has long mode support. Modified: head/sys/amd64/amd64/identcpu.c head/sys/amd64/include/cputypes.h head/sys/amd64/include/specialreg.h head/sys/i386/cpufreq/est.c Modified: head/sys/amd64/amd64/identcpu.c ============================================================================== --- head/sys/amd64/amd64/identcpu.c Mon Jan 5 21:00:22 2009 (r186796) +++ head/sys/amd64/amd64/identcpu.c Mon Jan 5 21:51:49 2009 (r186797) @@ -102,6 +102,7 @@ static struct { } cpu_vendors[] = { { INTEL_VENDOR_ID, CPU_VENDOR_INTEL }, /* GenuineIntel */ { AMD_VENDOR_ID, CPU_VENDOR_AMD }, /* AuthenticAMD */ + { CENTAUR_VENDOR_ID, CPU_VENDOR_CENTAUR }, /* CentaurHauls */ }; int cpu_cores; Modified: head/sys/amd64/include/cputypes.h ============================================================================== --- head/sys/amd64/include/cputypes.h Mon Jan 5 21:00:22 2009 (r186796) +++ head/sys/amd64/include/cputypes.h Mon Jan 5 21:51:49 2009 (r186797) @@ -47,7 +47,9 @@ * Vendors of processor. */ #define CPU_VENDOR_AMD 0x1022 /* AMD */ +#define CPU_VENDOR_IDT 0x111d /* Centaur/IDT/VIA */ #define CPU_VENDOR_INTEL 0x8086 /* Intel */ +#define CPU_VENDOR_CENTAUR CPU_VENDOR_IDT #ifndef LOCORE extern int cpu; Modified: head/sys/amd64/include/specialreg.h ============================================================================== --- head/sys/amd64/include/specialreg.h Mon Jan 5 21:00:22 2009 (r186796) +++ head/sys/amd64/include/specialreg.h Mon Jan 5 21:51:49 2009 (r186797) @@ -205,6 +205,7 @@ * CPUID manufacturers identifiers */ #define AMD_VENDOR_ID "AuthenticAMD" +#define CENTAUR_VENDOR_ID "CentaurHauls" #define INTEL_VENDOR_ID "GenuineIntel" /* Modified: head/sys/i386/cpufreq/est.c ============================================================================== --- head/sys/i386/cpufreq/est.c Mon Jan 5 21:00:22 2009 (r186796) +++ head/sys/i386/cpufreq/est.c Mon Jan 5 21:51:49 2009 (r186797) @@ -55,10 +55,6 @@ __FBSDID("$FreeBSD$"); #define MSR_MISC_ENABLE 0x1a0 #define MSR_SS_ENABLE (1<<16) -#ifndef CPU_VENDOR_CENTAUR -#define CPU_VENDOR_CENTAUR 0x111d -#endif - /* Frequency and MSR control values. */ typedef struct { uint16_t freq; From hselasky at c2i.net Mon Jan 5 22:09:34 2009 From: hselasky at c2i.net (Hans Petter Selasky) Date: Mon Jan 5 22:09:41 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... In-Reply-To: <20090106000757.9c92d93d.stas@FreeBSD.org> References: <200901040012.n040C2gH040928@svn.freebsd.org> <20090106000757.9c92d93d.stas@FreeBSD.org> Message-ID: <200901052211.50514.hselasky@c2i.net> On Monday 05 January 2009, Stanislav Sedov wrote: > On Sun, 4 Jan 2009 00:12:02 +0000 (UTC) > > Alfred Perlstein mentioned: > > Author: alfred > > Date: Sun Jan 4 00:12:01 2009 > > New Revision: 186730 > > URL: http://svn.freebsd.org/changeset/base/186730 > > > > Log: > > Sync with usb4bsd: > > > > src/lib/libusb20/libusb20_desc.c > > > > Make "libusb20_desc_foreach()" more readable. > > > > src/sys/dev/usb2/controller/*.[ch] > > src/sys/dev/usb2/core/*.[ch] > > > > Implement support for USB power save for all HC's. > > > > Implement support for Big-endian EHCI. > > > > Move Huawei quirks back into "u3g" driver. > > > > Improve device enumeration. > > > > src/sys/dev/usb2/ethernet/*[ch] > > > > Patches for supporting new AXE Gigabit chipset. > > > > src/sys/dev/usb2/serial/*[ch] > > > > Fix IOCTL return code. > > > > src/sys/dev/usb2/wlan/*[ch] > > > > Sync with old USB stack. > > > > Submitted by: hps > > ... > > > +#if (USB_DEBUG != 0) > > + if (rem != (USB_P2U(pc->buffer) & (USB_PAGE_SIZE - 1))) { > > + /* > > + * This check verifies that the physical address is correct: > > + */ > > + DPRINTFN(0, "Page offset was not preserved!\n"); > > + error = 1; > > + goto done; > > + } > > +#endif > > while (nseg > 0) { > > nseg--; > > segs++; > > @@ -788,7 +800,16 @@ > > ext_seg = 0; > > } > > nseg--; > > - > > +#if (USB_DEBUG != 0) > > + if (rem != (USB_P2U(pc->buffer) & (USB_PAGE_SIZE - 1))) { > > + /* > > + * This check verifies that the physical address is correct: > > + */ > > + DPRINTFN(0, "Page offset was not preserved!\n"); > > + error = 1; > > + goto done; > > + } > > +#endif > > This bits prevent usb2 from working on my desktop with the following > messages: usb2_pc_common_mem_cb:429: Page offset was not preserved! > usb2_alloc_device:1423: set address 2 failed (ignored) > usb2_pc_common_mem_cb:429: Page offset was not preserved! > usb2_alloc_device:1458: getting device descriptor at addr 2 failed! > usb2_pc_common_mem_cb:429: Page offset was not preserved! > usb2_alloc_device:1423: set address 2 failed (ignored) > usb2_pc_common_mem_cb:429: Page offset was not preserved! > usb2_alloc_device:1458: getting device descriptor at addr 2 failed! > usb2_pc_common_mem_cb:429: Page offset was not preserved! > usb2_req_re_enumerate:1362: addr=2, set address failed! (ignored) > usb2_pc_common_mem_cb:429: Page offset was not preserved! > usb2_req_re_enumerate:1375: getting device descriptor at addr 2 failed! > usb2_pc_common_mem_cb:429: Page offset was not preserved! > usb2_req_re_enumerate:1362: addr=2, set address failed! (ignored) > usb2_pc_common_mem_cb:429: Page offset was not preserved! > usb2_req_re_enumerate:1375: getting device descriptor at addr 2 failed! > Starting Network: lo0 em0. > Waiting 30s for an interface to come up: > usb2_pc_common_mem_cb:429: Page offset was not preserved! > usb2_req_re_enumerate:1362: addr=2, set address failed! (ignored) > usb2_pc_common_mem_cb:429: Page offset was not preserved! > usb2_req_re_enumerate:1375: getting device descriptor at addr 2 failed! > ugen3.2: <> at usbus3 (disconnected) > uhub_reattach_port:417: could not allocate new device! > usb2_pc_common_mem_cb:429: Page offset was not preserved! > usb2_req_re_enumerate:1362: addr=2, set address failed! (ignored) > usb2_pc_common_mem_cb:429: Page offset was not preserved! > usb2_req_re_enumerate:1375: getting device descriptor at addr 2 failed! > ugen1.2: <> at usbus1 (disconnected) > uhub_reattach_port:417: could not allocate new device! > > Can you take a look at this? > > Thanks! Try this patch and let me know the result! I see exactly why things are not working! http://perforce.freebsd.org/chv.cgi?CH=154181 It's not a USB problem! --HPS From ed at FreeBSD.org Mon Jan 5 22:09:48 2009 From: ed at FreeBSD.org (Ed Schouten) Date: Mon Jan 5 22:09:54 2009 Subject: svn commit: r186798 - head/sys/dev/syscons/teken Message-ID: <200901052209.n05M9liJ012756@svn.freebsd.org> Author: ed Date: Mon Jan 5 22:09:46 2009 New Revision: 186798 URL: http://svn.freebsd.org/changeset/base/186798 Log: Import yet some more small fixes to libteken sources: - Implement NP (ASCII 12, Form Feed). When used with cons25, it should clear the screen and place the cursor at the top of the screen. When used with xterm, it should just simulate a newline. - When we want to use xterm emulation, make teken_demo set TERM to xterm. Spotted by: Paul B. Mahol Modified: head/sys/dev/syscons/teken/teken.c head/sys/dev/syscons/teken/teken_demo.c head/sys/dev/syscons/teken/teken_subr.h Modified: head/sys/dev/syscons/teken/teken.c ============================================================================== --- head/sys/dev/syscons/teken/teken.c Mon Jan 5 21:51:49 2009 (r186797) +++ head/sys/dev/syscons/teken/teken.c Mon Jan 5 22:09:46 2009 (r186798) @@ -226,6 +226,9 @@ teken_input_char(teken_t *t, teken_char_ case '\x0B': teken_subr_newline(t); break; + case '\x0C': + teken_subr_newpage(t); + break; case '\r': teken_subr_carriage_return(t); break; Modified: head/sys/dev/syscons/teken/teken_demo.c ============================================================================== --- head/sys/dev/syscons/teken/teken_demo.c Mon Jan 5 21:51:49 2009 (r186797) +++ head/sys/dev/syscons/teken/teken_demo.c Mon Jan 5 22:09:46 2009 (r186798) @@ -279,7 +279,11 @@ main(int argc __unused, char *argv[] __u perror("forkpty"); exit(1); case 0: +#ifdef TEKEN_CONS25 setenv("TERM", "cons25", 1); +#else /* !TEKEN_CONS25 */ + setenv("TERM", "xterm", 1); +#endif /* TEKEN_CONS25 */ #ifdef TEKEN_UTF8 setenv("LC_CTYPE", "UTF-8", 0); #endif /* TEKEN_UTF8 */ Modified: head/sys/dev/syscons/teken/teken_subr.h ============================================================================== --- head/sys/dev/syscons/teken/teken_subr.h Mon Jan 5 21:51:49 2009 (r186797) +++ head/sys/dev/syscons/teken/teken_subr.h Mon Jan 5 22:09:46 2009 (r186798) @@ -662,6 +662,24 @@ teken_subr_newline(teken_t *t) } static void +teken_subr_newpage(teken_t *t) +{ +#ifdef TEKEN_CONS25 + teken_rect_t tr; + + tr.tr_begin.tp_row = tr.tr_begin.tp_col = 0; + tr.tr_end = t->t_winsize; + teken_funcs_fill(t, &tr, BLANK, &t->t_curattr); + + t->t_cursor.tp_row = t->t_cursor.tp_col = 0; + teken_funcs_cursor(t); +#else /* !TEKEN_CONS25 */ + + teken_subr_newline(t); +#endif /* TEKEN_CONS25 */ +} + +static void teken_subr_next_line(teken_t *t) { From obrien at freebsd.org Mon Jan 5 22:18:24 2009 From: obrien at freebsd.org (David O'Brien) Date: Mon Jan 5 22:18:36 2009 Subject: svn commit: r186731 - head/sys/dev/syscons/teken In-Reply-To: <20090105172243.GO14235@hoeg.nl> References: <200901040020.n040KIcc041121@svn.freebsd.org> <20090104120434.GF93900@deviant.kiev.zoral.com.ua> <20090104121331.GC14235@hoeg.nl> <20090105171523.GC50568@dragon.NUXI.org> <20090105172243.GO14235@hoeg.nl> Message-ID: <20090105221759.GA57949@dragon.NUXI.org> On Mon, Jan 05, 2009 at 06:22:43PM +0100, Ed Schouten wrote: > Hello David, > * David O'Brien wrote: > > Why xterm and not vt100? > > The reason I'm proposing xterm, is because it is the best supported > terminal type out there. Example: if we would use TERM=vt100, we would > only get black & white. If we use TERM=vt100-color, we do get the There's always vt340. :-) But I see your point that color is desired. > I hope that answers your question? Yes - thank you for the good explanation. I thought it might be UTF-8 related, but really don't know too much about UTF-8. -- -- David (obrien@FreeBSD.org) From dougb at FreeBSD.org Mon Jan 5 22:46:55 2009 From: dougb at FreeBSD.org (Doug Barton) Date: Mon Jan 5 22:47:06 2009 Subject: svn: head/usr.sbin/mergemaster In-Reply-To: <18782.40912.247441.716938@hergotha.csail.mit.edu> References: <200901011055.n01AtQaN052763@svn.freebsd.org> <495DB15B.8040908@FreeBSD.org> <495DB9B6.4030801@FreeBSD.org> <495DC5AF.3050908@FreeBSD.org> <495E91F8.3010706@FreeBSD.org> <18782.37537.775290.682466@hergotha.csail.mit.edu> <495E9E4B.8030905@FreeBSD.org> <18782.40912.247441.716938@hergotha.csail.mit.edu> Message-ID: <49628DD3.8020901@FreeBSD.org> Garrett Wollman wrote: >> Garrett Wollman wrote: >>> It would be much better if the options that *nearly every user will >>> want to use* are set correctly by default. Taking a step back from the specifics for a minute, I completely fail to understand why so many people believe that this should be true for this one program. I have been using Unix systems for 15 years now, and I have extensive tweaks to nearly every command I use on a regular basis. I have a .nexrc file for vi I have a .inputrc file for readline (esp. bash) I have a .cvsrc I have a .profile for sh, an aliases file that is common to sh and bash, a .bash_profile, .bashrc, etc. I have a .portmasterrc, and of course a .mergemasterrc That's not counting all of the aliases for things like ls, df, etc.; and it's totally ignoring all of the programs that dump their own config files (like Alpine, Openbox, WindowMaker, etc.). On my most basic system I have no less than 12 config files in /etc (and nothing particularly exotic) that I have to copy when I do a clean upgrade, so I have no sympathy for the argument that copying /etc/mergemaster.rc is an overwhelming burden. It's Ok with me if you don't like the defaults for mergemaster. I have provided extensive capabilities for customizing it for your preferences. I note with interest that several of the people who have complained the loudest have either never read the man page, or haven't read it all the way through. And yes, I do believe that users continue to have the "nothing done to your system by default" expectation. But given that the default has been what it is for over 10 years, and given that it's always a bad idea to change default behavior in an application, I don't see myself agreeing to change it any time soon. A few more specifics in no particular order: You can save yourself a lot of time hitting 'i' with the -U option. You don't have to page through the whole diff if you use less as your PAGER. Matt Dillon's change to the PAGER was the single thing I got the most user complaints about. Sometimes, particularly between major version upgrades, default behavior for something in /etc/ changes. I personally think it's useful for users to see those changes by default. Others may disagree, that's why there are options to avoid that. I will not be supportive of anything with "mergemaster" in the name set to modify the base by default. I have always said however that I would be pleased as punch if someone wanted to make a new etc/config file updating thingy, in which case you should feel free to have whatever defaults you want. If mergemaster falls out of favor and is no longer needed in the base because the new thing is much better, I have no problems with that. There are even a few candidates in ports that are worth a look. hope this helps, Doug -- This .signature sanitized for your protection From stas at FreeBSD.org Mon Jan 5 22:47:56 2009 From: stas at FreeBSD.org (Stanislav Sedov) Date: Mon Jan 5 22:48:03 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... In-Reply-To: <200901052211.50514.hselasky@c2i.net> References: <200901040012.n040C2gH040928@svn.freebsd.org> <20090106000757.9c92d93d.stas@FreeBSD.org> <200901052211.50514.hselasky@c2i.net> Message-ID: <20090106015012.548aaa9d.stas@FreeBSD.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Mon, 5 Jan 2009 22:11:49 +0100 Hans Petter Selasky mentioned: > > Try this patch and let me know the result! I see exactly why things are not > working! > > http://perforce.freebsd.org/chv.cgi?CH=154181 > > > It's not a USB problem! > These patches help. Now everything works. Thanks! - -- Stanislav Sedov ST4096-RIPE -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAklijqoACgkQK/VZk+smlYE+swCeOitw67RJbRYabQTgz2DTnEvs C+QAn0DIvn3tak96oJkAtt1qvkjq1aW4 =0yaH -----END PGP SIGNATURE----- !DSPAM:49628e1b967001751415746! From sam at freebsd.org Mon Jan 5 22:52:38 2009 From: sam at freebsd.org (Sam Leffler) Date: Mon Jan 5 22:52:50 2009 Subject: svn commit: r186751 - in head/sys: netinet6 netipsec In-Reply-To: <49627592.60208@gmx.de> References: <200901042153.n04LrgkD075147@svn.freebsd.org> <20090104220716.GL14235@hoeg.nl> <20090105172400.T45399@maildrop.int.zabbadoz.net> <49624DB9.8080900@gmx.de> <20090105194210.P45399@maildrop.int.zabbadoz.net> <20090105204356.GA52934@troutmask.apl.washington.edu> <49627592.60208@gmx.de> Message-ID: <49628F31.5040606@freebsd.org> Christoph Mallon wrote: > Steve Kargl schrieb: >> Stylistic changes (including whitespace changes) are hard on >> the source repository and are to be avoided without good reason. > > Yet another anachronism in style(9). > (Does that sentence even mean what I think it means? Somehow it sounds > like "there is no good reason, but avoid them anyway" instead of > "avoid them if you have no good reason".) > > And for the N'th time I will say: style is guideline and not a contract. The day people arbitrarily change code simply because some cabal decided where spaces should go is the day people will stop contributing. It's all fine and well to make style consistent when you're working in an area of the code (and can verify your changes) but knob polishing is just code churn and in my experience is counter-productive. Spend your time and effort on fixing real problems; god knows we've got enough of 'em... Sam From cokane at FreeBSD.org Mon Jan 5 23:12:08 2009 From: cokane at FreeBSD.org (Coleman Kane) Date: Mon Jan 5 23:12:14 2009 Subject: svn commit: r186751 - in head/sys: netinet6 netipsec In-Reply-To: <49628F31.5040606@freebsd.org> References: <200901042153.n04LrgkD075147@svn.freebsd.org> <20090104220716.GL14235@hoeg.nl> <20090105172400.T45399@maildrop.int.zabbadoz.net> <49624DB9.8080900@gmx.de> <20090105194210.P45399@maildrop.int.zabbadoz.net> <20090105204356.GA52934@troutmask.apl.washington.edu> <49627592.60208@gmx.de> <49628F31.5040606@freebsd.org> Message-ID: <1231196189.9129.1.camel@localhost> On Mon, 2009-01-05 at 14:52 -0800, Sam Leffler wrote: > Christoph Mallon wrote: > > Steve Kargl schrieb: > >> Stylistic changes (including whitespace changes) are hard on > >> the source repository and are to be avoided without good reason. > > > > Yet another anachronism in style(9). > > (Does that sentence even mean what I think it means? Somehow it sounds > > like "there is no good reason, but avoid them anyway" instead of > > "avoid them if you have no good reason".) > > > > > And for the N'th time I will say: style is guideline and not a > contract. The day people arbitrarily change code simply because some > cabal decided where spaces should go is the day people will stop > contributing. It's all fine and well to make style consistent when > you're working in an area of the code (and can verify your changes) but > knob polishing is just code churn and in my experience is > counter-productive. Spend your time and effort on fixing real problems; > god knows we've got enough of 'em... > > Sam > Maybe prepend 'Mere' to the beginning of that sentence in style(9)? I am amused by the thread on stylistic changes to style(9). /me ducks! -- Coleman Kane -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 195 bytes Desc: This is a digitally signed message part Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20090105/4c22cb77/attachment.pgp From marck at rinet.ru Mon Jan 5 23:24:58 2009 From: marck at rinet.ru (Dmitry Morozovsky) Date: Mon Jan 5 23:25:16 2009 Subject: svn commit: r186781 - in head: contrib/csup usr.bin/csup In-Reply-To: <200901051518.n05FIGli099929@svn.freebsd.org> References: <200901051518.n05FIGli099929@svn.freebsd.org> Message-ID: On Mon, 5 Jan 2009, Ulf Lilleengen wrote: UL> Author: lulf UL> Date: Mon Jan 5 15:18:16 2009 UL> New Revision: 186781 UL> URL: http://svn.freebsd.org/changeset/base/186781 UL> UL> Log: UL> Merge support for CVSMode (aka. mirror mode) into csup. This means csup can now UL> fetch a complete CVS repository. Support for rsync update of regular files are UL> also included, but are not yet enabled. The change should not have an impact on UL> existing csup usage, as little of the existing code has changed. Any plans to MFC this to stable/7 aka RELENG_7? BTW, are these changed comparing november patch? With this, I occasionally have "protocol error"s which are fixed by invoking cvsup -s... Thanks! Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: marck@FreeBSD.org ] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru *** ------------------------------------------------------------------------ From marck at rinet.ru Mon Jan 5 23:25:00 2009 From: marck at rinet.ru (Dmitry Morozovsky) Date: Mon Jan 5 23:25:16 2009 Subject: svn commit: r186781 - in head: contrib/csup usr.bin/csup In-Reply-To: <20090105160025.GA22123@carrot.lan> References: <200901051518.n05FIGli099929@svn.freebsd.org> <20090105160025.GA22123@carrot.lan> Message-ID: On Mon, 5 Jan 2009, Ulf Lilleengen wrote: UL> > Merge support for CVSMode (aka. mirror mode) into csup. This means csup can now UL> > fetch a complete CVS repository. Support for rsync update of regular files are UL> > also included, but are not yet enabled. The change should not have an impact on UL> > existing csup usage, as little of the existing code has changed. UL> > UL> A big thanks to naddy@ and kris@ for help with testing and reproducing UL> problems. BTW, it seems now the only thing csup is missing is server mode (and authentication, but this is another story...) ;-) Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: marck@FreeBSD.org ] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru *** ------------------------------------------------------------------------ From luigi at FreeBSD.org Mon Jan 5 23:25:35 2009 From: luigi at FreeBSD.org (Luigi Rizzo) Date: Mon Jan 5 23:25:59 2009 Subject: svn commit: r186799 - head/lib/libstand Message-ID: <200901052325.n05NPZ3x015109@svn.freebsd.org> Author: luigi Date: Mon Jan 5 23:25:35 2009 New Revision: 186799 URL: http://svn.freebsd.org/changeset/base/186799 Log: put a prefix on dhcp options to avoid clobbering, even by mistake, existing environment variables. MFC after: 2 weeks Modified: head/lib/libstand/bootp.c Modified: head/lib/libstand/bootp.c ============================================================================== --- head/lib/libstand/bootp.c Mon Jan 5 22:09:46 2009 (r186798) +++ head/lib/libstand/bootp.c Mon Jan 5 23:25:35 2009 (r186799) @@ -496,7 +496,7 @@ static struct dhcp_opt vndr_opt[] = { /* {94, __BYTES, "network-interface"}, {97, __BYTES, "machine-identifier"}, #else /* default (empty) table */ - {0, 0, ""}, /* prefix */ + {0, 0, "dhcp.vendor."}, /* prefix */ #endif {0, __TXT, "%soption-%d"} }; From kensmith at FreeBSD.org Mon Jan 5 23:57:07 2009 From: kensmith at FreeBSD.org (Ken Smith) Date: Mon Jan 5 23:57:14 2009 Subject: svn commit: r186800 - svnadmin/conf Message-ID: <200901052357.n05Nv7A4015727@svn.freebsd.org> Author: kensmith Date: Mon Jan 5 23:57:06 2009 New Revision: 186800 URL: http://svn.freebsd.org/changeset/base/186800 Log: Turn releng/7.1 over to so@. Approved by: core (implicit) Modified: svnadmin/conf/approvers Modified: svnadmin/conf/approvers ============================================================================== --- svnadmin/conf/approvers Mon Jan 5 23:25:35 2009 (r186799) +++ svnadmin/conf/approvers Mon Jan 5 23:57:06 2009 (r186800) @@ -19,7 +19,7 @@ #^head/ re #^stable/7/ re #^stable/6/ re -^releng/7.1/ re +^releng/7.1/ so ^releng/7.0/ (security-officer|so) ^releng/6.[0-4]/ (security-officer|so) ^releng/5.[0-5]/ (security-officer|so) From kensmith at FreeBSD.org Tue Jan 6 00:11:21 2009 From: kensmith at FreeBSD.org (Ken Smith) Date: Tue Jan 6 00:11:27 2009 Subject: svn commit: r186801 - svnadmin/conf Message-ID: <200901060011.n060BKug016073@svn.freebsd.org> Author: kensmith Date: Tue Jan 6 00:11:18 2009 New Revision: 186801 URL: http://svn.freebsd.org/changeset/base/186801 Log: Sigh. Be a bit more consistent with the other branches. Approved by: core (implicit) Modified: svnadmin/conf/approvers Modified: svnadmin/conf/approvers ============================================================================== --- svnadmin/conf/approvers Mon Jan 5 23:57:06 2009 (r186800) +++ svnadmin/conf/approvers Tue Jan 6 00:11:18 2009 (r186801) @@ -19,7 +19,7 @@ #^head/ re #^stable/7/ re #^stable/6/ re -^releng/7.1/ so +^releng/7.1/ (security-officer|so) ^releng/7.0/ (security-officer|so) ^releng/6.[0-4]/ (security-officer|so) ^releng/5.[0-5]/ (security-officer|so) From danger at FreeBSD.org Tue Jan 6 00:20:12 2009 From: danger at FreeBSD.org (Daniel Gerzo) Date: Tue Jan 6 00:20:21 2009 Subject: svn commit: r186802 - in stable/7/usr.sbin/ntp: . doc Message-ID: <200901060020.n060KBUe016317@svn.freebsd.org> Author: danger (doc committer) Date: Tue Jan 6 00:20:11 2009 New Revision: 186802 URL: http://svn.freebsd.org/changeset/base/186802 Log: MFC r185072: - fix typo PR: docs/128973 Submitted by: tabthorpe Approved by: roberto Modified: stable/7/usr.sbin/ntp/ (props changed) stable/7/usr.sbin/ntp/doc/ntp-keygen.8 Modified: stable/7/usr.sbin/ntp/doc/ntp-keygen.8 ============================================================================== --- stable/7/usr.sbin/ntp/doc/ntp-keygen.8 Tue Jan 6 00:11:18 2009 (r186801) +++ stable/7/usr.sbin/ntp/doc/ntp-keygen.8 Tue Jan 6 00:20:11 2009 (r186802) @@ -126,7 +126,7 @@ The safest way to run the program is logged in directly as root. The recommended procedure is change to the keys directory, usually -.Pa /ust/local/etc , +.Pa /usr/local/etc , then run the program. When run for the first time, or if all From danger at FreeBSD.org Tue Jan 6 00:30:25 2009 From: danger at FreeBSD.org (Daniel Gerzo) Date: Tue Jan 6 00:30:42 2009 Subject: svn commit: r186803 - in stable/6/usr.sbin/ntp: . doc Message-ID: <200901060030.n060UOCe016565@svn.freebsd.org> Author: danger (doc committer) Date: Tue Jan 6 00:30:24 2009 New Revision: 186803 URL: http://svn.freebsd.org/changeset/base/186803 Log: MFC r185072: - fix typo PR: docs/128973 Submitted by: tabthorpe Approved by: roberto Modified: stable/6/usr.sbin/ntp/ (props changed) stable/6/usr.sbin/ntp/doc/ (props changed) stable/6/usr.sbin/ntp/doc/ntp-keygen.8 Modified: stable/6/usr.sbin/ntp/doc/ntp-keygen.8 ============================================================================== --- stable/6/usr.sbin/ntp/doc/ntp-keygen.8 Tue Jan 6 00:20:11 2009 (r186802) +++ stable/6/usr.sbin/ntp/doc/ntp-keygen.8 Tue Jan 6 00:30:24 2009 (r186803) @@ -123,7 +123,7 @@ The safest way to run the program is logged in directly as root. The recommended procedure is change to the keys directory, usually -.Pa /ust/local/etc , +.Pa /usr/local/etc , then run the program. When run for the first time, or if all .Cm ntpkey From imp at bsdimp.com Tue Jan 6 00:44:48 2009 From: imp at bsdimp.com (M. Warner Losh) Date: Tue Jan 6 00:44:54 2009 Subject: svn commit: r186731 - head/sys/dev/syscons/teken In-Reply-To: <20090105172243.GO14235@hoeg.nl> References: <20090104121331.GC14235@hoeg.nl> <20090105171523.GC50568@dragon.NUXI.org> <20090105172243.GO14235@hoeg.nl> Message-ID: <20090105.174351.1172770788.imp@bsdimp.com> In message: <20090105172243.GO14235@hoeg.nl> Ed Schouten writes: : Hello David, : : * David O'Brien wrote: : > Why xterm and not vt100? : : The reason I'm proposing xterm, is because it is the best supported : terminal type out there. Example: if we would use TERM=vt100, we would : only get black & white. If we use TERM=vt100-color, we do get the : colors, but unfortunately we won't be compatible with other operating : systems. Solaris, for example, has no termtype called vt100-color. This : means the user has to change TERM by hand. : : TERM=xterm has proven to be very portable across different operating : systems and there are a lot of other pieces of software that try to : mimic it. At least the Terminal application in OS X, GNOME's : gnome-terminal, maybe KDE's Konsole as well. : : I hope that answers your question? Also, xterm is a superset of vt100. Most vt100-only programs will just work inside an xterm. Warner From sam at FreeBSD.org Tue Jan 6 01:36:38 2009 From: sam at FreeBSD.org (Sam Leffler) Date: Tue Jan 6 01:36:44 2009 Subject: svn commit: r186804 - in head/sys/dev/ath/ath_rate: amrr onoe sample Message-ID: <200901060136.n061ab37017941@svn.freebsd.org> Author: sam Date: Tue Jan 6 01:36:36 2009 New Revision: 186804 URL: http://svn.freebsd.org/changeset/base/186804 Log: remove module glue, it's not used any more Modified: head/sys/dev/ath/ath_rate/amrr/amrr.c head/sys/dev/ath/ath_rate/onoe/onoe.c head/sys/dev/ath/ath_rate/sample/sample.c Modified: head/sys/dev/ath/ath_rate/amrr/amrr.c ============================================================================== --- head/sys/dev/ath/ath_rate/amrr/amrr.c Tue Jan 6 00:30:24 2009 (r186803) +++ head/sys/dev/ath/ath_rate/amrr/amrr.c Tue Jan 6 01:36:36 2009 (r186804) @@ -51,7 +51,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -434,29 +433,3 @@ ath_rate_detach(struct ath_ratectrl *arc free(asc, M_DEVBUF); } - -/* - * Module glue. - */ -static int -amrr_modevent(module_t mod, int type, void *unused) -{ - switch (type) { - case MOD_LOAD: - if (bootverbose) - printf("ath_rate: version 0.1\n"); - return 0; - case MOD_UNLOAD: - return 0; - } - return EINVAL; -} - -static moduledata_t amrr_mod = { - "ath_rate", - amrr_modevent, - 0 -}; -DECLARE_MODULE(ath_rate, amrr_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); -MODULE_VERSION(ath_rate, 1); -MODULE_DEPEND(ath_rate, wlan, 1, 1, 1); Modified: head/sys/dev/ath/ath_rate/onoe/onoe.c ============================================================================== --- head/sys/dev/ath/ath_rate/onoe/onoe.c Tue Jan 6 00:30:24 2009 (r186803) +++ head/sys/dev/ath/ath_rate/onoe/onoe.c Tue Jan 6 01:36:36 2009 (r186804) @@ -39,7 +39,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -403,29 +402,3 @@ ath_rate_detach(struct ath_ratectrl *arc free(osc, M_DEVBUF); } - -/* - * Module glue. - */ -static int -onoe_modevent(module_t mod, int type, void *unused) -{ - switch (type) { - case MOD_LOAD: - if (bootverbose) - printf("ath_rate: \n"); - return 0; - case MOD_UNLOAD: - return 0; - } - return EINVAL; -} - -static moduledata_t onoe_mod = { - "ath_rate", - onoe_modevent, - 0 -}; -DECLARE_MODULE(ath_rate, onoe_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); -MODULE_VERSION(ath_rate, 1); -MODULE_DEPEND(ath_rate, wlan, 1, 1, 1); Modified: head/sys/dev/ath/ath_rate/sample/sample.c ============================================================================== --- head/sys/dev/ath/ath_rate/sample/sample.c Tue Jan 6 00:30:24 2009 (r186803) +++ head/sys/dev/ath/ath_rate/sample/sample.c Tue Jan 6 01:36:36 2009 (r186804) @@ -47,7 +47,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -993,29 +992,3 @@ ath_rate_detach(struct ath_ratectrl *arc free(ssc, M_DEVBUF); } - -/* - * Module glue. - */ -static int -sample_modevent(module_t mod, int type, void *unused) -{ - switch (type) { - case MOD_LOAD: - if (bootverbose) - printf("ath_rate: version 1.9 \n"); - return 0; - case MOD_UNLOAD: - return 0; - } - return EINVAL; -} - -static moduledata_t sample_mod = { - "ath_rate", - sample_modevent, - 0 -}; -DECLARE_MODULE(ath_rate, sample_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST); -MODULE_VERSION(ath_rate, 1); -MODULE_DEPEND(ath_rate, wlan, 1, 1, 1); From nwhitehorn at FreeBSD.org Tue Jan 6 01:54:58 2009 From: nwhitehorn at FreeBSD.org (Nathan Whitehorn) Date: Tue Jan 6 01:55:04 2009 Subject: svn commit: r186805 - head/sys/powerpc/powermac Message-ID: <200901060154.n061svIc018267@svn.freebsd.org> Author: nwhitehorn Date: Tue Jan 6 01:54:57 2009 New Revision: 186805 URL: http://svn.freebsd.org/changeset/base/186805 Log: Add a new quirk type so that the MacIO driver will assign memory resources belonging to a devices children, in analogy to the way we handle interrupts for SCC serial devices. This is required to counteract overly deep nesting on onboard audio devices. Submitted by: Marco Trillo Modified: head/sys/powerpc/powermac/macio.c Modified: head/sys/powerpc/powermac/macio.c ============================================================================== --- head/sys/powerpc/powermac/macio.c Tue Jan 6 01:36:36 2009 (r186804) +++ head/sys/powerpc/powermac/macio.c Tue Jan 6 01:54:57 2009 (r186805) @@ -152,6 +152,7 @@ static struct macio_pci_dev { */ #define MACIO_QUIRK_IGNORE 0x00000001 #define MACIO_QUIRK_CHILD_HAS_INTR 0x00000002 +#define MACIO_QUIRK_USE_CHILD_REG 0x00000004 struct macio_quirk_entry { const char *mq_name; @@ -162,7 +163,9 @@ static struct macio_quirk_entry macio_qu { "escc-legacy", MACIO_QUIRK_IGNORE }, { "timer", MACIO_QUIRK_IGNORE }, { "escc", MACIO_QUIRK_CHILD_HAS_INTR }, - { NULL, 0 } + { "i2s", MACIO_QUIRK_CHILD_HAS_INTR | + MACIO_QUIRK_USE_CHILD_REG }, + { NULL, 0 } }; static int @@ -318,7 +321,10 @@ macio_attach(device_t dev) resource_list_init(&dinfo->mdi_resources); dinfo->mdi_ninterrupts = 0; macio_add_intr(child, dinfo); - macio_add_reg(child, dinfo); + if ((quirks & MACIO_QUIRK_USE_CHILD_REG) != 0) + macio_add_reg(OF_child(child), dinfo); + else + macio_add_reg(child, dinfo); if ((quirks & MACIO_QUIRK_CHILD_HAS_INTR) != 0) for (subchild = OF_child(child); subchild != 0; subchild = OF_peer(subchild)) From sam at FreeBSD.org Tue Jan 6 01:58:46 2009 From: sam at FreeBSD.org (Sam Leffler) Date: Tue Jan 6 01:58:52 2009 Subject: svn commit: r186806 - head/sys/dev/ath Message-ID: <200901060158.n061wjuY018383@svn.freebsd.org> Author: sam Date: Tue Jan 6 01:58:45 2009 New Revision: 186806 URL: http://svn.freebsd.org/changeset/base/186806 Log: remove the ath_rate module dependency; it's all bundled Modified: head/sys/dev/ath/if_ath_pci.c Modified: head/sys/dev/ath/if_ath_pci.c ============================================================================== --- head/sys/dev/ath/if_ath_pci.c Tue Jan 6 01:54:57 2009 (r186805) +++ head/sys/dev/ath/if_ath_pci.c Tue Jan 6 01:58:45 2009 (r186806) @@ -254,4 +254,3 @@ DRIVER_MODULE(if_ath, pci, ath_pci_drive DRIVER_MODULE(if_ath, cardbus, ath_pci_driver, ath_devclass, 0, 0); MODULE_VERSION(if_ath, 1); MODULE_DEPEND(if_ath, wlan, 1, 1, 1); /* 802.11 media layer */ -MODULE_DEPEND(if_ath, ath_rate, 1, 1, 1); /* rate control algorithm */ From marcel at FreeBSD.org Tue Jan 6 06:47:54 2009 From: marcel at FreeBSD.org (Marcel Moolenaar) Date: Tue Jan 6 06:48:00 2009 Subject: svn commit: r186807 - head/sys/geom/part Message-ID: <200901060647.n066lrYg023850@svn.freebsd.org> Author: marcel Date: Tue Jan 6 06:47:53 2009 New Revision: 186807 URL: http://svn.freebsd.org/changeset/base/186807 Log: Don't enforce an upper-bound to the number of sectors or heads that that the provider has. The limits we imposed were PC BIOS specific and not always applicable. Modified: head/sys/geom/part/g_part.c Modified: head/sys/geom/part/g_part.c ============================================================================== --- head/sys/geom/part/g_part.c Tue Jan 6 01:58:45 2009 (r186806) +++ head/sys/geom/part/g_part.c Tue Jan 6 06:47:53 2009 (r186807) @@ -182,10 +182,8 @@ g_part_geometry(struct g_part_table *tab u_int heads, sectors; int idx; - if (g_getattr("GEOM::fwsectors", cp, §ors) != 0 || - sectors < 1 || sectors > 63 || - g_getattr("GEOM::fwheads", cp, &heads) != 0 || - heads < 1 || heads > 255) { + if (g_getattr("GEOM::fwsectors", cp, §ors) != 0 || sectors == 0 || + g_getattr("GEOM::fwheads", cp, &heads) != 0 || heads == 0) { table->gpt_fixgeom = 0; table->gpt_heads = 0; table->gpt_sectors = 0; From trasz at FreeBSD.org Tue Jan 6 09:03:03 2009 From: trasz at FreeBSD.org (Edward Tomasz Napierala) Date: Tue Jan 6 09:03:08 2009 Subject: svn commit: r186808 - head/sys/dev/usb Message-ID: <200901060903.n06932hZ026405@svn.freebsd.org> Author: trasz Date: Tue Jan 6 09:03:02 2009 New Revision: 186808 URL: http://svn.freebsd.org/changeset/base/186808 Log: Add workaround for Parallels 4.0. Without it, ehci and uhci drivers would fail to attach due to unsupported USB revision. It should have no effect when running on a real hardware. Reviewed by: imp Approved by: rwatson (mentor) Modified: head/sys/dev/usb/ehci_pci.c head/sys/dev/usb/uhci_pci.c Modified: head/sys/dev/usb/ehci_pci.c ============================================================================== --- head/sys/dev/usb/ehci_pci.c Tue Jan 6 06:47:53 2009 (r186807) +++ head/sys/dev/usb/ehci_pci.c Tue Jan 6 09:03:02 2009 (r186808) @@ -315,6 +315,14 @@ ehci_pci_attach(device_t self) device_printf(self, "Quirk for CS5536 USB 2.0 enabled\n"); break; } + + /* + * Quirk for Parallels Desktop 4.0. + */ + if (pci_get_devid(self) == PCI_EHCI_DEVICEID_ICH6) { + sc->sc_bus.usbrev = USBREV_2_0; + break; + } sc->sc_bus.usbrev = USBREV_UNKNOWN; return ENXIO; case PCI_USBREV_2_0: Modified: head/sys/dev/usb/uhci_pci.c ============================================================================== --- head/sys/dev/usb/uhci_pci.c Tue Jan 6 06:47:53 2009 (r186807) +++ head/sys/dev/usb/uhci_pci.c Tue Jan 6 09:03:02 2009 (r186808) @@ -389,6 +389,12 @@ uhci_pci_attach(device_t self) break; } + /* + * Quirk for Parallels Desktop 4.0. + */ + if (pci_get_devid(self) == PCI_UHCI_DEVICEID_ICH6_A) + sc->sc_bus.usbrev = USBREV_2_0; + err = bus_setup_intr(self, sc->irq_res, INTR_TYPE_BIO, NULL, (driver_intr_t *) uhci_intr, sc, &sc->ih); if (err) { From hselasky at c2i.net Tue Jan 6 09:34:33 2009 From: hselasky at c2i.net (Hans Petter Selasky) Date: Tue Jan 6 09:34:45 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... In-Reply-To: <20090106015012.548aaa9d.stas@FreeBSD.org> References: <200901040012.n040C2gH040928@svn.freebsd.org> <200901052211.50514.hselasky@c2i.net> <20090106015012.548aaa9d.stas@FreeBSD.org> Message-ID: <200901060936.50984.hselasky@c2i.net> On Monday 05 January 2009, Stanislav Sedov wrote: > On Mon, 5 Jan 2009 22:11:49 +0100 > > Hans Petter Selasky mentioned: > > Try this patch and let me know the result! I see exactly why things are > > not working! > > > > http://perforce.freebsd.org/chv.cgi?CH=154181 > > > > > > It's not a USB problem! > > These patches help. Now everything works. > Thanks! Hi, I'm trying to push these patches into -current. Can you tell us what CPU architecture you are using? And how much RAM? --HPS From stas at FreeBSD.org Tue Jan 6 09:53:25 2009 From: stas at FreeBSD.org (Stanislav Sedov) Date: Tue Jan 6 09:53:32 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... In-Reply-To: <200901060936.50984.hselasky@c2i.net> References: <200901040012.n040C2gH040928@svn.freebsd.org> <200901052211.50514.hselasky@c2i.net> <20090106015012.548aaa9d.stas@FreeBSD.org> <200901060936.50984.hselasky@c2i.net> Message-ID: <20090106124303.d8bab0de.stas@FreeBSD.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 6 Jan 2009 09:36:49 +0100 Hans Petter Selasky mentioned: > Hi, > > I'm trying to push these patches into -current. Can you tell us what CPU > architecture you are using? And how much RAM? > That will be nice to have these fixes in tree. I'm using Core2Quad Q9400 w/ 4Gb RAM running amd64. - -- Stanislav Sedov ST4096-RIPE -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAkljJ6wACgkQK/VZk+smlYHntQCfVb6i+INc1nLX1jskUCyu95kc VnYAn3k5j3M+abZZNVkLB8aOR5CE/1FX =aG86 -----END PGP SIGNATURE----- !DSPAM:4963271c967009764991370! From stas at FreeBSD.org Tue Jan 6 10:32:49 2009 From: stas at FreeBSD.org (Stanislav Sedov) Date: Tue Jan 6 10:32:55 2009 Subject: svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us... In-Reply-To: <20090106124303.d8bab0de.stas@FreeBSD.org> References: <200901040012.n040C2gH040928@svn.freebsd.org> <200901052211.50514.hselasky@c2i.net> <20090106015012.548aaa9d.stas@FreeBSD.org> <200901060936.50984.hselasky@c2i.net> <20090106124303.d8bab0de.stas@FreeBSD.org> Message-ID: <20090106133507.1e2bc2d2.stas@FreeBSD.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 6 Jan 2009 12:43:03 +0300 Stanislav Sedov mentioned: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On Tue, 6 Jan 2009 09:36:49 +0100 > Hans Petter Selasky mentioned: > > > Hi, > > > > I'm trying to push these patches into -current. Can you tell us what CPU > > architecture you are using? And how much RAM? > > > > That will be nice to have these fixes in tree. > I'm using Core2Quad Q9400 w/ 4Gb RAM running amd64. > BTW, I'm still experiencing problems with some kinds of devices. E.g. Anydata E100X modem (ubsa) fails to select configuration and attach both on amd64 and arm with following messages in the log. usb2_alloc_device:1423: set address 2 failed (ignored) usb2_alloc_device:1458: getting device descriptor at addr 2 failed! usb2_req_re_enumerate:1362: addr=2, set address failed! (ignored) usb2_req_re_enumerate:1375: getting device descriptor at addr 2 failed! ugen0.2: at usbus0 Do you by a chance know what is going on? Thanks! - -- Stanislav Sedov ST4096-RIPE -----BEGIN PGP SIGNATURE----- iEYEARECAAYFAkljM98ACgkQK/VZk+smlYHV2QCdE2EM+yyrL+nRmefZL2vxuZxs vy0AoIKxAngfT+cBQzgpiIMYE9cZJ6rc =wZYj -----END PGP SIGNATURE----- !DSPAM:4963334f967001783411812! From bz at FreeBSD.org Tue Jan 6 11:02:17 2009 From: bz at FreeBSD.org (Bjoern A. Zeeb) Date: Tue Jan 6 11:02:29 2009 Subject: svn commit: r186809 - head/sys/sys Message-ID: <200901061102.n06B2HST028840