Kimberly Sanchez invites you to connect
I created a profile with my pictures, videos, blog and events and I'd like to add you as a friend to show this to you. http://vamppir.zoomshare.com/files/chicks.htm
Re: multiple ipsec-nat-t clients behind same ip address (pr 5562)
On Mon, Dec 06, 2010 at 12:58 +, Mikolaj Kucharski wrote: Hi, I had a chance to test pr 5562 and would like to confirm that on OpenBSD current the issue is still present. OpenBSD 4.8-current (GENERIC) #510: Sat Dec 4 12:03:30 MST 2010 dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC After applying attached patch (taken from url in pr 5562) issue is resolved. See reference urls for more detailed explanation. Would be possible to get this patch commited? FWIW, I'm okay with the diff. References 1. http://marc.info/?t=12016804851r=1w=2 2. http://cvs.openbsd.org/cgi-bin/query-pr-wrapper?full=yesnumbers=5562 3. http://www.bzero.se/patches/isakmpd-multi-nat-peers-patch.diff -- best regards q# Index: sa.c === RCS file: /cvs/src/sbin/isakmpd/sa.c,v retrieving revision 1.110 diff -u -r1.110 sa.c --- sa.c 24 Nov 2006 13:52:14 - 1.110 +++ sa.c 17 Aug 2007 14:31:04 - @@ -199,7 +199,18 @@ return 0; sa-transport-vtbl-get_dst(sa-transport, dst); - return (net_addrcmp(dst, addr-addr) == 0); + if (net_addrcmp(dst, addr-addr) != 0) + return 0; + + /* same family, length and address, check port if inet/inet6 */ + switch (dst-sa_family) { + case AF_INET: + return ((struct sockaddr_in *)dst)-sin_port == ((struct sockaddr_in *)addr-addr)-sin_port; + case AF_INET6: + return ((struct sockaddr_in6 *)dst)-sin6_port == ((struct sockaddr_in6 *)addr-addr)-sin6_port; + } + + return 1; } struct dst_isakmpspi_arg {
Re: update pms driver
Looks and works fine for me, ok nicm Cheers On Tue, Nov 30, 2010 at 09:33:41PM +0500, Alexandr Shadchin wrote: On Mon, Nov 29, 2010 at 10:08:22PM +, Nicholas Marriott wrote: Well, I don't use it so I don't have strong feelings about it, but it does work for PS/2 mice and it seems that it would be useful for anyone using wsmoused (although there probably aren't many people). Would it be so hard to leave it, and if it is really not needed remove it entirely as a separate change? Otherwise aside from the char - signed char change I mentioned the diff is fine with me. 1) fix char - signed char 2) Returned WSMOUSEIO_SRES -- Alexandr Shadchin Index: pms.c === RCS file: /cvs/src/sys/dev/pckbc/pms.c,v retrieving revision 1.14 diff -u -p -r1.14 pms.c --- pms.c 15 Nov 2010 20:25:31 - 1.14 +++ pms.c 30 Nov 2010 16:26:20 - @@ -40,6 +40,20 @@ #define DEVNAME(sc) ((sc)-sc_dev.dv_xname) +struct pms_softc; + +struct pms_protocol { + int type; +#define PMS_STANDARD 0 +#define PMS_INTELLI 1 + int packetsize; + int (*enable)(struct pms_softc *); + int (*ioctl)(struct pms_softc *, u_long, caddr_t, int, struct proc *); + int (*sync)(struct pms_softc *, int); + void (*proc)(struct pms_softc *); + void (*disable)(struct pms_softc *); +}; + struct pms_softc { /* driver status information */ struct device sc_dev; @@ -52,14 +66,38 @@ struct pms_softc {/* driver status inf #define PMS_STATE_SUSPENDED 2 int poll; - int intelli; int inputstate; - u_int buttons, oldbuttons; /* mouse button status */ - signed char dx, dy; + + struct pms_protocol protocol; + + unsigned char packet[8]; struct device *sc_wsmousedev; }; +#define PMS_BUTTON1DOWN 0x0001 /* left */ +#define PMS_BUTTON2DOWN 0x0002 /* middle */ +#define PMS_BUTTON3DOWN 0x0004 /* right */ + +static const u_int butmap[8] = { + 0, + PMS_BUTTON1DOWN, + PMS_BUTTON3DOWN, + PMS_BUTTON1DOWN | PMS_BUTTON3DOWN, + PMS_BUTTON2DOWN, + PMS_BUTTON1DOWN | PMS_BUTTON2DOWN, + PMS_BUTTON2DOWN | PMS_BUTTON3DOWN, + PMS_BUTTON1DOWN | PMS_BUTTON2DOWN | PMS_BUTTON3DOWN +}; + +/* PS/2 mouse data packet */ +#define PMS_PS2_BUTTONSMASK 0x07 +#define PMS_PS2_BUTTON1 0x01/* left */ +#define PMS_PS2_BUTTON2 0x04/* middle */ +#define PMS_PS2_BUTTON3 0x02/* right */ +#define PMS_PS2_XNEG 0x10 +#define PMS_PS2_YNEG 0x20 + int pmsprobe(struct device *, void *, void *); void pmsattach(struct device *, struct device *, void *); int pmsactivate(struct device *, int); @@ -81,7 +119,11 @@ int pms_reset(struct pms_softc *); int pms_dev_enable(struct pms_softc *); int pms_dev_disable(struct pms_softc *); -int pms_setintellimode(struct pms_softc *sc); +int pms_enable_intelli(struct pms_softc *); + +int pms_ioctl_mouse(struct pms_softc *, u_long, caddr_t, int, struct proc *); +int pms_sync_mouse(struct pms_softc *, int); +void pms_proc_mouse(struct pms_softc *); struct cfattach pms_ca = { sizeof(struct pms_softc), pmsprobe, pmsattach, NULL, @@ -98,6 +140,27 @@ const struct wsmouse_accessops pms_acces pms_disable, }; +const struct pms_protocol pms_mouse[] = { + /* Generic PS/2 mouse */ + { + PMS_STANDARD, 3, + NULL, + pms_ioctl_mouse, + pms_sync_mouse, + pms_proc_mouse, + NULL + }, + /* Microsoft IntelliMouse */ + { + PMS_INTELLI, 4, + pms_enable_intelli, + pms_ioctl_mouse, + pms_sync_mouse, + pms_proc_mouse, + NULL + } +}; + int pms_cmd(struct pms_softc *sc, u_char *cmd, int len, u_char *resp, int resplen) { @@ -208,7 +271,7 @@ pms_dev_disable(struct pms_softc *sc) } int -pms_setintellimode(struct pms_softc *sc) +pms_enable_intelli(struct pms_softc *sc) { static const int rates[] = {200, 100, 80}; u_char resp; @@ -224,6 +287,78 @@ pms_setintellimode(struct pms_softc *sc) } int +pms_ioctl_mouse(struct pms_softc *sc, u_long cmd, caddr_t data, int flag, +struct proc *p) +{ + int i; + + switch (cmd) { + case WSMOUSEIO_GTYPE: + *(u_int *)data = WSMOUSE_TYPE_PS2; + break; + case WSMOUSEIO_SRES: + i = ((int) *(u_int *)data - 12) / 25; + /* valid values are {0,1,2,3} */ + if (i 0) + i = 0; + if (i 3) + i = 3; + + if (pms_set_resolution(sc, i)) + printf(%s: SET_RES command error\n, DEVNAME(sc)); +
You've received a private message from a friend!
I read your profile today, I thought I would drop you a line and hope to become your friend! Check my personal page here: http://diehar.zoomshare.com/files/photos.htm
drops NENTS in favor of nitems
This diff drops another nitems() copy we have in tree, NENTS(). Compile tested on amd64, no binary change. OK? -- Cheers, Jasper During times of universal deceit, telling the truth becomes a revolutionary act. Index: arch/alpha/stand/netboot/if_prom.c === RCS file: /cvs/src/sys/arch/alpha/stand/netboot/if_prom.c,v retrieving revision 1.4 diff -p -u -r1.4 if_prom.c --- arch/alpha/stand/netboot/if_prom.c 9 Mar 2008 12:03:03 - 1.4 +++ arch/alpha/stand/netboot/if_prom.c 6 Dec 2010 18:00:02 - @@ -61,7 +61,7 @@ struct netif_dif prom_ifs[] = { { 0, 1, prom_stats[0], 0, }, }; -struct netif_stats prom_stats[NENTS(prom_ifs)]; +struct netif_stats prom_stats[nitems(prom_ifs)]; struct netbbinfo netbbinfo = { 0xfeedbabedeadbeef, /* magic number */ @@ -82,7 +82,7 @@ struct netif_driver prom_netif_driver = prom_put, /* netif_put */ prom_end, /* netif_end */ prom_ifs, /* netif_ifs */ - NENTS(prom_ifs) /* netif_nifs */ + nitems(prom_ifs)/* netif_nifs */ }; int netfd, broken_firmware; Index: arch/amd64/stand/boot/conf.c === RCS file: /cvs/src/sys/arch/amd64/stand/boot/conf.c,v retrieving revision 1.15 diff -p -u -r1.15 conf.c --- arch/amd64/stand/boot/conf.c11 Aug 2010 14:18:52 - 1.15 +++ arch/amd64/stand/boot/conf.c6 Dec 2010 18:00:02 - @@ -56,10 +56,10 @@ void (*i386_probe2[])(void) = { }; struct i386_boot_probes probe_list[] = { - { probing, i386_probe1, NENTS(i386_probe1) }, - { disk,i386_probe2, NENTS(i386_probe2) } + { probing, i386_probe1, nitems(i386_probe1) }, + { disk,i386_probe2, nitems(i386_probe2) } }; -int nibprobes = NENTS(probe_list); +int nibprobes = nitems(probe_list); struct fs_ops file_system[] = { @@ -74,7 +74,7 @@ struct fs_ops file_system[] = { cd9660_stat, cd9660_readdir }, #endif }; -int nfsys = NENTS(file_system); +int nfsys = nitems(file_system); struct devsw devsw[] = { { BIOS, biosstrategy, biosopen, biosclose, biosioctl }, @@ -82,7 +82,7 @@ struct devsw devsw[] = { { TFTP, tftpstrategy, tftpopen, tftpclose, tftpioctl }, #endif }; -int ndevs = NENTS(devsw); +int ndevs = nitems(devsw); struct consdev constab[] = { { pc_probe, pc_init, pc_getc, pc_putc }, Index: arch/amd64/stand/cdboot/conf.c === RCS file: /cvs/src/sys/arch/amd64/stand/cdboot/conf.c,v retrieving revision 1.15 diff -p -u -r1.15 conf.c --- arch/amd64/stand/cdboot/conf.c 11 Aug 2010 14:18:52 - 1.15 +++ arch/amd64/stand/cdboot/conf.c 6 Dec 2010 18:00:02 - @@ -57,10 +57,10 @@ void (*amd64_probe2[])(void) = { }; struct i386_boot_probes probe_list[] = { - { probing, amd64_probe1, NENTS(amd64_probe1) }, - { disk,amd64_probe2, NENTS(amd64_probe2) } + { probing, amd64_probe1, nitems(amd64_probe1) }, + { disk,amd64_probe2, nitems(amd64_probe2) } }; -int nibprobes = NENTS(probe_list); +int nibprobes = nitems(probe_list); struct fs_ops file_system[] = { { cd9660_open, cd9660_close, cd9660_read, cd9660_write, cd9660_seek, @@ -76,12 +76,12 @@ struct fs_ops file_system[] = { fat_stat,fat_readdir}, #endif }; -int nfsys = NENTS(file_system); +int nfsys = nitems(file_system); struct devsw devsw[] = { { BIOS, biosstrategy, biosopen, biosclose, biosioctl }, }; -int ndevs = NENTS(devsw); +int ndevs = nitems(devsw); struct consdev constab[] = { { pc_probe, pc_init, pc_getc, pc_putc }, Index: arch/amd64/stand/libsa/dev_i386.c === RCS file: /cvs/src/sys/arch/amd64/stand/libsa/dev_i386.c,v retrieving revision 1.3 diff -p -u -r1.3 dev_i386.c --- arch/amd64/stand/libsa/dev_i386.c 27 Jun 2007 20:29:37 - 1.3 +++ arch/amd64/stand/libsa/dev_i386.c 6 Dec 2010 18:00:02 - @@ -38,13 +38,13 @@ const char bdevs[][4] = { wd, , fd, , sd, st, cd, mcd, , , , , , , , scd, , hd, }; -const int nbdevs = NENTS(bdevs); +const int nbdevs = nitems(bdevs); const char cdevs[][4] = { cn, , , , , , , , com, , , , pc }; -const int ncdevs = NENTS(cdevs); +const int ncdevs = nitems(cdevs); /* pass dev_t to the open routines */ int Index: arch/amd64/stand/libsa/memprobe.c === RCS file: /cvs/src/sys/arch/amd64/stand/libsa/memprobe.c,v retrieving revision 1.7 diff -p -u -r1.7 memprobe.c --- arch/amd64/stand/libsa/memprobe.c 2 Jul 2010 00:36:52 - 1.7 +++ arch/amd64/stand/libsa/memprobe.c 6 Dec 2010 18:00:03 - @@ -221,14 +221,14 @@ addrprobe(u_int kloc) { __volatile
Re: Remove COMPAT_LINUX leftover from arm
On Mon, Dec 6, 2010 at 12:54 PM, Jasper Lievisse Adriaanse jas...@humppa.nl wrote: None of the arm ports are using COMPAT_LINUX, hence this is commented. And should be removed too? do it.
Consistent 'include' rules in 'files.' files.
As per subject, tested on amd64/macppc. OK? -- Cheers, Jasper During times of universal deceit, telling the truth becomes a revolutionary act. Index: alpha/conf/files.alpha === RCS file: /cvs/src/sys/arch/alpha/conf/files.alpha,v retrieving revision 1.90 diff -p -u -r1.90 files.alpha --- alpha/conf/files.alpha 30 Jun 2010 20:38:49 - 1.90 +++ alpha/conf/files.alpha 6 Dec 2010 18:53:05 - @@ -35,7 +35,7 @@ major {vnd = 9} # # Media Independent Interface (mii) # -include../../../dev/mii/files.mii +includedev/mii/files.mii # # Machine-independent SCSI drivers @@ -269,7 +269,7 @@ filedev/pci/if_hme_pci.chme_pci # ISA PnP # -include../../../dev/isa/files.isapnp +includedev/isa/files.isapnp file arch/alpha/isa/isapnp_machdep.c isapnp # Index: amd64/conf/files.amd64 === RCS file: /cvs/src/sys/arch/amd64/conf/files.amd64,v retrieving revision 1.59 diff -p -u -r1.59 files.amd64 --- amd64/conf/files.amd64 13 Nov 2010 04:16:42 - 1.59 +++ amd64/conf/files.amd64 6 Dec 2010 18:53:06 - @@ -225,7 +225,7 @@ include dev/gpio/files.gpio # # ACPI # -include ../../../dev/acpi/files.acpi +include dev/acpi/files.acpi file arch/amd64/amd64/acpi_machdep.c acpi file arch/amd64/amd64/acpi_wakecode.Sacpi !small_kernel Index: armish/conf/files.armish === RCS file: /cvs/src/sys/arch/armish/conf/files.armish,v retrieving revision 1.13 diff -p -u -r1.13 files.armish --- armish/conf/files.armish16 May 2009 05:47:25 - 1.13 +++ armish/conf/files.armish6 Dec 2010 18:53:07 - @@ -14,7 +14,7 @@ file arch/armish/armish/armish_machdep.c file arch/armish/armish/autoconf.c file arch/arm/arm/disksubr.c disk -include ../../../scsi/files.scsi +include scsi/files.scsi # Use the generic ARM soft interrupt code. file arch/arm/arm/softintr.c @@ -67,11 +67,11 @@ include dev/bluetooth/files.bluetooth include dev/mii/files.mii # PCI -include ../../../dev/pci/files.pci +include dev/pci/files.pci file arch/armish/dev/pciide_machdep.cpciide -include ../../../dev/puc/files.puc -include ../../../dev/atapiscsi/files.atapiscsi +include dev/puc/files.puc +include dev/atapiscsi/files.atapiscsi # Index: aviion/conf/files.aviion === RCS file: /cvs/src/sys/arch/aviion/conf/files.aviion,v retrieving revision 1.7 diff -p -u -r1.7 files.aviion --- aviion/conf/files.aviion21 Apr 2010 19:33:47 - 1.7 +++ aviion/conf/files.aviion6 Dec 2010 18:53:07 - @@ -35,7 +35,7 @@ file arch/aviion/dev/if_ile_syscon.c i attach oosiop at syscon with oosiop_syscon file arch/aviion/dev/oosiop_syscon.c oosiop_syscon -include../../../scsi/files.scsi +include scsi/files.scsi major {sd = 4} major {st = 5} Index: beagle/conf/files.beagle === RCS file: /cvs/src/sys/arch/beagle/conf/files.beagle,v retrieving revision 1.4 diff -p -u -r1.4 files.beagle --- beagle/conf/files.beagle1 Jun 2010 03:01:02 - 1.4 +++ beagle/conf/files.beagle6 Dec 2010 18:53:07 - @@ -28,7 +28,7 @@ file arch/arm/armv7/armv7_mutex.c # note that the order of the devices in _this_ file # affects the order that the devices will configure. -include ../../../dev/sdmmc/files.sdmmc +include dev/sdmmc/files.sdmmc device prcm attach prcm at ahb @@ -77,8 +77,8 @@ file arch/beagle/dev/omdisplay.c omdisp # # Machine-independent SCSI drivers # -include ../../../scsi/files.scsi -include ../../../dev/atapiscsi/files.atapiscsi +include scsi/files.scsi +include dev/atapiscsi/files.atapiscsi # CPU support and integrated peripherals file arch/arm/arm/irq_dispatch.S Index: gumstix/conf/files.gumstix === RCS file: /cvs/src/sys/arch/gumstix/conf/files.gumstix,v retrieving revision 1.1 diff -p -u -r1.1 files.gumstix --- gumstix/conf/files.gumstix 26 Nov 2008 14:18:11 - 1.1 +++ gumstix/conf/files.gumstix 6 Dec 2010 18:53:07 - @@ -18,8 +18,8 @@ file arch/gumstix/gumstix/gumstix_machde # # Machine-independent SCSI drivers # -include ../../../scsi/files.scsi -include ../../../dev/atapiscsi/files.atapiscsi +include scsi/files.scsi +include dev/atapiscsi/files.atapiscsi # CPU support and integrated peripherals include arch/arm/xscale/files.pxa2x0 Index: i386/conf/files.i386 === RCS file: /cvs/src/sys/arch/i386/conf/files.i386,v retrieving revision 1.199 diff -p -u -r1.199 files.i386 --- i386/conf/files.i38614 Oct 2010 21:23:04
$100,000 Commission System
Stop making tiny commissions online - start making 1k + commissions with this totally unique and proven system... Get this today and get started today... Join Now : http://business-page.us/10-commission-system.html
Re: better matching of boot devices on amd64
On Thursday, December 2, David Gwynne wrote: the boot loader passes a variable that identifies the disk its booting off made up of a bunch of fields like adapter, controller, disk, and partition offsets, plus a table of all the disks it can see which includes this id and a checksum. Unfortunately, on the PC there is no 100% reliable mapping between the BIOS disk number (which is used for booting), and the device path used on the obsd side. So in essence, we need to find the device we booted from. This was/is the point to the checksums. At the point where the checksum stuff was implemented, I seriously thought about sending the checksum of the boot device through the bootdev var during boot. With a few special cases to signify network/etc style boots. This seemed somewhat hackish... I've always wondered why the B_* defines in reboot.h were MI, as opposed to MD. Booting is inherantly a very MD stype of thing. Something that makes 100% sense on the VAX will likley map poorly or not at all to a PC or a Sun box. Anyways, that all aside... the kernel goes through and checksums the disks and then maps that back to the id associated with that disk, and then compares some of the fields in those ids against the boot disks id to figure out which disk its on. Yup, and this works most of the time... unless you happen to have all the disks zero'd or otherwise bit-identical. :) the problem is we overflow one of those fields (the disk id one). since the other fields are set to 0 by the boot loader, this doesnt really matter that much. however, since those fields are now significant because of the overflow, we should compare them too. this prevents sd16 being matched as the boot disk after sd0 on my system with 25 disks attached. sorry if this explanation sucks. Nope, no suck. Makes sense. Hackish solution, but likely the best one for right now. A quick egrep through /usr/src seems to indicate that the only parts of the kernel that really care are MD parts, and nothing really uses it in userland. Prime candidate to re-factor someday. ok? Index: dkcsum.c === RCS file: /cvs/src/sys/arch/amd64/amd64/dkcsum.c,v retrieving revision 1.15 diff -u -p -r1.15 dkcsum.c --- dkcsum.c 10 Dec 2008 23:41:19 - 1.15 +++ dkcsum.c 2 Dec 2010 05:08:25 - @@ -71,10 +71,13 @@ dkcsumattach(void) #ifdef DEBUG printf(dkcsum: bootdev=%#x\n, bootdev); - for (bdi = bios_diskinfo; bdi-bios_number != -1; bdi++) - if (bdi-bios_number 0x80) - printf(dkcsum: BIOS drive %#x checksum is %#x\n, - bdi-bios_number, bdi-checksum); + for (bdi = bios_diskinfo; bdi-bios_number != -1; bdi++) { + if (bdi-bios_number 0x80) { + printf(dkcsum: BIOS drive %#x bsd_dev=%#x + checksum=%#x\n, bdi-bios_number, bdi-bsd_dev, + bdi-checksum); + } + } #endif pribootdev = altbootdev = 0; @@ -180,7 +183,9 @@ dkcsumattach(void) */ /* B_TYPE dependent hd unit counting bootblocks */ - if ((B_TYPE(bootdev) == B_TYPE(hit-bsd_dev)) + if ((B_ADAPTOR(bootdev) == B_ADAPTOR(hit-bsd_dev)) + (B_CONTROLLER(bootdev) == B_CONTROLLER(hit-bsd_dev)) + (B_TYPE(bootdev) == B_TYPE(hit-bsd_dev)) (B_UNIT(bootdev) == B_UNIT(hit-bsd_dev))) { int type, ctrl, adap, part, unit; I'm likely late to the party, but it looks ok. And if it works, I really can't test this... then it's ok by me. --Toby.