From owner-p4-projects@FreeBSD.ORG Sun Jun 14 00:21:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CCA181065674; Sun, 14 Jun 2009 00:21:24 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8D325106566C for ; Sun, 14 Jun 2009 00:21:24 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 453388FC0C for ; Sun, 14 Jun 2009 00:21:24 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5E0LO9k098429 for ; Sun, 14 Jun 2009 00:21:24 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5E0LOJv098427 for perforce@freebsd.org; Sun, 14 Jun 2009 00:21:24 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 14 Jun 2009 00:21:24 GMT Message-Id: <200906140021.n5E0LOJv098427@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164311 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 00:21:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=164311 Change 164311 by pgj@petymeg-current on 2009/06/14 00:21:14 Fix a small bug Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#27 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#27 (text+ko) ==== @@ -673,30 +673,32 @@ extract_inet_address(NETSTAT_ADDRTYPE_INET_LOCAL, stp->st_name, &inp->inp_laddr, inp->inp_lport, inp->inp_vflag & INP_ANONPORT); + stp->st_addrcnt += 1; } #ifdef INET6 else if (inp->inp_vflag & INP_IPV6) { stp->st_address[stp->st_addrcnt] = extract_inet6_address(NETSTAT_ADDRTYPE_INET6_LOCAL, stp->st_name, &inp->in6p_laddr, inp->inp_lport); + stp->st_addrcnt += 1; } #endif - stp->st_addrcnt += 1; /* foreign address */ - if (inp->inp_vflag & INP_IPV6) { + if (inp->inp_vflag & INP_IPV4) { stp->st_address[stp->st_addrcnt] = extract_inet_address(NETSTAT_ADDRTYPE_INET_FOREIGN, stp->st_name, &inp->inp_faddr, inp->inp_fport, inp->inp_vflag & INP_ANONPORT); + stp->st_addrcnt += 1; } #ifdef INET6 else if (inp->inp_vflag & INP_IPV6) { stp->st_address[stp->st_addrcnt] = extract_inet6_address(NETSTAT_ADDRTYPE_INET6_FOREIGN, stp->st_name, &inp->in6p_faddr, inp->inp_fport); + stp->st_addrcnt += 1; } #endif - stp->st_addrcnt += 1; } struct addr_type * From owner-p4-projects@FreeBSD.ORG Sun Jun 14 00:28:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E81511065676; Sun, 14 Jun 2009 00:28:31 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A843C1065673 for ; Sun, 14 Jun 2009 00:28:31 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 94D078FC0C for ; Sun, 14 Jun 2009 00:28:31 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5E0SVvI099010 for ; Sun, 14 Jun 2009 00:28:31 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5E0SVHU099008 for perforce@freebsd.org; Sun, 14 Jun 2009 00:28:31 GMT (envelope-from anchie@FreeBSD.org) Date: Sun, 14 Jun 2009 00:28:31 GMT Message-Id: <200906140028.n5E0SVHU099008@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164312 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 00:28:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=164312 Change 164312 by anchie@anchie_malimis on 2009/06/14 00:27:44 Changing send-0.2 to support receiving of the incoming NS/A, RS/A and Redirect routing socket messages through the output hook (netinet6/send.c) Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#6 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/os_specific.h#3 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/proto.c#4 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#4 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#6 (text+ko) ==== @@ -47,7 +47,8 @@ #include "snd_proto.h" #include "dbg.h" -static int icmp6sock = -1; +static int icmp6sock = -1; +static int sndsock = -1; #ifdef DEBUG static struct dlog_desc dbg = { @@ -173,57 +174,52 @@ void snd_sock_read(void) { - struct sockaddr_in6 sin[1]; - struct sbuff *b; - uint8_t *type; - socklen_t slen; - - if (b = snd_get_buf()) == NULL) { - return; + char buf[2048]; + struct rt_msghdr *rtm; + struct if_announcemsghdr *ifan; + struct ip6_hdr *ip6; + struct mbuf *m; + int in = -1; + + n = read(sndsock, buf, sizeof(buf)); + if (n < 0) { + applog(LOG_ERR, "%s: read: %s", __FUNCTION__, strerror(errno)); + goto done; } - slen = sizeof(*sin); - if ((r = recvfrom(snds, b->hread, b->rem, 0, (void *)sin, &slen)) - < 0) { - applog(LOG_ERR, "%s: recvfrom: %s", __FUNCTION__, - strerror(errno)); + rtm = (struct rt_msghdr *) buf; + if (rtm->rtm_version != RTM_VERSION) { + applog(LOG_ERROR, "%s: Unsupported routing message version.", __FUNCTION__); goto done; } - b->len = r; - DBG(&dbg, "%d bytes from %s on IF %d", r, - inet_ntop(AF_INET6, &sin->sin6_addr, abuf, sizeof (abuf)), - sin->sin6_scope_id); + switch (rtm->rtm_type) { + case RTM_IFANNOUNCE: + /* XXX: Do we need this? */ + break: + case RTM_SND: + ifan = (struct if_announcemsghdr *) rtm; + switch (ifan->ifan_what) { + case RTM_SND_IN: + in = 1; - if (IN6_IS_ADDR_LOOPBACK(&sin->sin6_addr)) { - DBG(&dbg, "Dropping request from loopback"); - goto done; + /* n = RTM hdr + m as passed to nd6_ns_input() */ + m = (struct ip6_hdr *) &ifan[1]; - /* Further processing should be done according to snd_recv_pkt(). */ - type = sbuff_data(b); - switch (*type) { - case ND_NEIGHBOR_SOLICIT: - snd_handle_ns(b, sin, sin->sin6_scope_id); - break; - case ND_NEIGHBOR_ADVERT: - snd_handle_na(b, sin); - break; - case ND_ROUTER_SOLICIT: - snd_handle_rs(b, sin, sin->sin6_scope_id); - break; - case ND_ROUTER_ADVERT: - snd_process_ra(sbuff_data(b), r, sin->sin6_scope_id, - &sin->sin6_addr); - break; - case ND_REDIRECT: + /* ToDo: Extract ifidx. */ + snd_recv_pkt(m, ifidx, in); + break; + case RTM_SND_OUT: + break; + } break; default: - DBG(&dbg_snd, "Unhandled ICMP6 type %d", *type); - break; + applog(LOG_ERROR, "%s: Unsupported routing message type.", __FUNTCION__); + goto done; } done: - snd_put_buf(b); + /* ToDo: Free memory! */ } /* @@ -296,7 +292,6 @@ { int v; struct icmp6_filter filter; - struct icmp6_filter snd_filter; #ifdef DEBUG struct dlog_desc *dbgs[] = { &dbg, @@ -340,12 +335,6 @@ ICMP6_FILTER_SETPASS(ICMP6_SND_CPA, &filter); ICMP6_FILTER_SETPASS(ND_ROUTER_ADVERT, &filter); - ICMP6_FILTER_SETBLOCKALL(&snd_filter); - ICMP6_FILTER_SETPASS(ND_ROUTER_SOLICIT, &snd_filter); - ICMP6_FILTER_SETPASS(ND_ROUTER_ADVERT, &snd_filter); - ICMP6_FILTER_SETPASS(ND_NEIGHBOR_SOLICIT, &snd_filter); - ICMP6_FILTER_SETPASS(ND_NEIGHBOR_ADVERT, &snd_filter); - if (setsockopt(icmp6sock, IPPROTO_ICMPV6, ICMP6_FILTER, &filter, sizeof (filter)) < 0) { applog(LOG_ERR, "%s: setsockopt(ICMP6_FILTER): %s", @@ -353,10 +342,4 @@ return (-1); } - if (setsockopt(sndsock, IPPROTO_ICMPV6, ICMP6_FILTER, &snd_filter, - sizeof (snd_filter)) < 0) { - applog(LOG_ERR, "%s: setsockopt(ICMP6_FILTER): %s", - __FUNCTION__, strerror(errno)); - return (-1); - } } ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/os_specific.h#3 (text+ko) ==== @@ -36,7 +36,8 @@ #include #include -extern void snd_recv_pkt(struct sbuff *, int, int, void *); +/* extern void snd_recv_pkt(struct sbuff *, int, int, void *); */ +extern void snd_recv_pkt(struct sbuff *, int, int); extern int os_specific_add_addr(struct in6_addr *, int, int, uint32_t, uint32_t); ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/proto.c#4 (text+ko) ==== @@ -654,7 +654,8 @@ } void -snd_recv_pkt(struct sbuff *b, int ifidx, int in, void *pkt) +/* snd_recv_pkt(struct sbuff *b, int ifidx, int in, void *pkt) */ +snd_recv_pkt(struct sbuff *b, int ifidx, int in) { int tlen, drop = 0; int changed = 0; @@ -663,10 +664,11 @@ enum snd_pkt_decision r; void *start; struct ip6_hdr *iph; - +/* if (!snd_iface_ok_(ifidx)) { return; } +*/ start = sbuff_data(b); DBG(&dbg, "%s", in ? "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" : @@ -678,7 +680,7 @@ } memset(pi, 0, sizeof (*pi)); pi->b = b; - pi->os_pkt = pkt; + /* XXX: We don't need this anymore!! -> pi->os_pkt = pkt; */ pi->ifidx = ifidx; /* Save packet start and len */ @@ -766,7 +768,10 @@ drop = 1; done: b->data = start; - /* ToDo: The packet is here sent through netgraph. Change this! */ + /* + * ToDo: The packet is here sent through netgraph. Will be sent back + * to kernel through the input hook. + */ /* os_specific_deliver_pkt(pkt, b, drop, changed); */ } ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/sendd.c#4 (text+ko) ==== @@ -125,7 +125,6 @@ if (FD_ISSET(snds, fds)) { snd_sock_read(); } - /* snd_dispatch_fds(fds); */ /* os_specific_dispatch_fds(fds); */ snd_replace_non_cga_linklocals(); } From owner-p4-projects@FreeBSD.ORG Sun Jun 14 00:31:35 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2A7521065676; Sun, 14 Jun 2009 00:31:35 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DEC4C1065674 for ; Sun, 14 Jun 2009 00:31:34 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CC64D8FC25 for ; Sun, 14 Jun 2009 00:31:34 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5E0VYC6099271 for ; Sun, 14 Jun 2009 00:31:34 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5E0VYgn099269 for perforce@freebsd.org; Sun, 14 Jun 2009 00:31:34 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 14 Jun 2009 00:31:34 GMT Message-Id: <200906140031.n5E0VYgn099269@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164313 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 00:31:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=164313 Change 164313 by pgj@petymeg-current on 2009/06/14 00:30:39 Fix display of addresses Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#15 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#15 (text+ko) ==== @@ -930,10 +930,10 @@ char line[80], *cp; /* XXX: Respect numeric for getting name. */ - sprintf(line, "%.*s", Wflag ? 39 : (Aflag && !numeric) ? 12 : 16, + sprintf(line, "%.*s.", Wflag ? 39 : (Aflag && !numeric) ? 12 : 16, netstat_at_get_name(atp)); cp = index(line, '\0'); sprintf(cp, "%.15s ", netstat_at_get_portname(atp)); width = Wflag ? 45 : Aflag ? 18 : 22; - printf("%-*.*s", width, width, line); + printf("%-*.*s ", width, width, line); } From owner-p4-projects@FreeBSD.ORG Sun Jun 14 00:52:58 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1FA141065673; Sun, 14 Jun 2009 00:52:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1A371065670 for ; Sun, 14 Jun 2009 00:52:56 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BEC948FC1C for ; Sun, 14 Jun 2009 00:52:56 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5E0qurC011037 for ; Sun, 14 Jun 2009 00:52:56 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5E0qudP011035 for perforce@freebsd.org; Sun, 14 Jun 2009 00:52:56 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 14 Jun 2009 00:52:56 GMT Message-Id: <200906140052.n5E0qudP011035@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164314 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 00:52:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=164314 Change 164314 by pgj@petymeg-current on 2009/06/14 00:52:12 Fix port information storage and port name rendering Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#28 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#16 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#28 (text+ko) ==== @@ -743,12 +743,12 @@ C(in->s_addr)); } result = _netstat_at_allocate(type, address, NULL); - result->at_port = port; + result->at_port = ntohs(port); sp = getservbyport((int)port, proto); if ((sp != NULL || port == 0) && !anonport) sprintf(result->at_portname, "%.15s", sp ? sp->s_name : "*"); else - sprintf(result->at_portname, "%d", ntohs(port)); + sprintf(result->at_portname, "%d", result->at_port); return (result); #undef C ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#16 (text+ko) ==== @@ -933,7 +933,10 @@ sprintf(line, "%.*s.", Wflag ? 39 : (Aflag && !numeric) ? 12 : 16, netstat_at_get_name(atp)); cp = index(line, '\0'); - sprintf(cp, "%.15s ", netstat_at_get_portname(atp)); + if (numeric && (netstat_at_get_port(atp) > 0)) + sprintf(cp, "%d ", netstat_at_get_port(atp)); + else + sprintf(cp, "%.15s ", netstat_at_get_portname(atp)); width = Wflag ? 45 : Aflag ? 18 : 22; printf("%-*.*s ", width, width, line); } From owner-p4-projects@FreeBSD.ORG Sun Jun 14 01:31:37 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 506711065673; Sun, 14 Jun 2009 01:31:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F84C1065670 for ; Sun, 14 Jun 2009 01:31:36 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E62088FC18 for ; Sun, 14 Jun 2009 01:31:35 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5E1VZfq015245 for ; Sun, 14 Jun 2009 01:31:35 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5E1VZ0N015243 for perforce@freebsd.org; Sun, 14 Jun 2009 01:31:35 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 14 Jun 2009 01:31:35 GMT Message-Id: <200906140131.n5E1VZ0N015243@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164315 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 01:31:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=164315 Change 164315 by pgj@petymeg-current on 2009/06/14 01:30:40 Add numeric address representation to addr_type, use it in netstat Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#29 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#18 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#16 edit .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#18 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#17 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#29 (text+ko) ==== @@ -54,7 +54,8 @@ static void extract_inet_data(struct tcpcb *, struct inpcb *, struct xsocket *, struct socket_type *); -static char ntop_buf[INET6_ADDRSTRLEN]; +static char ntop_buf[INET_ADDRSTRLEN]; +static char ntop_buf6[INET6_ADDRSTRLEN]; static struct addr_type *extract_inet_address(int type, const char *proto, struct in_addr *in, u_short port, int anonport); @@ -604,6 +605,7 @@ _netstat_at_allocate(NETSTAT_ADDRTYPE_LOCAL, address, NULL); stp->st_address[stp->st_addrcnt]->at_port = 0; strcpy(stp->st_address[stp->st_addrcnt]->at_portname, "*"); + stp->st_address[stp->st_addrcnt]->at_numeric[0] = '\0'; stp->st_addrcnt += 1; } stp->st_tcpstate[0] = '\0'; @@ -706,7 +708,7 @@ u_short port, int anonport) { struct addr_type *result; - char address[256]; + char address[256], numeric[32]; struct hostent *hp; struct netent *np; struct servent *sp = NULL; @@ -732,17 +734,20 @@ } } if (in->s_addr == INADDR_ANY) + strcpy(numeric, "*"); + else + sprintf(numeric, "%s", inet_ntop(AF_INET, (void *)in, ntop_buf, + sizeof(ntop_buf))); + if (in->s_addr == INADDR_ANY) strcpy(address, "*"); - else if (cp) { + else if (cp) strlcpy(address, cp, sizeof(address)); - } else { - in->s_addr = ntohl(in->s_addr); -#define C(x) ((u_int)((x) & 0xff)) - sprintf(address, "%u.%u.%u.%u", C(in->s_addr >> 24), - C(in->s_addr >> 16), C(in->s_addr >> 8), - C(in->s_addr)); - } + else + strlcpy(address, numeric, sizeof(address)); result = _netstat_at_allocate(type, address, NULL); + if (result == NULL) + return (result); + strlcpy(result->at_numeric, numeric, sizeof(result->at_numeric)); result->at_port = ntohs(port); sp = getservbyport((int)port, proto); if ((sp != NULL || port == 0) && !anonport) @@ -751,7 +756,6 @@ sprintf(result->at_portname, "%d", result->at_port); return (result); -#undef C } struct addr_type * @@ -759,7 +763,7 @@ u_short port) { struct addr_type *result; - char address[256], domain[MAXHOSTNAMELEN]; + char address[256], numeric[32], domain[MAXHOSTNAMELEN]; struct hostent *hp; struct servent *sp = NULL; char *cp; @@ -780,15 +784,21 @@ } } if (IN6_IS_ADDR_UNSPECIFIED(in)) + strcpy(numeric, "*"); + else + sprintf(numeric, "%s", inet_ntop(AF_INET6, (void *)in, + ntop_buf6, sizeof(ntop_buf6))); + if (IN6_IS_ADDR_UNSPECIFIED(in)) strcpy(address, "*"); else if (cp) strcpy(address, cp); else - sprintf(address, "%s", - inet_ntop(AF_INET6, (void *)in, ntop_buf, - sizeof(ntop_buf))); + strlcpy(address, numeric, sizeof(address)); result = _netstat_at_allocate(type, address, NULL); + if (result == NULL) + return (result); + strlcpy(result->at_numeric, numeric, sizeof(result->at_numeric)); result->at_port = port; sp = getservbyport((int)port, proto); if (sp != NULL || port == 0) ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.h#18 (text+ko) ==== @@ -92,6 +92,7 @@ int index); const char *netstat_at_get_name(const struct addr_type *atp); +const char *netstat_at_get_numeric(const struct addr_type *atp); void netstat_at_get_address(const struct addr_type *atp, void *addr); u_short netstat_at_get_port(const struct addr_type *atp); ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_internal.h#16 (text+ko) ==== @@ -22,6 +22,8 @@ /* XXX: this should be an enum? */ int at_type; char at_name[1024]; + /* numeric representation */ + char at_numeric[32]; void *at_address; u_short at_port; char at_portname[32]; ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat_util.c#18 (text+ko) ==== @@ -504,6 +504,12 @@ return (atp->at_name); } +const char * +netstat_at_get_numeric(const struct addr_type *atp) +{ + return (atp->at_numeric); +} + void netstat_at_get_address(const struct addr_type *atp, void *addr) { ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/inet.c#17 (text+ko) ==== @@ -929,8 +929,8 @@ int width; char line[80], *cp; - /* XXX: Respect numeric for getting name. */ sprintf(line, "%.*s.", Wflag ? 39 : (Aflag && !numeric) ? 12 : 16, + numeric_addr ? netstat_at_get_numeric(atp) : netstat_at_get_name(atp)); cp = index(line, '\0'); if (numeric && (netstat_at_get_port(atp) > 0)) From owner-p4-projects@FreeBSD.ORG Sun Jun 14 06:43:53 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9D5AB1065673; Sun, 14 Jun 2009 06:43:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D3DB106566C for ; Sun, 14 Jun 2009 06:43:53 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2AE998FC22 for ; Sun, 14 Jun 2009 06:43:53 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5E6hrd4059773 for ; Sun, 14 Jun 2009 06:43:53 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5E6hrml059771 for perforce@freebsd.org; Sun, 14 Jun 2009 06:43:53 GMT (envelope-from mav@freebsd.org) Date: Sun, 14 Jun 2009 06:43:53 GMT Message-Id: <200906140643.n5E6hrml059771@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164322 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 06:43:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=164322 Change 164322 by mav@mav_mavbook on 2009/06/14 06:43:45 Give SATA SIM information about PM probe result. It allows to avoid some reset command timeouts. Fix some probing issues. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#19 edit .. //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#22 edit .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#26 edit .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#12 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#19 (text+ko) ==== @@ -650,7 +650,7 @@ if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { int sign = (done_ccb->ataio.res.lba_high << 8) + done_ccb->ataio.res.lba_mid; - printf("SIGNATURE: %04x\n", sign); + xpt_print(path, "SIGNATURE: %04x\n", sign); if (sign == 0x0000 && done_ccb->ccb_h.target_id != 15) { path->device->protocol = PROTO_ATA; @@ -664,8 +664,10 @@ path->device->protocol = PROTO_SCSI; PROBE_SET_ACTION(softc, PROBE_IDENTIFY); } else { - xpt_print(path, - "Unexpected signature 0x%04x\n", sign); + if (done_ccb->ccb_h.target_id != 15) { + xpt_print(path, + "Unexpected signature 0x%04x\n", sign); + } xpt_release_ccb(done_ccb); break; } @@ -945,6 +947,7 @@ if (softc->pm_pid == 0x47261095 && softc->pm_ports == 7) softc->pm_ports = 5; printf("PM ports: %d\n", softc->pm_ports); + softc->pm_step = 0; PROBE_SET_ACTION(softc, PROBE_PM_RESET); xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); @@ -972,6 +975,7 @@ } else { softc->pm_step = 0; DELAY(5000); + printf("PM reset done\n"); PROBE_SET_ACTION(softc, PROBE_PM_CONNECT); xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); @@ -999,7 +1003,9 @@ return; } else { softc->pm_step = 0; + softc->pm_try = 0; softc->pm_found = 0x8000; + printf("PM connect done\n"); PROBE_SET_ACTION(softc, PROBE_PM_CHECK); xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); @@ -1025,15 +1031,17 @@ (done_ccb->ataio.res.lba_low << 8) + done_ccb->ataio.res.sector_count; if ((res & 0xf0f) == 0x103 && (res & 0x0f0) != 0) { - printf("PM found: %d - %08x\n", softc->pm_step, res); + printf("PM status: %d - %08x\n", softc->pm_step, res); softc->pm_found |= (1 << softc->pm_step); softc->pm_step++; } else { if (softc->pm_try < 100) { DELAY(10000); softc->pm_try++; - } else + } else { + printf("PM status: %d - %08x\n", softc->pm_step, res); softc->pm_step++; + } } if (softc->pm_step < softc->pm_ports) { xpt_release_ccb(done_ccb); @@ -1145,6 +1153,7 @@ struct cam_path *path; ata_scan_bus_info *scan_info; union ccb *work_ccb; + struct ccb_trans_settings cts; cam_status status; CAM_DEBUG(request_ccb->ccb_h.path, CAM_DEBUG_TRACE, @@ -1180,7 +1189,14 @@ scan_info->request_ccb = request_ccb; scan_info->cpi = &work_ccb->cpi; scan_info->found = 0x8001; - + /* Report SIM that we have no knowledge about PM presence. */ + bzero(&cts, sizeof(cts)); + xpt_setup_ccb(&cts.ccb_h, scan_info->request_ccb->ccb_h.path, 1); + cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; + cts.type = CTS_TYPE_CURRENT_SETTINGS; + cts.xport_specific.sata.pm_present = 0; + cts.xport_specific.sata.valid = CTS_SATA_VALID_PM; + xpt_action((union ccb *)&cts); /* If PM supported, probe it first. */ if (scan_info->cpi->hba_inquiry & PI_SATAPM) scan_info->counter = 15; @@ -1203,8 +1219,17 @@ */ xpt_free_path(work_ccb->ccb_h.path); if (scan_info->counter == 15 && - work_ccb->ccb_h.ppriv_field1 != 0) + work_ccb->ccb_h.ppriv_field1 != 0) { scan_info->found = work_ccb->ccb_h.ppriv_field1; + /* Report SIM that PM is present. */ + bzero(&cts, sizeof(cts)); + xpt_setup_ccb(&cts.ccb_h, scan_info->request_ccb->ccb_h.path, 1); + cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS; + cts.type = CTS_TYPE_CURRENT_SETTINGS; + cts.xport_specific.sata.pm_present = 1; + cts.xport_specific.sata.valid = CTS_SATA_VALID_PM; + xpt_action((union ccb *)&cts); + } take_next: /* Take next device. Wrap from 15 (PM) to 0. */ scan_info->counter = (scan_info->counter + 1 ) & 0x0f; ==== //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#22 (text+ko) ==== @@ -216,6 +216,7 @@ PROTO_SCSI, /* Small Computer System Interface */ PROTO_ATA, /* AT Attachment */ PROTO_ATAPI, /* AT Attachment Packetized Interface */ + PROTO_SATAPM, /* SATA Port Multiplier */ } cam_proto; typedef enum { @@ -503,6 +504,7 @@ PI_WIDE_16 = 0x20, /* Supports 16 bit wide SCSI */ PI_SDTR_ABLE = 0x10, /* Supports SDTR message */ PI_LINKED_CDB = 0x08, /* Supports linked CDBs */ + PI_SATAPM = 0x04, /* Supports SATA PM */ PI_TAG_ABLE = 0x02, /* Supports tag queue messages */ PI_SOFT_RST = 0x01 /* Supports soft reset alternative */ } pi_inqflag; @@ -778,8 +780,10 @@ struct ccb_trans_settings_sata { u_int valid; /* Which fields to honor */ -#define CTS_SATA_VALID_SPEED 0x1000 +#define CTS_SATA_VALID_SPEED 0x01 +#define CTS_SATA_VALID_PM 0x02 u_int32_t bitrate; /* Mbps */ + u_int pm_present; /* PM is present (XPT->SIM) */ }; /* Get/Set transfer rate/width/disconnection/tag queueing settings */ ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#26 (text+ko) ==== @@ -1256,8 +1256,8 @@ ATA_OUTL(ch->r_mem, AHCI_P_IS, 0xFFFFFFFF); /* Start operations on this channel */ cmd = ATA_INL(ch->r_mem, AHCI_P_CMD); - ATA_OUTL(ch->r_mem, AHCI_P_CMD, cmd | AHCI_P_CMD_ST | AHCI_P_CMD_PMA); -// (ch->devices & ATA_PORTMULTIPLIER ? AHCI_P_CMD_PMA : 0)); + ATA_OUTL(ch->r_mem, AHCI_P_CMD, cmd | AHCI_P_CMD_ST | + (ch->pm_present ? AHCI_P_CMD_PMA : 0)); } static void @@ -1556,10 +1556,16 @@ xpt_done(ccb); break; case XPT_SET_TRAN_SETTINGS: - /* XXX Implement */ - ccb->ccb_h.status = CAM_PROVIDE_FAIL; + { + struct ccb_trans_settings *cts = &ccb->cts; + + if (cts->xport_specific.sata.valid & CTS_SATA_VALID_PM) { + ch->pm_present = cts->xport_specific.sata.pm_present; + } + ccb->ccb_h.status = CAM_REQ_CMP; xpt_done(ccb); break; + } case XPT_GET_TRAN_SETTINGS: /* Get default/user set transfer settings for the target */ { @@ -1571,19 +1577,29 @@ cts->transport = XPORT_SATA; cts->transport_version = 2; cts->proto_specific.valid = 0; - cts->xport_specific.sata.valid = CTS_SATA_VALID_SPEED; + cts->xport_specific.sata.valid = 0; if (cts->type == CTS_TYPE_CURRENT_SETTINGS) status = ATA_INL(ch->r_mem, AHCI_P_SSTS) & ATA_SS_SPD_MASK; else - status = ATA_INL(ch->r_mem, AHCI_P_SSTS) & ATA_SC_SPD_MASK; - if (status & ATA_SS_SPD_GEN3) + status = ATA_INL(ch->r_mem, AHCI_P_SCTL) & ATA_SC_SPD_MASK; + if (status & ATA_SS_SPD_GEN3) { cts->xport_specific.sata.bitrate = 600000; - else if (status & ATA_SS_SPD_GEN2) + cts->xport_specific.sata.valid |= CTS_SATA_VALID_SPEED; + } else if (status & ATA_SS_SPD_GEN2) { cts->xport_specific.sata.bitrate = 300000; - else if (status & ATA_SS_SPD_GEN1) + cts->xport_specific.sata.valid |= CTS_SATA_VALID_SPEED; + } else if (status & ATA_SS_SPD_GEN1) { cts->xport_specific.sata.bitrate = 150000; - else - cts->xport_specific.sata.valid = 0; + cts->xport_specific.sata.valid |= CTS_SATA_VALID_SPEED; + } + if (cts->type == CTS_TYPE_CURRENT_SETTINGS) { + cts->xport_specific.sata.pm_present = + (ATA_INL(ch->r_mem, AHCI_P_CMD) & AHCI_P_CMD_PMA) ? + 1 : 0; + } else { + cts->xport_specific.sata.pm_present = ch->pm_present; + } + cts->xport_specific.sata.valid |= CTS_SATA_VALID_PM; ccb->ccb_h.status = CAM_REQ_CMP; xpt_done(ccb); break; ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#12 (text+ko) ==== @@ -342,6 +342,7 @@ struct ahci_slot slot[AHCI_MAX_SLOTS]; struct mtx mtx; /* state lock */ int devices; /* What is present */ + int pm_present; /* PM presence reported */ uint32_t rslots; /* Running slots */ uint32_t aslots; /* Slots with atomic commands */ int numrslots; /* Number of running slots */ From owner-p4-projects@FreeBSD.ORG Sun Jun 14 09:38:55 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D3791065672; Sun, 14 Jun 2009 09:38:55 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF612106564A for ; Sun, 14 Jun 2009 09:38:54 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DDC028FC26 for ; Sun, 14 Jun 2009 09:38:54 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5E9cs38086889 for ; Sun, 14 Jun 2009 09:38:54 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5E9csID086887 for perforce@freebsd.org; Sun, 14 Jun 2009 09:38:54 GMT (envelope-from mav@freebsd.org) Date: Sun, 14 Jun 2009 09:38:54 GMT Message-Id: <200906140938.n5E9csID086887@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164325 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 09:38:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=164325 Change 164325 by mav@mav_mavbook on 2009/06/14 09:38:08 Look on error status while polling for reset. It allows to reduce waiting in some cases. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#27 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#27 (text+ko) ==== @@ -1085,10 +1085,20 @@ DELAY(1000); if (!(ATA_INL(ch->r_mem, AHCI_P_CI) & (1 << slot->slot))) break; + if (ATA_INL(ch->r_mem, AHCI_P_TFD) & ATA_S_ERROR) { + device_printf(ch->dev, + "Poll error on slot %d, TFD: %04x\n", + slot->slot, ATA_INL(ch->r_mem, AHCI_P_TFD)); + et = AHCI_ERR_REAL; + break; + } } if (timeout && (count >= timeout)) { -device_printf(ch->dev, "Poll timeout on slot %d\n", slot->slot); + device_printf(ch->dev, + "Poll timeout on slot %d\n", slot->slot); et = CAM_CMD_TIMEOUT; + } + if (et != AHCI_ERR_NONE) { /* Kick controller into sane state */ ahci_stop(ch->dev); ahci_clo(ch->dev); From owner-p4-projects@FreeBSD.ORG Sun Jun 14 10:49:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BCA101065677; Sun, 14 Jun 2009 10:49:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 76D1E1065673 for ; Sun, 14 Jun 2009 10:49:06 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 637EE8FC28 for ; Sun, 14 Jun 2009 10:49:06 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EAn63D094653 for ; Sun, 14 Jun 2009 10:49:06 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EAn6gt094651 for perforce@freebsd.org; Sun, 14 Jun 2009 10:49:06 GMT (envelope-from trasz@freebsd.org) Date: Sun, 14 Jun 2009 10:49:06 GMT Message-Id: <200906141049.n5EAn6gt094651@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 164326 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 10:49:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=164326 Change 164326 by trasz@trasz_victim on 2009/06/14 10:48:25 Working resource accounting retrieval. Affected files ... .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/Symbol.map#3 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#8 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#7 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/proc.h#4 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/resourcevar.h#3 edit .. //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#7 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/lib/libc/sys/Symbol.map#3 (text) ==== @@ -357,8 +357,7 @@ setfib; symlinkat; unlinkat; - hrl_get; - hrl_set; + hrl; }; FBSDprivate_1.0 { ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#8 (text+ko) ==== @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -107,7 +108,8 @@ /* * XXX: Obviously wrong, fix later. */ - p->p_resources[resource] += amount; + p->p_accounting.ha_resources[resource] += amount; + p->p_ucred->cr_ruidinfo->ui_accounting.ha_resources[resource] += amount; /* * XXX: When denying, return proper errno - EFSIZ, ENOMEM etc. @@ -119,6 +121,12 @@ int hrl_allocated_proc(struct proc *p, int resource, uint64_t amount) { + int64_t diff; + + diff = amount - p->p_accounting.ha_resources[resource]; + p->p_accounting.ha_resources[resource] += diff; + p->p_ucred->cr_ruidinfo->ui_accounting.ha_resources[resource] += diff; + /* * XXX: Make sure process can lower its resource consumption, * even when already above the limit. @@ -133,7 +141,8 @@ KASSERT(amount > 0, ("invalid amount")); - p->p_resources[resource] -= amount; + p->p_accounting.ha_resources[resource] -= amount; + p->p_ucred->cr_ruidinfo->ui_accounting.ha_resources[resource] -= amount; } int @@ -221,7 +230,7 @@ static int hrl_get_rules(struct thread *td, void *bufp, size_t buflen) { - int error, copied = 0; + int error = 0, copied = 0; struct hrl_rule *buf; struct hrl_node *node; @@ -266,23 +275,78 @@ return (error); } +static int +hrl_get_acc_pid(struct thread *td, id_t pid, void *bufp, size_t buflen) +{ + int error; + struct proc *p; + + if ((p = pfind(pid)) == NULL) { + if ((p = zpfind(pid)) == NULL) + return (ESRCH); + } + error = copyout(&p->p_accounting, bufp, sizeof(p->p_accounting)); + PROC_UNLOCK(p); + + return (error); +} + +static int +hrl_get_acc_uid(struct thread *td, id_t pid, void *bufp, size_t buflen) +{ + int error; + struct uidinfo *uip; + + uip = uifind(pid); + if (uip == NULL) + return (ESRCH); + error = copyout(&uip->ui_accounting, bufp, sizeof(uip->ui_accounting)); + uifree(uip); + + return (error); +} + int hrl(struct thread *td, struct hrl_args *uap) { - switch (uap->op) { - case HRL_OP_GET_RULES: + int error; + id_t id; + + if (uap->op == HRL_OP_GET_RULES) return (hrl_get_rules(td, uap->outbufp, uap->outbuflen)); - case HRL_OP_GET_ACC_PID: - return (hrl_get_acc_pid(td, uap->outbufp, uap->outbuflen)); - default: + + if (uap->inbuflen != sizeof(id_t)) + return (EINVAL); + + error = copyin(uap->inbufp, &id, sizeof(id_t)); + if (error) + return (error); + + if (id <= 0) return (EINVAL); - } + + if (uap->outbuflen < sizeof(struct hrl_acc)) + return (EFBIG); + + if (uap->op == HRL_OP_GET_ACC_PID) + return (hrl_get_acc_pid(td, id, uap->outbufp, uap->outbuflen)); + + if (uap->op == HRL_OP_GET_ACC_UID) + return (hrl_get_acc_uid(td, id, uap->outbufp, uap->outbuflen)); + + return (EINVAL); } static void hrl_proc_exit(void *arg __unused, struct proc *p) { + int i; struct hrl_node *node, *next; + struct uidinfo *uip; + + uip = p->p_ucred->cr_ruidinfo; + for (i = 0; i < HRL_RESOURCE_MAX + 1; i++) + uip->ui_accounting.ha_resources[i] -= p->p_accounting.ha_resources[i]; /* * Remove temporary rules created via setrlimit(2). ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#7 (text+ko) ==== @@ -90,13 +90,21 @@ #define HRL_ACTION_SIGXFSZ 0x0009 #define HRL_ACTION_MAX HRL_ACTION_SIGXFSZ -#define HRL_MAX_LIMITS 128 +#define HRL_MAX_LIMITS 1024 #define HRL_OP_GET_RULES 1 #define HRL_OP_GET_ACC_PID 2 #define HRL_OP_GET_ACC_UID 3 #define HRL_OP_GET_ACC_GID 4 +/* + * 'hrl_acc' defines resource consumption for a particular + * object, such as process or user. + */ +struct hrl_acc { + int64_t ha_resources[HRL_RESOURCE_MAX + 1]; +}; + #ifdef _KERNEL struct proc; ==== //depot/projects/soc2009/trasz_limits/sys/sys/proc.h#4 (text+ko) ==== @@ -513,6 +513,7 @@ int p_boundary_count;/* (c) Num threads at user boundary */ int p_pendingcnt; /* how many signals are pending */ struct itimers *p_itimers; /* (c) POSIX interval timers. */ + struct hrl_acc p_accounting; /* (*) HRL resource accounting */ /* End area that is zeroed on creation. */ #define p_endzero p_magic @@ -546,7 +547,6 @@ LIST_HEAD(, mqueue_notifier) p_mqnotifier; /* (c) mqueue notifiers.*/ struct kdtrace_proc *p_dtrace; /* (*) DTrace-specific data. */ struct cv p_pwait; /* (*) wait cv for exit/exec */ - int64_t p_resources[HRL_RESOURCE_MAX + 1]; }; #define p_session p_pgrp->pg_session ==== //depot/projects/soc2009/trasz_limits/sys/sys/resourcevar.h#3 (text+ko) ==== @@ -95,7 +95,7 @@ long ui_ptscnt; /* (b) number of pseudo-terminals */ uid_t ui_uid; /* (a) uid */ u_int ui_ref; /* (b) reference count */ - int64_t ui_resources[HRL_RESOURCE_MAX + 1]; + struct hrl_acc ui_accounting; /* (*) HRL resource accounting */ }; struct proc; ==== //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#7 (text+ko) ==== @@ -248,9 +248,9 @@ err(1, "realloc"); error = hrl(HRL_OP_GET_RULES, NULL, 0, rules, ruleslen); - if (error != 0 && error != EFBIG) - err(1, "hrl_get"); - } while (error == EFBIG); + if (error && errno != EFBIG) + err(1, "hrl"); + } while (error && errno == EFBIG); printf("Defined resource limits:\n"); @@ -282,46 +282,19 @@ static void print_accounting(int op, id_t id) { - int error; - size_t ruleslen, i; - struct hrl_rule *rules = NULL; + int error, i; + struct hrl_acc acc; - ruleslen = BUFLEN_DEFAULT / 4; - do { - ruleslen *= 4; - rules = realloc(rules, ruleslen); - if (rules == NULL) - err(1, "realloc"); - - error = hrl(op, &id, sizeof(id), rules, ruleslen); - if (error != 0 && error != EFBIG) - err(1, "hrl_get"); - } while (error == EFBIG); + error = hrl(op, &id, sizeof(id), &acc, sizeof(acc)); + if (error) + err(1, "hrl"); printf("Resource utilisation:\n"); - if (rules[0].hr_subject == 0) { - printf("No resource utilisation recorded.\n"); - - return; - } - - for (i = 0; i < ruleslen / sizeof(*rules); i++) { - /* NULL entry terminating the table? */ - if (rules[i].hr_subject == 0) - break; - print_subject(rules[i].hr_subject, rules[i].hr_subject_id); - printf(":"); - print_resource(rules[i].hr_resource); - printf(":"); - print_action(rules[i].hr_action); + for (i = 1; i < HRL_RESOURCE_MAX + 1; i++) { + print_resource(i); printf("="); - printf("%jd", rules[i].hr_amount); - if (rules[i].hr_subject != rules[i].hr_per) { - printf("/"); - print_per(rules[i].hr_per); - } - printf("\n"); + printf("%jd\n", acc.ha_resources[i]); } } From owner-p4-projects@FreeBSD.ORG Sun Jun 14 11:01:20 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B09DB1065670; Sun, 14 Jun 2009 11:01:19 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4DBBB106566B for ; Sun, 14 Jun 2009 11:01:19 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1EF138FC08 for ; Sun, 14 Jun 2009 11:01:19 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EB1JrK095563 for ; Sun, 14 Jun 2009 11:01:19 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EB1IAx095561 for perforce@freebsd.org; Sun, 14 Jun 2009 11:01:19 GMT (envelope-from mav@freebsd.org) Date: Sun, 14 Jun 2009 11:01:19 GMT Message-Id: <200906141101.n5EB1IAx095561@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164327 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 11:01:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=164327 Change 164327 by mav@mav_mavbook on 2009/06/14 11:00:31 Allow maximum speed to be controlled via loader tunable. Limit default for for my onboard JMicron HBA's external port, which is not really eSATA capable. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#28 edit .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#13 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#28 (text+ko) ==== @@ -510,6 +510,15 @@ ch->numslots = ((ch->caps & AHCI_CAP_NCS) >> AHCI_CAP_NCS_SHIFT) + 1, resource_int_value(device_get_name(dev), device_get_unit(dev), "pm_level", &ch->pm_level); + /* Limit speed for my onboard JMicron external port. + * It is not eSATA really. */ + if (pci_get_devid(ctlr->dev) == 0x2363197b && + pci_get_subvendor(ctlr->dev) == 0x1043 && + pci_get_subdevice(ctlr->dev) == 0x81e4 && + ch->unit == 0) + ch->sata_rev = 1; + resource_int_value(device_get_name(dev), + device_get_unit(dev), "sata_rev", &ch->sata_rev); mtx_init(&ch->mtx, "AHCI channel lock", NULL, MTX_DEF); rid = ch->unit; if (!(ch->r_mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY, @@ -1517,8 +1526,16 @@ ATA_OUTL(ch->r_mem, AHCI_P_SCTL, ATA_SC_IPM_DIS_PARTIAL | ATA_SC_IPM_DIS_SLUMBER | ATA_SC_DET_RESET); DELAY(50000); + if (ch->sata_rev == 1) + val = ATA_SC_SPD_SPEED_GEN1; + else if (ch->sata_rev == 2) + val = ATA_SC_SPD_SPEED_GEN2; + else if (ch->sata_rev == 3) + val = ATA_SC_SPD_SPEED_GEN3; + else + val = 0; ATA_OUTL(ch->r_mem, AHCI_P_SCTL, - ATA_SC_DET_IDLE | ATA_SC_SPD_SPEED_GEN1 | ((ch->pm_level > 0) ? 0 : + ATA_SC_DET_IDLE | val | ((ch->pm_level > 0) ? 0 : (ATA_SC_IPM_DIS_PARTIAL | ATA_SC_IPM_DIS_SLUMBER))); DELAY(50000); return (ahci_sata_connect(ch)); ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#13 (text+ko) ==== @@ -338,6 +338,7 @@ uint32_t caps; /* Controller capabilities */ int numslots; /* Number of present slots */ int pm_level; /* power management level */ + int sata_rev; /* Maximum allowed SATA generation */ struct ahci_slot slot[AHCI_MAX_SLOTS]; struct mtx mtx; /* state lock */ From owner-p4-projects@FreeBSD.ORG Sun Jun 14 12:01:20 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5AC431065688; Sun, 14 Jun 2009 12:01:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1A2171065692 for ; Sun, 14 Jun 2009 12:01:20 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 07B3D8FC24 for ; Sun, 14 Jun 2009 12:01:20 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EC1JhS001056 for ; Sun, 14 Jun 2009 12:01:19 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EC1J4b001054 for perforce@freebsd.org; Sun, 14 Jun 2009 12:01:19 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 14 Jun 2009 12:01:19 GMT Message-Id: <200906141201.n5EC1J4b001054@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164328 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 12:01:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=164328 Change 164328 by pgj@petymeg-current on 2009/06/14 12:01:11 - Fix up some small problems with querying active connections - Add a "fixme" note about lazy domain/port name resolution Affected files ... .. //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#30 edit .. //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#9 edit Differences ... ==== //depot/projects/soc2009/pgj_libstat/src/lib/libnetstat/netstat.c#30 (text+ko) ==== @@ -205,6 +205,12 @@ ) continue; +#ifdef INET6 + if ((family == PF_INET && ((inp->inp_vflag & INP_IPV4) == 0)) || + (family == PF_INET6 && ((inp->inp_vflag & INP_IPV6) == 0))) + continue; +#endif + if ((flags & NETSTAT_SOCKET_ALL) == 0 && ( (protocol == IPPROTO_TCP && tp->t_state == TCPS_LISTEN) @@ -461,7 +467,7 @@ else NPCB_SCT(inet, domain, protocol, list, flags); break; - /* All PF_INET */ + /* All PF_INET, PF_INET6 */ case 0: /* Errors do not count here. */ if (use_kvm) { @@ -703,6 +709,7 @@ #endif } +/* XXX: Add support for "lazy" domain and port name resolution. */ struct addr_type * extract_inet_address(int type, const char *proto, struct in_addr *in, u_short port, int anonport) @@ -758,6 +765,7 @@ return (result); } +/* XXX: Add support for "lazy" domain and port name resolution. */ struct addr_type * extract_inet6_address(int type, const char *proto, struct in6_addr *in, u_short port) ==== //depot/projects/soc2009/pgj_libstat/src/usr.bin/netstat/main.c#9 (text+ko) ==== @@ -561,14 +561,6 @@ printproto(tp, tp->pr_name); exit(0); } - if (af == AF_INET) - for (tp = protox; tp->pr_name; tp++) - printproto(tp, tp->pr_name); -#ifdef INET6 - if (af == AF_INET6) - for (tp = ip6protox; tp->pr_name; tp++) - printproto(tp, tp->pr_name); -#endif /*INET6*/ #ifdef IPSEC if (af == PF_KEY || af == AF_UNSPEC) for (tp = pfkeyprotox; tp->pr_name; tp++) @@ -590,7 +582,11 @@ #endif /* NETGRAPH */ if (af == AF_UNIX && !sflag) unixpr(kvmd); - if (af == AF_UNSPEC) { + if (af == AF_UNSPEC || af == AF_INET +#ifdef INET6 + || af == AF_INET6 +#endif + ) { stlp = netstat_stl_alloc(); if (stlp == NULL) { warn("netstat_stl_alloc"); @@ -605,7 +601,7 @@ * There should be guaranteed that sockets are not mixed (i.e. * they are coming ordered by family/protocol). */ - if (netstat_socket(PF_UNSPEC, 0, 0, stlp, st_flags, + if (netstat_socket(af, 0, 0, stlp, st_flags, kvmd) < 0) { error = netstat_stl_geterror(stlp); if (error == NETSTAT_ERROR_KVM) From owner-p4-projects@FreeBSD.ORG Sun Jun 14 12:02:22 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E5DB3106567E; Sun, 14 Jun 2009 12:02:21 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4B0FA1065706 for ; Sun, 14 Jun 2009 12:02:21 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 32E5D8FC1E for ; Sun, 14 Jun 2009 12:02:21 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EC2LPf001120 for ; Sun, 14 Jun 2009 12:02:21 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EC2LO1001118 for perforce@freebsd.org; Sun, 14 Jun 2009 12:02:21 GMT (envelope-from mav@freebsd.org) Date: Sun, 14 Jun 2009 12:02:21 GMT Message-Id: <200906141202.n5EC2LO1001118@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164329 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 12:02:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=164329 Change 164329 by mav@mav_mavbook on 2009/06/14 12:01:41 Plug paths leak on bus scan. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#20 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#20 (text+ko) ==== @@ -1213,13 +1213,12 @@ work_ccb = request_ccb; /* Reuse the same CCB to query if a device was really found */ scan_info = (ata_scan_bus_info *)work_ccb->ccb_h.ppriv_ptr0; - - /* - * Free the current request path- we're done with it. - */ + /* Free the current request path- we're done with it. */ xpt_free_path(work_ccb->ccb_h.path); + /* If there is PM... */ if (scan_info->counter == 15 && work_ccb->ccb_h.ppriv_field1 != 0) { + /* Save PM probe result. */ scan_info->found = work_ccb->ccb_h.ppriv_field1; /* Report SIM that PM is present. */ bzero(&cts, sizeof(cts)); @@ -1260,6 +1259,7 @@ } if ((scan_info->found & (1 << scan_info->counter)) == 0) { xpt_async(AC_LOST_DEVICE, path, NULL); + xpt_free_path(path); goto take_next; } xpt_setup_ccb(&work_ccb->ccb_h, path, From owner-p4-projects@FreeBSD.ORG Sun Jun 14 12:03:26 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 34F6810656EF; Sun, 14 Jun 2009 12:03:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F23D10656ED for ; Sun, 14 Jun 2009 12:03:22 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 44C268FC1F for ; Sun, 14 Jun 2009 12:03:22 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EC3Mej002141 for ; Sun, 14 Jun 2009 12:03:22 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EC3MMA002139 for perforce@freebsd.org; Sun, 14 Jun 2009 12:03:22 GMT (envelope-from gabor@freebsd.org) Date: Sun, 14 Jun 2009 12:03:22 GMT Message-Id: <200906141203.n5EC3MMA002139@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 164330 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 12:03:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=164330 Change 164330 by gabor@gabor_server on 2009/06/14 12:03:11 - Delete current layout in prepatation for some layout changes Affected files ... .. //depot/projects/soc2009/gabor_iconv/extracted/lib/Makefile#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/_iconv.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/_strtol.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/_strtoul.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_aliasname_local.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_bcs.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_bcs.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_bcs_strtol.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_bcs_strtoul.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_csmapper.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_csmapper.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_ctype.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_ctype.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_ctype_fallback.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_ctype_fallback.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_ctype_local.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_ctype_template.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_db.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_db.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_db_factory.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_db_factory.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_db_file.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_db_hash.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_db_hash.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_esdb.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_esdb.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_esdb_file.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_fix_grouping.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_hash.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_hash.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_iconv.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_iconv.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_iconv_local.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_lookup.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_lookup.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_lookup_factory.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_lookup_factory.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_lookup_file.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_mapper.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_mapper.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_mapper_local.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_memstream.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_memstream.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_mmap.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_mmap.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_module.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_module.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_namespace.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_none.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_none.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_pivot_factory.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_pivot_factory.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_pivot_file.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_prop.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_prop.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_region.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_stdenc.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_stdenc.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_stdenc_local.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_stdenc_template.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/citrus_types.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/iconv.3#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/iconv.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/iconv.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/build.sh#3 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_big5.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_big5.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_dechanyu.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_dechanyu.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_euc.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_euc.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_euctw.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_euctw.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_gbk2k.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_gbk2k.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_hz.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_hz.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_iconv_none.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_iconv_none.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_iconv_std.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_iconv_std.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_iconv_std_local.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_iso2022.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_iso2022.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_johab.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_johab.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mapper_646.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mapper_646.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mapper_none.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mapper_none.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mapper_serial.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mapper_serial.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mapper_std.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mapper_std.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mapper_std_file.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mapper_std_local.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mapper_zone.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mapper_zone.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mskanji.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_mskanji.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_ues.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_ues.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_utf1632.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_utf1632.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_utf7.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_utf7.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_utf8.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_utf8.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_viqr.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_viqr.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_zw.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/modules/citrus_zw.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/lib/netbsdism.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ARMSCII-8.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ARMSCII-8.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ASCII.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ATARIST.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-2003.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-2003.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-HKSCS-1999-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-HKSCS-1999-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-HKSCS-1999.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-HKSCS-1999.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-HKSCS-2001-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-HKSCS-2001-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-HKSCS-2001.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-HKSCS-2001.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-HKSCS-2004-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-HKSCS-2004-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-HKSCS-2004.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5-HKSCS-2004.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/BIG5.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1046.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1124.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1125.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1129.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1131.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1133.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1161.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1161.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1162.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1163.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1163.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1250.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1251.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1252.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1253.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1254.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1255-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1255-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1255.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1255.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1256.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1257.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1258-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1258-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1258.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP1258.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP437.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP737.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP775.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP850.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP852.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP853.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP855.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP856.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP857.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP858.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP860.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP861.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP862.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP863.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP864.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP865.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP866.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP869.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP874.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP922.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP932.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP932.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP936.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP949.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP950.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/CP950.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/DEC-HANYU.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/DEC-HANYU.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/DEC-KANJI.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/EUC-CN.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/EUC-JISX0213.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/EUC-JP.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/EUC-JP.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/EUC-KR.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/EUC-TW.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/EUC-TW.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/GB18030-BMP.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/GBK.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/Georgian-Academy.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/Georgian-PS.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/HP-ROMAN8.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/HZ-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/HZ-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-CN-EXT-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-CN-EXT-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-CN-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-CN-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-JP-1-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-JP-1-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-JP-2-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-JP-2-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-JP-3-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-JP-3-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-JP-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-JP-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-KR-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-2022-KR-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-1.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-10.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-11.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-13.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-14.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-15.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-16.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-2.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-3.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-4.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-5.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-6.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-7.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-8.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-8859-9.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-IR-165.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO-IR-165.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO646-CN.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/ISO646-JP.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/JIS_X0201.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/JOHAB.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/KOI8-R.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/KOI8-RU.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/KOI8-T.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/KOI8-U.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/MacArabic.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/MacCentralEurope.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/MacCroatian.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/MacCyrillic.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/MacGreek.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/MacHebrew.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/MacIceland.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/MacRoman.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/MacRomania.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/MacThai.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/MacTurkish.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/MacUkraine.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/Makefile#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/Makefile.in#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/MuleLao-1.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/NEXTSTEP.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/PT154.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/Quotes.ASCII#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/Quotes.ISO-8859-1#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/Quotes.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/RISCOS-LATIN1.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/RK1048.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/SHIFT_JIS.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/SHIFT_JISX0213.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/TCVN-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/TCVN-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/TCVN.IRREVERSIBLE.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/TCVN.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/TDS565.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/TIS-620.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/Translit1.ASCII#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/Translit1.ISO-8859-1#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/TranslitFail1.ISO-8859-1#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UCS-2BE-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UCS-2BE-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UCS-2LE-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UCS-2LE-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UCS-4BE-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UCS-4BE-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UCS-4LE-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UCS-4LE-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-16-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-16-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-16BE-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-16BE-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-16LE-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-16LE-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-32-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-32-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-32BE-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-32BE-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-32LE-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-32LE-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-7-snippet#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/UTF-7-snippet.UTF-8#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/VISCII.TXT#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/check-stateful#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/check-stateful.bat#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/check-stateless#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/check-stateless.bat#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/check-subst#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/check-translit#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/check-translit.bat#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/check-translitfailure#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/gengb18030z.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/genutf8.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/table-from.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/table-to.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/test-shiftseq.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/test.h#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/tests/uniq-u.c#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/iconv/Makefile#3 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/iconv/iconv.1#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/iconv/iconv.c#3 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkcsmapper/CVS/Entries#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkcsmapper/CVS/Repository#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkcsmapper/CVS/Root#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkcsmapper/Makefile#3 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkcsmapper/ldef.h#3 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkcsmapper/lex.l#3 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkcsmapper/yacc.y#3 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkesdb/CVS/Entries#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkesdb/CVS/Repository#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkesdb/CVS/Root#2 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkesdb/Makefile#3 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkesdb/ldef.h#3 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkesdb/lex.l#3 delete .. //depot/projects/soc2009/gabor_iconv/extracted/util/mkesdb/yacc.y#3 delete Differences ... From owner-p4-projects@FreeBSD.ORG Sun Jun 14 12:13:33 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E6001065672; Sun, 14 Jun 2009 12:13:33 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E0CFF106564A for ; Sun, 14 Jun 2009 12:13:32 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CCC598FC18 for ; Sun, 14 Jun 2009 12:13:32 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5ECDWcS002999 for ; Sun, 14 Jun 2009 12:13:32 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5ECDWZg002997 for perforce@freebsd.org; Sun, 14 Jun 2009 12:13:32 GMT (envelope-from gabor@freebsd.org) Date: Sun, 14 Jun 2009 12:13:32 GMT Message-Id: <200906141213.n5ECDWZg002997@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 164332 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 12:13:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=164332 Change 164332 by gabor@gabor_server on 2009/06/14 12:13:17 MFHg: - Add conversion tables to my working set - UTF-16/32 should be BE without BOM by default (de facto convention used by various vendors) - UCS-2/4 should be equivalent to UTF-16BE/32BE (BE and _cannot_ have BOM) - Fix UTF-16 surrogate support - Add UCS-4-INTERNAL for GNU compatibility - Remove NetBSD-specific macros - Minor cleanup and style fixes - Add some FreeBSD Makefiles - Change the layout to a more logical one Affected files ... .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ARMSCII-8.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ASCII.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ATARIST.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-2003.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-1999.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2001.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5-HKSCS-2004.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/BIG5.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1046.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1124.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1125.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1129.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1131.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1133.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1161.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1162.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1163.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1250.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1251.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1252.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1253.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1254.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1255.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1256.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1257.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP1258.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP437.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP737.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP775.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP850.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP852.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP853.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP855.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP856.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP857.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP858.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP860.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP861.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP862.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP863.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP864.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP865.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP866.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP869.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP874.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP922.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP932.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP936.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP949.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/CP950.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-HANYU.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/DEC-KANJI.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-CN.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JISX0213.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-JP.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-KR.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/EUC-TW.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GB18030-BMP.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/GBK.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-Academy.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Georgian-PS.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HP-ROMAN8.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/HZ-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-EXT-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-CN-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-1-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-2-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-3-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-JP-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-2022-KR-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-1.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-10.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-11.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-13.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-14.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-15.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-16.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-2.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-3.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-4.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-5.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-6.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-7.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-8.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-8859-9.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO-IR-165.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-CN.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/ISO646-JP.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JIS_X0201.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/JOHAB.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-R.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-RU.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-T.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/KOI8-U.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacArabic.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCentralEurope.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCroatian.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacCyrillic.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacGreek.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacHebrew.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacIceland.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRoman.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacRomania.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacThai.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacTurkish.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MacUkraine.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/MuleLao-1.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/NEXTSTEP.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/PT154.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Quotes.ASCII#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Quotes.ISO-8859-1#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Quotes.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/RISCOS-LATIN1.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/RK1048.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/SHIFT_JIS.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/SHIFT_JISX0213.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN.IRREVERSIBLE.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TCVN.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TDS565.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TIS-620.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Translit1.ASCII#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/Translit1.ISO-8859-1#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/TranslitFail1.ISO-8859-1#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2BE-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2BE-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2LE-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-2LE-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4BE-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4BE-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4LE-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UCS-4LE-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16BE-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16BE-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16LE-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-16LE-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32BE-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32BE-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32LE-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-32LE-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-7-snippet#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/UTF-7-snippet.UTF-8#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/VISCII.TXT#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateful#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateful.bat#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateless#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-stateless.bat#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-subst#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-translit#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-translit.bat#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/check-translitfailure#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/gengb18030z.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/genutf8.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-from.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/table-to.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/test-shiftseq.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/test.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/gnu/share/iconv/regression-test/uniq-u.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/Makefile#3 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/_iconv.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/_strtol.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/_strtoul.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_aliasname_local.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs_strtol.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_bcs_strtoul.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_csmapper.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_csmapper.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_fallback.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_fallback.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_local.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_ctype_template.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_factory.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_factory.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_file.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_hash.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_db_hash.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_esdb.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_esdb.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_esdb_file.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_fix_grouping.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_hash.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_hash.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_iconv.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_iconv.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_iconv_local.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup_factory.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup_factory.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_lookup_file.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mapper.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mapper.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mapper_local.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_memstream.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_memstream.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mmap.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_mmap.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_module.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_module.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_namespace.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_none.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_none.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_pivot_factory.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_pivot_factory.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_pivot_file.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_prop.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_prop.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_region.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc_local.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_stdenc_template.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/citrus_types.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/iconv.3#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/iconv.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv/netbsdism.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/BIG5/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/BIG5/citrus_big5.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/BIG5/citrus_big5.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/DECHanyu/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/DECHanyu/citrus_dechanyu.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/DECHanyu/citrus_dechanyu.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUC/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUC/citrus_euc.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUC/citrus_euc.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUCTW/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUCTW/citrus_euctw.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/EUCTW/citrus_euctw.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/GBK2K/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/GBK2K/citrus_gbk2k.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/GBK2K/citrus_gbk2k.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/HZ/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/HZ/citrus_hz.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/HZ/citrus_hz.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ISO2022/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ISO2022/citrus_iso2022.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ISO2022/citrus_iso2022.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/JOHAB/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/JOHAB/citrus_johab.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/JOHAB/citrus_johab.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/MSKanji/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/MSKanji/citrus_mskanji.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/MSKanji/citrus_mskanji.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UES/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UES/citrus_ues.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UES/citrus_ues.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/citrus_utf1632.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF1632/citrus_utf1632.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF7/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF7/citrus_utf7.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF7/citrus_utf7.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/citrus_utf8.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/UTF8/citrus_utf8.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/VIQR/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/VIQR/citrus_viqr.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/VIQR/citrus_viqr.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ZW/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ZW/citrus_zw.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/ZW/citrus_zw.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_none/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_none/citrus_iconv_none.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_none/citrus_iconv_none.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/citrus_iconv_std.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/citrus_iconv_std.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/iconv_std/citrus_iconv_std_local.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_646/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_646/citrus_mapper_646.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_646/citrus_mapper_646.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_none/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_none/citrus_mapper_none.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_none/citrus_mapper_none.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_serial/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_serial/citrus_mapper_serial.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_serial/citrus_mapper_serial.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std_file.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_std/citrus_mapper_std_local.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_zone/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_zone/citrus_mapper_zone.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/lib/libiconv_modules/mapper_zone/citrus_mapper_zone.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/APPLE/MAC.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/APPLE/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/AST/ARMSCII.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/AST/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/charset.pivot.BIG5.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/BIG5/mapper.dir.BIG5.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/charset.pivot.CNS.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CNS/mapper.dir.CNS.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/CP.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/charset.pivot.CP.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/CP/mapper.dir.CP.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/EBCDIC/EBCDIC.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/EBCDIC/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/charset.pivot.GB.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GB/mapper.dir.GB.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GEORGIAN/GEORGIAN.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/GEORGIAN/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO-8859/ISO-8859.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO-8859/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO646/ISO646.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/ISO646/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/charset.pivot.JIS.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/JIS/mapper.dir.JIS.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/charset.pivot.KAZAKH.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KAZAKH/mapper.dir.KAZAKH.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/KOI8.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/charset.pivot.KOI.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KOI/mapper.dir.KOI.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/charset.pivot.KS.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/KS/mapper.dir.KS.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/charset.pivot.MISC.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/MISC/mapper.dir.MISC.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/charset.pivot.TCVN.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/TCVN/mapper.dir.TCVN.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/charset.pivot.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/csmapper/mapper.dir.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/MAC.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/MAC.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/MAC.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/APPLE/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII-7.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/ARMSCII.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/AST/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Big5.variable#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/BIG5/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP50220.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP50221.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP50222.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP51932.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP932.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP936.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP942.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP942C.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP943.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP943C.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP949.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/CP950.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/CP/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DEC.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DEC.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DEC.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/DECHanyu.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/DEC/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/EBCDIC.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/EBCDIC.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/EBCDIC.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EBCDIC/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-CN.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-JIS-2004.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-JP-MS.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-JP.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-KR.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC-TW.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/EUC.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/EUC/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB12345.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GB18030.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/GBK.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GB/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/GEORGIAN.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/GEORGIAN.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/GEORGIAN.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/GEORGIAN/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-CN-EXT.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-CN.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP-1.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP-2.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP-2004.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-JP.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022-KR.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/ISO-2022.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-2022/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/ISO-8859.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/ISO-8859.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/ISO-8859.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO-8859/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/ISO646.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/ISO646.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/ISO646.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/ISO646/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/KZ1048.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/PTCP154.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/esdb.alias.KAZAKH.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KAZAKH/esdb.dir.KAZAKH.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI7-switched.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/KOI7.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/KOI/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/ATARIST.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/C99.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/CTEXT.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/HP-ROMAN8.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/HZ.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/HZ8.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/JAVA.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/JOHAB.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/MULELAO-1.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/NEXTSTEP.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/RISCOS-LATIN1.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Shift_JIS-2004.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/Shift_JIS.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/TDS565.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/ZW.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/esdb.alias.MISC.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/MISC/esdb.dir.MISC.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/Makefile.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/TCVN5712-1.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/VIQR.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/VISCII.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/esdb.alias.TCVN.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/TCVN/esdb.dir.TCVN.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/Makefile.inc#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.alias#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.part#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/esdb/UTF/UTF.src#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/iconv/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/share/i18n/iconv/iconv.dir#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/iconv/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/iconv/iconv.1#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/iconv/iconv.c#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/ldef.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/lex.l#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkcsmapper/yacc.y#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/Makefile#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/ldef.h#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/lex.l#1 add .. //depot/projects/soc2009/gabor_iconv/extracted/usr.bin/mkesdb/yacc.y#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Jun 14 12:45:05 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4A98B1065676; Sun, 14 Jun 2009 12:45:05 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 080401065675 for ; Sun, 14 Jun 2009 12:45:05 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E5A348FC25 for ; Sun, 14 Jun 2009 12:45:04 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5ECj42A005469 for ; Sun, 14 Jun 2009 12:45:04 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5ECj4BV005467 for perforce@freebsd.org; Sun, 14 Jun 2009 12:45:04 GMT (envelope-from mav@freebsd.org) Date: Sun, 14 Jun 2009 12:45:04 GMT Message-Id: <200906141245.n5ECj4BV005467@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164334 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 12:45:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=164334 Change 164334 by mav@mav_mavbook on 2009/06/14 12:44:53 On hard reset requeue all running/pending commands. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#29 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#29 (text+ko) ==== @@ -69,7 +69,6 @@ static void ahci_execute_transaction(struct ahci_slot *slot); static void ahci_timeout(struct ahci_slot *slot); static void ahci_end_transaction(struct ahci_slot *slot, enum ahci_err_type et); -static int ahci_hardreset(device_t dev); static int ahci_setup_fis(struct ahci_cmd_tab *ctp, union ccb *ccb, int tag); static void ahci_dmainit(device_t dev); static void ahci_dmasetupc_cb(void *xsc, bus_dma_segment_t *segs, int nsegs, int error); @@ -1128,30 +1127,9 @@ { device_t dev = slot->dev; struct ahci_channel *ch = device_get_softc(dev); - enum ahci_err_type et; - int i; device_printf(dev, "Timeout on slot %d\n", slot->slot); - /* Requeue freezed command. */ - if (ch->frozen) { - union ccb *fccb = ch->frozen; - ch->frozen = NULL; - xpt_release_simq(ch->sim, TRUE); - fccb->ccb_h.status = CAM_SCSI_BUS_RESET; - xpt_done(fccb); - } - /* Kill the engine and terminate all commands. */ - ahci_stop(dev); - for (i = 0; i < ch->numslots; i++) { - /* Do we have a running request on slot? */ - if (ch->slot[i].state < AHCI_SLOT_RUNNING) - continue; - if (i == slot->slot) - et = AHCI_ERR_TIMEOUT; - else - et = AHCI_ERR_RESET; - ahci_end_transaction(&ch->slot[i], et); - } + ahci_end_transaction(&ch->slot[slot->slot], AHCI_ERR_TIMEOUT); /* XXX: This is wrong for NCQ error recovery. */ ahci_reset(dev); } @@ -1376,35 +1354,34 @@ return (0); } -static int -ahci_hardreset(device_t dev) -{ - - ahci_stop(dev); - /* Reset port */ - if (!ahci_sata_phy_reset(dev, 0)) - return (ENOENT); - /* Wait for clearing busy status. */ - if (ahci_wait_ready(dev, 10000)) { - device_printf(dev, "device ready timeout\n"); - ahci_clo(dev); - } - ahci_start(dev); - return (0); -} - static void ahci_reset(device_t dev) { struct ahci_channel *ch = device_get_softc(dev); + int i; if (bootverbose) device_printf(dev, "AHCI reset...\n"); - + /* Requeue freezed command. */ + if (ch->frozen) { + union ccb *fccb = ch->frozen; + ch->frozen = NULL; + xpt_release_simq(ch->sim, TRUE); + fccb->ccb_h.status = CAM_SCSI_BUS_RESET; + xpt_done(fccb); + } + /* Kill the engine and requeue all running commands. */ + ahci_stop(dev); + for (i = 0; i < ch->numslots; i++) { + /* Do we have a running request on slot? */ + if (ch->slot[i].state < AHCI_SLOT_RUNNING) + continue; + ahci_end_transaction(&ch->slot[i], AHCI_ERR_RESET); + } /* Disable port interrupts */ ATA_OUTL(ch->r_mem, AHCI_P_IE, 0); /* Reset and reconnect PHY, */ - if (ahci_hardreset(dev)) { + if (!ahci_sata_phy_reset(dev, 0)) { if (bootverbose) device_printf(dev, "AHCI reset done: phy reset found no device\n"); @@ -1414,6 +1391,12 @@ (AHCI_P_IX_CPD | AHCI_P_IX_PRC | AHCI_P_IX_PC)); return; } + /* Wait for clearing busy status. */ + if (ahci_wait_ready(dev, 10000)) { + device_printf(dev, "device ready timeout\n"); + ahci_clo(dev); + } + ahci_start(dev); ch->devices = 1; /* Enable wanted port interrupts */ ATA_OUTL(ch->r_mem, AHCI_P_IE, @@ -1424,9 +1407,8 @@ AHCI_P_IX_DS | AHCI_P_IX_PS | AHCI_P_IX_DHR)); if (bootverbose) device_printf(dev, "AHCI reset done: devices=%08x\n", ch->devices); - /* If we've attached to the XPT, tell it about the event */ - if (ch->path != NULL) - xpt_async(AC_BUS_RESET, ch->path, NULL); + /* Tell the XPT about the event */ + xpt_async(AC_BUS_RESET, ch->path, NULL); } static int From owner-p4-projects@FreeBSD.ORG Sun Jun 14 12:47:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A60A106566C; Sun, 14 Jun 2009 12:47:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3661C1065672 for ; Sun, 14 Jun 2009 12:47:07 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2448F8FC1C for ; Sun, 14 Jun 2009 12:47:07 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5ECl7l7009040 for ; Sun, 14 Jun 2009 12:47:07 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5ECl7a3009022 for perforce@freebsd.org; Sun, 14 Jun 2009 12:47:07 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Sun, 14 Jun 2009 12:47:07 GMT Message-Id: <200906141247.n5ECl7a3009022@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 164335 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 12:47:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=164335 Change 164335 by zhaoshuai@zhaoshuai on 2009/06/14 12:46:30 add fifo poll tests Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#3 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/poll.c#1 add Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#3 (text+ko) ==== @@ -1,4 +1,5 @@ -OBJS = rdwr reader1 reader2 writer1 bidirection1 bidirection2 select +OBJS = rdwr reader1 reader2 writer1 bidirection1 bidirection2 select \ + poll all : $(OBJS) @@ -9,6 +10,7 @@ bidirection1 : bidirection1.c bidirection2 : bidirection2.c select : select.c +poll : poll.c clean : -rm $(OBJS) From owner-p4-projects@FreeBSD.ORG Sun Jun 14 13:08:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A97DD1065676; Sun, 14 Jun 2009 13:08:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 68BF31065673 for ; Sun, 14 Jun 2009 13:08:29 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4C15D8FC12 for ; Sun, 14 Jun 2009 13:08:29 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5ED8Sdc018146 for ; Sun, 14 Jun 2009 13:08:28 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5ED8Svw018144 for perforce@freebsd.org; Sun, 14 Jun 2009 13:08:28 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Sun, 14 Jun 2009 13:08:28 GMT Message-Id: <200906141308.n5ED8Svw018144@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 164337 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 13:08:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=164337 Change 164337 by zhaoshuai@zhaoshuai on 2009/06/14 13:08:02 make the testing program easier to use Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/functionality/reader1.c#3 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/select.c#4 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/writer1.c#3 edit Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/functionality/reader1.c#3 (text+ko) ==== @@ -12,31 +12,39 @@ #include #include "test.h" +#define TEST_RDONLY 1 +#define TEST_RDWR 0 +#define TEST_NONBLOCK 0 + int main(int argc, char *argv[]) { int fd, n; char buffer[BUF_SIZE]; +#if TEST_RDONLY fd = open(FIFO_PATH, O_RDONLY); - /* +#elif TEST_RDWR fd = open(FIFO_PATH, O_RDWR); +#elif TEST_NONBLOCK fd = open(FIFO_PATH, O_RDONLY | O_NONBLOCK); - */ +#endif if (fd < 0) { perror("open error"); return (1); } +#if TEST_NONBLOCK retry: +#endif while ((n = read(fd, buffer, BUF_SIZE)) > 0) { printf("%s", buffer); memset(buffer, 0, n); } - /* +#if TEST_NONBLOCK if (n < 0 && errno == EAGAIN) { sleep(1); goto retry; } - */ +#endif return 0; } ==== //depot/projects/soc2009/fifo/fifo_test/functionality/select.c#4 (text+ko) ==== @@ -15,6 +15,9 @@ #include #include "test.h" +/* set this value to 0 when testing write */ +#define TEST_READ 1 + int main() { int fd, n, ret; @@ -23,11 +26,11 @@ FD_ZERO(&rset); FD_ZERO(&wset); +#if TEST_READ fd = open(FIFO_PATH, O_RDONLY | O_NONBLOCK); - /* +#elif fd = open(FIFO_PATH, O_WRONLY | O_NONBLOCK); - fd = open(FIFO_PATH, O_WRONLY); - */ +#endif if (fd < 0) { perror("open error"); return (1); @@ -35,25 +38,28 @@ while (1) { FD_SET(fd, &rset); FD_SET(fd, &wset); - +#if TEST_READ ret = select(fd+1, &rset, NULL, NULL, NULL); - /* +#elif ret = select(fd+1, NULL, &wset, NULL, NULL); - */ +#endif if (ret > 0) { +#if TEST_READ if (FD_ISSET(fd, &rset)) { n = read(fd, buf, BUF_SIZE); + if (n <= 0) + return (0); printf("%s", buf); memset(buf, 0, n); } - /* +#elif if (FD_ISSET(fd, &wset)) { n = read(0, buf, BUF_SIZE); if (n <= 0) return (0); write(fd, buf, n); } - */ +#endif } else if (ret < 0) { /* select error */ perror("select error"); return (2); ==== //depot/projects/soc2009/fifo/fifo_test/functionality/writer1.c#3 (text+ko) ==== @@ -13,16 +13,22 @@ #include #include "test.h" +#define TEST_WRONLY 1 +#define TEST_RDWR 0 +#define TEST_NONBLOCK 0 + int main(int argc, char *argv[]) { int fd, n; char buf[BUF_SIZE]; +#if TEST_WRONLY fd = open(FIFO_PATH, O_WRONLY); - /* +#elif TEST_RDWR fd = open(FIFO_PATH, O_RDWR); +#elif TEST_NONBLOCK fd = open(FIFO_PATH, O_WRONLY | O_NONBLOCK); - */ +#endif while ((n = read(0, buf, BUF_SIZE)) > 0) write(fd, buf, n); From owner-p4-projects@FreeBSD.ORG Sun Jun 14 13:14:18 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C1051065670; Sun, 14 Jun 2009 13:14:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1BD86106566B for ; Sun, 14 Jun 2009 13:14:18 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from server.mypc.hu (server.mypc.hu [87.229.73.95]) by mx1.freebsd.org (Postfix) with ESMTP id BB8428FC0C for ; Sun, 14 Jun 2009 13:14:17 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by server.mypc.hu (Postfix) with ESMTP id ED7E514D8751; Sun, 14 Jun 2009 15:14:16 +0200 (CEST) X-Virus-Scanned: amavisd-new at t-hosting.hu Received: from server.mypc.hu ([127.0.0.1]) by localhost (server.mypc.hu [127.0.0.1]) (amavisd-new, port 10024) with LMTP id BR8BQxYRRP-J; Sun, 14 Jun 2009 15:14:16 +0200 (CEST) Received: from [192.168.1.105] (catv-80-98-231-64.catv.broadband.hu [80.98.231.64]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by server.mypc.hu (Postfix) with ESMTPSA id EF5A414D5280; Sun, 14 Jun 2009 15:14:15 +0200 (CEST) Message-ID: <4A34F7A5.7090502@FreeBSD.org> Date: Sun, 14 Jun 2009 15:14:13 +0200 From: Gabor Kovesdan User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) MIME-Version: 1.0 To: David Forsythe References: <200906110517.n5B5H4Or055869@repoman.freebsd.org> In-Reply-To: <200906110517.n5B5H4Or055869@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 164069 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 13:14:19 -0000 David Forsythe escribió: > @@ -13,6 +13,16 @@ > /* Create a new pkg. */ > > struct pkg * > +pkg_new() > This should be pkg_new(void), I think. This is the normal ANSI prototype, the empty parentheses were for old-style K&R C declarations. -- Gabor Kovesdan FreeBSD Volunteer EMAIL: gabor@FreeBSD.org .:|:. gabor@kovesdan.org WEB: http://people.FreeBSD.org/~gabor .:|:. http://kovesdan.org From owner-p4-projects@FreeBSD.ORG Sun Jun 14 13:18:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 532681065688; Sun, 14 Jun 2009 13:18:40 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1360A106567D for ; Sun, 14 Jun 2009 13:18:40 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DB30B8FC1C for ; Sun, 14 Jun 2009 13:18:39 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EDIdEK018890 for ; Sun, 14 Jun 2009 13:18:39 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EDIdFU018888 for perforce@freebsd.org; Sun, 14 Jun 2009 13:18:39 GMT (envelope-from syl@FreeBSD.org) Date: Sun, 14 Jun 2009 13:18:39 GMT Message-Id: <200906141318.n5EDIdFU018888@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164338 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 13:18:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=164338 Change 164338 by syl@syl_atuin on 2009/06/14 13:17:49 - Implement libusb_get_buffsize helper. - Implement libusb_get_maxframe helper. - Update transfer code. - Call libusb20_tr_start at the end of libusb_submit(). Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#29 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#10 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#29 (text+ko) ==== @@ -709,6 +709,77 @@ pthread_mutex_unlock(&libusb20_lock); } +static int +libusb_get_buffsize(struct libusb20_device *pdev, libusb_transfer *xfer) +{ + int ret; + int usb_speed; + + usb_speed = libusb20_dev_get_speed(pdev); + + switch (xfer->type) { + case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: + switch (usb_speed) { + case LIBUSB20_SPEED_LOW: + case LIBUSB20_SPEED_FULL: + ret = 60 * 1; + break ; + default : + ret = 60 * 8; + break ; + } + break ; + default: + ret = 1; + break ; + } + + return ret; +} + +static int +libusb_get_maxframe(struct libusb20_device *pdev, libusb_transfer *xfer) +{ + int ret; + int usb_speed; + + usb_speed = libusb20_dev_get_speed(pdev); + + switch (xfer->type) { + case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: + ret = 0; + break ; + case LIBUSB_TRANSFER_TYPE_CONTROL: + switch (usb_speed) { + case LIBUSB20_SPEED_LOW: + ret = 8; + break ; + case LIBUSB20_SPEED_FULL: + ret = 64; + break ; + case LIBUSB20_SPEED_HIGH: + ret = 64; + break ; + } + break ; + default : + switch (usb_speed) { + case LIBUSB20_SPEED_LOW: + ret = 256; + break ; + case LIBUSB20_SPEED_FULL: + ret = 4096; + break ; + case LIBUSB20_SPEED_HIGH: + ret = 16384; + break ; + } + break ; + } + + return ret; +} + int libusb_submit_transfer(struct libusb_transfer *xfer) { @@ -719,6 +790,8 @@ struct libusb_context *ctx; struct timespec cur_ts; struct timeval *cur_tv; + int maxframe; + int buffsize; int num_frame; int ret; int i; @@ -777,8 +850,12 @@ xfer->os_priv = usb20_xfer; pthread_mutex_lock(&libusb20_lock); - ret = libusb20_tr_open(usb20_xfer, xfer->length, - MAX(2, xfer->num_iso_packets), xfer->endpoint); + + buffsize = libusb_get_buffsize(pdev, xfer); + maxframe = libusb_get_maxframe(pdev, xfer); + + ret = libusb20_tr_open(usb20_xfer, buffsize, + maxframe, xfer->endpoint); if (ret != 0) { pthread_mutex_unlock(&libusb20_lock); @@ -812,6 +889,7 @@ libusb20_tr_set_callback(usb20_xfer, libusb10_proxy); libusb20_tr_submit(usb20_xfer); + libusb20_tr_start(usb20_xfer); pthread_mutex_unlock(&libusb20_lock); return (0); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#10 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sun Jun 14 13:41:03 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1DBE11065675; Sun, 14 Jun 2009 13:41:03 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF56D1065674 for ; Sun, 14 Jun 2009 13:41:02 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A22198FC0C for ; Sun, 14 Jun 2009 13:41:02 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EDf2lV020755 for ; Sun, 14 Jun 2009 13:41:02 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EDf2WU020753 for perforce@freebsd.org; Sun, 14 Jun 2009 13:41:02 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 14 Jun 2009 13:41:02 GMT Message-Id: <200906141341.n5EDf2WU020753@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 164340 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 13:41:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=164340 Change 164340 by rene@rene_self on 2009/06/14 13:40:02 Add $FreeBSD$ tag to www/en/vendors.html to pet the periodic translation checking script. Affected files ... .. //depot/projects/docproj_nl/www/en/vendors.html#2 edit Differences ... ==== //depot/projects/docproj_nl/www/en/vendors.html#2 (text+ko) ==== @@ -1,5 +1,6 @@ + From owner-p4-projects@FreeBSD.ORG Sun Jun 14 14:17:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 11F821065674; Sun, 14 Jun 2009 14:17:40 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5C321065672 for ; Sun, 14 Jun 2009 14:17:39 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B3A938FC28 for ; Sun, 14 Jun 2009 14:17:39 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EEHdPm024430 for ; Sun, 14 Jun 2009 14:17:39 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EEHdoR024428 for perforce@freebsd.org; Sun, 14 Jun 2009 14:17:39 GMT (envelope-from pgj@FreeBSD.org) Date: Sun, 14 Jun 2009 14:17:39 GMT Message-Id: <200906141417.n5EEHdoR024428@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164341 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 14:17:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=164341 Change 164341 by pgj@petymeg on 2009/06/14 14:16:39 MFen (doc): 1.198 -> 1.199 hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml 1.17 -> 1.18 hu_HU.ISO8859-2/books/handbook/jails/chapter.sgml 1.1115 -> 1.1116 hu_HU.ISO8859-2/books/faq/book.sgml Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#49 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#26 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/jails/chapter.sgml#10 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#49 (text+ko) ==== @@ -9,7 +9,7 @@ ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#26 (text+ko) ==== @@ -7,7 +7,7 @@ ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/jails/chapter.sgml#10 (text+ko) ==== @@ -7,7 +7,7 @@ The FreeBSD Hungarian Documentation Project Translated by: PALI, Gabor %SOURCE% en_US.ISO8859-1/books/handbook/jails/chapter.sgml - %SRCID% 1.17 + %SRCID% 1.18 --> @@ -352,7 +352,8 @@ &prompt.root; setenv D /itt/lesz/a/jail &prompt.root; mkdir -p $D &prompt.root; cd /usr/src -&prompt.root; make world DESTDIR=$D +&prompt.root; make buildworld +&prompt.root; make installworld DESTDIR=$D &prompt.root; cd etc/ Ez a lépés nem szükséges a @@ -383,17 +384,23 @@ másolatát tartalmazza. - + + Ha korábban már a make + world vagy a make buildworld + parancs segítségével + újrafordítottuk az alaprendszert, akkor ezt a + lépést ki is hagyhatjuk és + telepítsük az új alaprendszert + közvetlenül az új jailbe. + + + Ez a parancs fogja felmásolni a jail fizikai helyének választott könyvtár-részfába a mûködéshez szükséges programokat, függvénykönyvtárakat, man oldalakat - és így tovább. Minden a &os; megszokott - stílusában történik — - elõször mindent lefordít, majd az - eredményt feltelepíti a célként - megadott könyvtárba. + és így tovább. From owner-p4-projects@FreeBSD.ORG Sun Jun 14 14:30:53 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8E7BB106566C; Sun, 14 Jun 2009 14:30:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4E22D106564A for ; Sun, 14 Jun 2009 14:30:53 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3AE418FC1B for ; Sun, 14 Jun 2009 14:30:53 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EEUrx1025511 for ; Sun, 14 Jun 2009 14:30:53 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EEUr5n025509 for perforce@freebsd.org; Sun, 14 Jun 2009 14:30:53 GMT (envelope-from mav@freebsd.org) Date: Sun, 14 Jun 2009 14:30:53 GMT Message-Id: <200906141430.n5EEUr5n025509@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164342 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 14:30:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=164342 Change 164342 by mav@mav_mavbook on 2009/06/14 14:30:10 Expose PM as device. Implement softer PM rescan, to not interrupt devices operation. Affected files ... .. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#8 edit .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#21 edit .. //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#91 edit Differences ... ==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#8 (text+ko) ==== @@ -415,7 +415,8 @@ sizeof(revision)); sprintf(tmpstr, "<%s %s %s>", vendor, product, revision); - } else if (dev_result->protocol == PROTO_ATA) { + } else if (dev_result->protocol == PROTO_ATA || + dev_result->protocol == PROTO_SATAPM) { cam_strvis(product, dev_result->ident_data.model, sizeof(dev_result->ident_data.model), ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#21 (text+ko) ==== @@ -145,7 +145,6 @@ int pm_ports; int pm_step; int pm_try; - int pm_found; struct cam_periph *periph; } probe_softc; @@ -321,6 +320,8 @@ if (periph->path->device->flags & CAM_DEV_UNCONFIGURED) PROBE_SET_ACTION(softc, PROBE_RESET); + else if (periph->path->device->protocol == PROTO_SATAPM) + PROBE_SET_ACTION(softc, PROBE_RESET); else PROBE_SET_ACTION(softc, PROBE_IDENTIFY); @@ -457,6 +458,9 @@ ata_pm_read_cmd(ataio, 2, 15); break; case PROBE_PM_RESET: + { + struct ata_params *ident_buf = + &periph->path->device->ident_data; cam_fill_ataio(ataio, 1, probedone, @@ -465,8 +469,12 @@ /*data_ptr*/NULL, /*dxfer_len*/0, 10 * 1000); - ata_pm_write_cmd(ataio, 2, softc->pm_step, 1); + ata_pm_write_cmd(ataio, 2, softc->pm_step, + (ident_buf->cylinders & (1 << softc->pm_step)) ? 0 : 1); +printf("PM RESET %d %04x %d\n", softc->pm_step, ident_buf->cylinders, + (ident_buf->cylinders & (1 << softc->pm_step)) ? 0 : 1); break; + } case PROBE_PM_CONNECT: cam_fill_ataio(ataio, 1, @@ -634,6 +642,7 @@ static void probedone(struct cam_periph *periph, union ccb *done_ccb) { + struct ata_params *ident_buf; probe_softc *softc; struct cam_path *path; u_int32_t priority; @@ -644,6 +653,7 @@ softc = (probe_softc *)periph->softc; path = done_ccb->ccb_h.path; priority = done_ccb->ccb_h.pinfo.priority; + ident_buf = &path->device->ident_data; switch (softc->action) { case PROBE_RESET: @@ -685,16 +695,12 @@ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - xpt_release_ccb(done_ccb); - break; + goto device_fail; case PROBE_IDENTIFY: { if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { - struct ata_params *ident_buf; int16_t *ptr; - ident_buf = &path->device->ident_data; - for (ptr = (int16_t *)ident_buf; ptr < (int16_t *)ident_buf + sizeof(struct ata_params)/2; ptr++) { *ptr = le16toh(*ptr); @@ -788,6 +794,7 @@ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } +device_fail: /* * If we get to this point, we got an error status back * from the inquiry and the error status doesn't require @@ -863,30 +870,19 @@ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - /* - * If we get to this point, we got an error status back - * from the inquiry and the error status doesn't require - * automatically retrying the command. Therefore, the - * inquiry failed. If we had inquiry information before - * for this device, but this latest inquiry command failed, - * the device has probably gone away. If this device isn't - * already marked unconfigured, notify the peripheral - * drivers that this device is no more. - */ - if ((path->device->flags & CAM_DEV_UNCONFIGURED) == 0) - /* Send the async notification. */ - xpt_async(AC_LOST_DEVICE, path, NULL); - - xpt_release_ccb(done_ccb); - break; + goto device_fail; } case PROBE_PM_PID: if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { + if ((path->device->flags & CAM_DEV_INQUIRY_DATA_VALID) == 0) + bzero(ident_buf, sizeof(*ident_buf)); softc->pm_pid = (done_ccb->ataio.res.lba_high << 24) + (done_ccb->ataio.res.lba_mid << 16) + (done_ccb->ataio.res.lba_low << 8) + done_ccb->ataio.res.sector_count; printf("PM Product ID: %08x\n", softc->pm_pid); + snprintf(ident_buf->model, sizeof(ident_buf->model), + "Port Multiplier %08x", softc->pm_pid); PROBE_SET_ACTION(softc, PROBE_PM_PRV); xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); @@ -902,8 +898,7 @@ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - xpt_release_ccb(done_ccb); - break; + goto device_fail; case PROBE_PM_PRV: if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { softc->pm_prv = (done_ccb->ataio.res.lba_high << 24) + @@ -911,6 +906,8 @@ (done_ccb->ataio.res.lba_low << 8) + done_ccb->ataio.res.sector_count; printf("PM Revision: %08x\n", softc->pm_prv); + snprintf(ident_buf->revision, sizeof(ident_buf->revision), + "%04x", softc->pm_prv); PROBE_SET_ACTION(softc, PROBE_PM_PORTS); xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); @@ -926,8 +923,7 @@ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - xpt_release_ccb(done_ccb); - break; + goto device_fail; case PROBE_PM_PORTS: if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { softc->pm_ports = (done_ccb->ataio.res.lba_high << 24) + @@ -947,6 +943,8 @@ if (softc->pm_pid == 0x47261095 && softc->pm_ports == 7) softc->pm_ports = 5; printf("PM ports: %d\n", softc->pm_ports); + ident_buf->config = softc->pm_ports; + path->device->flags |= CAM_DEV_INQUIRY_DATA_VALID; softc->pm_step = 0; PROBE_SET_ACTION(softc, PROBE_PM_RESET); xpt_release_ccb(done_ccb); @@ -963,8 +961,7 @@ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - xpt_release_ccb(done_ccb); - break; + goto device_fail; case PROBE_PM_RESET: if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { softc->pm_step++; @@ -992,8 +989,7 @@ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - xpt_release_ccb(done_ccb); - break; + goto device_fail; case PROBE_PM_CONNECT: if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { softc->pm_step++; @@ -1004,7 +1000,6 @@ } else { softc->pm_step = 0; softc->pm_try = 0; - softc->pm_found = 0x8000; printf("PM connect done\n"); PROBE_SET_ACTION(softc, PROBE_PM_CHECK); xpt_release_ccb(done_ccb); @@ -1022,8 +1017,7 @@ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - xpt_release_ccb(done_ccb); - break; + goto device_fail; case PROBE_PM_CHECK: if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { int res = (done_ccb->ataio.res.lba_high << 24) + @@ -1032,7 +1026,7 @@ done_ccb->ataio.res.sector_count; if ((res & 0xf0f) == 0x103 && (res & 0x0f0) != 0) { printf("PM status: %d - %08x\n", softc->pm_step, res); - softc->pm_found |= (1 << softc->pm_step); + ident_buf->cylinders |= (1 << softc->pm_step); softc->pm_step++; } else { if (softc->pm_try < 100) { @@ -1040,6 +1034,7 @@ softc->pm_try++; } else { printf("PM status: %d - %08x\n", softc->pm_step, res); + ident_buf->cylinders &= ~(1 << softc->pm_step); softc->pm_step++; } } @@ -1065,8 +1060,7 @@ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - xpt_release_ccb(done_ccb); - break; + goto device_fail; case PROBE_PM_CLEAR: if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP) { softc->pm_step++; @@ -1075,7 +1069,16 @@ xpt_schedule(periph, priority); return; } - found = softc->pm_found; + found = ident_buf->cylinders | 0x8000; + if (path->device->flags & CAM_DEV_UNCONFIGURED) { + path->device->flags &= ~CAM_DEV_UNCONFIGURED; + done_ccb->ccb_h.func_code = XPT_GDEV_TYPE; + xpt_action(done_ccb); + xpt_async(AC_FOUND_DEVICE, done_ccb->ccb_h.path, + done_ccb); + xpt_release_ccb(done_ccb); + } + break; } else if (cam_periph_error(done_ccb, 0, done_ccb->ccb_h.target_lun > 0 ? SF_RETRY_UA|SF_QUIET_IR @@ -1087,8 +1090,7 @@ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - xpt_release_ccb(done_ccb); - break; + goto device_fail; case PROBE_INVALID: CAM_DEBUG(done_ccb->ccb_h.path, CAM_DEBUG_INFO, ("probedone: invalid action state\n")); ==== //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#91 (text+ko) ==== @@ -1043,8 +1043,9 @@ printf("%s%d: ", periph->periph_name, periph->unit_number); if (path->device->protocol == PROTO_SCSI) scsi_print_inquiry(&path->device->inq_data); - else if (path->device->protocol == PROTO_ATA) - ata_print_ident(&path->device->ident_data); + else if (path->device->protocol == PROTO_ATA || + path->device->protocol == PROTO_SATAPM) + ata_print_ident(&path->device->ident_data); else printf("Unknown protocol device\n"); if (bootverbose && path->device->serial_num_len > 0) { From owner-p4-projects@FreeBSD.ORG Sun Jun 14 15:18:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9F2BE106566B; Sun, 14 Jun 2009 15:18:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 546CA1065670 for ; Sun, 14 Jun 2009 15:18:42 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 409038FC13 for ; Sun, 14 Jun 2009 15:18:42 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EFIgZx030356 for ; Sun, 14 Jun 2009 15:18:42 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EFIgRa030354 for perforce@freebsd.org; Sun, 14 Jun 2009 15:18:42 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 14 Jun 2009 15:18:42 GMT Message-Id: <200906141518.n5EFIgRa030354@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164344 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 15:18:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=164344 Change 164344 by rwatson@rwatson_freebsd_capabilities on 2009/06/14 15:17:59 Define maximum file descriptor rights we allowed to be transfered per-message/RPC, in order to size file descriptor arrays on the stack. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox_api.h#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox_api.h#4 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox_api.h#3 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox_api.h#4 $ */ #ifndef _LIBCAPABILITY_SANDBOX_API_H_ @@ -44,6 +44,12 @@ #define LIBCAPABILITY_SANDBOX_API_SOCK "sock" /* + * Maximum number of file descriptor rights we will ever send as part of an + * RPC. + */ +#define LIBCAPABILITY_SANDBOX_API_MAXRIGHTS 16 + +/* * Simple libcapability RPC facility (lcrpc) definitions. */ #define LCRPC_REQUEST_HDR_MAGIC 0x29ee2d7eb9143d98 From owner-p4-projects@FreeBSD.ORG Sun Jun 14 15:19:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7297E1065675; Sun, 14 Jun 2009 15:19:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 32877106566B for ; Sun, 14 Jun 2009 15:19:50 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9E7CA8FC1F for ; Sun, 14 Jun 2009 15:19:49 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EFJkCL030469 for ; Sun, 14 Jun 2009 15:19:46 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EFJhnr030467 for perforce@freebsd.org; Sun, 14 Jun 2009 15:19:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 14 Jun 2009 15:19:43 GMT Message-Id: <200906141519.n5EFJhnr030467@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164345 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 15:19:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=164345 Change 164345 by rwatson@rwatson_freebsd_capabilities on 2009/06/14 15:19:29 Define '_rights' versions of libcapability IPC interfaces in order to send file descriptor rights with messages or RPCs. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#14 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#14 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#13 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#14 $ */ #ifndef _LIBCAPABILITY_H_ @@ -70,27 +70,52 @@ int lch_getprocdesc(struct lc_sandbox *lcsp, int *fdp); /* - * I/O interfaces for the host environment. + * Message-passing APIs for the host environment. */ struct iovec; ssize_t lch_recv(struct lc_sandbox *lcsp, void *buf, size_t len, int flags); +ssize_t lch_recv_rights(struct lc_sandbox *lcsp, void *buf, size_t len, + int flags, int *fdp, int *fdcountp); +ssize_t lch_send(struct lc_sandbox *lcsp, const void *msg, size_t len, + int flags); +ssize_t lch_send_rights(struct lc_sandbox *lcsp, const void *msg, size_t len, + int flags, int *fdp, int fdcount); + +/* + * RPC APIs for the host environment. + */ int lch_rpc(struct lc_sandbox *lcsp, u_int32_t opno, struct iovec *req, int reqcount, struct iovec *rep, int repcount, size_t *replenp); -ssize_t lch_send(struct lc_sandbox *lcsp, const void *msg, size_t len, - int flags); +int lch_rpc_rights(struct lc_sandbox *lcsp, u_int32_t opno, + struct iovec *req, int reqcount, int *req_fdp, int *req_fdcount, + struct iovec *rep, int repcount, int *rep_fdp, int *rep_fdcount); /* - * Capability mode sandbox APIs. + * Interfaces to query state from within capability mode sandboxes. */ int lcs_get(struct lc_host **lchpp); int lcs_getsock(struct lc_host *lchp, int *fdp); + +/* + * Message-passing APIs for the sandbox environment. + */ ssize_t lcs_recv(struct lc_host *lchp, void *buf, size_t len, int flags); +ssize_t lcs_send(struct lc_host *lchp, const void *msg, size_t len, + int flags); + +/* + * RPC APIs for the sandbox environment. + */ int lcs_recvrpc(struct lc_host *lchp, u_int32_t *opnop, u_int32_t *seqnop, u_char **bufferp, size_t *lenp); -ssize_t lcs_send(struct lc_host *lchp, const void *msg, size_t len, - int flags); +int lcs_recvrpc_rights(struct lc_host *lchp, u_int32_t *opnop, + u_int32_t *seqnop, u_char **bufferp, size_t *lenp, int *fdp, + int *fdcountp); int lcs_sendrpc(struct lc_host *lchp, u_int32_t opno, u_int32_t seqno, struct iovec *rep, int repcount); +int lcs_sendrpc_rights(struct lc_host *lchp, u_int32_t opno, + u_int32_t seqno, struct iovec *rep, int repcount, int *fdp, + int *fdcountp); /* * Actually an rtld-elf-cap symbol, but declared here so it is available to From owner-p4-projects@FreeBSD.ORG Sun Jun 14 15:36:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2360E1065674; Sun, 14 Jun 2009 15:36:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A88B91065670 for ; Sun, 14 Jun 2009 15:36:06 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 95C6C8FC13 for ; Sun, 14 Jun 2009 15:36:06 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EFa6Cc031969 for ; Sun, 14 Jun 2009 15:36:06 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EFa6qx031967 for perforce@freebsd.org; Sun, 14 Jun 2009 15:36:06 GMT (envelope-from syl@FreeBSD.org) Date: Sun, 14 Jun 2009 15:36:06 GMT Message-Id: <200906141536.n5EFa6qx031967@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164347 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 15:36:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=164347 Change 164347 by syl@syl_atuin on 2009/06/14 15:35:48 Update transfer code following Hans Petter Selasky linux USB cam code. Need some work on isochronous endpoints. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#30 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#5 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#30 (text+ko) ==== @@ -680,9 +680,48 @@ static void libusb10_proxy(struct libusb20_transfer *xfer) { + uint8_t status; + libusb_transfer *usb_xfer; + pthread_mutex_lock(&libusb20_lock); - switch (libusb20_tr_get_status(xfer)) { + status = libusb20_tr_get_status(xfer); + usb_xfer = (libusb_transfer *)libusb20_tr_get_priv_sc0(xfer); + + switch (status) { + case LIBUSB20_TRANSFER_COMPLETED: + usb_xfer->actual_length += libusb20_tr_get_actual_length(xfer); + break ; + case LIBUSB20_TRANSFER_START: + usb_xfer->actual_length = 0; + switch (usb_xfer->type) + { + case LIBUSB_TRANSFER_TYPE_CONTROL: + libusb20_tr_setup_control(xfer, usb_xfer->buffer, + (void *)(((uint8_t *) usb_xfer->buffer) + + sizeof(libusb_control_setup)), + usb_xfer->timeout); + break ; + case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: + break ; + case LIBUSB_TRANSFER_TYPE_BULK: + libusb20_tr_setup_bulk(xfer, usb_xfer->buffer, + usb_xfer->length, usb_xfer->timeout); + break ; + case LIBUSB_TRANSFER_TYPE_INTERRUPT: + libusb20_tr_setup_intr(xfer, usb_xfer->buffer, + usb_xfer->length, usb_xfer->timeout); + break ; + } + libusb20_tr_submit(xfer); + break ; + default: + usb_xfer->actual_length = 0; + usb_xfer->status = LIBUSB_TRANSFER_CANCELLED; + break ; + } + + switch (status) { case LIBUSB20_TRANSFER_COMPLETED: xfer->status = LIBUSB_TRANSFER_COMPLETED; break ; @@ -704,7 +743,6 @@ default: xfer->status = LIBUSB_TRANSFER_ERROR; } - ((libusb_transfer_cb_fn)libusb20_tr_get_priv_sc0(xfer))(libusb20_tr_get_priv_sc1(xfer)); pthread_mutex_unlock(&libusb20_lock); } @@ -783,7 +821,7 @@ int libusb_submit_transfer(struct libusb_transfer *xfer) { - struct libusb20_transfer *usb20_xfer; + struct libusb20_transfer **usb20_xfer; struct usb_transfer *usb_backend; struct usb_transfer *usb_node; struct libusb20_device *pdev; @@ -793,12 +831,17 @@ int maxframe; int buffsize; int num_frame; + int ep_idx; int ret; int i; if (xfer == NULL) return (LIBUSB_ERROR_NO_MEM); + usb20_xfer = malloc(2 * sizeof(struct libusb20_transfer *)); + if (usb20_xfer == NULL) + return (LIBUSB_ERROR_NO_MEM); + ctx = xfer->dev_handle->dev->ctx; pdev = xfer->dev_handle->os_priv; @@ -845,8 +888,14 @@ out: pthread_mutex_unlock(&ctx->flying_transfers_lock); - /*libusb20 dependent code*/ - GET_XFER(usb20_xfer, xfer->endpoint, pdev); + usb20_xfer[0] = libusb20_tr_get_pointer(pdev, + (2 * xfer->endpoint) | (xfer->endpoint / 0x80)); + usb20_xfer[1] = libusb20_tr_get_pointer(pdev, + ((2 * xfer->endpoint) | (xfer->endpoint / 0x80)) + 1); + + if (usb20_xfer[0] == NULL) + return (LIBUSB_ERROR_OTHER); + xfer->os_priv = usb20_xfer; pthread_mutex_lock(&libusb20_lock); @@ -854,8 +903,11 @@ buffsize = libusb_get_buffsize(pdev, xfer); maxframe = libusb_get_maxframe(pdev, xfer); - ret = libusb20_tr_open(usb20_xfer, buffsize, + ret = libusb20_tr_open(usb20_xfer[0], buffsize, maxframe, xfer->endpoint); + if (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS) + ret |= libusb20_tr_open(usb20_xfer[1], buffsize, + maxframe, xfer->endpoint); if (ret != 0) { pthread_mutex_unlock(&libusb20_lock); @@ -865,31 +917,17 @@ return (LIBUSB_ERROR_OTHER); } - switch (xfer->type) { - case LIBUSB_TRANSFER_TYPE_BULK: - libusb20_tr_setup_intr(usb20_xfer, xfer->buffer, xfer->length, xfer->timeout); - case LIBUSB_TRANSFER_TYPE_INTERRUPT: - libusb20_tr_setup_bulk(usb20_xfer, xfer->buffer, xfer->length, xfer->timeout); - break ; - case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: - libusb20_tr_set_total_frames(usb20_xfer, xfer->num_iso_packets); - /* XXX need to check libusb-1.0 for xfer->buffer xfer->length */ - for (i = 0 ; i < xfer->num_iso_packets ; i++) - libusb20_tr_setup_isoc(usb20_xfer, xfer->buffer, xfer->length, i); - break ; - case LIBUSB_TRANSFER_TYPE_CONTROL: - libusb20_tr_setup_control(usb20_xfer, xfer->buffer, - (void *)(((uint8_t *) xfer->buffer) + - sizeof(libusb_control_setup)), xfer->timeout); - break ; - } + libusb20_tr_set_priv_sc0(usb20_xfer[0], xfer); + libusb20_tr_set_callback(usb20_xfer[0], libusb10_proxy); + if (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS) { + libusb20_tr_set_priv_sc0(usb20_xfer[1], xfer); + libusb20_tr_set_callback(usb20_xfer[1], libusb10_proxy); + } - libusb20_tr_set_priv_sc0(usb20_xfer, xfer->callback); - libusb20_tr_set_priv_sc1(usb20_xfer, xfer->user_data); - libusb20_tr_set_callback(usb20_xfer, libusb10_proxy); + libusb20_tr_start(usb20_xfer[0]); + if (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS) + libusb20_tr_start(usb20_xfer[1]); - libusb20_tr_submit(usb20_xfer); - libusb20_tr_start(usb20_xfer); pthread_mutex_unlock(&libusb20_lock); return (0); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#5 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sun Jun 14 17:27:01 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B85461065673; Sun, 14 Jun 2009 17:27:00 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 73B661065672 for ; Sun, 14 Jun 2009 17:27:00 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 455E38FC1D for ; Sun, 14 Jun 2009 17:27:00 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EHQxxe052384 for ; Sun, 14 Jun 2009 17:26:59 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EHQxGE052382 for perforce@freebsd.org; Sun, 14 Jun 2009 17:26:59 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 14 Jun 2009 17:26:59 GMT Message-Id: <200906141726.n5EHQxGE052382@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164352 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 17:27:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=164352 Change 164352 by rwatson@rwatson_freebsd_capabilities on 2009/06/14 17:26:33 Copy libcapability.3 to libcapability_io.3, so that we can reduce the monolothicness of the man page. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_io.3#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Sun Jun 14 17:30:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BF5BD1065674; Sun, 14 Jun 2009 17:30:03 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 74C7D1065672 for ; Sun, 14 Jun 2009 17:30:03 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 46A178FC16 for ; Sun, 14 Jun 2009 17:30:03 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EHU3hp052625 for ; Sun, 14 Jun 2009 17:30:03 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EHU3LU052623 for perforce@freebsd.org; Sun, 14 Jun 2009 17:30:03 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 14 Jun 2009 17:30:03 GMT Message-Id: <200906141730.n5EHU3LU052623@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164353 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 17:30:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=164353 Change 164353 by rwatson@rwatson_freebsd_capabilities on 2009/06/14 17:29:04 Hook up libcapability_io.3. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#8 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#8 (text+ko) ==== @@ -16,6 +16,7 @@ WARNS?= 6 MAN= libcapability.3 +MAN+= libcapability_io.3 MLINKS= libcapability.3 libcapabilitym.3 .include From owner-p4-projects@FreeBSD.ORG Sun Jun 14 17:32:06 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A63DF1065672; Sun, 14 Jun 2009 17:32:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 626AF1065670 for ; Sun, 14 Jun 2009 17:32:06 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 053CB8FC14 for ; Sun, 14 Jun 2009 17:32:06 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EHW5hi052772 for ; Sun, 14 Jun 2009 17:32:05 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EHW5Og052770 for perforce@freebsd.org; Sun, 14 Jun 2009 17:32:05 GMT (envelope-from truncs@FreeBSD.org) Date: Sun, 14 Jun 2009 17:32:05 GMT Message-Id: <200906141732.n5EHW5Og052770@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164354 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 17:32:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=164354 Change 164354 by truncs@aditya on 2009/06/14 17:31:18 New Directory structure. The max length of a name in directory is EXT2FS_MAXNAMLEN. Ext2 rev 0 has 16 bits of e2d_namelen but for rev 1 this has been split into 8 bits e2d_namlen and 8 bits e2d_type. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#20 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#20 (text+ko) ==== @@ -235,27 +235,16 @@ /* * Inode flags */ -#define EXT2_SECRM_FL 0x00000001 /* Secure deletion */ -#define EXT2_UNRM_FL 0x00000002 /* Undelete */ -#define EXT2_COMPR_FL 0x00000004 /* Compress file */ -#define EXT2_SYNC_FL 0x00000008 /* Synchronous updates */ -#define EXT2_IMMUTABLE_FL 0x00000010 /* Immutable file */ -#define EXT2_APPEND_FL 0x00000020 /* writes to file may only append */ -#define EXT2_NODUMP_FL 0x00000040 /* do not dump file */ -#define EXT2_NOATIME_FL 0x00000080 /* do not update atime */ -/* Reserved for compression usage... */ -#define EXT2_DIRTY_FL 0x00000100 -#define EXT2_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */ -#define EXT2_NOCOMP_FL 0x00000400 /* Don't compress */ -#define EXT2_ECOMPR_FL 0x00000800 /* Compression error */ -/* End compression flags --- maybe not all used */ -#define EXT2_BTREE_FL 0x00001000 /* btree format dir */ -#define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ +#define EXT2_SECRM 0x00000001 /* Secure deletion */ +#define EXT2_UNRM 0x00000002 /* Undelete */ +#define EXT2_COMPR 0x00000004 /* Compress file */ +#define EXT2_SYNC 0x00000008 /* Synchronous updates */ +#define EXT2_IMMUTABLE 0x00000010 /* Immutable file */ +#define EXT2_APPEND 0x00000020 /* writes to file may only append */ +#define EXT2_NODUMP 0x00000040 /* do not dump file */ +#define EXT2_NOATIME 0x00000080 /* do not update atime */ -#define EXT2_FL_USER_VISIBLE 0x00001FFF /* User visible flags */ -#define EXT2_FL_USER_MODIFIABLE 0x000000FF /* User modifiable flags */ - /* * Structure of an inode on the disk */ @@ -362,7 +351,7 @@ -/* +/* * In-Memory Superblock */ @@ -401,7 +390,7 @@ uint32_t e2fs_blocksize_bits; char e2fs_wasvalid; /* valid at mount time */ off_t e2fs_maxfilesize; -}; +}; #ifdef __KERNEL__ @@ -476,29 +465,27 @@ /* * Structure of a directory entry */ -#define EXT2_NAME_LEN 255 +#define EXT2FS_MAXNAMLEN 255 -struct ext2_dir_entry { - __u32 inode; /* Inode number */ - __u16 rec_len; /* Directory entry length */ - __u16 name_len; /* Name length */ - char name[EXT2_NAME_LEN]; /* File name */ +struct ext2fs_direct { + u_int32_t e2d_ino; /* inode number of entry */ + u_int16_t e2d_reclen; /* length of this record */ + u_int16_t e2d_namlen; /* length of string in d_name */ + char e2d_name[EXT2FS_MAXNAMLEN];/* name with length<=EXT2FS_MAXNAMLEN */ }; - /* * The new version of the directory entry. Since EXT2 structures are * stored in intel byte order, and the name_len field could never be * bigger than 255 chars, it's safe to reclaim the extra byte for the * file_type field. */ -struct ext2_dir_entry_2 { - __u32 inode; /* Inode number */ - __u16 rec_len; /* Directory entry length */ - __u8 name_len; /* Name length */ - __u8 file_type; - char name[EXT2_NAME_LEN]; /* File name */ +struct ext2fs_direct_2 { + u_int32_t e2d_ino; /* inode number of entry */ + u_int16_t e2d_reclen; /* length of this record */ + u_int8_t e2d_namlen; /* length of string in d_name */ + u_int8_t e2d_type; /* file type */ + char e2d_name[EXT2FS_MAXNAMLEN];/* name with length<=EXT2FS_MAXNAMLEN */ }; - /* * Ext2 directory file types. Only the low 3 bits are used. The * other bits are reserved for now. From owner-p4-projects@FreeBSD.ORG Sun Jun 14 17:44:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E9321106566C; Sun, 14 Jun 2009 17:44:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A90BF106564A for ; Sun, 14 Jun 2009 17:44:18 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 96D548FC12 for ; Sun, 14 Jun 2009 17:44:18 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EHiI9s053841 for ; Sun, 14 Jun 2009 17:44:18 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EHiIHl053839 for perforce@freebsd.org; Sun, 14 Jun 2009 17:44:18 GMT (envelope-from truncs@FreeBSD.org) Date: Sun, 14 Jun 2009 17:44:18 GMT Message-Id: <200906141744.n5EHiIHl053839@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164357 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 17:44:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=164357 Change 164357 by truncs@aditya on 2009/06/14 17:44:16 Renaming to new inode flags. The current implementation uses only the immutable and append flag and the rest are to maintain compatibility with linux. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#21 edit .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_inode_cnv.c#6 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#21 (text+ko) ==== @@ -234,6 +234,7 @@ /* * Inode flags + * The current implementation uses only EXT2_IMMUTABLE and EXT2_APPEND flags */ #define EXT2_SECRM 0x00000001 /* Secure deletion */ #define EXT2_UNRM 0x00000002 /* Undelete */ ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_inode_cnv.c#6 (text+ko) ==== @@ -83,8 +83,8 @@ ip->i_mtime = ei->e2di_mtime; ip->i_ctime = ei->e2di_ctime; ip->i_flags = 0; - ip->i_flags |= (ei->e2di_flags & EXT2_APPEND_FL) ? SF_APPEND : 0; - ip->i_flags |= (ei->e2di_flags & EXT2_IMMUTABLE_FL) ? SF_IMMUTABLE : 0; + ip->i_flags |= (ei->e2di_flags & EXT2_APPEND) ? SF_APPEND : 0; + ip->i_flags |= (ei->e2di_flags & EXT2_IMMUTABLE) ? SF_IMMUTABLE : 0; ip->i_blocks = ei->e2di_nblock; ip->i_gen = ei->e2di_gen; ip->i_uid = ei->e2di_uid; @@ -121,8 +121,8 @@ ei->e2di_ctime = ip->i_ctime; ei->e2di_flags = ip->i_flags; ei->e2di_flags = 0; - ei->e2di_flags |= (ip->i_flags & SF_APPEND) ? EXT2_APPEND_FL: 0; - ei->e2di_flags |= (ip->i_flags & SF_IMMUTABLE) ? EXT2_IMMUTABLE_FL: 0; + ei->e2di_flags |= (ip->i_flags & SF_APPEND) ? EXT2_APPEND: 0; + ei->e2di_flags |= (ip->i_flags & SF_IMMUTABLE) ? EXT2_IMMUTABLE: 0; ei->e2di_nblock = ip->i_blocks; ei->e2di_gen = ip->i_gen; ei->e2di_uid = ip->i_uid; From owner-p4-projects@FreeBSD.ORG Sun Jun 14 17:49:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 432141065672; Sun, 14 Jun 2009 17:49:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EF634106564A for ; Sun, 14 Jun 2009 17:49:23 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DA1B18FC19 for ; Sun, 14 Jun 2009 17:49:23 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EHnNIH054229 for ; Sun, 14 Jun 2009 17:49:23 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EHnNXH054227 for perforce@freebsd.org; Sun, 14 Jun 2009 17:49:23 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 14 Jun 2009 17:49:23 GMT Message-Id: <200906141749.n5EHnNXH054227@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164358 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 17:49:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=164358 Change 164358 by rwatson@rwatson_freebsd_capabilities on 2009/06/14 17:49:21 Distribute contents of original libcapability(3) over that page and the new libcapability_io(3). Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.3#16 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_io.3#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.3#16 (text+ko) ==== @@ -34,7 +34,7 @@ .\" .Dd June 11, 2009 .Os -.Dt LIBCAP 3 +.Dt LIBCAPABILITY 3 .Sh NAME .Nm libcapability .Nd "library interface to capability-mode services" @@ -62,24 +62,10 @@ .Fn lch_getpid "struct lc_sandbox *lcsp" "pid_t *pidp" .Ft int .Fn lch_getprocdesc "struct lc_sandbox *lcsp" "int *fdp" -.Ft ssize_t -.Fn lch_recv "struct lc_sandbox *lcsp, void *buf" "size_t len" "int flags" -.Ft int -.Fn lch_rpc "struct lc_sandbox *lcsp" "u_int32_t opno" "struct iovec *req" "int reqcount" "struct iovec *rep" "int repcount" "size_t *replenp" -.Ft ssize_t -.Fn lch_send "struct lc_sandbox *lcsp" "const void *msg" "size_t len" "int flags" .Ft int .Fn lcs_get "struct lc_host **lchpp" .Ft int .Fn lcs_getsock "struct lc_host *lchp" "int *fdp" -.Ft ssize_t -.Fn lcs_recv "struct lc_host *lchp" "void *buf" "size_t len" "int flags" -.Ft int -.Fn lcs_recvrpc "struct lc_host *lchp" "u_int32_t *opnop" "u_int32_t *seqnop" "u_char **bufferp" "size_t *lenp" -.Ft ssize_t -.Fn lcs_send "struct lc_host *lchp" "const void *msg" "size_t len" "int flags" -.Ft int -.Fn lcs_sendrpc "struct lc_host *lchp" "u_int32_t opno" "u_int32_t seqno" "struct iovec *rep" "int repcount" .Sh DESCRIPTION The .Nm @@ -116,6 +102,7 @@ .Fn lch_startfd , and .Fn lch_startfd_flags . +.Pp .Sh CAPABILITY API .Fn lc_limitfd is a wrapper around @@ -178,40 +165,10 @@ and .Fn lch_getpid . .Pp -.Fn lch_recv -and -.Fn lch_send -provide simple wrappers around -.Xr recv 2 -and -.Xr send 2 -to avoid sandbox consumers from having to query sandbox socket file -descriptors before use. -.Pp -.Fn lch_rpc -provides a simple synchronous RPC facility, and is intended to be used in -coordination with the -.Fn lcs_recvrpc -and -.Fn lcs_sendrpc -sandbox APIs. -The host provides an operation number meaningful to th sandbox, -.Va opno, -RPC arguments represented by -.Va req -and -.Va reqcount -using an -.Vt iovec -in the style of -.Xr writev 2 , -and similar receive buffers passed via -.Va rep -and -.Va repcount . -If the RPC fails, -1 will be returned, or 0 and the size of any reply will be -returned by reference using -.Va replenp . +.Nm +implements a number of I/O functions as part of the host API, which are +documented in +.Xr libcapability_io 3 . .Sh SANDBOX API The .Nm @@ -228,54 +185,16 @@ The socket for the host may be queried using .Fn lcs_getsock . .Pp -.Fn lcs_recv -and -.Fn lcs_send -provide simple wrappers around -.Xr recv 2 -and -.Xr send 2 -to avoid sandboxes having to query host socket file descriptors before use. -.Pp -.Fn lcs_recvrpc -and -.Fn lcs_sendrpc -may be used to implement a simple RPC system, in coordination with a host -using -.Fn lch_rpc . -.Fn lcs_recvrpc -blocks awaiting the receipt of an RPC request, which will be returned in a -buffer allocated using -.Xr malloc 3 , -.Va bufferp , -and with a data size returned via -.Va lenp . -The caller will also receive an operation number and a sequence number via -.Va opnop -and -.Va seqnop . -.Pp -When an RPC is complete, it should be returned to the host via -.Fn lcs_sendrpc , -which accepts the same operation and sequence number as arguments, as well as -reply data via the -.Vt iovec -.Va rep -and -.Va repcount . -When the sandbox is done with the request data, it should free the memory -using -.Xr free 3 . +.Nm +implements a number of I/O functions as part of the sandbox API, which are +documented in +.Xr libcapability_io 3 . .Sh SEE ALSO .Xr rpcgen 1 , .Xr cap_enter 2 , .Xr cap_new 2 , .Xr dup2 2 , -.Xr recv 2 , -.Xr send 2 , -.Xr writev 2 , -.Xr free 3 , -.Xr malloc 3 , +.Xr libcapability_io 3 , .Xr unix 4 .Sh HISTORY Support for capabilities and capabilities mode was developed as part of the @@ -284,16 +203,6 @@ .Sh BUGS WARNING: THIS IS EXPERIMENTAL SECURITY SOFTWARE THAT MUST NOT BE RELIED ON IN PRODUCTION SYSTEMS. IT WILL BREAK YOUR SOFTWARE IN NEW AND UNEXPECTED WAYS. -.Pp -The socket calls used by the simple RPC system are not robust in the presence -of signal delivery, which should be fixed. -.Pp -All sequence numbers will always have the value 0. -This is fine from a retransmission perspective, as generally no -retransmission should be required, but consumers should serialize use of the -RPC service when consuming it from concurrent callers (such as multiple -threads or multiple processes) to prevent I/O interlacing from corrupting the -RPC stream. .Sh AUTHORS These functions and the capability facility were created by .An "Robert N. M. Watson" ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_io.3#2 (text+ko) ==== @@ -34,7 +34,7 @@ .\" .Dd June 11, 2009 .Os -.Dt LIBCAP 3 +.Dt LIBCAPABILITY_IO 3 .Sh NAME .Nm libcapability .Nd "library interface to capability-mode services" @@ -44,34 +44,12 @@ .In sys/types.h .In sys/capability.h .In libcapability.h -.Ft int -.Fn lc_limitfd "int fd" "cap_rights_t rights" -.Ft int -.Fn lch_start "const char *sandbox" "char *const argv[]" "struct lc_sandbox **lcsp" -.Ft int -.Fn lch_start_flags "const char *sandbox" "char *const argv[]" "u_int flags" "struct lc_sandbox **lcsp" -.Ft int -.Fn lch_startfd "int fd_sandbox" "char *const argv[]" "struct lc_sandbox **lcsp" -.Ft int -.Fn lch_startfd_flags "int fd_sandbox" "char *const argv[]" "u_int flags" "struct lc_sandbox **lcsp" -.Ft void -.Fn lch_stop "struct lc_sandbox *lcsp" -.Ft int -.Fn lch_getsock "struct lc_sandbox *lcsp" "int *fdp" -.Ft int -.Fn lch_getpid "struct lc_sandbox *lcsp" "pid_t *pidp" -.Ft int -.Fn lch_getprocdesc "struct lc_sandbox *lcsp" "int *fdp" .Ft ssize_t .Fn lch_recv "struct lc_sandbox *lcsp, void *buf" "size_t len" "int flags" .Ft int .Fn lch_rpc "struct lc_sandbox *lcsp" "u_int32_t opno" "struct iovec *req" "int reqcount" "struct iovec *rep" "int repcount" "size_t *replenp" .Ft ssize_t .Fn lch_send "struct lc_sandbox *lcsp" "const void *msg" "size_t len" "int flags" -.Ft int -.Fn lcs_get "struct lc_host **lchpp" -.Ft int -.Fn lcs_getsock "struct lc_host *lchp" "int *fdp" .Ft ssize_t .Fn lcs_recv "struct lc_host *lchp" "void *buf" "size_t len" "int flags" .Ft int @@ -93,91 +71,11 @@ Applications may also use RPC generators such as .Xr rpcgen 1 to build event handling and marshaling code. -The -.Nm -library comes in two variations: .Pp -.Nm libcapability -loads binaries, and supporting libraries, for sandboxes from the UNIX -filesystem namespace by path. -It implements four start functions: -.Fn lch_start , -.Fn lch_start_flags , -.Fn lch_startfd , -and -.Fn lch_startfd_flags . -.Pp -.Nm libcapabilitym -loads binaries, and supporting libraries, for sandboxes from the library -descriptor cache maintained by -.Xr rtld-elf-cap 1 -It implements only the two start functions accepting file descriptor -arguments: -.Fn lch_startfd , -and -.Fn lch_startfd_flags . -.Sh CAPABILITY API -.Fn lc_limitfd -is a wrapper around -.Xr cap_new 2 -and -.Xr dup2 2 -which takes an existing file descriptor and replaces it with a capability -with the requested rights mask. +This man page describes these I/O facilities; information on setting up +and managing sandboxes may be found in +.Xr libcapability 3 . .Sh HOST API -The -.Nm -host API allows processes to start, stop, and manage sandboxes running in -capability mode. -Host API functions can be identified by their function name prefix, -.Dv lch_ . -.Pp -Each executing sandbox instance is described by an opaque -.Dt "struct lc_sandbox" , -which is returned by -.Fn lch_start -and -.Fn lch_start_flags -for successfully started sandboxes, and passed into other APIs to indicate -which sandbox should be acted on. -Both calls create new executing sandboxes, given the name of the sandbox -binary via -.Va sandbox , -and command line arguments -.Va argv . -.Pp -.Fn lch_start_flags -accepts an optional flags field to fine-tune aspects of sandbox operation; -the only currently defined flag is -.Dv LCH_PERMIT_STDERR , -which allows the sandbox to write to the current process's -.Dv stderr . -By default, this is not permitted. -.Pp -Two further variations to start sandboxes are also defined, -.Fn lch_startfd -and -.Fn lch_startfd_flags , -which accept a file descriptor argument, -.Va fd_sandbox , -rather than a path. -.Pp -Executing sandboxes may be stopped (and all state freed) using -.Fn lch_stop . -Following a call to -.Fn lch_stop , -the -.Va lchp -argument will no longer be valid. -.Pp -Properties of the sandbox, such as the socket used to communicate with it, -the proces descriptor for the sandbox process, and the pid, may be queried -using -.Fn lch_getsock , -.Fn lch_getprocdesc , -and -.Fn lch_getpid . -.Pp .Fn lch_recv and .Fn lch_send @@ -213,21 +111,6 @@ returned by reference using .Va replenp . .Sh SANDBOX API -The -.Nm -sandbox API allows sandbox processes to interact with their host process. -Sandbox API functions can be identified by their function name prefix, -.Dv lcs_ . -.Pp -Each executing sandbox will have a single corresponding host instance, -described by an opaque -.Dt "struct lc_host" , -which is returned by -.Fn lcs_get . -.Pp -The socket for the host may be queried using -.Fn lcs_getsock . -.Pp .Fn lcs_recv and .Fn lcs_send @@ -268,13 +151,11 @@ .Xr free 3 . .Sh SEE ALSO .Xr rpcgen 1 , -.Xr cap_enter 2 , -.Xr cap_new 2 , -.Xr dup2 2 , .Xr recv 2 , .Xr send 2 , .Xr writev 2 , .Xr free 3 , +.Xr libcapability 3 , .Xr malloc 3 , .Xr unix 4 .Sh HISTORY From owner-p4-projects@FreeBSD.ORG Sun Jun 14 17:50:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 61C4A1065672; Sun, 14 Jun 2009 17:50:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 22378106566B for ; Sun, 14 Jun 2009 17:50:25 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0E9138FC13 for ; Sun, 14 Jun 2009 17:50:25 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EHoOSl054354 for ; Sun, 14 Jun 2009 17:50:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EHoOHn054352 for perforce@freebsd.org; Sun, 14 Jun 2009 17:50:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 14 Jun 2009 17:50:24 GMT Message-Id: <200906141750.n5EHoOHn054352@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164359 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 17:50:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=164359 Change 164359 by rwatson@rwatson_freebsd_capabilities on 2009/06/14 17:50:21 Reference close(2) in description of cap_limitfd(3). Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.3#17 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.3#17 (text+ko) ==== @@ -106,9 +106,10 @@ .Sh CAPABILITY API .Fn lc_limitfd is a wrapper around -.Xr cap_new 2 +.Xr cap_new 2 , +.Xr dup2 2 , and -.Xr dup2 2 +.Xr close 2 . which takes an existing file descriptor and replaces it with a capability with the requested rights mask. .Sh HOST API @@ -193,6 +194,7 @@ .Xr rpcgen 1 , .Xr cap_enter 2 , .Xr cap_new 2 , +.Xr close 2 , .Xr dup2 2 , .Xr libcapability_io 3 , .Xr unix 4 From owner-p4-projects@FreeBSD.ORG Sun Jun 14 18:03:44 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0BCDA1065672; Sun, 14 Jun 2009 18:03:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD692106566C for ; Sun, 14 Jun 2009 18:03:43 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A814A8FC0C for ; Sun, 14 Jun 2009 18:03:43 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EI3hUl056291 for ; Sun, 14 Jun 2009 18:03:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EI3h92056289 for perforce@freebsd.org; Sun, 14 Jun 2009 18:03:43 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sun, 14 Jun 2009 18:03:43 GMT Message-Id: <200906141803.n5EI3h92056289@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164361 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 18:03:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=164361 Change 164361 by rwatson@rwatson_freebsd_capabilities on 2009/06/14 18:02:59 Implement I/O functions for host and sandbox environment that allow sending and receiving arrays of file descriptors. This proves somewhat tricky to do robustly, as the recvmsg(2) API makes it hard to properly handle all error edge cases, but we do our best. Because 99% of the I/O functions are shared between host and sandbox, implement them in a common location. Update documentation. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#7 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#15 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#13 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_internal.h#1 add .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_io.3#3 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.c#6 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#7 (text+ko) ==== @@ -30,16 +30,20 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#6 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#7 $ */ #include #include +#include #include +#include #include #include "libcapability.h" +#include "libcapability_internal.h" +#include "libcapability_sandbox_api.h" int lc_limitfd(int fd, cap_rights_t rights) @@ -59,3 +63,171 @@ close(fd_cap); return (0); } + +/* + * Given a 'struct msghdr' returned by a successful call to recvmsg(), + * extract up to the desired number of file descriptors (or clean up the + * mess if something goes wrong). + */ +int +_lc_receive_rights(struct msghdr *msg, int *fdp, int *fdcountp) +{ + int *cmsg_fdp, fdcount, i, scmrightscount; + struct cmsghdr *cmsg; + + /* + * Walk the complete control message chain to count received control + * messages and rights. If there is more than one rights message or + * there are too many file descriptors, re-walk and close them all + * and return an error. + */ + fdcount = 0; + scmrightscount = 0; + for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; + cmsg = CMSG_NXTHDR(msg, cmsg)) { + if (cmsg->cmsg_level != SOL_SOCKET || + cmsg->cmsg_type != SCM_RIGHTS) + continue; + fdcount += (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int); + scmrightscount++; + } + if (scmrightscount > 1 || fdcount > *fdcountp) { + for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; + cmsg = CMSG_NXTHDR(msg, cmsg)) { + if (cmsg->cmsg_level != SOL_SOCKET || + cmsg->cmsg_type != SCM_RIGHTS) + continue; + cmsg_fdp = (int *)CMSG_DATA(cmsg); + fdcount = (cmsg->cmsg_len - CMSG_LEN(0)) / + sizeof(int); + for (i = 0; i < fdcount; i++) + close(cmsg_fdp[i]); + } + errno = EBADMSG; + return (-1); + } + + /* + * Re-walk the control messages and copy out the file descriptor + * numbers, return success. No need to recalculate fdcount. + */ + for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; + cmsg = CMSG_NXTHDR(msg, cmsg)) { + if (cmsg->cmsg_level != SOL_SOCKET || + cmsg->cmsg_type != SCM_RIGHTS) + continue; + cmsg_fdp = (int *)CMSG_DATA(cmsg); + for (i = 0; i < fdcount; i++) + fdp[i] = cmsg_fdp[i]; + } + *fdcountp = fdcount; + return (0); +} + +ssize_t +_lc_send(int fd, const void *msg, size_t len, int flags) +{ + + if (fd == -1 || fd == 0) { + errno = ECHILD; + return (-1); + } + return (send(fd, msg, len, flags)); +} + +ssize_t +_lc_send_rights(int fd, const void *msg, size_t len, int flags, int *fdp, + int fdcount) +{ + char cmsgbuf[CMSG_SPACE(LIBCAPABILITY_SANDBOX_API_MAXRIGHTS * + sizeof(int))]; + struct cmsghdr *cmsg; + struct msghdr msghdr; + struct iovec iov; + int i; + + if (fdcount == 0) + return (_lc_send(fd, msg, len, flags)); + + if (fd == -1 || fd == 0) { + errno = ECHILD; + return (-1); + } + + if (fdcount > LIBCAPABILITY_SANDBOX_API_MAXRIGHTS) { + errno = EMSGSIZE; + return (-1); + } + + bzero(&iov, sizeof(iov)); + iov.iov_base = __DECONST(void *, msg); + iov.iov_len = len; + + bzero(&msghdr, sizeof(msghdr)); + bzero(&cmsgbuf, sizeof(cmsgbuf)); + cmsg = (struct cmsghdr *)cmsgbuf; + cmsg->cmsg_len = CMSG_SPACE(fdcount * sizeof(int)); + cmsg->cmsg_level = SOL_SOCKET; + cmsg->cmsg_type = SCM_RIGHTS; + for (i = 0; i < fdcount; i++) + ((int *)CMSG_DATA(cmsg))[i] = fdp[i]; + + bzero(&msghdr, sizeof(msghdr)); + msghdr.msg_iov = &iov; + msghdr.msg_iovlen = 1; + msghdr.msg_control = cmsg; + msghdr.msg_controllen = cmsg->cmsg_len; + + return (sendmsg(fd, &msghdr, flags)); +} + +ssize_t +_lc_recv(int fd, void *buf, size_t len, int flags) +{ + + if (fd == -1 || fd == 0) { + errno = ESRCH; + return (-1); + } + return (recv(fd, buf, len, flags)); +} + +ssize_t +_lc_recv_rights(int fd, void *buf, size_t len, int flags, int *fdp, + int *fdcountp) +{ + char cmsgbuf[CMSG_SPACE(LIBCAPABILITY_SANDBOX_API_MAXRIGHTS * + sizeof(int))]; + struct msghdr msghdr; + struct iovec iov; + ssize_t retlen; + + if (*fdcountp == 0) + return (_lc_recv(fd, buf, len, flags)); + + if (fd == -1 || fd == 0) { + errno = ECHILD; + return (-1); + } + + if (*fdcountp > LIBCAPABILITY_SANDBOX_API_MAXRIGHTS) { + errno = EMSGSIZE; + return (-1); + } + + bzero(&iov, sizeof(iov)); + iov.iov_base = buf; + iov.iov_len = len; + + bzero(cmsgbuf, sizeof(cmsgbuf)); + bzero(&msghdr, sizeof(msghdr)); + msghdr.msg_control = cmsgbuf; + msghdr.msg_controllen = sizeof(cmsgbuf); + + retlen = recvmsg(fd, &msghdr, flags); + if (retlen < 0) + return (-1); + if (_lc_receive_rights(&msghdr, fdp, fdcountp) < 0) + return (-1); + return (retlen); +} ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#15 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#14 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#15 $ */ #ifndef _LIBCAPABILITY_H_ @@ -100,8 +100,12 @@ * Message-passing APIs for the sandbox environment. */ ssize_t lcs_recv(struct lc_host *lchp, void *buf, size_t len, int flags); +ssize_t lcs_recv_rights(struct lc_host *lchp, void *buf, size_t len, + int flags, int *fdp, int *fdcountp); ssize_t lcs_send(struct lc_host *lchp, const void *msg, size_t len, int flags); +ssize_t lcs_send_rights(struct lc_host *lchp, const void *msg, size_t len, + int flags, int *fdp, int fdcount); /* * RPC APIs for the sandbox environment. ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#13 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#12 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#13 $ */ #include @@ -49,6 +49,7 @@ #include #include "libcapability.h" +#include "libcapability_internal.h" #include "libcapability_sandbox_api.h" #define LIBCAPABILITY_CAPMASK_DEVNULL (CAP_EVENT | CAP_READ | CAP_WRITE) @@ -410,24 +411,32 @@ lch_send(struct lc_sandbox *lcsp, const void *msg, size_t len, int flags) { - if (lcsp->lcs_fd_sock == -1 || - lcsp->lcs_fd_sock == 0) { - errno = ECHILD; - return (-1); - } - return (send(lcsp->lcs_fd_sock, msg, len, flags)); + return (_lc_send(lcsp->lcs_fd_sock, msg, len, flags)); +} + +ssize_t +lch_send_rights(struct lc_sandbox *lcsp, const void *msg, size_t len, + int flags, int *fdp, int fdcount) +{ + + return (_lc_send_rights(lcsp->lcs_fd_sock, msg, len, flags, fdp, + fdcount)); } ssize_t lch_recv(struct lc_sandbox *lcsp, void *buf, size_t len, int flags) { - if (lcsp->lcs_fd_sock == -1 || - lcsp->lcs_fd_sock == 0) { - errno = ESRCH; - return (-1); - } - return (recv(lcsp->lcs_fd_sock, buf, len, flags)); + return (_lc_recv(lcsp->lcs_fd_sock, buf, len, flags)); +} + +ssize_t +lch_recv_rights(struct lc_sandbox *lcsp, void *buf, size_t len, int flags, + int *fdp, int *fdcountp) +{ + + return (_lc_recv_rights(lcsp->lcs_fd_sock, buf, len, flags, fdp, + fdcountp)); } /* ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_io.3#3 (text+ko) ==== @@ -46,16 +46,24 @@ .In libcapability.h .Ft ssize_t .Fn lch_recv "struct lc_sandbox *lcsp, void *buf" "size_t len" "int flags" +.Ft ssize_t +.Fn lch_recv_rights "struct lc_sandbox *lcsp" "void *buf" "size_t len" "int flags" "int *fdp" "int *fdcountp" .Ft int .Fn lch_rpc "struct lc_sandbox *lcsp" "u_int32_t opno" "struct iovec *req" "int reqcount" "struct iovec *rep" "int repcount" "size_t *replenp" .Ft ssize_t .Fn lch_send "struct lc_sandbox *lcsp" "const void *msg" "size_t len" "int flags" .Ft ssize_t +.Fn lch_send_rights "struct lc_sandbox *lcsp" "const void *msg" "size_t len" "int flags" "int *fdp" "int fdcount" +.Ft ssize_t .Fn lcs_recv "struct lc_host *lchp" "void *buf" "size_t len" "int flags" +.Ft ssize_t +.Fn lcs_recv_rights "struct lc_host *lchp" "void *buf" "size_t len" "int flags" "int *fdp" "int *fdcountp" .Ft int .Fn lcs_recvrpc "struct lc_host *lchp" "u_int32_t *opnop" "u_int32_t *seqnop" "u_char **bufferp" "size_t *lenp" .Ft ssize_t .Fn lcs_send "struct lc_host *lchp" "const void *msg" "size_t len" "int flags" +.Ft ssize_t +.Fn lcs_send_rights "struct lc_host *lchp" "const void *msg" "size_t len" "int flags" "int *fdp" "int fdcount" .Ft int .Fn lcs_sendrpc "struct lc_host *lchp" "u_int32_t opno" "u_int32_t seqno" "struct iovec *rep" "int repcount" .Sh DESCRIPTION @@ -86,6 +94,24 @@ to avoid sandbox consumers from having to query sandbox socket file descriptors before use. .Pp +.Fn lch_recv_rights +and +.Fn lch_send_rights +are similar, but allow file descriptors to be attached the the messages +received and sent. +Both accept a pointer to a file descriptor array, +.Va fdp . +Callers to +.Fn lch_recv_rights +will pass in the length of the array via +.Va fdcountp , +whose value will be changed to the actual number of file descriptors +received. +Callers to +.Fn lch_send_rights +will pass in the number of file descriptors in the array via +Va fdcount . +.Pp .Fn lch_rpc provides a simple synchronous RPC facility, and is intended to be used in coordination with the @@ -120,6 +146,11 @@ .Xr send 2 to avoid sandboxes having to query host socket file descriptors before use. .Pp +.Fn lcs_recv_rights +and +.Fn lcs_send_rights +similarly allow receiving and sending file descriptors with messages. +.Pp .Fn lcs_recvrpc and .Fn lcs_sendrpc ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.c#6 (text+ko) ==== @@ -45,6 +45,7 @@ #include #include "libcapability.h" +#include "libcapability_internal.h" #include "libcapability_sandbox_api.h" struct lc_host { @@ -114,14 +115,32 @@ lcs_recv(struct lc_host *lchp, void *buf, size_t len, int flags) { - return (recv(lchp->lch_fd_sock, buf, len, flags)); + return (_lc_recv(lchp->lch_fd_sock, buf, len, flags)); +} + +ssize_t +lcs_recv_rights(struct lc_host *lchp, void *buf, size_t len, int flags, + int *fdp, int *fdcountp) +{ + + return (_lc_recv_rights(lchp->lch_fd_sock, buf, len, flags, fdp, + fdcountp)); } ssize_t lcs_send(struct lc_host *lchp, const void *msg, size_t len, int flags) { - return (send(lchp->lch_fd_sock, msg, len, flags)); + return (_lc_send(lchp->lch_fd_sock, msg, len, flags)); +} + +ssize_t +lcs_send_rights(struct lc_host *lchp, const void *msg, size_t len, + int flags, int *fdp, int fdcount) +{ + + return (_lc_send_rights(lchp->lch_fd_sock, msg, len, flags, fdp, + fdcount)); } /* From owner-p4-projects@FreeBSD.ORG Sun Jun 14 18:25:06 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EDB6F106566C; Sun, 14 Jun 2009 18:25:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A68D51065674 for ; Sun, 14 Jun 2009 18:25:05 +0000 (UTC) (envelope-from tatsianka@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 929B68FC15 for ; Sun, 14 Jun 2009 18:25:05 +0000 (UTC) (envelope-from tatsianka@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EIP5WN058005 for ; Sun, 14 Jun 2009 18:25:05 GMT (envelope-from tatsianka@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EIP5pG058003 for perforce@freebsd.org; Sun, 14 Jun 2009 18:25:05 GMT (envelope-from tatsianka@FreeBSD.org) Date: Sun, 14 Jun 2009 18:25:05 GMT Message-Id: <200906141825.n5EIP5pG058003@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tatsianka@FreeBSD.org using -f From: Tatsiana Severyna To: Perforce Change Reviews Cc: Subject: PERFORCE change 164364 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 18:25:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=164364 Change 164364 by tatsianka@tatsianka_zonder on 2009/06/14 18:24:24 Push vnode locking down to puffs_getvnode and puffs_makeroot Change puffs_cookie2vnode to use vnode lock flag Change state PUFFSTAT_MOUNTING -> PUFFSTAT_RUNNING in puffs_vfsop_root (as there is no vfs_start) kqueue fixes Fix freeze during unmounting Don't forget to insert putter instance into list Use nmount in libpuffs Add extra debugging Affected files ... .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/Makefile#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/callcontext.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/dispatcher.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/framebuf.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.c#2 edit .. //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.h#2 edit .. //depot/projects/soc2009/tatsianka_puffs/pnullfs/Makefile#2 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/Makefile#3 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_msgif.c#3 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_node.c#3 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_subr.c#3 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_sys.h#3 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_vfsops.c#3 edit .. //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_vnops.c#3 edit .. //depot/projects/soc2009/tatsianka_puffs/putter/Makefile#3 edit .. //depot/projects/soc2009/tatsianka_puffs/putter/putter.c#2 edit Differences ... ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/Makefile#2 (text+ko) ==== @@ -7,7 +7,7 @@ puffs_framebuf.3 puffs_node.3 puffs_ops.3 puffs_path.3 \ puffs_suspend.3 INCS= puffs.h puffsdump.h -CFLAGS+= -I${.CURDIR}/../puffs -I${.CURDIR}/../putter -I${.CURDIR} -I/usr/src/sbin/mount -SHLIB_MAJOR= 0 +CFLAGS+= -g -I${.CURDIR}/../puffs -I${.CURDIR}/../putter -I${.CURDIR} -I/usr/src/sbin/mount +#SHLIB_MAJOR= 0 .include ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/callcontext.c#2 (text+ko) ==== @@ -47,7 +47,7 @@ #include "puffs_priv.h" -#if 0 +#if 1 #define DPRINTF(x) printf x #else #define DPRINTF(x) @@ -311,6 +311,7 @@ { struct puffs_cc *pcc; + printf("puffs__cc_exit\n"); while ((pcc = LIST_FIRST(&pu->pu_ccmagazin)) != NULL) { LIST_REMOVE(pcc, pcc_rope); cc_free(pcc); ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/dispatcher.c#2 (text+ko) ==== @@ -69,6 +69,12 @@ struct puffs_cc *pcc = puffs_cc_getcc(pu); struct puffs_req *preq; + /* XXX_TS */ + if (!pcc->pcc_pu) { + printf("XXX puffs__ml_dispatch: pcc->pcc_pu == NULL\n"); + pcc->pcc_pu = pu; + } + pcc->pcc_pb = pb; pcc->pcc_flags |= PCC_MLCONT; dispatch(pcc); ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/framebuf.c#2 (text+ko) ==== @@ -1062,6 +1062,7 @@ { struct puffs_fctrl_io *fio; + printf("puffs__framev_exit\n"); while ((fio = LIST_FIRST(&pu->pu_ios)) != NULL) removefio(pu, fio, ENXIO); free(pu->pu_evs); ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.c#2 (text+ko) ==== @@ -461,6 +461,7 @@ puffs_mount(struct puffs_usermount *pu, const char *dir, int mntflags, puffs_cookie_t cookie) { + struct iovec iov[6]; char rp[MAXPATHLEN]; ssize_t n; int rv, fd, sverrno; @@ -545,16 +546,25 @@ "what you want?", fd); pu->pu_kargp->pa_fd = pu->pu_fd = fd; -#ifdef XXX_TS - if ((rv = mount(MOUNT_PUFFS, rp, mntflags, - pu->pu_kargp, sizeof(struct puffs_kargs))) == -1) - goto out; -#endif - if ((rv = mount(MOUNT_PUFFS, rp, mntflags, - pu->pu_kargp)) == -1) + iov[0].iov_base = strdup("fstype"); + iov[0].iov_len = sizeof("fstype"); + iov[1].iov_base = strdup("puffs"); + iov[1].iov_len = strlen(iov[1].iov_base) + 1; + iov[2].iov_base = strdup("fspath"); + iov[2].iov_len = sizeof("fspath"); + iov[3].iov_base = rp; + iov[3].iov_len = strlen(rp) + 1; + iov[4].iov_base = strdup("puffs_args"); + iov[4].iov_len = sizeof("puffs_args"); + iov[5].iov_base = pu->pu_kargp; + iov[5].iov_len = sizeof(struct puffs_kargs); + + if ((rv = nmount(iov, 6, mntflags)) == -1) goto out; } + printf("%s: mount %d\n", __func__, rv); + PU_SETSTATE(pu, PUFFS_STATE_RUNNING); out: @@ -573,6 +583,7 @@ } errno = sverrno; + printf("%s: mount return %d\n", __func__, rv); return rv; } @@ -667,6 +678,7 @@ { struct puffs_node *pn; + printf("puffs_exit: enter\n"); force = 1; /* currently */ if (pu->pu_fd) @@ -681,6 +693,7 @@ if (pu->pu_state & PU_HASKQ) close(pu->pu_kq); free(pu); + printf("puffs_exit: done\n"); return 0; /* always succesful for now, WILL CHANGE */ } @@ -701,6 +714,7 @@ int ndone; while (puffs_getstate(pu) != PUFFS_STATE_UNMOUNTED) { + printf("puffs__theloop: iteration\n"); /* * Schedule existing requests. */ @@ -779,6 +793,7 @@ ndone = kevent(pu->pu_kq, pu->pu_evs, nchanges, pu->pu_evs, 2*pu->pu_nfds, pu->pu_ml_timep); + printf("puffs__theloop: kevent: %d; errno=%d\n", ndone, errno); if (ndone == -1) { if (errno != EINTR) break; @@ -806,6 +821,7 @@ fio = (void *)curev->udata; pfctrl = fio->fctrl; if (curev->flags & EV_ERROR) { + printf("puffs__theloop: EV_ERROR\n"); assert(curev->filter == EVFILT_WRITE); fio->stat &= ~FIO_WR; @@ -818,11 +834,13 @@ what = 0; if (curev->filter == EVFILT_READ) { + printf("puffs__theloop: EVFILT_READ\n"); puffs__framev_input(pu, pfctrl, fio); what |= PUFFS_FBIO_READ; } else if (curev->filter == EVFILT_WRITE) { + printf("puffs__theloop: EVFILT_WRITE\n"); puffs__framev_output(pu, pfctrl, fio); what |= PUFFS_FBIO_WRITE; } @@ -840,6 +858,8 @@ } } + printf("puffs__theloop: done\n"); + if (puffs__cc_restoremain(pu) == -1) warn("cannot restore main context. impending doom"); } ==== //depot/projects/soc2009/tatsianka_puffs/libpuffs/puffs.h#2 (text+ko) ==== @@ -48,7 +48,7 @@ #include /* XXX_TS paths.h, sys/mount.h in NetBSD */ -#define _PATH_PUFFS "/dev/puffs" +#define _PATH_PUFFS "/dev/putter" #define MOUNT_PUFFS "puffs" /* Pass-to-Userspace filesystem */ /* forwards */ ==== //depot/projects/soc2009/tatsianka_puffs/pnullfs/Makefile#2 (text+ko) ==== @@ -10,7 +10,7 @@ MOUNT= /usr/src/sbin/mount .PATH: ${MOUNT} -CFLAGS+= -I${.CURDIR}/../libpuffs -I${.CURDIR}/../puffs -I${.CURDIR}/../putter -I${MOUNT} +CFLAGS+= -g -I${.CURDIR}/../libpuffs -I${.CURDIR}/../puffs -I${.CURDIR}/../putter -I${MOUNT} LDFLAGS+= -L${.OBJDIR}/../libpuffs .include ==== //depot/projects/soc2009/tatsianka_puffs/puffs/Makefile#3 (text+ko) ==== @@ -5,7 +5,6 @@ KMOD= puffs SRCS= vnode_if.h puffs_msgif.c puffs_msgif.h puffs_node.c puffs_subr.c \ puffs_sys.h puffs_vfsops.c puffs_vnops.c +DEBUG_FLAGS= -DPUFFSDEBUG -g -I${.CURDIR} -I${.CURDIR}/../putter .include - -CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../putter ==== //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_msgif.c#3 (text+ko) ==== @@ -90,7 +90,7 @@ #endif static int -makepark(void *mem, int size, int flags) +makepark(void *mem, int size, void *arg, int flags) { struct puffs_msgpark *park = mem; @@ -101,10 +101,12 @@ } static void -nukepark(void *mem, int size) +nukepark(void *mem, int size, void *arg) { struct puffs_msgpark *park = mem; + DPRINTF(("puffs_msgpark_alloc\n")); + cv_destroy(&park->park_cv); mtx_destroy(&park->park_mtx); } @@ -114,7 +116,7 @@ { parkpc = uma_zcreate("puffprkl", sizeof(struct puffs_msgpark), - NULL, NULL, makepark, nukepark, UMA_ALIGN_PTR, UMA_ZONE_ZINIT); + makepark, nukepark, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_ZINIT); } void @@ -187,10 +189,10 @@ parkdump(struct puffs_msgpark *park) { - DPRINTF(("park %p, preq %p, id %" PRIu64 "\n" + DPRINTF(("park %p, preq %p, id %ju\n" "\tcopy %zu, max %zu - done: %p/%p\n" "\tflags 0x%08x, refcount %d, cv/mtx: %p/%p\n", - park, park->park_preq, park->park_preq->preq_id, + park, park->park_preq, (intmax_t)park->park_preq->preq_id, park->park_copylen, park->park_maxlen, park->park_done, park->park_donearg, park->park_flags, park->park_refcount, @@ -329,6 +331,7 @@ struct thread *td = curthread; struct puffs_req *preq; + DPRINTF(("puffs_msg_enqueue: park=%p\n", park)); preq = park->park_preq; preq->preq_buflen = park->park_maxlen; KASSERT(preq->preq_id == 0 @@ -395,8 +398,8 @@ cv_broadcast(&pmp->pmp_msg_waiter_cv); putter_notify(pmp->pmp_pi); - DPRINTF(("touser: req %" PRIu64 ", preq: %p, park: %p, " - "c/t: 0x%x/0x%x, f: 0x%x\n", preq->preq_id, preq, park, + DPRINTF(("touser: req %ju, preq: %p, park: %p, " + "c/t: 0x%x/0x%x, f: 0x%x\n", (intmax_t) preq->preq_id, preq, park, preq->preq_opclass, preq->preq_optype, park->park_flags)); } @@ -407,6 +410,8 @@ int error = 0; int rv; + DPRINTF(("puffs_msg_wait\n")); + mtx_lock(&pmp->pmp_lock); puffs_mp_reference(pmp); mtx_unlock(&pmp->pmp_lock); @@ -423,6 +428,7 @@ if (__predict_false((park->park_flags & PARKFLAG_DONE) || (park->park_flags & PARKFLAG_HASERROR))) { rv = park->park_preq->preq_rv; + DPRINTF(("puffs_msg_wait: park has error: %d; park=%p\n", rv, park)); mtx_unlock(&park->park_mtx); goto skipwait; } @@ -480,6 +486,8 @@ puffs_mp_release(pmp); mtx_unlock(&pmp->pmp_lock); + DPRINTF(("puffs_msg_wait; result=%d\n", rv)); + return rv; } @@ -547,6 +555,7 @@ struct puffs_req *preq; int error; + DTRACE(); error = 0; mtx_lock(&pmp->pmp_lock); puffs_mp_reference(pmp); @@ -685,6 +694,7 @@ mtx_lock(&pmp->pmp_lock); rv = pmp->pmp_msg_touser_count; + DPRINTF(("puffs_msgif_waitcount: rv=%d\n", rv)); mtx_unlock(&pmp->pmp_lock); return rv; @@ -701,6 +711,7 @@ struct puffs_msgpark *park; int wgone; + DTRACE(); mtx_lock(&pmp->pmp_lock); /* Locate waiter */ @@ -709,8 +720,8 @@ break; } if (park == NULL) { - DPRINTF(("puffsop_msg: no request: %" PRIu64 "\n", - preq->preq_id)); + DPRINTF(("puffsop_msg: no request: %ju\n", + (intmax_t) preq->preq_id)); mtx_unlock(&pmp->pmp_lock); return; /* XXX send error */ } @@ -719,8 +730,8 @@ puffs_msgpark_reference(park); if (pth->pth_framelen > park->park_maxlen) { DPRINTF(("puffsop_msg: invalid buffer length: " - "%" PRIu64 " (req %" PRIu64 ", \n", pth->pth_framelen, - preq->preq_id)); + "%ju (req %ju, \n", (intmax_t) pth->pth_framelen, + (intmax_t) preq->preq_id)); park->park_preq->preq_rv = EPROTO; cv_signal(&park->park_cv); puffs_msgpark_release1(park, 2); @@ -930,8 +941,6 @@ * wait for syncer_mutex. Otherwise the mointpoint can be * wiped out while we wait. XXX Should be done earlier */ - /* XXX_TS */ - vfs_ref(mp); mtx_lock(&Giant); /* dounmount() */ (void)dounmount(mp, MNT_FORCE, curthread); mtx_unlock(&Giant); /* dounmount() */ ==== //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_node.c#3 (text+ko) ==== @@ -79,7 +79,7 @@ */ int puffs_getvnode(struct mount *mp, puffs_cookie_t ck, enum vtype type, - off_t vsize, dev_t rdev, struct vnode **vpp) + off_t vsize, dev_t rdev, int lkflag, struct vnode **vpp) { struct puffs_mount *pmp; struct puffs_newcookie *pnc; @@ -88,6 +88,8 @@ struct puffs_node_hashlist *plist; int error; + DTRACE(); + pmp = MPTOPUFFSMP(mp); error = EPROTO; @@ -105,21 +107,33 @@ #endif KASSERT(vsize != ((voff_t)-1), ("VSIZENOTSET is not supported")); + pnode = uma_zalloc(puffs_pnpool, M_WAITOK); + /* XXX */ + memset(pnode, 0, sizeof(struct puffs_node)); + error = getnewvnode("puffs", mp, &puffs_vnodeops, &vp); - if (error) + DPRINTF(("puffs_getvnode: getnewvnode => %d; vp=%p mp=%p\n", error, vp, mp)); + if (error) { + uma_zfree(puffs_pnpool, pnode); + goto bad; + } + vn_lock(vp, lkflag | LK_RETRY); + error = insmntque(vp, mp); + if (error) { + vp = NULL; + uma_zfree(puffs_pnpool, pnode); goto bad; - vp->v_vnlock = NULL; - vp->v_type = type; + } -#ifdef XXX_TS /* mystirious stuff */ /* * Creation should not fail after this point. Or if it does, * care must be taken so that VOP_INACTIVE() isn't called. */ /* default size */ - uvm_vnp_setsize(vp, 0); + vnode_pager_setsize(vp, vsize); +#ifdef XXX_TS /* mystirious stuff */ /* dances based on vnode type. almost ufs_vinit(), but not quite */ switch (type) { case VCHR: @@ -150,10 +164,6 @@ } #endif - pnode = uma_zalloc(puffs_pnpool, M_WAITOK); - /* XXX */ - memset(pnode, 0, sizeof(struct puffs_node)); - pnode->pn_cookie = ck; pnode->pn_refcount = 1; @@ -219,6 +229,8 @@ struct vnode *vp; int error; + DTRACE(); + /* userspace probably has this as a NULL op */ if (ck == NULL) { error = EOPNOTSUPP; @@ -252,12 +264,11 @@ LIST_INSERT_HEAD(&pmp->pmp_newcookie, pnc, pnc_entries); mtx_unlock(&pmp->pmp_lock); - error = puffs_getvnode(dvp->v_mount, ck, type, 0, rdev, &vp); + error = puffs_getvnode(dvp->v_mount, ck, type, 0, rdev, LK_EXCLUSIVE, &vp); if (error) return error; vp->v_type = type; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); *vpp = vp; if ((cnp->cn_flags & MAKEENTRY) && PUFFS_USE_NAMECACHE(pmp)) @@ -317,11 +328,12 @@ * Make sure root vnode exists and reference it. Does NOT lock. */ static int -puffs_makeroot(struct puffs_mount *pmp) +puffs_makeroot(struct puffs_mount *pmp, int lkflag) { struct vnode *vp; int rv; + printf("puffs_makeroot\n"); /* * pmp_lock must be held if vref()'ing or vrele()'ing the * root vnode. the latter is controlled by puffs_inactive(). @@ -334,17 +346,22 @@ if (vp) { VI_LOCK(vp); mtx_unlock(&pmp->pmp_lock); - if (vget(vp, LK_INTERLOCK, curthread) == 0) - return 0; - } else + DPRINTF(("puffs_makeroot: vnode found: vp=%p mp=%p refcnt=%d\n", vp, vp->v_mount, vrefcnt(vp))); + vholdl(vp); + vget(vp, lkflag | LK_INTERLOCK | LK_RETRY, curthread); + vdrop(vp); + + return 0; + } else { mtx_unlock(&pmp->pmp_lock); + } /* * So, didn't have the magic root vnode available. * No matter, grab another and stuff it with the cookie. */ if ((rv = puffs_getvnode(pmp->pmp_mp, pmp->pmp_root_cookie, - pmp->pmp_root_vtype, pmp->pmp_root_vsize, pmp->pmp_root_rdev, &vp))) + pmp->pmp_root_vtype, pmp->pmp_root_vsize, pmp->pmp_root_rdev, lkflag, &vp))) return rv; /* @@ -375,24 +392,24 @@ * vnode lock, e.g. file server issued putpages. */ int -puffs_cookie2vnode(struct puffs_mount *pmp, puffs_cookie_t ck, int lock, +puffs_cookie2vnode(struct puffs_mount *pmp, puffs_cookie_t ck, int lkflag, int willcreate, struct vnode **vpp) { struct puffs_node *pnode; struct puffs_newcookie *pnc; struct vnode *vp; - int vgetflags, rv; + int rv; + + DPRINTF(("puffs_cookie2vnode lkflag=%x\n", lkflag)); /* * Handle root in a special manner, since we want to make sure * pmp_root is properly set. */ if (ck == pmp->pmp_root_cookie) { - if ((rv = puffs_makeroot(pmp))) + DPRINTF(("puffs_cookie2vnode make root lkflag=%x\n", lkflag)); + if ((rv = puffs_makeroot(pmp, lkflag))) return rv; - if (lock) - vn_lock(pmp->pmp_root, LK_EXCLUSIVE | LK_RETRY); - *vpp = pmp->pmp_root; return 0; } @@ -413,11 +430,10 @@ VI_LOCK(vp); mtx_unlock(&pmp->pmp_lock); - vgetflags = LK_INTERLOCK; - if (lock) - vgetflags |= LK_EXCLUSIVE | LK_RETRY; - if ((rv = vget(vp, vgetflags, curthread))) - return rv; + DPRINTF(("puffs_cookie2vnode vget vp=%p lkflag=%x lock=%x\n", vp, lkflag, lkflag & LK_TYPE_MASK)); + vholdl(vp); + vget(vp, lkflag | LK_INTERLOCK | LK_RETRY, curthread); + vdrop(vp); *vpp = vp; return 0; ==== //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_subr.c#3 (text+ko) ==== @@ -52,7 +52,7 @@ MALLOC_DEFINE(M_PUFFS, "puffs", "PUFFS"); #ifdef PUFFSDEBUG -int puffsdebug; +int puffsdebug = 2; #endif void ==== //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_sys.h#3 (text+ko) ==== @@ -57,9 +57,11 @@ #ifdef PUFFSDEBUG extern int puffsdebug; /* puffs_subr.c */ +#define DTRACE() if (puffsdebug > 0) printf("%s\n", __func__) #define DPRINTF(x) if (puffsdebug > 0) printf x #define DPRINTF_VERBOSE(x) if (puffsdebug > 1) printf x #else +#define DTRACE() #define DPRINTF(x) #define DPRINTF_VERBOSE(x) #endif @@ -200,7 +202,7 @@ void puffs_flushvnode(struct vnode *vp); int puffs_getvnode(struct mount *, puffs_cookie_t, enum vtype, - off_t, dev_t, struct vnode **); + off_t, dev_t, int, struct vnode **); int puffs_newnode(struct mount *, struct vnode *, struct vnode **, puffs_cookie_t, struct componentname *, enum vtype, dev_t); ==== //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_vfsops.c#3 (text+ko) ==== @@ -74,7 +74,7 @@ }; static const char *puffs_opts[] = { - "from", "puffs_args", NULL + "puffs_args", NULL }; static int @@ -88,11 +88,12 @@ int error = 0, i; pid_t mntpid = curthread->td_proc->p_pid; + DTRACE(); if (vfs_filteropt(mp->mnt_optnew, puffs_opts)) return EINVAL; - error = vfs_copyopt(mp->mnt_optnew, "nfs_args", &_args_data, sizeof(_args_data)); + error = vfs_copyopt(mp->mnt_optnew, "puffs_args", &_args_data, sizeof(_args_data)); if (error) return EINVAL; @@ -120,12 +121,13 @@ goto out; } + /* XXX_TS inc pa_fhsize */ /* use dummy value for passthrough */ if (args->pa_fhflags & PUFFS_FHFLAG_PASSTHROUGH) - args->pa_fhsize = sizeof(struct fid); + args->pa_fhsize = MAXFIDSZ; /* sanitize file handle length */ - if (PUFFS_TOFHSIZE(args->pa_fhsize) > MAXFIDSZ) { + if (PUFFS_TOFHSIZE(args->pa_fhsize) > /* MAXFIDSZ */ sizeof(struct fid)) { printf("puffs_mount: handle size %zu too large\n", args->pa_fhsize); error = EINVAL; @@ -217,6 +219,7 @@ if ((pmp->pmp_pi = putter_attach(mntpid, args->pa_fd, pmp, &puffs_putter)) == NULL) { error = ENOENT; + DPRINTF(("puffs_vfsop_mount: putter_attach attach error\n")); goto out; } @@ -238,6 +241,8 @@ mp->mnt_data = pmp; + DPRINTF(("puffs mount from: %s\n", args->pa_mntfromname)); + vfs_getnewfsid(mp); vfs_mountedfrom(mp, args->pa_mntfromname); @@ -247,10 +252,6 @@ if (error && pmp) free(pmp, M_PUFFS); - /* XXX FreeBSD lacks vfs_start */ - if (error == 0) - pmp->pmp_status = PUFFSTAT_RUNNING; - return error; } @@ -261,6 +262,7 @@ struct puffs_mount *pmp; int error, force; + DTRACE(); error = 0; force = mntflags & MNT_FORCE; pmp = MPTOPUFFSMP(mp); @@ -353,8 +355,19 @@ struct puffs_mount *pmp = MPTOPUFFSMP(mp); int rv; - rv = puffs_cookie2vnode(pmp, pmp->pmp_root_cookie, 1, 1, vpp); + + DTRACE(); + rv = puffs_cookie2vnode(pmp, pmp->pmp_root_cookie, flags, 1, vpp); KASSERT(rv != PUFFS_NOSUCHCOOKIE, ("rv != PUFFS_NOSUCHCOOKIE")); + + /* XXX_TS FreeBSD lacks vfs_start */ + if (rv == 0) { + mtx_lock(&pmp->pmp_lock); + if (pmp->pmp_status == PUFFSTAT_MOUNTING) + pmp->pmp_status = PUFFSTAT_RUNNING; + mtx_unlock(&pmp->pmp_lock); + } + return rv; } @@ -365,6 +378,7 @@ struct puffs_mount *pmp; int error = 0; + DTRACE(); pmp = MPTOPUFFSMP(mp); /* @@ -373,6 +387,7 @@ * requesting statvfs from userspace would mean a deadlock. * Compensate. */ + DPRINTF(("puffs_vfsop_statfs: mounting\n")); if (pmp->pmp_status == PUFFSTAT_MOUNTING) return EINPROGRESS; @@ -413,6 +428,7 @@ struct puffs_mount *pmp = MPTOPUFFSMP(mp); int error, rv; + DTRACE(); error = vfs_stdsync(mp, waitfor); /* sync fs */ @@ -440,6 +456,7 @@ size_t argsize, fhlen; int error; + DTRACE(); if (pmp->pmp_args.pa_fhsize == 0) return EOPNOTSUPP; @@ -470,16 +487,15 @@ if (error) goto out; - error = puffs_cookie2vnode(pmp, fhtonode_msg->pvfsr_fhcookie, 1,1,&vp); + error = puffs_cookie2vnode(pmp, fhtonode_msg->pvfsr_fhcookie, LK_EXCLUSIVE, 1, &vp); DPRINTF(("puffs_fhtovp: got cookie %p, existing vnode %p\n", fhtonode_msg->pvfsr_fhcookie, vp)); if (error == PUFFS_NOSUCHCOOKIE) { error = puffs_getvnode(mp, fhtonode_msg->pvfsr_fhcookie, fhtonode_msg->pvfsr_vtype, fhtonode_msg->pvfsr_size, - fhtonode_msg->pvfsr_rdev, &vp); + fhtonode_msg->pvfsr_rdev, LK_EXCLUSIVE, &vp); if (error) goto out; - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); } else if (error) { goto out; } @@ -497,6 +513,7 @@ /* some checks depend on this */ KASSERT(VNOVAL == VSIZENOTSET, ("VNOVAL == VSIZENOTSET")); + DTRACE(); puffs_pnpool = uma_zcreate("puffpnpl", sizeof(struct puffs_node), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_ZINIT); puffs_msgif_init(); @@ -508,6 +525,7 @@ puffs_vfsop_uninit(struct vfsconf *vfsp) { + DTRACE(); puffs_msgif_destroy(); uma_zdestroy(puffs_pnpool); ==== //depot/projects/soc2009/tatsianka_puffs/puffs/puffs_vnops.c#3 (text+ko) ==== @@ -42,6 +42,8 @@ #include #include #include +#include +#include #include #include @@ -118,6 +120,7 @@ size_t argsize, fhlen; int error; + DTRACE(); if (pmp->pmp_args.pa_fhsize == 0) return EOPNOTSUPP; @@ -138,7 +141,7 @@ else fhlen = PUFFS_TOFHSIZE(pmp->pmp_args.pa_fhsize); - if (fhlen > MAXFIDSZ) { + if (fhlen > /* MAXFIDSZ */ sizeof(struct fid)) { puffs_senderr(pmp, PUFFS_ERR_VPTOFH, E2BIG, "file handle too big", VPTOPNC(vp)); error = EPROTO; @@ -183,8 +186,8 @@ isdot = cnp->cn_namelen == 1 && *cnp->cn_nameptr == '.'; - DPRINTF(("puffs_lookup: \"%s\", parent vnode %p, op: %x\n", - cnp->cn_nameptr, dvp, cnp->cn_nameiop)); + DPRINTF(("puffs_lookup: \"%s\", parent vnode %p, op: %jx\n", + cnp->cn_nameptr, dvp, (intmax_t) cnp->cn_nameiop)); /* * Check if someone fed it into the cache @@ -259,17 +262,16 @@ goto out; } - error = puffs_cookie2vnode(pmp, lookup_msg->pvnr_newnode, 1, 1, &vp); + error = puffs_cookie2vnode(pmp, lookup_msg->pvnr_newnode, LK_EXCLUSIVE, 1, &vp); if (error == PUFFS_NOSUCHCOOKIE) { error = puffs_getvnode(dvp->v_mount, lookup_msg->pvnr_newnode, lookup_msg->pvnr_vtype, - lookup_msg->pvnr_size, lookup_msg->pvnr_rdev, &vp); + lookup_msg->pvnr_size, lookup_msg->pvnr_rdev, LK_EXCLUSIVE, &vp); if (error) { puffs_abortbutton(pmp, PUFFS_ABORT_LOOKUP, VPTOPNC(dvp), lookup_msg->pvnr_newnode, ap->a_cnp); goto out; } - vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); } else if (error) { puffs_abortbutton(pmp, PUFFS_ABORT_LOOKUP, VPTOPNC(dvp), lookup_msg->pvnr_newnode, ap->a_cnp); @@ -469,6 +471,7 @@ struct puffs_node *pn; int error = 0; + DTRACE(); vap = ap->a_vap; PUFFS_MSG_ALLOC(vn, getattr); @@ -632,6 +635,7 @@ struct puffs_node *pnode; int error; + DTRACE(); pnode = vp->v_data; if (doinact(pmp, pnode->pn_stat & PNODE_DOINACT)) { @@ -681,6 +685,7 @@ struct vnode *vp = ap->a_vp; struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount); + DTRACE(); /* * first things first: check if someone is trying to reclaim the * root vnode. do not allow that to travel to userspace. @@ -1596,7 +1601,6 @@ static int puffs_vnop_strategy(struct vop_strategy_args *ap) { -#ifdef XXX_TS PUFFS_MSG_VARS(vn, rw); struct vnode *vp = ap->a_vp; struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount); @@ -1606,6 +1610,7 @@ size_t tomove, moved; int error, dofaf, dobiodone; + DTRACE(); pmp = MPTOPUFFSMP(vp->v_mount); bp = ap->a_bp; error = 0; @@ -1614,8 +1619,8 @@ park_rw = NULL; /* explicit */ dobiodone = 1; - if ((BUF_ISREAD(bp) && !EXISTSOP(pmp, READ)) - || (BUF_ISWRITE(bp) && !EXISTSOP(pmp, WRITE))) + if ((bp->b_iocmd == BIO_READ && !EXISTSOP(pmp, READ)) + || (bp->b_iocmd == BIO_WRITE && !EXISTSOP(pmp, WRITE))) ERROUT(EOPNOTSUPP); #ifdef DIAGNOSTIC @@ -1630,13 +1635,15 @@ * Also, do FAF in case we're suspending. * See puffs_vfsops.c:pageflush() */ - if (BUF_ISWRITE(bp)) { + if (bp->b_iocmd == BIO_WRITE) { +#ifdef XXX_TS mtx_lock(&vp->v_interlock); if (vp->v_iflag & VI_XLOCK) dofaf = 1; if (pn->pn_stat & PNODE_SUSPEND) dofaf = 1; mtx_unlock(&vp->v_interlock); +#endif } #ifdef DIAGNOSTIC @@ -1654,16 +1661,20 @@ RWARGS(rw_msg, 0, tomove, bp->b_blkno << DEV_BSHIFT, FSCRED); /* 2x2 cases: read/write, faf/nofaf */ - if (BUF_ISREAD(bp)) { + if (bp->b_iocmd == BIO_READ) { puffs_msg_setinfo(park_rw, PUFFSOP_VN, PUFFS_VN_READ, VPTOPNC(vp)); puffs_msg_setdelta(park_rw, tomove); +#ifdef XXX_TS if (BIOASYNC(bp)) { puffs_msg_setcall(park_rw, puffs_parkdone_asyncbioread, bp); puffs_msg_enqueue(pmp, park_rw); dobiodone = 0; } else { +#else + if (1) { +#endif PUFFS_MSG_ENQUEUEWAIT2(pmp, park_rw, vp->v_data, NULL, error); error = checkerr(pmp, error, __func__); @@ -1688,6 +1699,7 @@ * make pages read-only before we write them if we want * write caching info */ +#ifdef XXX_TS if (PUFFS_WCACHEINFO(pmp)) { struct uvm_object *uobj = &vp->v_uobj; int npages = (bp->b_bcount + PAGE_SIZE-1) >> PAGE_SHIFT; @@ -1706,6 +1718,7 @@ mtx_unlock(&uobj->vmobjlock); } } +#endif (void)memcpy(&rw_msg->pvnr_data, bp->b_data, tomove); if (dofaf) { @@ -1761,12 +1774,9 @@ bp->b_error = error; if (error || dobiodone) - biodone(bp); + bdone(bp); return error; -#else - return ENOTSUP; -#endif } #ifdef XXX_TS /* not supported */ @@ -1807,7 +1817,17 @@ int puffs_vnop_mmap(void *); #endif +#if 1 +struct vop_vector puffs_vnodeops = { + .vop_default = &default_vnodeops, + .vop_inactive = puffs_vnop_inactive, + .vop_reclaim = puffs_vnop_reclaim, +}; + +struct vop_vector __puffs_vnodeops = { +#else struct vop_vector puffs_vnodeops = { +#endif .vop_default = &default_vnodeops, .vop_lookup = vfs_cache_lookup, .vop_cachedlookup = puffs_vnop_lookup, ==== //depot/projects/soc2009/tatsianka_puffs/putter/Makefile#3 (text+ko) ==== @@ -2,7 +2,6 @@ KMOD= putter SRCS= putter.c putter.h putter_sys.h - -CFLAGS+= -I${.CURDIR} +DEBUG_FLAGS= -DPUTTERDEBUG -g -I${.CURDIR} .include ==== //depot/projects/soc2009/tatsianka_puffs/putter/putter.c#2 (text+ko) ==== @@ -93,7 +93,7 @@ #endif #ifdef PUTTERDEBUG -int putterdebug = 0; +int putterdebug = 1; #define DPRINTF(x) if (putterdebug > 0) printf x #define DPRINTF_VERBOSE(x) if (putterdebug > 1) printf x #else @@ -115,6 +115,7 @@ size_t origres, moved; int error; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 14 18:26:07 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C7C31065675; Sun, 14 Jun 2009 18:26:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CEB421065672 for ; Sun, 14 Jun 2009 18:26:06 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BBB8E8FC19 for ; Sun, 14 Jun 2009 18:26:06 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EIQ6r7058092 for ; Sun, 14 Jun 2009 18:26:06 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EIQ6hT058090 for perforce@freebsd.org; Sun, 14 Jun 2009 18:26:06 GMT (envelope-from truncs@FreeBSD.org) Date: Sun, 14 Jun 2009 18:26:06 GMT Message-Id: <200906141826.n5EIQ6hT058090@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164365 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 18:26:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=164365 Change 164365 by truncs@aditya on 2009/06/14 18:25:12 Renaming to new directory structure. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_lookup.c#6 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_lookup.c#6 (text+ko) ==== @@ -111,7 +111,7 @@ ((dt) > sizeof(dt_to_ext2_ft) / sizeof(dt_to_ext2_ft[0]) ? \ EXT2_FT_UNKNOWN : dt_to_ext2_ft[(dt)]) -static int ext2_dirbadentry(struct vnode *dp, struct ext2_dir_entry_2 *de, +static int ext2_dirbadentry(struct vnode *dp, struct ext2fs_direct_2 *de, int entryoffsetinblock); /* @@ -143,7 +143,7 @@ struct uio *uio = ap->a_uio; int count, error; - struct ext2_dir_entry_2 *edp, *dp; + struct ext2fs_direct_2 *edp, *dp; int ncookies; struct dirent dstdp; struct uio auio; @@ -182,10 +182,10 @@ error = VOP_READ(ap->a_vp, &auio, 0, ap->a_cred); if (error == 0) { readcnt = count - auio.uio_resid; - edp = (struct ext2_dir_entry_2 *)&dirbuf[readcnt]; + edp = (struct ext2fs_direct_2 *)&dirbuf[readcnt]; ncookies = 0; bzero(&dstdp, offsetof(struct dirent, d_name)); - for (dp = (struct ext2_dir_entry_2 *)dirbuf; + for (dp = (struct ext2fs_direct_2 *)dirbuf; !error && uio->uio_resid > 0 && dp < edp; ) { /*- * "New" ext2fs directory entries differ in 3 ways @@ -203,20 +203,20 @@ * because ext2fs uses a machine-independent disk * layout. */ - dstdp.d_fileno = dp->inode; - dstdp.d_type = FTTODT(dp->file_type); - dstdp.d_namlen = dp->name_len; + dstdp.d_fileno = dp->e2d_ino; + dstdp.d_type = FTTODT(dp->e2d_type); + dstdp.d_namlen = dp->e2d_namlen; dstdp.d_reclen = GENERIC_DIRSIZ(&dstdp); - bcopy(dp->name, dstdp.d_name, dstdp.d_namlen); + bcopy(dp->e2d_name, dstdp.d_name, dstdp.d_namlen); bzero(dstdp.d_name + dstdp.d_namlen, dstdp.d_reclen - offsetof(struct dirent, d_name) - dstdp.d_namlen); - if (dp->rec_len > 0) { + if (dp->e2d_reclen > 0) { if(dstdp.d_reclen <= uio->uio_resid) { /* advance dp */ - dp = (struct ext2_dir_entry_2 *) - ((char *)dp + dp->rec_len); + dp = (struct ext2fs_direct_2 *) + ((char *)dp + dp->e2d_reclen); error = uiomove(&dstdp, dstdp.d_reclen, uio); if (!error) @@ -240,11 +240,11 @@ cookies = malloc(ncookies * sizeof(u_long), M_TEMP, M_WAITOK); off = startoffset; - for (dp = (struct ext2_dir_entry_2 *)dirbuf, + for (dp = (struct ext2fs_direct_2 *)dirbuf, cookiep = cookies, ecookies = cookies + ncookies; cookiep < ecookies; - dp = (struct ext2_dir_entry_2 *)((caddr_t) dp + dp->rec_len)) { - off += dp->rec_len; + dp = (struct ext2fs_direct_2 *)((caddr_t) dp + dp->e2d_reclen)) { + off += dp->e2d_reclen; *cookiep++ = (u_long) off; } *ap->a_ncookies = ncookies; @@ -298,7 +298,7 @@ struct vnode *vdp; /* vnode for directory being searched */ struct inode *dp; /* inode for directory being searched */ struct buf *bp; /* a buffer of directory entries */ - struct ext2_dir_entry_2 *ep; /* the current directory entry */ + struct ext2fs_direct_2 *ep; /* the current directory entry */ int entryoffsetinblock; /* offset of ep in bp's buffer */ enum {NONE, COMPACT, FOUND} slotstatus; doff_t slotoffset; /* offset of area with free space */ @@ -408,9 +408,9 @@ * directory. Complete checks can be run by setting * "vfs.e2fs.dirchk" to be true. */ - ep = (struct ext2_dir_entry_2 *) + ep = (struct ext2fs_direct_2 *) ((char *)bp->b_data + entryoffsetinblock); - if (ep->rec_len == 0 || + if (ep->e2d_reclen == 0 || (dirchk && ext2_dirbadentry(vdp, ep, entryoffsetinblock))) { int i; ext2_dirbad(dp, dp->i_offset, "mangled entry"); @@ -427,15 +427,15 @@ * compaction is viable. */ if (slotstatus != FOUND) { - int size = ep->rec_len; + int size = ep->e2d_reclen; - if (ep->inode != 0) - size -= EXT2_DIR_REC_LEN(ep->name_len); + if (ep->e2d_ino != 0) + size -= EXT2_DIR_REC_LEN(ep->e2d_namlen); if (size > 0) { if (size >= slotneeded) { slotstatus = FOUND; slotoffset = dp->i_offset; - slotsize = ep->rec_len; + slotsize = ep->e2d_reclen; } else if (slotstatus == NONE) { slotfreespace += size; if (slotoffset == -1) @@ -443,7 +443,7 @@ if (slotfreespace >= slotneeded) { slotstatus = COMPACT; slotsize = dp->i_offset + - ep->rec_len - slotoffset; + ep->e2d_reclen - slotoffset; } } } @@ -452,25 +452,25 @@ /* * Check for a name match. */ - if (ep->inode) { - namlen = ep->name_len; + if (ep->e2d_ino) { + namlen = ep->e2d_namlen; if (namlen == cnp->cn_namelen && - !bcmp(cnp->cn_nameptr, ep->name, + !bcmp(cnp->cn_nameptr, ep->e2d_name, (unsigned)namlen)) { /* * Save directory entry's inode number and * reclen in ndp->ni_ufs area, and release * directory buffer. */ - dp->i_ino = ep->inode; - dp->i_reclen = ep->rec_len; + dp->i_ino = ep->e2d_ino; + dp->i_reclen = ep->e2d_reclen; goto found; } } prevoff = dp->i_offset; - dp->i_offset += ep->rec_len; - entryoffsetinblock += ep->rec_len; - if (ep->inode) + dp->i_offset += ep->e2d_reclen; + entryoffsetinblock += ep->e2d_reclen; + if (ep->e2d_ino) enduseful = dp->i_offset; } /* notfound: */ @@ -550,10 +550,10 @@ * Check that directory length properly reflects presence * of this entry. */ - if (entryoffsetinblock + EXT2_DIR_REC_LEN(ep->name_len) + if (entryoffsetinblock + EXT2_DIR_REC_LEN(ep->e2d_namlen) > dp->i_size) { ext2_dirbad(dp, dp->i_offset, "i_size too small"); - dp->i_size = entryoffsetinblock+EXT2_DIR_REC_LEN(ep->name_len); + dp->i_size = entryoffsetinblock+EXT2_DIR_REC_LEN(ep->e2d_namlen); dp->i_flag |= IN_CHANGE | IN_UPDATE; } brelse(bp); @@ -709,20 +709,20 @@ static int ext2_dirbadentry(dp, de, entryoffsetinblock) struct vnode *dp; - struct ext2_dir_entry_2 *de; + struct ext2fs_direct_2 *de; int entryoffsetinblock; { int DIRBLKSIZ = VTOI(dp)->i_e2fs->e2fs_bsize; char * error_msg = NULL; - if (de->rec_len < EXT2_DIR_REC_LEN(1)) + if (de->e2d_reclen < EXT2_DIR_REC_LEN(1)) error_msg = "rec_len is smaller than minimal"; - else if (de->rec_len % 4 != 0) + else if (de->e2d_reclen % 4 != 0) error_msg = "rec_len % 4 != 0"; - else if (de->rec_len < EXT2_DIR_REC_LEN(de->name_len)) + else if (de->e2d_reclen < EXT2_DIR_REC_LEN(de->e2d_namlen)) error_msg = "reclen is too small for name_len"; - else if (entryoffsetinblock + de->rec_len > DIRBLKSIZ) + else if (entryoffsetinblock + de->e2d_reclen > DIRBLKSIZ) error_msg = "directory entry across blocks"; /* else LATER if (de->inode > dir->i_sb->u.ext2_sb.s_es->s_inodes_count) @@ -732,8 +732,8 @@ if (error_msg != NULL) { printf("bad directory entry: %s\n", error_msg); printf("offset=%d, inode=%lu, rec_len=%u, name_len=%u\n", - entryoffsetinblock, (unsigned long)de->inode, - de->rec_len, de->name_len); + entryoffsetinblock, (unsigned long)de->e2d_ino, + de->e2d_reclen, de->e2d_namlen); } return error_msg == NULL ? 0 : 1; } @@ -752,10 +752,10 @@ struct vnode *dvp; struct componentname *cnp; { - struct ext2_dir_entry_2 *ep, *nep; + struct ext2fs_direct_2 *ep, *nep; struct inode *dp; struct buf *bp; - struct ext2_dir_entry_2 newdir; + struct ext2fs_direct_2 newdir; struct iovec aiov; struct uio auio; u_int dsize; @@ -769,15 +769,15 @@ panic("direnter: missing name"); #endif dp = VTOI(dvp); - newdir.inode = ip->i_number; - newdir.name_len = cnp->cn_namelen; + newdir.e2d_ino = ip->i_number; + newdir.e2d_namlen = cnp->cn_namelen; if (EXT2_HAS_INCOMPAT_FEATURE(ip->i_e2fs, EXT2F_INCOMPAT_FTYPE)) - newdir.file_type = DTTOFT(IFTODT(ip->i_mode)); + newdir.e2d_type = DTTOFT(IFTODT(ip->i_mode)); else - newdir.file_type = EXT2_FT_UNKNOWN; - bcopy(cnp->cn_nameptr, newdir.name, (unsigned)cnp->cn_namelen + 1); - newentrysize = EXT2_DIR_REC_LEN(newdir.name_len); + newdir.e2d_type = EXT2_FT_UNKNOWN; + bcopy(cnp->cn_nameptr, newdir.e2d_name, (unsigned)cnp->cn_namelen + 1); + newentrysize = EXT2_DIR_REC_LEN(newdir.e2d_namlen); if (dp->i_count == 0) { /* * If dp->i_count is 0, then namei could find no @@ -788,7 +788,7 @@ if (dp->i_offset & (DIRBLKSIZ - 1)) panic("ext2_direnter: newblk"); auio.uio_offset = dp->i_offset; - newdir.rec_len = DIRBLKSIZ; + newdir.e2d_reclen = DIRBLKSIZ; auio.uio_resid = newentrysize; aiov.iov_len = newentrysize; aiov.iov_base = (caddr_t)&newdir; @@ -840,38 +840,38 @@ * dp->i_offset + dp->i_count would yield the * space. */ - ep = (struct ext2_dir_entry_2 *)dirbuf; - dsize = EXT2_DIR_REC_LEN(ep->name_len); - spacefree = ep->rec_len - dsize; - for (loc = ep->rec_len; loc < dp->i_count; ) { - nep = (struct ext2_dir_entry_2 *)(dirbuf + loc); - if (ep->inode) { + ep = (struct ext2fs_direct_2 *)dirbuf; + dsize = EXT2_DIR_REC_LEN(ep->e2d_namlen); + spacefree = ep->e2d_reclen - dsize; + for (loc = ep->e2d_reclen; loc < dp->i_count; ) { + nep = (struct ext2fs_direct_2 *)(dirbuf + loc); + if (ep->e2d_ino) { /* trim the existing slot */ - ep->rec_len = dsize; - ep = (struct ext2_dir_entry_2 *)((char *)ep + dsize); + ep->e2d_reclen = dsize; + ep = (struct ext2fs_direct_2 *)((char *)ep + dsize); } else { /* overwrite; nothing there; header is ours */ spacefree += dsize; } - dsize = EXT2_DIR_REC_LEN(nep->name_len); - spacefree += nep->rec_len - dsize; - loc += nep->rec_len; + dsize = EXT2_DIR_REC_LEN(nep->e2d_namlen); + spacefree += nep->e2d_reclen - dsize; + loc += nep->e2d_reclen; bcopy((caddr_t)nep, (caddr_t)ep, dsize); } /* * Update the pointer fields in the previous entry (if any), * copy in the new entry, and write out the block. */ - if (ep->inode == 0) { + if (ep->e2d_ino == 0) { if (spacefree + dsize < newentrysize) panic("ext2_direnter: compact1"); - newdir.rec_len = spacefree + dsize; + newdir.e2d_reclen = spacefree + dsize; } else { if (spacefree < newentrysize) panic("ext2_direnter: compact2"); - newdir.rec_len = spacefree; - ep->rec_len = dsize; - ep = (struct ext2_dir_entry_2 *)((char *)ep + dsize); + newdir.e2d_reclen = spacefree; + ep->e2d_reclen = dsize; + ep = (struct ext2fs_direct_2 *)((char *)ep + dsize); } bcopy((caddr_t)&newdir, (caddr_t)ep, (u_int)newentrysize); error = bwrite(bp); @@ -900,7 +900,7 @@ struct componentname *cnp; { struct inode *dp; - struct ext2_dir_entry_2 *ep; + struct ext2fs_direct_2 *ep; struct buf *bp; int error; @@ -913,7 +913,7 @@ ext2_blkatoff(dvp, (off_t)dp->i_offset, (char **)&ep, &bp)) != 0) return (error); - ep->inode = 0; + ep->e2d_ino = 0; error = bwrite(bp); dp->i_flag |= IN_CHANGE | IN_UPDATE; return (error); @@ -924,7 +924,7 @@ if ((error = ext2_blkatoff(dvp, (off_t)(dp->i_offset - dp->i_count), (char **)&ep, &bp)) != 0) return (error); - ep->rec_len += dp->i_reclen; + ep->e2d_reclen += dp->i_reclen; error = bwrite(bp); dp->i_flag |= IN_CHANGE | IN_UPDATE; return (error); @@ -941,19 +941,19 @@ struct componentname *cnp; { struct buf *bp; - struct ext2_dir_entry_2 *ep; + struct ext2fs_direct_2 *ep; struct vnode *vdp = ITOV(dp); int error; if ((error = ext2_blkatoff(vdp, (off_t)dp->i_offset, (char **)&ep, &bp)) != 0) return (error); - ep->inode = ip->i_number; + ep->e2d_ino = ip->i_number; if (EXT2_HAS_INCOMPAT_FEATURE(ip->i_e2fs, EXT2F_INCOMPAT_FTYPE)) - ep->file_type = DTTOFT(IFTODT(ip->i_mode)); + ep->e2d_type = DTTOFT(IFTODT(ip->i_mode)); else - ep->file_type = EXT2_FT_UNKNOWN; + ep->e2d_type = EXT2_FT_UNKNOWN; error = bwrite(bp); dp->i_flag |= IN_CHANGE | IN_UPDATE; return (error); @@ -976,11 +976,11 @@ { off_t off; struct dirtemplate dbuf; - struct ext2_dir_entry_2 *dp = (struct ext2_dir_entry_2 *)&dbuf; + struct ext2fs_direct_2 *dp = (struct ext2fs_direct_2 *)&dbuf; int error, count, namlen; #define MINDIRSIZ (sizeof (struct dirtemplate) / 2) - for (off = 0; off < ip->i_size; off += dp->rec_len) { + for (off = 0; off < ip->i_size; off += dp->e2d_reclen) { error = vn_rdwr(UIO_READ, ITOV(ip), (caddr_t)dp, MINDIRSIZ, off, UIO_SYSSPACE, IO_NODELOCKED | IO_NOMACCHECK, cred, NOCRED, &count, (struct thread *)0); @@ -991,16 +991,16 @@ if (error || count != 0) return (0); /* avoid infinite loops */ - if (dp->rec_len == 0) + if (dp->e2d_reclen == 0) return (0); /* skip empty entries */ - if (dp->inode == 0) + if (dp->e2d_ino == 0) continue; /* accept only "." and ".." */ - namlen = dp->name_len; + namlen = dp->e2d_namlen; if (namlen > 2) return (0); - if (dp->name[0] != '.') + if (dp->e2d_name[0] != '.') return (0); /* * At this point namlen must be 1 or 2. @@ -1009,7 +1009,7 @@ */ if (namlen == 1) continue; - if (dp->name[1] == '.' && dp->inode == parentino) + if (dp->e2d_name[1] == '.' && dp->e2d_ino == parentino) continue; return (0); } From owner-p4-projects@FreeBSD.ORG Sun Jun 14 18:31:12 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9F0021065672; Sun, 14 Jun 2009 18:31:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5F1D6106564A for ; Sun, 14 Jun 2009 18:31:12 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4D4A78FC12 for ; Sun, 14 Jun 2009 18:31:12 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EIVBRJ059253 for ; Sun, 14 Jun 2009 18:31:11 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EIVBC4059251 for perforce@freebsd.org; Sun, 14 Jun 2009 18:31:11 GMT (envelope-from syl@FreeBSD.org) Date: Sun, 14 Jun 2009 18:31:11 GMT Message-Id: <200906141831.n5EIVBC4059251@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164366 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 18:31:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=164366 Change 164366 by syl@syl_atuin on 2009/06/14 18:31:10 - Remove current transfer from flying_list on TRANSFER_COMPLETE. - Call libusb_transfer->callback on TRANSFER_COMPLETE. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#31 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#11 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#31 (text+ko) ==== @@ -680,22 +680,32 @@ static void libusb10_proxy(struct libusb20_transfer *xfer) { + struct usb_transfer *usb_backend; + libusb_transfer *usb_xfer; + libusb_context *ctx; uint8_t status; - libusb_transfer *usb_xfer; + + usb_backend = (struct usb_transfer *) ((uint8_t *)xfer - + sizeof(struct usb_transfer)); pthread_mutex_lock(&libusb20_lock); status = libusb20_tr_get_status(xfer); - usb_xfer = (libusb_transfer *)libusb20_tr_get_priv_sc0(xfer); + usb_xfer = libusb20_tr_get_priv_sc0(xfer); + ctx = usb_xfer->dev_handle->dev->ctx; switch (status) { case LIBUSB20_TRANSFER_COMPLETED: usb_xfer->actual_length += libusb20_tr_get_actual_length(xfer); + usb_xfer->callback(usb_xfer); + + pthread_mutex_lock(&ctx->flying_transfers_lock); + LIST_DEL(&usb_backend->list); + pthread_mutex_unlock(&ctx->flying_transfers_lock); break ; case LIBUSB20_TRANSFER_START: usb_xfer->actual_length = 0; - switch (usb_xfer->type) - { + switch (usb_xfer->type) { case LIBUSB_TRANSFER_TYPE_CONTROL: libusb20_tr_setup_control(xfer, usb_xfer->buffer, (void *)(((uint8_t *) usb_xfer->buffer) + ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#11 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Sun Jun 14 18:45:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 39A581065674; Sun, 14 Jun 2009 18:45:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E93091065672 for ; Sun, 14 Jun 2009 18:45:27 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D544F8FC12 for ; Sun, 14 Jun 2009 18:45:27 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EIjRvU060338 for ; Sun, 14 Jun 2009 18:45:27 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EIjQx4060336 for perforce@freebsd.org; Sun, 14 Jun 2009 18:45:26 GMT (envelope-from syl@FreeBSD.org) Date: Sun, 14 Jun 2009 18:45:26 GMT Message-Id: <200906141845.n5EIjQx4060336@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164367 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 18:45:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=164367 Change 164367 by syl@syl_atuin on 2009/06/14 18:45:21 MFC. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libc/rpc/svc_dg.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libc/stdtime/strftime.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_amd64.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_arm.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_cptime.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_file.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_i386.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_minidump_amd64.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_minidump_i386.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libpam/modules/pam_exec/pam_exec.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libpmc/libpmc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libpmc/pmc.core2.3#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libthread_db/libthr_db.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libthread_db/thread_db.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libufs/type.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libufs/ufs_disk_close.3#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.3#6 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb20.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb20.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb20_compat01.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb20_int.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb20_ugen20.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libutil/kinfo_getfile.3#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libutil/kinfo_getvmmap.3#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/msun/src/math_private.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/local_apic.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/machdep.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/pmap.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/conf/DEFAULTS#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/conf/GENERIC#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/conf/NOTES#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/include/param.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/isa/clock.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/arm/intr.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/arm/locore.S#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/arm/pmap.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/at91/at91.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/at91/at91_cfata.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/at91/at91_mci.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/at91/at91_twi.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/at91/if_ate.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/include/intr.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/common.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/discovery/db78xxx.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/discovery/discovery.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/ic.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/kirkwood/db88f6xxx.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/kirkwood/kirkwood.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/mvreg.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/mvwin.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/orion/db88f5xxx.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/orion/orion.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/mv/twsi.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/sa11x0/sa11x0_irqhandler.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/i8134x/i81342.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/avila_ata.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/avila_led.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/cambria_led.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/if_npe.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/arm/xscale/pxa/pxa_icu.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/boot/forth/loader.conf#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/boot/i386/libi386/biosdisk.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/boot/i386/libi386/biospnp.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cam/cam.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cam/scsi/scsi_target.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/compat/opensolaris/kern/opensolaris.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/freebsd32/freebsd32_sysent.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/freebsd32/syscalls.master#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/linprocfs/linprocfs.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/linux/linux_futex.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/linux/linux_ioctl.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/linux/linux_misc.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/ndis/subr_usbd.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/svr4/svr4_sockio.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/svr4/svr4_stat.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/conf/NOTES#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/conf/files#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/conf/options#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/contrib/altq/altq/altq_subr.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/contrib/dev/acpica/include/platform/acfreebsd.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/contrib/pf/net/if_pflog.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/contrib/pf/net/pf_if.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/contrib/pf/net/pf_ioctl.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/acpica/Osd/OsdSchedule.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/acpica/Osd/OsdSynch.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/acpica/acpi_pcib_acpi.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/acpica/acpivar.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/agp/agp_ali.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/agp/agp_amd.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/agp/agp_ati.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/agp/agp_nvidia.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/agp/agp_sis.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/alc/if_alc.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/alc/if_alcreg.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/alc/if_alcvar.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/ata-pci.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-acerlabs.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/chipsets/ata-nvidia.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/ath_hal/ah_desc.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/ath_rate/sample/sample.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ath/if_ath.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ce/if_ce.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cfi/cfi_core.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cp/if_cp.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/cxgb_main.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/cxgb_multiq.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/cxgb_sge.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/e1000/if_igb.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/eisa/eisaconf.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/firewire/firewire.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/fxp/if_fxp.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/if_ndis/if_ndis.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/if_ndis/if_ndis_usb.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/kbdmux/kbdmux.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ksyms/ksyms.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mca/mca_bus.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mge/if_mge.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mii/miidevs#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mii/nsgphy.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/mwl/if_mwl.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ncv/ncr53c500_pccard.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/nmdm/nmdm.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/nsp/nsp_pccard.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ofw/ofw_bus_subr.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ofw/ofw_bus_subr.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ofw/ofw_disk.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ofw/ofw_if.m#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ofw/ofw_iicbus.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ofw/ofw_standard.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ofw/ofwvar.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ofw/openfirm.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ofw/openfirm.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ofw/openfirmio.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/pcf/pcf.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/pcf/pcfvar.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/pdq/if_fpa.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sec/sec.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/smc/if_smc.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/smc/if_smcvar.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/snc/if_snc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/snc/if_sncvar.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/clone.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/driver.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/isa/ad1816.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/isa/ess.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/isa/gusc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/isa/mss.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/isa/sb16.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/isa/sb8.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/isa/sbc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/isa/sndbuf_dma.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/macio/aoa.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/macio/davbus.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/macio/i2s.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/macio/snapper.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/macio/tumbler.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/midi/midi.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/midi/mpu401.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/midi/sequencer.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/midi/sequencer.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/als4000.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/atiixp.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/aureal.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/cmi.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/cs4281.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/csa.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/csapcm.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/ds1.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/emu10k1.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/emu10kx-midi.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/emu10kx.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/envy24.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/envy24ht.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/es137x.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/fm801.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/hda/hdac.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/ich.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/maestro.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/maestro3.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/neomagic.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/solo.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/spicds.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/t4dwave.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/via8233.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/via82c686.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pci/vibes.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/ac97_patch.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/buffer.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/buffer.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/channel.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/channel.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/channel_if.m#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/dsp.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/dsp.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/fake.c#2 delete .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder_chain.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder_eq.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder_fmt.c#2 delete .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder_format.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder_matrix.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder_mixer.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder_rate.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder_volume.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/g711.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/intpcm.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/matrix.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/matrix_map.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/mixer.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/mixer.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/pcm.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/sndstat.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/sndstat.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/sound.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/sound.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/vchan.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/vchan.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/sbus/cs4231.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/unit.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/usb/uaudio.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/usb/uaudio.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/usb/uaudio_pcm.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/version.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/spibus/spibus.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/stg/tmc18c30.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/stg/tmc18c30_subr.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/syscons/daemon/daemon_saver.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/syscons/scterm-teken.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/syscons/teken/teken_demo.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/syscons/teken/teken_stress.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/tsec/if_tsec.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/tsec/if_tsec.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/uart/uart_cpu_mv.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ubsec/ubsec.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/at91dci.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/atmegadci.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/avr32dci.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ehci.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ehci_mbus.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/musb_otg.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ohci.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/uhci.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/uss820dci.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/input/ukbd.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/input/ums.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uchcom.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ufoma.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ugensa.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/umct.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uplcom.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uslcom.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/storage/umass.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/storage/ustorage_fs.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_compat_linux.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_compat_linux.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_controller.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_core.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_debug.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_debug.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_dev.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_device.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_device.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_generic.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_handle_request.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_hub.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_if.m#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_lookup.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_request.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_transfer.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_transfer.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_urtw.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_zyd.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_zydreg.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/wb/if_wb.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/wi/if_wi.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/wi/if_wivar.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/xen/blkfront/blkfront.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/xen/netfront/netfront.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/cd9660/cd9660_lookup.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/cd9660/cd9660_vnops.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/devfs/devfs_vnops.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfsclient/nfs_clbio.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfsclient/nfs_clstate.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfsclient/nfs_clvfsops.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/nfsclient/nfs_clvnops.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/pseudofs/pseudofs_vnops.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/fs/tmpfs/tmpfs_vnops.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/geom.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/geom_io.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/label/g_label.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/label/g_label.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/geom/label/g_label_gpt.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/acpica/acpi_machdep.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/conf/DEFAULTS#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/conf/GENERIC#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/conf/NOTES#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/local_apic.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/machdep.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/pmap.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/include/apicvar.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/include/cpufunc.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/include/in_cksum.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/include/legacyvar.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/include/pmap.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/isa/clock.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/isa/vesa.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/pci/pci_bus.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/xen/pmap.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/bus_if.m#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/init_main.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_event.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_exec.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_exit.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_fork.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_jail.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_lockf.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_mib.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_poll.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_shutdown.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_uuid.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/kern_vimage.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/link_elf_obj.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/linker_if.m#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/subr_acl_nfs4.c#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/kern/subr_bus.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/sys_pipe.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/sysv_shm.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/tty.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/tty_pts.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/uipc_domain.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/uipc_mqueue.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/uipc_socket.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/uipc_syscalls.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_aio.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_cluster.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_subr.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_syscalls.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vfs_vnops.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kern/vnode_if.src#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/kgssapi/krb5/krb5_mech.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/libkern/jenkins.h#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/mips/conf/ADM5120#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/idt/files.idt#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/malta/gt_pci.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/mips/mips/mainbus.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/Makefile#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/alc/Makefile#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/modules/bridgestp/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/cxgb/iw_cxgb/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/if_ef/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/if_vlan/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/ip_mroute_mod/Makefile#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/ipfw/Makefile#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/linprocfs/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/linux/Makefile#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/netgraph/atm/atm/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/netgraph/ether/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/netgraph/gif/Makefile#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/nfsclient/Makefile#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/pf/Makefile#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/sound/sound/Makefile#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/svr4/Makefile#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/wlan/Makefile#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/bpf.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/bridgestp.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/flowtable.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/flowtable.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_arcsubr.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_bridge.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_ef.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_ethersubr.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_fddisubr.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_fwsubr.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_gif.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_gif.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_iso88025subr.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_loop.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_mib.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_tap.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_tun.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_var.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/if_vlan.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/netisr.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/netisr.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/pfkeyv2.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/raw_cb.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/raw_usrreq.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/route.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/rtsock.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net/vnet.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/_ieee80211.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_crypto.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_crypto_ccmp.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_ddb.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_dfs.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_hostap.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_ht.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_input.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_ioctl.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_ioctl.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_node.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_node.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_output.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_proto.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_radiotap.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_scan_sta.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_sta.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/net80211/ieee80211_var.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/atm/ng_atm.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/netgraph.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_base.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_eiface.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_ether.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_gif.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_iface.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_ip_input.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_ipfw.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_ipfw.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/ng_message.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/if_ether.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/igmp.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/igmp.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/in.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/in_gif.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/in_mcast.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/in_proto.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/in_rmx.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_dummynet.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_fw.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_input.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_output.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ip_var.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ipfw/ip_dummynet.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ipfw/ip_fw2.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ipfw/ip_fw_pfil.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/raw_ip.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/sctp_os_bsd.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_debug.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_hostcache.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_input.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_subr.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_syncache.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_syncache.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_timewait.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_usrreq.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/tcp_var.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/udp.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/udp_usrreq.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet/udp_var.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/icmp6.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6_gif.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6_ifattach.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6_mcast.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6_proto.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/in6_rmx.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/ip6_input.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/ip6_mroute.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/ip6_output.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/ip6_var.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/ip6protosw.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/mld6.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/nd6.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/nd6.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/nd6_rtr.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/raw_ip6.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netinet6/scope6.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipsec/ipsec.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipsec/ipsec_input.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipsec/ipsec_output.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipsec/key.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipsec/key.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipsec/keydb.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipsec/keysock.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipsec/xform_ipip.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netipx/spx_debug.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/bootp_subr.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_bio.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_diskless.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsclient/nfs_vfsops.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nfsserver/nfs_srvkrpc.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/nlm/nlm_advlock.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/aim/machdep.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/aim/platform_chrp.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/booke/pmap.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/ofw/ofw_real.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/powermac/cuda.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/powermac/pmu.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/powerpc/openpic.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/powerpc/psim/ata_iobus.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/clnt_rc.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/svc.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/svc_auth.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/security/audit/audit_pipe.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/bio.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/buf_ring.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/bus.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/cdefs.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/domain.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/event.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/jail.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/kobj.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/mbuf.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/mount.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/param.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/priv.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/proc.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/protosw.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/soundcard.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/vimage.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/tools/emu10k1-mkalsa.sh#2 delete .. //depot/projects/soc2009/syl_usb/src/sys/tools/sound/emu10k1-mkalsa.sh#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/tools/sound/feeder_eq_mkfilter.awk#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/tools/sound/feeder_rate_mkfilter.awk#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/tools/sound/snd_fxdiv_gen.awk#1 branch .. //depot/projects/soc2009/syl_usb/src/sys/vm/phys_pager.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_contig.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_fault.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_glue.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_map.c#2 integrate Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libc/rpc/svc_dg.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ #ident "@(#)svc_dg.c 1.17 94/04/24 SMI" #endif #include -__FBSDID("$FreeBSD: src/lib/libc/rpc/svc_dg.c,v 1.10 2009/05/27 17:02:15 zml Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/rpc/svc_dg.c,v 1.11 2009/06/08 03:39:15 kan Exp $"); /* * svc_dg.c, Server side for connectionless RPC. @@ -209,7 +209,7 @@ return rlen; for (cmsg = CMSG_FIRSTHDR(&msg); cmsg != NULL; - cmsg = CMSG_NXTHDR(&msg, cmsg)){ + cmsg = CMSG_NXTHDR(&msg, cmsg)) { if (cmsg->cmsg_level == IPPROTO_IP && cmsg->cmsg_type == IP_RECVDSTADDR) { have_lin = TRUE; @@ -300,7 +300,7 @@ msg.msg_namelen = raddrlen; msg.msg_name = (char *)raddr; - if (laddr->sa_family == AF_INET) { + if (laddr->sa_family == AF_INET && lin->s_addr != INADDR_ANY) { msg.msg_control = (caddr_t)tmp; msg.msg_controllen = CMSG_LEN(sizeof(*lin)); cmsg = CMSG_FIRSTHDR(&msg); ==== //depot/projects/soc2009/syl_usb/src/lib/libc/stdtime/strftime.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ static const char sccsid[] = "@(#)strftime.c 5.4 (Berkeley) 3/14/89"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdtime/strftime.c,v 1.43 2009/05/23 06:31:50 edwin Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdtime/strftime.c,v 1.44 2009/06/09 09:02:58 delphij Exp $"); #include "tzfile.h" #include @@ -57,7 +57,7 @@ #define IN_THIS 2 #define IN_ALL 3 -#define PAD_DEFAULT 0 +#define PAD_DEFAULT 0 #define PAD_LESS 1 #define PAD_SPACE 2 #define PAD_ZERO 3 @@ -65,7 +65,7 @@ static const char* fmt_padding[][4] = { /* DEFAULT, LESS, SPACE, ZERO */ #define PAD_FMT_MONTHDAY 0 -#define PAD_FMT_HMS 0 +#define PAD_FMT_HMS 0 #define PAD_FMT_CENTURY 0 #define PAD_FMT_SHORTYEAR 0 #define PAD_FMT_MONTH 0 ==== //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_amd64.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm_amd64.c,v 1.22 2007/06/15 11:35:11 simokawa Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm_amd64.c,v 1.23 2009/06/14 12:42:06 ed Exp $"); #if defined(LIBC_SCCS) && !defined(lint) #if 0 @@ -51,6 +51,7 @@ #include #include #include +#include #include #include #include ==== //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_arm.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm_arm.c,v 1.5 2008/11/06 16:20:27 raj Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm_arm.c,v 1.6 2009/06/14 12:42:06 ed Exp $"); #include #include @@ -52,6 +52,7 @@ #include #include #include +#include #include #include "kvm_private.h" ==== //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_cptime.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm_cptime.c,v 1.1 2008/08/19 21:30:36 jhb Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm_cptime.c,v 1.2 2009/06/14 12:42:06 ed Exp $"); #include #include @@ -39,6 +39,7 @@ #include #include #include +#include #include "kvm_private.h" ==== //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_file.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm_file.c,v 1.20 2008/05/26 15:12:47 pjd Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm_file.c,v 1.21 2009/06/14 12:42:06 ed Exp $"); #if defined(LIBC_SCCS) && !defined(lint) #if 0 @@ -61,6 +61,7 @@ #include #include #include +#include #include "kvm_private.h" ==== //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_i386.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm_i386.c,v 1.21 2007/06/15 11:35:11 simokawa Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm_i386.c,v 1.22 2009/06/14 12:42:06 ed Exp $"); #if defined(LIBC_SCCS) && !defined(lint) #if 0 @@ -51,6 +51,7 @@ #include #include #include +#include #include #include #include ==== //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_minidump_amd64.c#2 (text) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm_minidump_amd64.c,v 1.3 2008/10/17 20:09:00 delphij Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm_minidump_amd64.c,v 1.4 2009/06/14 12:42:06 ed Exp $"); /* * AMD64 machine dependent routines for kvm and minidumps. @@ -37,7 +37,7 @@ #include #include #include -#include +#include #include #include #include ==== //depot/projects/soc2009/syl_usb/src/lib/libkvm/kvm_minidump_i386.c#2 (text) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libkvm/kvm_minidump_i386.c,v 1.3 2008/10/17 20:09:00 delphij Exp $"); +__FBSDID("$FreeBSD: src/lib/libkvm/kvm_minidump_i386.c,v 1.4 2009/06/14 12:42:06 ed Exp $"); /* * AMD64 machine dependent routines for kvm and minidumps. @@ -37,7 +37,7 @@ #include #include #include -#include +#include #include #include #include ==== //depot/projects/soc2009/syl_usb/src/lib/libpam/modules/pam_exec/pam_exec.c#2 (text+ko) ==== @@ -33,12 +33,13 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libpam/modules/pam_exec/pam_exec.c,v 1.6 2006/11/10 23:33:25 des Exp $"); +__FBSDID("$FreeBSD: src/lib/libpam/modules/pam_exec/pam_exec.c,v 1.7 2009/06/14 12:45:48 ed Exp $"); #include #include #include +#include #include #include #include ==== //depot/projects/soc2009/syl_usb/src/lib/libpmc/libpmc.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libpmc/libpmc.c,v 1.20 2009/01/27 07:29:37 jeff Exp $"); +__FBSDID("$FreeBSD: src/lib/libpmc/libpmc.c,v 1.21 2009/06/09 06:34:48 jkoshy Exp $"); #include #include @@ -591,22 +591,22 @@ pmc_config->pm_caps |= PMC_CAP_USER; } else if (KWMATCH(p, IAP_KW_ANYTHREAD)) { pmc_config->pm_md.pm_iap.pm_iap_config |= IAP_ANY; - } else if (KWMATCH(p, IAP_KW_CORE)) { + } else if (KWPREFIXMATCH(p, IAP_KW_CORE "=")) { n = pmc_parse_mask(iap_core_mask, p, &evmask); if (n != 1) return (-1); - } else if (KWMATCH(p, IAP_KW_AGENT)) { + } else if (KWPREFIXMATCH(p, IAP_KW_AGENT "=")) { n = pmc_parse_mask(iap_agent_mask, p, &evmask); if (n != 1) return (-1); - } else if (KWMATCH(p, IAP_KW_PREFETCH)) { + } else if (KWPREFIXMATCH(p, IAP_KW_PREFETCH "=")) { n = pmc_parse_mask(iap_prefetch_mask, p, &evmask); if (n != 1) return (-1); - } else if (KWMATCH(p, IAP_KW_CACHESTATE)) { + } else if (KWPREFIXMATCH(p, IAP_KW_CACHESTATE "=")) { n = pmc_parse_mask(iap_cachestate_mask, p, &cachestate); } else if (cpu_info.pm_cputype == PMC_CPU_INTEL_CORE && - KWMATCH(p, IAP_KW_TRANSITION)) { + KWPREFIXMATCH(p, IAP_KW_TRANSITION "=")) { n = pmc_parse_mask(iap_transition_mask, p, &evmask); if (n != 1) return (-1); @@ -614,10 +614,10 @@ cpu_info.pm_cputype == PMC_CPU_INTEL_CORE2 || cpu_info.pm_cputype == PMC_CPU_INTEL_CORE2EXTREME || cpu_info.pm_cputype == PMC_CPU_INTEL_COREI7) { - if (KWMATCH(p, IAP_KW_SNOOPRESPONSE)) { + if (KWPREFIXMATCH(p, IAP_KW_SNOOPRESPONSE "=")) { n = pmc_parse_mask(iap_snoopresponse_mask, p, &evmask); - } else if (KWMATCH(p, IAP_KW_SNOOPTYPE)) { + } else if (KWPREFIXMATCH(p, IAP_KW_SNOOPTYPE "=")) { n = pmc_parse_mask(iap_snooptype_mask, p, &evmask); } else ==== //depot/projects/soc2009/syl_usb/src/lib/libpmc/pmc.core2.3#2 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" Copyright (c) 2008 Joseph Koshy. All rights reserved. +.\" Copyright (c) 2008,2009 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,9 +21,9 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $FreeBSD: src/lib/libpmc/pmc.core2.3,v 1.5 2008/11/24 08:14:01 jkoshy Exp $ +.\" $FreeBSD: src/lib/libpmc/pmc.core2.3,v 1.6 2009/06/09 06:36:29 jkoshy Exp $ .\" -.Dd November 12, 2008 +.Dd June 8, 2009 .Os .Dt PMC.CORE2 3 .Sh NAME @@ -42,7 +42,7 @@ CPUs contain PMCs conforming to version 2 of the .Tn Intel performance measurement architecture. -These CPUs contains two classes of PMCs: +These CPUs may contain upto two classes of PMCs: .Bl -tag -width "Li PMC_CLASS_IAP" .It Li PMC_CLASS_IAF Fixed-function counters that count only one hardware event per counter. @@ -66,6 +66,7 @@ .Ss CORE2 FIXED FUNCTION PMCS These PMCs and their supported events are documented in .Xr pmc.iaf 3 . +Not all CPUs in this family implement fixed-function counters. .Ss CORE2 PROGRAMMABLE PMCS The programmable PMCs support the following capabilities: .Bl -column "PMC_CAP_INTERRUPT" "Support" ==== //depot/projects/soc2009/syl_usb/src/lib/libthread_db/libthr_db.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.16 2008/09/14 16:52:42 marcel Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.17 2009/06/09 12:32:10 des Exp $"); #include #include @@ -457,6 +457,7 @@ { const td_thragent_t *ta = th->th_ta; struct ptrace_lwpinfo linfo; + int traceme; int state; int ret; @@ -470,7 +471,8 @@ if (ret != 0) return (TD_ERR); ret = thr_pread_int(ta, th->th_thread + ta->thread_off_report_events, - &info->ti_traceme); + &traceme); + info->ti_traceme = traceme; if (ret != 0) return (TD_ERR); ret = ps_pread(ta->ph, th->th_thread + ta->thread_off_event_mask, ==== //depot/projects/soc2009/syl_usb/src/lib/libthread_db/thread_db.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * (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: src/lib/libthread_db/thread_db.h,v 1.9 2008/09/14 16:52:42 marcel Exp $ + * $FreeBSD: src/lib/libthread_db/thread_db.h,v 1.10 2009/06/09 12:32:10 des Exp $ */ #ifndef _THREAD_DB_H_ @@ -184,7 +184,7 @@ int ti_pri; lwpid_t ti_lid; char ti_db_suspended; - int ti_traceme; + char ti_traceme; sigset_t ti_sigmask; sigset_t ti_pending; psaddr_t ti_tls; ==== //depot/projects/soc2009/syl_usb/src/lib/libufs/type.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libufs/type.c,v 1.16 2007/03/16 03:13:28 pjd Exp $"); +__FBSDID("$FreeBSD: src/lib/libufs/type.c,v 1.17 2009/06/11 18:04:57 jmallett Exp $"); #include #include @@ -108,7 +108,10 @@ */ name = oname; } - if (ret >= 0 && S_ISCHR(st.st_mode)) { + if (ret >= 0 && S_ISREG(st.st_mode)) { + /* Possibly a disk image, give it a try. */ + ; + } else if (ret >= 0 && S_ISCHR(st.st_mode)) { /* This is what we need, do nothing. */ ; } else if ((fs = getfsfile(name)) != NULL) { ==== //depot/projects/soc2009/syl_usb/src/lib/libufs/ufs_disk_close.3#2 (text+ko) ==== @@ -9,7 +9,7 @@ .\" .\" This file is in the public domain. .\" -.\" $FreeBSD: src/lib/libufs/ufs_disk_close.3,v 1.6 2005/01/21 10:27:09 ru Exp $ +.\" $FreeBSD: src/lib/libufs/ufs_disk_close.3,v 1.7 2009/06/11 18:04:57 jmallett Exp $ .\" .Dd June 4, 2003 .Dt UFS_DISK_CLOSE 3 @@ -53,7 +53,7 @@ The disk is opened read-only. The specified .Fa name -may be either a mountpoint, or a device name. +may be either a mountpoint, a device name or a filesystem image. The .Fn ufs_disk_fillout function assumes there is a valid superblock and will fail if not, ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.3#6 (text+ko) ==== @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libusb/libusb.3,v 1.5 2009/06/02 17:27:51 thompsa Exp $ +.\" $FreeBSD: src/lib/libusb/libusb.3,v 1.6 2009/06/12 16:07:06 thompsa Exp $ .\" .Dd May 28, 2009 .Dt LIBUSB 3 @@ -117,8 +117,6 @@ .Ft const char * .Fn libusb20_dev_get_desc "struct libusb20_device *pdev" .Ft int -.Fn libusb20_dev_claim_interface "struct libusb20_device *pdev" "uint8_t iface_index" -.Ft int .Fn libusb20_dev_close "struct libusb20_device *pdev" .Ft int .Fn libusb20_dev_detach_kernel_driver "struct libusb20_device *pdev" "uint8_t iface_index" @@ -135,8 +133,6 @@ .Ft int .Fn libusb20_dev_process "struct libusb20_device *pdev" .Ft int -.Fn libusb20_dev_release_interface "struct libusb20_device *pdev" "uint8_t iface_index" -.Ft int .Fn libusb20_dev_request_sync "struct libusb20_device *pdev" "struct LIBUSB20_CONTROL_SETUP_DECODED *setup" "void *data" "uint16_t *pactlen" "uint32_t timeout" "uint8_t flags" .Ft int .Fn libusb20_dev_req_string_sync "struct libusb20_device *pdev" "uint8_t index" "uint16_t langid" "void *ptr" "uint16_t len" @@ -517,14 +513,6 @@ . .Pp . -.Fn libusb20_dev_claim_interface -This function will try to claim the given USB interface given by >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jun 14 18:46:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B9B8106566B; Sun, 14 Jun 2009 18:46:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 411111065676 for ; Sun, 14 Jun 2009 18:46:29 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 239BD8FC12 for ; Sun, 14 Jun 2009 18:46:29 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EIkTMh060404 for ; Sun, 14 Jun 2009 18:46:29 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EIkTZ7060402 for perforce@freebsd.org; Sun, 14 Jun 2009 18:46:29 GMT (envelope-from anchie@FreeBSD.org) Date: Sun, 14 Jun 2009 18:46:29 GMT Message-Id: <200906141846.n5EIkTZ7060402@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164368 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 18:46:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=164368 Change 164368 by anchie@anchie_malimis on 2009/06/14 18:45:39 Processing of the outgoing traffic on the output hook (from ND stack in kernel to sendd in the userspace), for NS/A messages. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#7 edit .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/proto.c#5 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#6 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#3 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#8 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#7 (text+ko) ==== @@ -204,12 +204,20 @@ in = 1; /* n = RTM hdr + m as passed to nd6_ns_input() */ - m = (struct ip6_hdr *) &ifan[1]; + m = (struct rt_msghdr *) &ifan[1]; /* ToDo: Extract ifidx. */ snd_recv_pkt(m, ifidx, in); break; case RTM_SND_OUT: + in = 0; + + /* n = RTM hdr + ether_hdr + ip6_hdr + icmp6len == ND message (as sent to if_output()) */ + m = (struct rt_msghdr *) &ifan[1]; + + /* ToDo: Extract ifidx. */ + snd_recv_pkt(m, ifidx, in); + break; } break; ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/proto.c#5 (text+ko) ==== @@ -669,6 +669,14 @@ return; } */ +/* + if (!in) + if (sbuff_pull(b, sizeof (struct ether_header)) == NULL) { + DBG(&dbg_snd, "invalid pkt (not enough for ether header"); + goto drop; + } + } +*/ start = sbuff_data(b); DBG(&dbg, "%s", in ? "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" : ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#6 (text+ko) ==== @@ -411,6 +411,7 @@ int code, sum, noff; char ip6bufs[INET6_ADDRSTRLEN], ip6bufd[INET6_ADDRSTRLEN]; int in; + int ip6len = -1; in = 1; @@ -427,6 +428,7 @@ */ ip6 = mtod(m, struct ip6_hdr *); + ip6len = ip6->ip6_plen; if (icmp6len < sizeof(struct icmp6_hdr)) { ICMP6STAT_INC(icp6s_tooshort); goto freeit; @@ -766,8 +768,6 @@ /* give up local */ /* send incoming SeND-protected/ND packet to sendd */ - if (send_input_hook != NULL) - send_input_hook(); nd6_rs_input(m, off, icmp6len); m = NULL; @@ -805,8 +805,9 @@ if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* send incoming SeND-protected/ND packet to sendd */ - if (send_input_hook != NULL) - send_output_hook(in, ifp, m, icmp6len); + /* ip6len should be the same as icmp6len + off! */ + if (send_output_hook != NULL) + send_output_hook(in, ifp, m, ip6len); /* give up local */ /* nd6_ns_input() will be called in X_send_input_hook() */ nd6_ns_input(in, m, off, icmp6len); @@ -814,7 +815,7 @@ goto freeit; } if (send_output_hook != NULL) - send_output_hook(in, ifp, n, icmp6len); + send_output_hook(in, ifp, n, ip6len); /* nd6_ns_input() will be called in X_send_input_hook() */ nd6_ns_input(n, off, icmp6len); /* m stays. */ ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#3 (text+ko) ==== @@ -1724,8 +1724,12 @@ INIT_VNET_INET6(curvnet); struct mbuf *m = m0; struct llentry *ln = lle; + struct ip6_hdr *ip6; int error = 0; int flags = 0; + int in = -1; + + ip6 = mtod(m, struct ip6_hdr *); #ifdef INVARIANTS if (lle != NULL) { @@ -1876,6 +1880,7 @@ nd6_llinfo_settimer(ln, (long)ND_IFINFO(ifp)->retrans * hz / 1000); + nd6_ns_output(ifp, NULL, &dst->sin6_addr, ln, 0); } return (0); @@ -1900,6 +1905,12 @@ #ifdef MAC mac_netinet6_nd6_send(ifp, m); #endif + + /* send outgoing SeND/ND packet to sendd. */ + in = 0; + if (send_output_hook != NULL) + send_output_hook(in, ifp, m, ip6->ip6_plen); + /* * We were passed in a pointer to an lle with the lock held * this means that we can't call if_output as we will @@ -1907,6 +1918,8 @@ * a list of mbufs to send and transmit them in the caller * after the lock is dropped */ + + /* This will be done in the input hook.. */ if (lle != NULL) { if (*chain == NULL) *chain = m; @@ -1923,19 +1936,20 @@ return (error); } - /* send outgoing SeND/ND packet to sendd. */ - /* * In case of NS and NA, we end-up here after calling nd6_ns_output() * or nd6_na_output(). RS, RA, and Redirect do not have such output - * routines. They are handler instead by rtadvd and rtsol daemons. + * routines. They are handled instead by rtadvd and rtsol daemons. + * + * if_output() routines together with previous chaining will be called from input hook. */ - +/* if ((ifp->if_flags & IFF_LOOPBACK) != 0) { return ((*ifp->if_output)(origifp, m, (struct sockaddr *)dst, NULL)); } error = (*ifp->if_output)(ifp, m, (struct sockaddr *)dst, NULL); +*/ return (error); bad: ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#8 (text+ko) ==== @@ -20,18 +20,17 @@ /* * send module is loaded, process incoming packets passed from - * sendd to kernel. Outgoing packets are sent directly to - * corresponding node's sendd.(?) + * sendd to kernel. Outgoing packets are sent out using if_output(). */ return 0; } static int -X_send_output_hook(int in, struct ifnet *ifp, struct mbuf *m, int icmp6len) +X_send_output_hook(int in, struct ifnet *ifp, struct mbuf *m, int msglen) { /* send module is loaded, send incoming or outgoing traffic to sendd */ - rt_sndmsg(ifp, in, m, icmp6len); + rt_sndmsg(ifp, in, m, msglen); return 0; } From owner-p4-projects@FreeBSD.ORG Sun Jun 14 18:58:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 264D71065675; Sun, 14 Jun 2009 18:58:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DBB6A106564A for ; Sun, 14 Jun 2009 18:58:41 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CA4588FC13 for ; Sun, 14 Jun 2009 18:58:41 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EIwfUf061466 for ; Sun, 14 Jun 2009 18:58:41 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EIwfRR061464 for perforce@freebsd.org; Sun, 14 Jun 2009 18:58:41 GMT (envelope-from syl@FreeBSD.org) Date: Sun, 14 Jun 2009 18:58:41 GMT Message-Id: <200906141858.n5EIwfRR061464@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164369 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 18:58:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=164369 Change 164369 by syl@syl_atuin on 2009/06/14 18:58:10 Add isochronous transfer init. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#32 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#32 (text+ko) ==== @@ -684,6 +684,8 @@ libusb_transfer *usb_xfer; libusb_context *ctx; uint8_t status; + uint32_t iso_packets; + int i; usb_backend = (struct usb_transfer *) ((uint8_t *)xfer - sizeof(struct usb_transfer)); @@ -713,6 +715,14 @@ usb_xfer->timeout); break ; case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: + iso_packets = libusb20_tr_get_max_frames(xfer); + if (usb_xfer->num_iso_packets > iso_packets) + usb_xfer->num_iso_packets = iso_packets; + for (i = 0 ; i < usb_xfer->num_iso_packets ; i++) { + libusb20_tr_setup_isoc(usb_xfer, + usb_xfer->buffer, usb_xfer->length, i); + } + libusb20_tr_set_total_frames(i); break ; case LIBUSB_TRANSFER_TYPE_BULK: libusb20_tr_setup_bulk(xfer, usb_xfer->buffer, From owner-p4-projects@FreeBSD.ORG Sun Jun 14 19:06:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5ADAE1065675; Sun, 14 Jun 2009 19:06:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 13FD4106567A for ; Sun, 14 Jun 2009 19:06:50 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EFF488FC2A for ; Sun, 14 Jun 2009 19:06:49 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EJ6npj063123 for ; Sun, 14 Jun 2009 19:06:49 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EJ6nLM063121 for perforce@freebsd.org; Sun, 14 Jun 2009 19:06:49 GMT (envelope-from truncs@FreeBSD.org) Date: Sun, 14 Jun 2009 19:06:49 GMT Message-Id: <200906141906.n5EJ6nLM063121@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164370 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 19:06:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=164370 Change 164370 by truncs@aditya on 2009/06/14 19:06:05 The acl structures are never used and some cleanup. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#22 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#22 (text+ko) ==== @@ -108,13 +108,7 @@ */ #define E2FS_MAGIC 0xEF53 -#ifdef __KERNEL__ -#include -static inline struct ext2_sb_info *EXT2_SB(struct ext2fs *sb) -{ - return sb->s_fs_info; -} -#elif defined(_KERNEL) +#if defined(_KERNEL) /* * FreeBSD passes the pointer to the in-core struct with relevant * fields to EXT2_SB macro when accessing superblock fields. @@ -174,27 +168,6 @@ # define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s)) #endif -/* - * ACL structures - */ -struct ext2_acl_header /* Header of Access Control Lists */ -{ - __u32 aclh_size; - __u32 aclh_file_count; - __u32 aclh_acle_count; - __u32 aclh_first_acle; -}; - -struct ext2_acl_entry /* Access Control List Entry */ -{ - __u32 acle_size; - __u16 acle_perms; /* Access permissions */ - __u16 acle_type; /* Type of entry */ - __u16 acle_tag; /* User or group identity */ - __u16 acle_pad1; - __u32 acle_next; /* Pointer on next entry for the */ - /* same inode or on next free entry */ -}; /* ext2 file system block group descriptor */ From owner-p4-projects@FreeBSD.ORG Sun Jun 14 19:35:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DB381065672; Sun, 14 Jun 2009 19:35:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D740106566C for ; Sun, 14 Jun 2009 19:35:19 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F02E98FC1C for ; Sun, 14 Jun 2009 19:35:18 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EJZIJW065240 for ; Sun, 14 Jun 2009 19:35:18 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EJZIJS065238 for perforce@freebsd.org; Sun, 14 Jun 2009 19:35:18 GMT (envelope-from anchie@FreeBSD.org) Date: Sun, 14 Jun 2009 19:35:18 GMT Message-Id: <200906141935.n5EJZIJS065238@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164371 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 19:35:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=164371 Change 164371 by anchie@anchie_malimis on 2009/06/14 19:34:42 Fixing the length of message passed to output hook. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#7 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#4 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#7 (text+ko) ==== @@ -428,7 +428,7 @@ */ ip6 = mtod(m, struct ip6_hdr *); - ip6len = ip6->ip6_plen; + ip6len = sizeof(struct ip6_hdr) + ntohs(ip6->ip6_plen); if (icmp6len < sizeof(struct icmp6_hdr)) { ICMP6STAT_INC(icp6s_tooshort); goto freeit; ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#4 (text+ko) ==== @@ -1728,8 +1728,10 @@ int error = 0; int flags = 0; int in = -1; + int ip6len = -1; ip6 = mtod(m, struct ip6_hdr *); + ip6len = ntohs(ip6->ip6_plen) + sizeof(struct ip6_hdr); #ifdef INVARIANTS if (lle != NULL) { @@ -1909,7 +1911,7 @@ /* send outgoing SeND/ND packet to sendd. */ in = 0; if (send_output_hook != NULL) - send_output_hook(in, ifp, m, ip6->ip6_plen); + send_output_hook(in, ifp, m, ip6len); /* * We were passed in a pointer to an lle with the lock held From owner-p4-projects@FreeBSD.ORG Sun Jun 14 19:46:31 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB87F1065698; Sun, 14 Jun 2009 19:46:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 862141065693 for ; Sun, 14 Jun 2009 19:46:30 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7285D8FC08 for ; Sun, 14 Jun 2009 19:46:30 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EJkUYe068172 for ; Sun, 14 Jun 2009 19:46:30 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EJkUH1068169 for perforce@freebsd.org; Sun, 14 Jun 2009 19:46:30 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 14 Jun 2009 19:46:30 GMT Message-Id: <200906141946.n5EJkUH1068169@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 164372 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 19:46:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=164372 Change 164372 by rene@rene_self on 2009/06/14 19:46:13 [website]: part 1 of localizing news section - attach news/ and events/ to build - update Makefile*, events.sgml, pressreleases.sgml - use English version of events.css - update libcommon.xsl, use English versions of old news releases Affected files ... .. //depot/projects/docproj_nl/www/nl/Makefile#13 edit .. //depot/projects/docproj_nl/www/nl/events/Makefile#2 edit .. //depot/projects/docproj_nl/www/nl/events/Makefile.inc#1 add .. //depot/projects/docproj_nl/www/nl/events/events.css#2 delete .. //depot/projects/docproj_nl/www/nl/events/rss.xsl#1 add .. //depot/projects/docproj_nl/www/nl/index.xsl#14 edit .. //depot/projects/docproj_nl/www/nl/news/Makefile#2 edit .. //depot/projects/docproj_nl/www/nl/news/Makefile.inc#2 edit .. //depot/projects/docproj_nl/www/nl/news/news.sgml#2 edit .. //depot/projects/docproj_nl/www/nl/news/pressreleases.sgml#2 edit .. //depot/projects/docproj_nl/www/nl/share/sgml/libcommon.xsl#8 edit Differences ... ==== //depot/projects/docproj_nl/www/nl/Makefile#13 (text+ko) ==== @@ -58,7 +58,7 @@ #SUBDIR+= docproj #SUBDIR+= docs #SUBDIR+= donations -#SUBDIR+= events +SUBDIR+= events #SUBDIR+= gnome #SUBDIR+= handbook #SUBDIR+= internal @@ -66,7 +66,7 @@ #SUBDIR+= kse #SUBDIR+= marketing #SUBDIR+= multimedia -#SUBDIR+= news +SUBDIR+= news #SUBDIR+= platforms #SUBDIR+= portmgr #SUBDIR+= projects ==== //depot/projects/docproj_nl/www/nl/events/Makefile#2 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: www/en/events/Makefile,v 1.10 2005/10/04 18:28:28 hrs Exp $ -# $FreeBSDnl: www/nl/events/Makefile,v 1.3 2006/01/14 12:35:31 siebrand Exp $ -# Gebaseerd op: 1.10 -# Bewerkt door: Siebrand Mazeland +# $FreeBSD$ +# Bewerkt door: Siebrand Mazeland / Rene Ladan +# %SOURCE% en/events/Makefile +# %SRCID% 1.17 .if exists(../Makefile.conf) .include "../Makefile.conf" @@ -10,42 +10,29 @@ .include "../Makefile.inc" .endif -#SUBDIR= 2002 -#SUBDIR+= 2003 -DATE?= /bin/date -TR?= /usr/bin/tr +# Het jaar waarin het top-level bestand events.html begint: +YEARSTART= 2009 +# Jaren waarvan voorgaande evenementpagina's worden gegenereerd en om vanuit de top-level te koppelen: +PASTYEARS= 2003 2004 2005 2006 2007 2008 -DATA= events.css +DATA= ${WEB_PREFIX}/en/events/events.css +INDEXLINK= events.html -CLEANFILES+= curdate.xml +XMLDOCS+= events:${XSL_EVENTS}:${XML_EVENTS_EVENTS}: +PARAMS.events= --param startyear ${YEARSTART} +PARAMS.events+= --stringparam pastyears '${PASTYEARS}' +DEPENDSET.events= events -XMLLINT?= /usr/local/bin/xmllint # Part of textproc/libxml2. +.for year in ${PASTYEARS} +XMLDOCS+= events${year}:${XSL_EVENTS_PAST}:${XML_EVENTS_EVENTS}: +PARAMS.events${year}= --param year ${year} +PARAMS.events${year}+= --stringparam pastyears '${PASTYEARS}' +DEPENDSET.events${year}= events${year} +.endfor -XMLDOCS+= events -DEPENDSET.events= events curdate.xml -SRCS.events= ../includes.xsl curdate.xml +XMLDOCS+= events_ics:${XSL_EVENTS_ICS}:${XML_EVENTS_EVENTS}:events.ics +DEPENDSET.events_ics= events -XMLDOCS+= events_ics:${WEB_PREFIX}/share/sgml/events2ics.xsl:events.xml:events.ics - -lint: - ${XMLLINT} ${XMLLINTOPTS} --valid -o /dev/null ${.CURDIR}/events.xml - -.if !make(install) -.PHONY: curdate.xml -.endif -curdate.xml: - @${ECHO} "Generating ${.TARGET}" - @${ECHO_CMD} '' > ${.TARGET} - @${ECHO_CMD} '' >> ${.TARGET} - @${ECHO_CMD} -n ' ' >> ${.TARGET} - @${DATE} +%Y | ${TR} -d "\n" >> ${.TARGET} - @${ECHO_CMD} '' >> ${.TARGET} - @${ECHO_CMD} -n ' ' >> ${.TARGET} - @${DATE} +%m | ${TR} -d "\n" >> ${.TARGET} - @${ECHO_CMD} '' >> ${.TARGET} - @${ECHO_CMD} -n ' ' >> ${.TARGET} - @${DATE} +%d | ${TR} -d "\n" >> ${.TARGET} - @${ECHO_CMD} '' >> ${.TARGET} - @${ECHO_CMD} '' >> ${.TARGET} +XMLDOCS+= events_rss:rss.xsl:${XML_EVENTS_EVENTS}:rss.xml .include "${WEB_PREFIX}/share/mk/web.site.mk" ==== //depot/projects/docproj_nl/www/nl/index.xsl#14 (text+ko) ==== @@ -49,7 +49,7 @@ + title="&os; Projectnieuws" href="&base;/news/rss.xml" /> ja
  • - nl + nl
  • ru @@ -238,10 +238,10 @@ @@ -264,7 +264,7 @@ @@ -287,7 +287,7 @@ ==== //depot/projects/docproj_nl/www/nl/news/Makefile#2 (text+ko) ==== @@ -1,7 +1,7 @@ -# $FreeBSD: www/en/news/Makefile,v 1.44 2005/11/05 13:10:53 ceri Exp $ -# $FreeBSDnl: www/nl/news/Makefile,v 1.5 2006/01/14 18:53:11 siebrand Exp $ -# Gebaseerd op: 1.44 -# Bewerkt door: Siebrand Mazeland +# $FreeBSD$ +# %SOURCE% en/news/Makefile +# %SRCID% 1.52 +# Bewerkt door: Siebrand Mazeland / Rene Ladan .if exists(../Makefile.conf) .include "../Makefile.conf" @@ -21,18 +21,33 @@ #DOCS+= press-rel-5.sgml #DOCS+= press-rel-6.sgml #DOCS+= press-rel-7.sgml -DOCS+= press-rel-8.sgml -DOCS+= press-rel-9.sgml +#DOCS+= press-rel-8.sgml +#DOCS+= press-rel-9.sgml + +# De jaarlijkse State of the Union toespraak +#DOCS+= sou1999.sgml INDEXLINK= news.html -SRCS.DEFAULT= includes.xsl DEPENDSET.DEFAULT= transtable news press -XMLDOCS= newsflash::news.xml: -XMLDOCS+= news-rdf::news.xml:news.rdf -XMLDOCS+= press +XMLDOCS= newsflash:${XSL_NEWS_NEWSFLASH}:${XML_NEWS_NEWS_MASTER}: +XMLDOCS+= news-rdf:${XSL_NEWS_NEWS_RDF}:${XML_NEWS_NEWS_MASTER}:news.rdf +XMLDOCS+= news-rss:${XSL_NEWS_NEWS_RSS}:${XML_NEWS_NEWS_MASTER}:rss.xml +XMLDOCS+= press:${XSL_NEWS_PRESS}:${XML_NEWS_PRESS_MASTER}: +XMLDOCS+= press-rss:${XSL_NEWS_PRESS_RSS}:${XML_NEWS_PRESS_MASTER}:press-rss.xml -SUBDIR= status +#SUBDIR= 1993 +#SUBDIR= 1996 +#SUBDIR= 2000 +#SUBDIR= 2001 +#SUBDIR= 2002 +#SUBDIR= 2003 +#SUBDIR= 2004 +#SUBDIR= 2005 +#SUBDIR= 2006 +#SUBDIR= 2007 +#SUBDIR= 2008 +#SUBDIR+= status .include "${WEB_PREFIX}/share/mk/web.site.mk" ==== //depot/projects/docproj_nl/www/nl/news/Makefile.inc#2 (text+ko) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: www/en/news/Makefile.inc,v 1.1 2000/03/22 16:20:52 phantom Exp $ -# $FreeBSDnl: www/nl/news/Makefile.inc,v 1.2 2005/12/17 14:54:50 siebrand Exp $ -# Gebaseerd op: 1.1 +# $FreeBSD$ +# %SOURCE% en/news/Makefile.inc +# %SRCID% 1.1 # Bewerkt door: Siebrand Mazeland WEBBASE?= /data/news ==== //depot/projects/docproj_nl/www/nl/news/news.sgml#2 (text+ko) ==== @@ -1,102 +1,100 @@ - - - - %navincludes; - %includes; - %newsincludes; + + + ]> - - - + &header; - FreeBSD News + &os; nieuws -

    Local news

    +

    Plaatselijk nieuws

    -

    Other sites

    +

    Andere sites

    • BSD DevCenter: - The ONLamp.com/O'Reilly Network's clearing house for BSD articles, news, tutorials, or generally community information.

      + Het doorgangshuis van ONLamp.com/O'Reilly Network's voor BSD-artikelen, nieuws, tutorials, of algemene informatie voor de gemeenschap.

    • + +

      Daemon Forums: + Site met actieve online fora en nieuwsgemeenschap geheel gewijd aan + &os; en andere BSDs.

    • BSD Freak: - A site dedicated to delivering BSD-related articles and - tutorials from a user's perspective.

      + Een site geheel gewijds aan het aanleveren van aan BSD verwante + artikelen en tutorials vanuit het oogpunt van een gebruiker.

    • - +
    • DaemonNews + + Maandelijkse artikelen en dagelijkse discussies over alles wat met + BSD te maken heeft.

    • -

      FreeBSD Diary: - One man's record of his trials and triumphs with FreeBSD.

      +

      &os; Diary: + Het schrijven van één man over zijn zoektochten en triomfen met &os;.

    • Kerneltrap: - Daily articles and current kernel news, about BSD and Linux - kernels.

      + Dagelijkse artikelen en actueel nieuws over de kernel, over BSD- en + Linux-kernels.

    • OSNews: - Daily articles and news about Linux, BSD and other - operating systems.

      + Dagelijke artikelen en nieuws over Linux, BSD en andere + besturingssystemen.

    • Slashdot's BSD - section: Pointers and discussion about BSD news, not - just FreeBSD.

      + section: Verwijzingen en discussies over BSD-nieuws, + niet slechts &os;.

    ==== //depot/projects/docproj_nl/www/nl/news/pressreleases.sgml#2 (text+ko) ==== @@ -1,54 +1,54 @@ - - - - - %navincludes; - %includes; - %newsincludes; + + + ]> - - - + &header; +

    De meeste persberichten worden nu afgehandeld door de &os; Foundation.

    +
    25 november 2005
    -Hewlett-Packard doneert een bladecluster aan FreeBSD +Hewlett-Packard doneert een bladecluster aan &os;

    4 november 2005
    -FreeBSD project lanceert FreeBSD 6.0 +&os; project lanceert &os; 6.0

    20 january 2003
    -FreeBSD project kondigt - FreeBSD 5.0 aan +&os; project kondigt + &os; 5.0 aan

    31 oktober 2002
    -The Daemon of the Opera: Opera Software brengt een versie voor FreeBSD uit +The Daemon of the Opera: Opera Software brengt een versie voor &os; uit

    18 oktober 2000 : Nieuwe Core
    -Eerste FreeBSD Core Team verkiezingen +Eerste &os; Core Team verkiezingen

    @@ -69,13 +69,13 @@
    April 29, 1999
    Compleet XML ontwikkelsysteem - geïntegreerd met FreeBSD + geïntegreerd met &os;

    April 22, 1999: The Matrix
    -FreeBSD gebruikt om spectaculaire +&os; gebruikt om spectaculaire special effects te maken voor de Warner Brothers film The Matrix.

    ==== //depot/projects/docproj_nl/www/nl/share/sgml/libcommon.xsl#8 (text+ko) ==== @@ -48,34 +48,34 @@

    Oude aankondigingen: - 2008, - 2007, - 2006, - 2005, - 2004, - 2003, - 2002, - 2001, - 2000, - 1999, - 1998, - 1997, - 1996

    + 2008, + 2007, + 2006, + 2005, + 2004, + 2003, + 2002, + 2001, + 2000, + 1999, + 1998, + 1997, + 1996

    Oude persberichten: - 2007, - 2006, - 2005, - 2004, - 2003, - 2002, - 2001, - 2000, - 1999, - 1998-1996

    + 2007, + 2006, + 2005, + 2004, + 2003, + 2002, + 2001, + 2000, + 1999, + 1998-1996

    @@ -112,7 +112,7 @@ - Beginpagina nieuws + Beginpagina nieuws @@ -132,7 +132,7 @@

    Gebruikers met organisatiesoftware dat het iCalendar-formaat begrijpt kunnen zich abonneren op de &os; evenementenkalender + href="&base;/events/events.ics">&os; evenementenkalender dat alle evenementen bevat die hier genoemd zijn.

    @@ -409,4 +409,30 @@ Ongeldige maand + + + + + + + + + + + + + + + + + + + + + + + From owner-p4-projects@FreeBSD.ORG Sun Jun 14 19:49:34 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 15EF710656EF; Sun, 14 Jun 2009 19:49:34 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB9C510656D6 for ; Sun, 14 Jun 2009 19:49:33 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A8C0E8FC1D for ; Sun, 14 Jun 2009 19:49:33 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EJnXYL069654 for ; Sun, 14 Jun 2009 19:49:33 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EJnX6Y069652 for perforce@freebsd.org; Sun, 14 Jun 2009 19:49:33 GMT (envelope-from mav@freebsd.org) Date: Sun, 14 Jun 2009 19:49:33 GMT Message-Id: <200906141949.n5EJnX6Y069652@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164373 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 19:49:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=164373 Change 164373 by mav@mav_mavbook on 2009/06/14 19:49:15 Tune error reporting. Do not do any error recovery here except controller itself, give all information to XPT and wait until it will handle everything. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#30 edit .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#14 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#30 (text+ko) ==== @@ -834,7 +834,7 @@ { device_t dev = (device_t)data; struct ahci_channel *ch = device_get_softc(dev); - uint32_t istatus, cstatus, sstatus, res, err; + uint32_t istatus, cstatus, sstatus, ok, err; enum ahci_err_type et; int i, ccs; @@ -851,42 +851,58 @@ ahci_phy_check_events(dev); /* Process command errors */ if (istatus & (AHCI_P_IX_IF|AHCI_P_IX_HBD|AHCI_P_IX_HBF|AHCI_P_IX_TFE)) { -device_printf(dev, "%s ERROR is %08x cs %08x ss %08x rs %08x\n", __func__, istatus, cstatus, sstatus, ch->rslots); +device_printf(dev, "%s ERROR is %08x cs %08x ss %08x rs %08x tfd %02x\n", + __func__, istatus, cstatus, sstatus, ch->rslots, ATA_INL(ch->r_mem, AHCI_P_TFD)); ccs = (ATA_INL(ch->r_mem, AHCI_P_CMD) & AHCI_P_CMD_CCS_MASK) >> AHCI_P_CMD_CCS_SHIFT; /* Kick controller into sane state */ ahci_stop(dev); ahci_clo(dev); ahci_start(dev); - res = ch->rslots; + ok = ch->rslots & ~(cstatus | sstatus); err = ch->rslots & (cstatus | sstatus); } else { ccs = 0; - res = ch->rslots & ~(cstatus | sstatus); + ok = ch->rslots & ~(cstatus | sstatus); err = 0; } - /* On error, requeue frozen command. */ - if (err && ch->frozen) { - union ccb *fccb = ch->frozen; - ch->frozen = NULL; - xpt_release_simq(ch->sim, TRUE); - fccb->ccb_h.status = CAM_REQUEUE_REQ; - xpt_done(fccb); + /* Complete all successfull commands. */ + for (i = 0; i < ch->numslots; i++) { + if ((ok >> i) & 1) + ahci_end_transaction(&ch->slot[i], AHCI_ERR_NONE); } - /* Check all slots. */ - for (i = 0; i < ch->numslots; i++) { - /* Do we have an event on slot? */ - if ((res & (1 << i)) == 0) - continue; - /* Process request completion. */ - et = AHCI_ERR_NONE; - if ((err >> i) & 1) { - if (i == ccs) - et = AHCI_ERR_REAL; - else - et = AHCI_ERR_BTW; + /* On error, complete the rest of commands with error statuses. */ + if (err) { + xpt_freeze_simq(ch->sim, ch->numrslots); + if (ch->frozen) { + union ccb *fccb = ch->frozen; + ch->frozen = NULL; + fccb->ccb_h.status = CAM_REQUEUE_REQ | CAM_RELEASE_SIMQ; + xpt_done(fccb); + } + for (i = 0; i < ch->numslots; i++) { + /* XXX: reqests in loading state. */ + if (((err >> i) & 1) == 0) + continue; + if (istatus & AHCI_P_IX_IF) { + /* SATA error */ + et = AHCI_ERR_SATA; + } else if (istatus & AHCI_P_IX_TFE) { + /* Task File Error */ + if (ch->numtslots == 0) { + /* Untagged operation. */ + if (i == ccs) + et = AHCI_ERR_TFE; + else + et = AHCI_ERR_INNOCENT; + } else { + /* Tagged operation. */ + et = AHCI_ERR_TFE; + } + } else + et = AHCI_ERR_INVALID; + ahci_end_transaction(&ch->slot[i], et); } - ahci_end_transaction(&ch->slot[i], et); } mtx_unlock(&ch->mtx); } @@ -990,6 +1006,7 @@ //device_printf(slot->dev, "%s slot %d\n", __func__, slot->slot); if (error) { device_printf(slot->dev, "DMA load error\n"); + xpt_freeze_simq(ch->sim, 1); ahci_end_transaction(slot, AHCI_ERR_INVALID); return; } @@ -1029,6 +1046,7 @@ /* Setup the FIS for this request */ if (!(fis_size = ahci_setup_fis(ctp, ccb, slot->slot))) { device_printf(ch->dev, "Setting up SATA FIS failed\n"); + xpt_freeze_simq(ch->sim, 1); ahci_end_transaction(slot, AHCI_ERR_INVALID); return; } @@ -1097,20 +1115,21 @@ device_printf(ch->dev, "Poll error on slot %d, TFD: %04x\n", slot->slot, ATA_INL(ch->r_mem, AHCI_P_TFD)); - et = AHCI_ERR_REAL; + et = AHCI_ERR_TFE; break; } } if (timeout && (count >= timeout)) { device_printf(ch->dev, "Poll timeout on slot %d\n", slot->slot); - et = CAM_CMD_TIMEOUT; + et = AHCI_ERR_TIMEOUT; } if (et != AHCI_ERR_NONE) { /* Kick controller into sane state */ ahci_stop(ch->dev); ahci_clo(ch->dev); ahci_start(ch->dev); + xpt_freeze_simq(ch->sim, 1); } ahci_end_transaction(slot, et); return; @@ -1127,11 +1146,31 @@ { device_t dev = slot->dev; struct ahci_channel *ch = device_get_softc(dev); + int i; device_printf(dev, "Timeout on slot %d\n", slot->slot); + + /* Kick controller into sane state. */ + ahci_stop(ch->dev); + ahci_clo(ch->dev); + ahci_start(ch->dev); + + xpt_freeze_simq(ch->sim, ch->numrslots); + /* Handle command with timeout. */ ahci_end_transaction(&ch->slot[slot->slot], AHCI_ERR_TIMEOUT); - /* XXX: This is wrong for NCQ error recovery. */ - ahci_reset(dev); + /* Handle the rest of commands. */ + if (ch->frozen) { + union ccb *fccb = ch->frozen; + ch->frozen = NULL; + fccb->ccb_h.status = CAM_REQUEUE_REQ | CAM_RELEASE_SIMQ; + xpt_done(fccb); + } + for (i = 0; i < ch->numslots; i++) { + /* Do we have a running request on slot? */ + if (ch->slot[i].state < AHCI_SLOT_RUNNING) + continue; + ahci_end_transaction(&ch->slot[i], AHCI_ERR_INNOCENT); + } } /* Must be called with channel locked. */ @@ -1149,19 +1188,20 @@ BUS_DMASYNC_POSTWRITE); /* Read result registers to the result struct * May be incorrect if several commands finished same time, - * so read only when sure. + * so read only when sure or have to. */ if (ccb->ccb_h.func_code == XPT_ATA_IO) { struct ata_res *res = &ccb->ataio.res; - if ((et == AHCI_ERR_REAL) || + if ((et == AHCI_ERR_TFE) || (ccb->ataio.cmd.flags & CAM_ATAIO_NEEDRESULT)) { u_int8_t *fis = ch->dma.rfis + 0x40; + uint16_t tfd = ATA_INL(ch->r_mem, AHCI_P_TFD); bus_dmamap_sync(ch->dma.rfis_tag, ch->dma.rfis_map, BUS_DMASYNC_POSTREAD); - res->status = fis[2]; - res->error = fis[3]; + res->status = tfd; + res->error = tfd >> 8; res->lba_low = fis[4]; res->lba_mid = fis[5]; res->lba_high = fis[6]; @@ -1182,6 +1222,8 @@ } /* Set proper result status. */ ccb->ccb_h.status &= ~CAM_STATUS_MASK; + if (et != AHCI_ERR_NONE) + ccb->ccb_h.status |= CAM_RELEASE_SIMQ; switch (et) { case AHCI_ERR_NONE: ccb->ccb_h.status |= CAM_REQ_CMP; @@ -1191,18 +1233,18 @@ case AHCI_ERR_INVALID: ccb->ccb_h.status |= CAM_REQ_INVALID; break; - case AHCI_ERR_REAL: + case AHCI_ERR_INNOCENT: + ccb->ccb_h.status |= CAM_REQUEUE_REQ; + break; + case AHCI_ERR_TFE: if (ccb->ccb_h.func_code == XPT_SCSI_IO) { ccb->ccb_h.status |= CAM_SCSI_STATUS_ERROR; ccb->csio.scsi_status = SCSI_STATUS_CHECK_COND; } else ccb->ccb_h.status |= CAM_REQ_CMP_ERR; break; - case AHCI_ERR_BTW: - ccb->ccb_h.status |= CAM_REQUEUE_REQ; - break; - case AHCI_ERR_RESET: - ccb->ccb_h.status |= CAM_SCSI_BUS_RESET; + case AHCI_ERR_SATA: + ccb->ccb_h.status |= CAM_UNCOR_PARITY; break; case AHCI_ERR_TIMEOUT: ccb->ccb_h.status |= CAM_CMD_TIMEOUT; @@ -1362,12 +1404,12 @@ if (bootverbose) device_printf(dev, "AHCI reset...\n"); + xpt_freeze_simq(ch->sim, ch->numrslots); /* Requeue freezed command. */ if (ch->frozen) { union ccb *fccb = ch->frozen; ch->frozen = NULL; - xpt_release_simq(ch->sim, TRUE); - fccb->ccb_h.status = CAM_SCSI_BUS_RESET; + fccb->ccb_h.status = CAM_REQUEUE_REQ | CAM_RELEASE_SIMQ; xpt_done(fccb); } /* Kill the engine and requeue all running commands. */ @@ -1376,7 +1418,8 @@ /* Do we have a running request on slot? */ if (ch->slot[i].state < AHCI_SLOT_RUNNING) continue; - ahci_end_transaction(&ch->slot[i], AHCI_ERR_RESET); + /* XXX; Commands in loading state. */ + ahci_end_transaction(&ch->slot[i], AHCI_ERR_INNOCENT); } /* Disable port interrupts */ ATA_OUTL(ch->r_mem, AHCI_P_IE, 0); ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#14 (text+ko) ==== @@ -379,12 +379,12 @@ }; enum ahci_err_type { - AHCI_ERR_NONE, - AHCI_ERR_INVALID, - AHCI_ERR_REAL, - AHCI_ERR_BTW, - AHCI_ERR_RESET, - AHCI_ERR_TIMEOUT + AHCI_ERR_NONE, /* No error */ + AHCI_ERR_INVALID, /* Error detected by us before submitting. */ + AHCI_ERR_INNOCENT, /* Innocent victim. */ + AHCI_ERR_TFE, /* Task File Error. */ + AHCI_ERR_SATA, /* SATA error. */ + AHCI_ERR_TIMEOUT, /* Command execution timeout. */ }; /* macros to hide busspace uglyness */ From owner-p4-projects@FreeBSD.ORG Sun Jun 14 20:06:52 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1EA65106566C; Sun, 14 Jun 2009 20:06:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D2F27106564A for ; Sun, 14 Jun 2009 20:06:51 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A6FEF8FC15 for ; Sun, 14 Jun 2009 20:06:51 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EK6pAM072551 for ; Sun, 14 Jun 2009 20:06:51 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EK6p0L072549 for perforce@freebsd.org; Sun, 14 Jun 2009 20:06:51 GMT (envelope-from rene@FreeBSD.org) Date: Sun, 14 Jun 2009 20:06:51 GMT Message-Id: <200906142006.n5EK6p0L072549@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 164375 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 20:06:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=164375 Change 164375 by rene@rene_self on 2009/06/14 20:06:10 [website] refer to Dutch news/events/press versions Affected files ... .. //depot/projects/docproj_nl/www/nl/publish.sgml#8 edit .. //depot/projects/docproj_nl/www/nl/share/sgml/navibar.l10n.ent#9 edit Differences ... ==== //depot/projects/docproj_nl/www/nl/publish.sgml#8 (text+ko) ==== @@ -21,7 +21,7 @@
  • BOEKEN
  • CD-ROMS
  • TIJDSCHRIFTEN
  • -
  • PERS
  • +
  • PERS
  • ==== //depot/projects/docproj_nl/www/nl/share/sgml/navibar.l10n.ent#9 (text+ko) ==== @@ -17,9 +17,9 @@
  • Advocacy
  • Marketing
  • Beheer
  • -
  • Nieuws
  • -
  • Evenementen
  • -
  • Pers
  • +
  • Nieuws
  • +
  • Evenementen
  • +
  • Pers
  • Multimedia
  • Kunst
  • Logo
  • @@ -42,7 +42,7 @@
  • IRC
  • Newsgroepen
  • Gebruikersgroepen
  • -
  • Evenementen
  • +
  • Evenementen
  • Bronnen op het web
  • Sociale netwerken
  • From owner-p4-projects@FreeBSD.ORG Sun Jun 14 20:30:15 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7BE4A106568A; Sun, 14 Jun 2009 20:30:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 31D73106564A for ; Sun, 14 Jun 2009 20:30:15 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1F2638FC15 for ; Sun, 14 Jun 2009 20:30:15 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EKUFCP074464 for ; Sun, 14 Jun 2009 20:30:15 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EKUFDa074462 for perforce@freebsd.org; Sun, 14 Jun 2009 20:30:15 GMT (envelope-from syl@FreeBSD.org) Date: Sun, 14 Jun 2009 20:30:15 GMT Message-Id: <200906142030.n5EKUFDa074462@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164376 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 20:30:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=164376 Change 164376 by syl@syl_atuin on 2009/06/14 20:29:47 Add debug for libusb10.c and libusb10_desc.c. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/descriptors/test1/test1.c#3 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#10 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#33 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#6 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#15 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/descriptors/test1/test1.c#3 (text+ko) ==== @@ -26,6 +26,7 @@ fprintf(stderr, "libusb_init failed\n"); return (EXIT_FAILURE); } + printf("debug %i\n", ctx->debug); if ((ret = libusb_get_device_list(ctx, &devs_list)) < 0) { fprintf(stderr,"libusb_get_device_list failed with 0x%x error code\n", @@ -33,6 +34,7 @@ return (EXIT_FAILURE); } + perror("toto\n"); if (ret == 0) { fprintf(stderr, "No device match or lack of permissions.\n"); return (EXIT_SUCCESS); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#10 (text+ko) ==== @@ -176,6 +176,10 @@ LIBUSB_TRANSFER_FREE_TRANSFER = 1 << 2, }; +enum libusb_debug_level { + LIBUSB_DEBUG_FUNCTION=1, +}; + /* libusb structures */ typedef void (*libusb_pollfd_added_cb) (int fd, short events, void *user_data); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#33 (text+ko) ==== @@ -111,7 +111,7 @@ } pthread_mutex_lock(&default_context_lock); - if (!usbi_default_context) { + if (usbi_default_context == NULL) { usbi_default_context = ctx; } pthread_mutex_unlock(&default_context_lock); @@ -127,6 +127,7 @@ { GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit enter"); usb_remove_pollfd(ctx, ctx->ctrl_pipe[0]); close(ctx->ctrl_pipe[0]); close(ctx->ctrl_pipe[1]); @@ -138,6 +139,7 @@ pthread_mutex_unlock(&default_context_lock); free(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_exit leave"); } /* Device handling and initialisation. */ @@ -152,6 +154,8 @@ int i; GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list enter"); + usb_backend = libusb20_be_alloc_default(); if (usb_backend == NULL) return (-1); @@ -203,6 +207,7 @@ (*list)[i] = NULL; libusb20_be_free(usb_backend); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list leave"); return (i); } @@ -214,6 +219,10 @@ libusb_free_device_list(libusb_device **list, int unref_devices) { int i; + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list enter"); if (list == NULL) return ; @@ -223,21 +232,34 @@ libusb_unref_device(list[i]); } free(list); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list leave"); } uint8_t libusb_get_bus_number(libusb_device * dev) { + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number enter"); + if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number leave"); return (dev->bus_number); } uint8_t libusb_get_device_address(libusb_device * dev) { + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address enter"); + if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address leave"); return (dev->device_address); } @@ -248,8 +270,12 @@ struct libusb_interface *pinf; struct libusb_interface_descriptor *pdinf; struct libusb_endpoint_descriptor *pdend; + libusb_context *ctx; int i, j, k, ret; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size enter"); + if (dev == NULL) return (LIBUSB_ERROR_NO_DEVICE); @@ -273,12 +299,18 @@ out: libusb_free_config_descriptor(pdconf); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size leave"); return (ret); } libusb_device * libusb_ref_device(libusb_device * dev) { + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device enter"); + if (dev == NULL) return (NULL); @@ -286,12 +318,18 @@ dev->refcnt++; pthread_mutex_unlock(&dev->lock); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device leave"); return (dev); } void libusb_unref_device(libusb_device * dev) { + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device enter"); + if (dev == NULL) return; @@ -307,6 +345,7 @@ libusb20_dev_free(dev->os_priv); free(dev); } + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device leave"); } int @@ -318,6 +357,9 @@ unsigned char dummy; int err; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open enter"); + dummy = 1; if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -369,6 +411,7 @@ pthread_mutex_unlock(&ctx->pollfd_modify_lock); libusb_unlock_events(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open leave"); return (0); } @@ -382,6 +425,9 @@ struct LIBUSB20_DEVICE_DESC_DECODED *pdesc; int i, j; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid enter"); + devh = NULL; if ((i = libusb_get_device_list(ctx, &devs)) < 0) @@ -397,6 +443,7 @@ } libusb_free_device_list(devs, 1); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_open_device_width_vid_pid leave"); return (devh); } @@ -414,6 +461,9 @@ ctx = devh->dev->ctx; pdev = devh->os_priv; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close enter"); + pthread_mutex_lock(&ctx->pollfd_modify_lock); ctx->pollfd_modify++; pthread_mutex_unlock(&ctx->pollfd_modify_lock); @@ -452,26 +502,39 @@ pthread_mutex_unlock(&ctx->pollfd_modify_lock); libusb_unlock_events(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_close leave"); } libusb_device * libusb_get_device(libusb_device_handle * devh) { + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device enter"); + if (devh == NULL) return (NULL); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device leave"); return (devh->dev); } int libusb_get_configuration(libusb_device_handle * devh, int *config) { + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_configuration enter"); + if (devh == NULL || config == NULL) return (LIBUSB_ERROR_INVALID_PARAM); *config = libusb20_dev_get_config_index((struct libusb20_device *) devh->dev->os_priv); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_configuration leave"); return (0); } @@ -483,7 +546,11 @@ libusb_set_configuration(libusb_device_handle * devh, int configuration) { struct libusb20_device *pdev; + libusb_context *ctx; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_configuration enter"); + if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -491,14 +558,19 @@ libusb20_dev_set_alt_index(pdev, libusb20_dev_get_config_index(pdev), configuration); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_configuration leave"); return (0); } int libusb_claim_interface(libusb_device_handle * dev, int interface_number) { + libusb_context *ctx; int ret = 0; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_claim_interface enter"); + if (dev == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -513,14 +585,19 @@ dev->claimed_interfaces |= (1 << interface_number); pthread_mutex_unlock(&(dev->lock)); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_claim_interface leave"); return (ret); } int libusb_release_interface(libusb_device_handle * dev, int interface_number) { + libusb_context *ctx; int ret; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_release_interface enter"); + ret = 0; if (dev == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -536,6 +613,7 @@ dev->claimed_interfaces &= ~(1 << interface_number); pthread_mutex_unlock(&(dev->lock)); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_release_interface leave"); return (ret); } @@ -543,8 +621,12 @@ libusb_set_interface_alt_setting(libusb_device_handle * dev, int interface_number, int alternate_setting) { + libusb_context *ctx; int ret; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_interface_alt_setting enter"); + if (dev == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -562,6 +644,7 @@ alternate_setting) != 0) return (LIBUSB_ERROR_OTHER); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_interface_alt_setting leave"); return (0); } @@ -569,8 +652,12 @@ libusb_clear_halt(libusb_device_handle * devh, unsigned char endpoint) { struct libusb20_transfer *xfer; + libusb_context *ctx; int ret; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_clear_halt enter"); + GET_XFER(xfer, endpoint, devh->os_priv); pthread_mutex_lock(&libusb20_lock); @@ -584,25 +671,39 @@ if (ret == 0) /* check if we have open the device */ libusb20_tr_close(xfer); pthread_mutex_unlock(&libusb20_lock); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_clear_halt leave"); return (0); } int libusb_reset_device(libusb_device_handle * dev) { + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_reset_device enter"); + if (dev == NULL) return (LIBUSB20_ERROR_INVALID_PARAM); libusb20_dev_reset(dev->os_priv); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_reset_device leave"); return (0); } int libusb_kernel_driver_active(libusb_device_handle * devh, int interface) { + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_kernel_driver_active enter"); + if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_kernel_driver_active leave"); return (libusb20_dev_kernel_driver_active(devh->os_priv, interface)); } @@ -610,6 +711,10 @@ libusb_detach_kernel_driver(libusb_device_handle * devh, int interface) { struct libusb20_device *pdev; + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_detach_kernel_driver enter"); if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -617,6 +722,8 @@ pdev = (struct libusb20_device *)devh->dev->os_priv; if (libusb20_dev_detach_kernel_driver(pdev, interface) == LIBUSB20_ERROR_OTHER) return (LIBUSB_ERROR_OTHER); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_detach_kernel_driver leave"); return (0); } @@ -627,8 +734,15 @@ int libusb_attach_kernel_driver(libusb_device_handle * devh, int interface) { + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_attach_kernel_driver enter"); + if (devh == NULL) return (LIBUSB_ERROR_INVALID_PARAM); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_attach_kernel_driver leave"); return (0); } @@ -639,8 +753,12 @@ { struct libusb_transfer *xfer; struct usb_transfer *bxfer; + libusb_context *ctx; int len; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_alloc_transfer enter"); + len = sizeof(struct libusb_transfer) + sizeof(struct usb_transfer) + (iso_packets * sizeof(libusb_iso_packet_descriptor)); @@ -654,6 +772,8 @@ xfer = (struct libusb_transfer *) ((uint8_t *)bxfer + sizeof(struct usb_transfer)); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_alloc_transfer leave"); return (xfer); } @@ -661,7 +781,11 @@ libusb_free_transfer(struct libusb_transfer *xfer) { struct usb_transfer *bxfer; + libusb_context *ctx; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_transfer enter"); + if (xfer == NULL) return ; @@ -674,6 +798,7 @@ free(xfer->user_data); free(bxfer); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_transfer leave"); return; } @@ -719,10 +844,10 @@ if (usb_xfer->num_iso_packets > iso_packets) usb_xfer->num_iso_packets = iso_packets; for (i = 0 ; i < usb_xfer->num_iso_packets ; i++) { - libusb20_tr_setup_isoc(usb_xfer, + libusb20_tr_setup_isoc(xfer, usb_xfer->buffer, usb_xfer->length, i); } - libusb20_tr_set_total_frames(i); + libusb20_tr_set_total_frames(xfer, i); break ; case LIBUSB_TRANSFER_TYPE_BULK: libusb20_tr_setup_bulk(xfer, usb_xfer->buffer, @@ -865,6 +990,8 @@ ctx = xfer->dev_handle->dev->ctx; pdev = xfer->dev_handle->os_priv; + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_submit_transfer enter"); + usb_backend = (struct usb_transfer *) ((uint8_t *)xfer - sizeof(struct usb_transfer)); usb_backend->transferred = 0; @@ -950,12 +1077,18 @@ pthread_mutex_unlock(&libusb20_lock); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_submit_transfer leave"); return (0); } int libusb_cancel_transfer(struct libusb_transfer *xfer) { + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_cancel_transfer enter"); + if (xfer == NULL) return (LIBUSB_ERROR_NO_MEM); @@ -964,6 +1097,7 @@ libusb20_tr_close(xfer->os_priv); pthread_mutex_unlock(&libusb20_lock); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_cancel_transfer leave"); return (0); } ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#6 (text+ko) ==== @@ -83,6 +83,20 @@ #define MAX(a,b) (((a)>(b))?(a):(b)) #define USB_TIMED_OUT (1<<0) +static inline void +dprintf(libusb_context *ctx, int debug, char *str) +{ + switch (ctx->debug) { + case LIBUSB_DEBUG_FUNCTION: + printf("LIBUSB FUNCTION : %s\n", str); + break ; + default: + printf("LIBUSB UNKNOW DEBUG\n"); + break ; + } + return ; +} + struct usb_pollfd { struct libusb_pollfd pollfd; struct list_head list; ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#15 (text+ko) ==== @@ -32,6 +32,7 @@ #include "libusb20_desc.h" #include "libusb20_int.h" #include "libusb.h" +#include "libusb10.h" /* USB descriptors */ @@ -41,6 +42,10 @@ { struct LIBUSB20_DEVICE_DESC_DECODED *pdesc; struct libusb20_device *pdev; + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_descriptor enter"); if ((dev == NULL) || (desc == NULL)) return (LIBUSB_ERROR_INVALID_PARAM); @@ -63,6 +68,7 @@ desc->iSerialNumber = pdesc->iSerialNumber; desc->bNumConfigurations = pdesc->bNumConfigurations; + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_descriptor leave"); return (0); } @@ -71,11 +77,16 @@ struct libusb_config_descriptor **config) { struct libusb20_device *pdev; + libusb_context *ctx; uint8_t idx; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_active_config_descriptor enter"); + pdev = dev->os_priv; idx = libusb20_dev_get_config_index(pdev); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_active_config_descriptor leave"); return (libusb_get_config_descriptor(dev, idx, config)); } @@ -93,9 +104,13 @@ struct libusb20_endpoint *pend; libusb_interface_descriptor *ifd; libusb_endpoint_descriptor *endd; + libusb_context *ctx; uint8_t nif, nend, nalt, i, j, k; uint32_t if_idx, endp_idx; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor enter"); + if (dev == NULL || config == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -206,6 +221,7 @@ } free(pconf); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor leave"); return (0); } @@ -216,8 +232,11 @@ struct LIBUSB20_DEVICE_DESC_DECODED *pdesc; struct libusb20_device *pdev; struct libusb20_config *pconf; + libusb_context *ctx; int i; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor_by_value enter"); if (dev == NULL || config == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -234,13 +253,20 @@ free(pconf); } + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor_by_value leave"); return (LIBUSB_ERROR_NOT_FOUND); } void libusb_free_config_descriptor(struct libusb_config_descriptor *config) { + libusb_context *ctx; + + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_config_descriptor enter"); + free(config); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_config_descriptor leave"); } int @@ -248,14 +274,20 @@ uint8_t desc_index, unsigned char *data, int length) { struct libusb20_device *pdev; + libusb_context *ctx; int ret; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_string_descriptor_ascii enter"); + if (dev == NULL || data == NULL) return (LIBUSB20_ERROR_INVALID_PARAM); pdev = dev->os_priv; + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_string_descriptor_ascii leave"); if (libusb20_dev_req_string_simple_sync(pdev, desc_index, data, length) == 0) return (strlen(data)); + return (LIBUSB_ERROR_OTHER); } From owner-p4-projects@FreeBSD.ORG Sun Jun 14 20:34:20 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D37F81065672; Sun, 14 Jun 2009 20:34:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90BFD106564A for ; Sun, 14 Jun 2009 20:34:19 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7F4CA8FC1F for ; Sun, 14 Jun 2009 20:34:19 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EKYJ9g074795 for ; Sun, 14 Jun 2009 20:34:19 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EKYJhj074793 for perforce@freebsd.org; Sun, 14 Jun 2009 20:34:19 GMT (envelope-from syl@FreeBSD.org) Date: Sun, 14 Jun 2009 20:34:19 GMT Message-Id: <200906142034.n5EKYJhj074793@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164377 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 20:34:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=164377 Change 164377 by syl@syl_atuin on 2009/06/14 20:33:47 Fix libusb20_tr_get_pointer call (spotted by Hans Petter Selasky). Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#34 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#34 (text+ko) ==== @@ -1036,9 +1036,9 @@ pthread_mutex_unlock(&ctx->flying_transfers_lock); usb20_xfer[0] = libusb20_tr_get_pointer(pdev, - (2 * xfer->endpoint) | (xfer->endpoint / 0x80)); + (4 * xfer->endpoint) | (xfer->endpoint / 0x40)); usb20_xfer[1] = libusb20_tr_get_pointer(pdev, - ((2 * xfer->endpoint) | (xfer->endpoint / 0x80)) + 1); + ((4 * xfer->endpoint) | (xfer->endpoint / 0x40)) + 1); if (usb20_xfer[0] == NULL) return (LIBUSB_ERROR_OTHER); From owner-p4-projects@FreeBSD.ORG Sun Jun 14 21:08:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 469D910656CA; Sun, 14 Jun 2009 21:08:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 050E710656C8 for ; Sun, 14 Jun 2009 21:08:56 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E75D68FC24 for ; Sun, 14 Jun 2009 21:08:55 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5EL8t96089560 for ; Sun, 14 Jun 2009 21:08:55 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5EL8tJf089558 for perforce@freebsd.org; Sun, 14 Jun 2009 21:08:55 GMT (envelope-from mav@freebsd.org) Date: Sun, 14 Jun 2009 21:08:55 GMT Message-Id: <200906142108.n5EL8tJf089558@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164379 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Jun 2009 21:08:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=164379 Change 164379 by mav@mav_mavbook on 2009/06/14 21:08:23 Remove some SCSI legacy. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#9 edit .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#22 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_da.c#9 (text+ko) ==== @@ -857,14 +857,8 @@ bp = (struct bio *)done_ccb->ccb_h.ccb_bp; if ((done_ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) { int error; - int sf; - if ((ataio->ccb_h.ccb_state & DA_CCB_RETRY_UA) != 0) - sf = SF_RETRY_UA; - else - sf = 0; - - error = daerror(done_ccb, CAM_RETRY_SELTO, sf); + error = daerror(done_ccb, CAM_RETRY_SELTO, 0); if (error == ERESTART) { /* * A retry was scheuled, so @@ -953,12 +947,6 @@ periph = xpt_path_periph(ccb->ccb_h.path); softc = (struct da_softc *)periph->softc; - /* - * XXX - * Until we have a better way of doing pack validation, - * don't treat UAs as errors. - */ - sense_flags |= SF_RETRY_UA; return(cam_periph_error(ccb, cam_flags, sense_flags, &softc->saved_ccb)); } ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#22 (text+ko) ==== @@ -684,10 +684,7 @@ xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); return; - } else if (cam_periph_error(done_ccb, 0, - done_ccb->ccb_h.target_lun > 0 - ? SF_RETRY_UA|SF_QUIET_IR - : SF_RETRY_UA, + } else if (cam_periph_error(done_ccb, 0, 0, &softc->saved_ccb) == ERESTART) { return; } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { @@ -783,10 +780,7 @@ xpt_schedule(periph, priority); return; } - } else if (cam_periph_error(done_ccb, 0, - done_ccb->ccb_h.target_lun > 0 - ? SF_RETRY_UA|SF_QUIET_IR - : SF_RETRY_UA, + } else if (cam_periph_error(done_ccb, 0, 0, &softc->saved_ccb) == ERESTART) { return; } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { @@ -859,10 +853,7 @@ xpt_release_ccb(done_ccb); break; } - } else if (cam_periph_error(done_ccb, 0, - done_ccb->ccb_h.target_lun > 0 - ? SF_RETRY_UA|SF_QUIET_IR - : SF_RETRY_UA, + } else if (cam_periph_error(done_ccb, 0, 0, &softc->saved_ccb) == ERESTART) { return; } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { @@ -887,10 +878,7 @@ xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); return; - } else if (cam_periph_error(done_ccb, 0, - done_ccb->ccb_h.target_lun > 0 - ? SF_RETRY_UA|SF_QUIET_IR - : SF_RETRY_UA, + } else if (cam_periph_error(done_ccb, 0, 0, &softc->saved_ccb) == ERESTART) { return; } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { @@ -912,10 +900,7 @@ xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); return; - } else if (cam_periph_error(done_ccb, 0, - done_ccb->ccb_h.target_lun > 0 - ? SF_RETRY_UA|SF_QUIET_IR - : SF_RETRY_UA, + } else if (cam_periph_error(done_ccb, 0, 0, &softc->saved_ccb) == ERESTART) { return; } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { @@ -950,10 +935,7 @@ xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); return; - } else if (cam_periph_error(done_ccb, 0, - done_ccb->ccb_h.target_lun > 0 - ? SF_RETRY_UA|SF_QUIET_IR - : SF_RETRY_UA, + } else if (cam_periph_error(done_ccb, 0, 0, &softc->saved_ccb) == ERESTART) { return; } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { @@ -978,10 +960,7 @@ xpt_schedule(periph, priority); return; } - } else if (cam_periph_error(done_ccb, 0, - done_ccb->ccb_h.target_lun > 0 - ? SF_RETRY_UA|SF_QUIET_IR - : SF_RETRY_UA, + } else if (cam_periph_error(done_ccb, 0, 0, &softc->saved_ccb) == ERESTART) { return; } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { @@ -1006,10 +985,7 @@ xpt_schedule(periph, priority); return; } - } else if (cam_periph_error(done_ccb, 0, - done_ccb->ccb_h.target_lun > 0 - ? SF_RETRY_UA|SF_QUIET_IR - : SF_RETRY_UA, + } else if (cam_periph_error(done_ccb, 0, 0, &softc->saved_ccb) == ERESTART) { return; } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { @@ -1049,10 +1025,7 @@ xpt_schedule(periph, priority); return; } - } else if (cam_periph_error(done_ccb, 0, - done_ccb->ccb_h.target_lun > 0 - ? SF_RETRY_UA|SF_QUIET_IR - : SF_RETRY_UA, + } else if (cam_periph_error(done_ccb, 0, 0, &softc->saved_ccb) == ERESTART) { return; } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { @@ -1079,10 +1052,7 @@ xpt_release_ccb(done_ccb); } break; - } else if (cam_periph_error(done_ccb, 0, - done_ccb->ccb_h.target_lun > 0 - ? SF_RETRY_UA|SF_QUIET_IR - : SF_RETRY_UA, + } else if (cam_periph_error(done_ccb, 0, 0, &softc->saved_ccb) == ERESTART) { return; } else if ((done_ccb->ccb_h.status & CAM_DEV_QFRZN) != 0) { From owner-p4-projects@FreeBSD.ORG Mon Jun 15 03:01:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7DE8010656B4; Mon, 15 Jun 2009 03:01:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3940910656B1 for ; Mon, 15 Jun 2009 03:01:56 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 26A0B8FC20 for ; Mon, 15 Jun 2009 03:01:56 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5F31uaM095808 for ; Mon, 15 Jun 2009 03:01:56 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5F31udW095806 for perforce@freebsd.org; Mon, 15 Jun 2009 03:01:56 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Mon, 15 Jun 2009 03:01:56 GMT Message-Id: <200906150301.n5F31udW095806@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 164392 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 03:01:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=164392 Change 164392 by zhaoshuai@zhaoshuai on 2009/06/15 03:00:57 use reported FIFO bug for testing, PR_74242, PR_76144 Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#4 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/pr_74242_speak.c#1 add .. //depot/projects/soc2009/fifo/fifo_test/functionality/pr_74242_tick.c#1 add .. //depot/projects/soc2009/fifo/fifo_test/functionality/pr_76144.c#1 add Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ OBJS = rdwr reader1 reader2 writer1 bidirection1 bidirection2 select \ - poll + poll pr_74242_speak pr_74242_tick pr_76144 all : $(OBJS) @@ -11,6 +11,9 @@ bidirection2 : bidirection2.c select : select.c poll : poll.c +pr_74242_speak : pr_74242_speak.c +pr_74242_tick : pr_74242_tick.c +pr_76144 : pr_76144.c clean : -rm $(OBJS) From owner-p4-projects@FreeBSD.ORG Mon Jun 15 04:15:11 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB2D01065674; Mon, 15 Jun 2009 04:15:10 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8A1C4106566C for ; Mon, 15 Jun 2009 04:15:10 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7673F8FC08 for ; Mon, 15 Jun 2009 04:15:10 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5F4FA6f010425 for ; Mon, 15 Jun 2009 04:15:10 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5F4FAej010423 for perforce@freebsd.org; Mon, 15 Jun 2009 04:15:10 GMT (envelope-from dforsyth@FreeBSD.org) Date: Mon, 15 Jun 2009 04:15:10 GMT Message-Id: <200906150415.n5F4FAej010423@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164394 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 04:15:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=164394 Change 164394 by dforsyth@squirrel on 2009/06/15 04:14:36 Working towards something that compiles. Added some place holders. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#16 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#16 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.c#3 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#9 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#8 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_private.h#10 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.c#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.h#3 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#10 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#16 (text+ko) ==== @@ -2,10 +2,13 @@ #include #include +#include + #include "pkg_util.h" #include "pkg_dep.h" #include "pkg_file.h" #include "pkg_plist.h" +#include "pkgdb_hierdb_pkgdb_sub.h" #include "pkgdb.h" #include "pkg_private.h" #include "pkg.h" @@ -13,10 +16,17 @@ struct pkg { char *ident; /* User given name for this pkg. */ + char *contents; + char *comment; + char *description; + char *display; + char *mtree_dirs; + char *required_by; + struct pkg_plist plist; - struct pkgdb_sub sub; + struct pkgdb_sub *sub; - /* TAILQ_ENTRY(pkg) next; */ + TAILQ_ENTRY(pkg) next; short dirty; /* Add an owner field? */ }; @@ -29,11 +39,13 @@ struct pkg *p; p = calloc(1, sizeof(*p)); + return (p); } -/* TODO: Can't copy string for some _set_ functions and then just point to - * the passed pkg_plist for _set_pkg_plist. */ +/* For now, copy all text into the package. Yes, it's storing information + * twice, but until I'm sure about what I'm going to do with all of the + * information, pkgs can have their own copies of the data. */ /* Set the short comment for this package */ int @@ -42,9 +54,86 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - p->comment_text = comment; + p->comment = strdup(comment); + + return (OK); +} + +/* Set the contents for this package. */ + +int +pkg_set_contents(struct pkg *p, const char *contents) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + p->contents = strdup(contents); + + return (OK); +} + +int +pkg_set_description(struct pkg *p, const char *description) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + p->description = strdup(description); + + return (OK); +} + +int +pkg_set_display(struct pkg *p, const char *display) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + p->display = strdup(display); + + return (OK); +} + +int +pkg_set_mtree_dirs(struct pkg *p, const char *mtree_dirs) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + p->mtree_dirs = strdup(mtree_dirs); + + return (OK); +} + +int +pkg_set_required_by(struct pkg *p, const char *required_by) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + p->required_by = strdup(required_by); + + return (OK); +} + +int +pkg_parse_plist(struct pkg *p) +{ + int status; + + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (pkg_plist_parsed(&p->plist)) { + /* For now, just jump ship if the package already has a plist. */ + return (OK); + } + + pkg_plist_reset(&p->plist); + + status = pkg_plist_parse_contents_from_text(&p->plist, p->contents); - return (PKG_OK); + return (status); } /* ident and name are different, even though they might be the same. */ @@ -79,7 +168,7 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (pkg_plist_cwd(p->plist)); + return (pkg_plist_cwd(&p->plist)); } char * @@ -88,27 +177,32 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - return (pkg_plist_origin(p->plist)) + return (pkg_plist_origin(&p->plist)); } +/* These need to be renamed. */ + void -pkg_file_list_init(struct pkg *p) +pkg_pkg_file_list_init(struct pkg *p) { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - pkg_plist_pkg_file_list_reset(p->plist); + pkg_plist_pkg_file_list_reset(&p->plist); } struct pkg_file * -pkg_file_list_next(struct pkg *p) +pkg_pkg_file_list_next(struct pkg *p) { struct pkg_file *pf; - + if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (pf == NULL) + arg_rage_quit(__func__, "Not a valid package file.", RAGE_AT_CLIENT); - pf = pkg_plist_pkg_file_list_next(p->plist); + pf = pkg_plist_pkg_file_list_next(&p->plist); return (pf); } @@ -119,15 +213,14 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - pkg_plist_free(p->plist); p->ident = NULL; - p->comment_text = NULL; - p->contents_text = NULL; - p->desc_text = NULL; - p->display_text = NULL; - p->mtree_text = NULL; + p->comment = NULL; + p->contents = NULL; + p->description = NULL; + p->display = NULL; + p->mtree_dirs = NULL; p->required_by = NULL; - p->plist = NULL; + pkg_plist(&p->plist); } /* TODO: Make an note in the manual for libpkg that pkg_free should not be ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#16 (text+ko) ==== @@ -2,17 +2,36 @@ #define __PKG_H__ /* When I get more than one, I'll plop it into an enum type. */ -#define HIER_DB 0 +#define HIER_DB 0 + +/* Here have some error codes. */ + +#define OK 0x00000000 +#define NOT_OK 0x00000001 +#define MEMORY_ERR 0x00000002 +#define BAD_IDENT 0x00000004 /* remove db_bad_root? */ +#define RAGE_AT_CLIENT 0x00000008 +#define RAGE_AT_LIBPKG 0x00000010 + +#define DB_BAD_ROOT 0x10000000 +#define DB_NOT_OPEN 0x20000000 +#define DB_OPEN 0x40000000 -/* TODO: Error codes. */ -#define RAGE_AT_CLIENT 0x00000001 -#define RAGE_AT_LIBPKG 0x00000002 +#define SUB_NO_COMMENT 0x80000000 +#define SUB_NO_CONTENTS 0x01000000 +#define SUB_NO_DESC 0x02000000 +#define SUB_NO_DISPLAY 0x04000000 +#define SUB_NO_MTREE_DIRS 0x08000000 +#define SUB_NO_REQUIRED_BY 0x00100000 +#define SUB_NO_FILE 0x00200000 +#define SUB_EMPTY_FILE 0x00400000 +#define NO_PKG 0x00800000 /* pkg_file */ struct pkg_file; - +#if 0 struct pkg_file *pkg_file_new(void); const char *pkg_file_path(struct pkg_file *pf); @@ -30,14 +49,16 @@ int pkg_file_set_owner(struct pkg_file *pf, const char *owner); int pkg_file_set_group(struct pkg_file *pf, const char *group); - +#endif /* pkg */ /* Add mtree stuff later. */ struct pkg; -struct pkg *pkg_new(const char *ident); +struct pkg *pkg_new(void); + +void pkg_reset(struct pkg *p); char *pkg_ident(struct pkg *p); @@ -63,13 +84,21 @@ int pkg_set_comment(struct pkg *p, const char *comment); +int pkg_set_contents(struct pkg *p, const char *contents); + int pkg_set_description(struct pkg *p, const char *description); +int pkg_set_mtree_dirs(struct pkg *p, const char *mtree_dirs); + +int pkg_set_required_by(struct pkg *p, const char *required_by); + int pkg_set_display(struct pkg *p, const char *display); int pkg_parse_plist(struct pkg *p); -int pkg_pkg_file_list_next(struct pkg *p, struct pkg_file *pf); +void pkg_pkg_file_list_init(struct pkg *p); + +struct pkg_file *pkg_pkg_file_list_next(struct pkg *p); int pkg_pkg_file_list_reset(struct pkg *p); @@ -91,7 +120,7 @@ int pkgdb_db_close(struct pkgdb *db); -struct pkg *pkgdb_pkg_next(struct pkgdb *db); +int pkgdb_pkg_next(struct pkgdb *db, struct pkg *p); int pkgdb_pkg_get(struct pkgdb *db, struct pkg *p, const char *ident); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_dep.c#3 (text+ko) ==== @@ -25,6 +25,7 @@ return (NULL); pd->name = name; + return (pd); } @@ -35,6 +36,7 @@ return (NULL); pd->origin = origin; + return (pd); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#9 (text+ko) ==== @@ -9,6 +9,7 @@ #include #include +#include "pkg_util.h" #include "pkg_dep.h" #include "pkg_file.h" #include "pkg_plist.h" @@ -21,28 +22,6 @@ char *group; }; -struct pkg_plist { - char * rev; - char *cwd; - char *srcdir; - char *name; - char *origin; - char *display; - char *mtree_file; - - char *text; /* The entire plist */ - - struct pkg_file *pf_curr; - struct pkg_dep *pd_curr; - - /* Use these lists here so that appending to our list doesnt need a - * bunch of realloc procedures. This will be convenient for clients - * that want to build plists on the fly, modify plists, etc. */ - - TAILQ_HEAD(pf_head, pkg_file) pf_head; /* pkg_file list. */ - TAILQ_HEAD(pd_head, pkg_dep) pd_head; /* pkg_dep list. */ -}; - void set_parse_state_default(struct parse_state *st) { @@ -63,40 +42,60 @@ return (pl); } -struct pkg_plist * +int +pkg_plist_parsed(struct pkg_plist *pl) +{ + if (pl == NULL) + arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); + + return (pl->parsed); +} + +void +pkg_plist_reset(struct pkg_plist *pl) +{ + if (pl == NULL) + arg_rage_quit(__func__, "Not a valid plist.", RAGE_AT_LIBPKG); + + /* TODO: Write this. */ + + pl->parsed = 0; +} + +int pkg_plist_new_from_text(const char *text) { + int status; struct pkg_plist *pl; - pl = pkg_plist_parse_contents_from_text(text); - return (pl); + pl = pkg_plist_new(); + status = pkg_plist_parse_contents_from_text(pl, text); + + return (status); } -struct pkg_plist * -pkg_plist_parse_contents_from_text(const char *text) +int +pkg_plist_parse_contents_from_text(struct pkg_plist *pl, const char *text) { int s; char *p; char *textp; char *line; - struct pkg_plist *pl; struct parse_state st; /* This function will parse text and create a pkg_plist */ if (text == NULL) - return (NULL); + return (NOT_OK); pl = pkg_plist_new(); if (pl == NULL) - return (NULL); + return (MEMORY_ERR); - /* Lets just hold a complete copy of the text and modify/point to the - * information we want, rather than duping a bunch of strings in the - * line parsing function. */ - + /* Not sure if this is how I still want to do this, but for now, hold + * a copy of the text. */ textp = strdup(text); if (textp == NULL) - return (NULL); + return (MEMORY_ERR); pl->text = textp; @@ -118,12 +117,16 @@ /* Consider a dirty flag for these lists? */ if (s != 0) { /* bad parse. */ + /* free a bunch of stuff. */ + return (NOT_OK); } textp = p + 1; } } + + pl->parsed = 1; - return (pl); + return (OK); } /* Parse a command sequence and add an entry based on the findings. */ @@ -363,4 +366,10 @@ TAILQ_INSERT_TAIL(&pl->pf_head, pf, next); } +void +pkg_plist_free(struct pkg_plist *pl) +{ + return; +} + /* pkg_dep list manipulation and access. */ ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#8 (text+ko) ==== @@ -28,40 +28,73 @@ /* Plist commands. */ -#define PLIST_CMD_CWD "cwd" -#define PLIST_CMD_CD "cd" -#define PLIST_CMD_SRCDIR "srcdir" -#define PLIST_CMD_EXEC "exec" -#define PLIST_CMD_UNEXEC "unexec" -#define PLIST_CMD_MODE "mode" -#define PLIST_CMD_OPTION "option" -#define PLIST_CMD_OWNER "owner" -#define PLIST_CMD_GROUP "group" -#define PLIST_CMD_COMMENT "comment" -#define PLIST_CMD_NOINST "noinst" -#define PLIST_CMD_IGNORE "ignore" +#define PLIST_CMD_CWD "cwd" +#define PLIST_CMD_CD "cd" +#define PLIST_CMD_SRCDIR "srcdir" +#define PLIST_CMD_EXEC "exec" +#define PLIST_CMD_UNEXEC "unexec" +#define PLIST_CMD_MODE "mode" +#define PLIST_CMD_OPTION "option" +#define PLIST_CMD_OWNER "owner" +#define PLIST_CMD_GROUP "group" +#define PLIST_CMD_COMMENT "comment" +#define PLIST_CMD_NOINST "noinst" +#define PLIST_CMD_IGNORE "ignore" #define PLIST_CMD_IGNORE_INST "ignore_inst" -#define PLIST_CMD_NAME "name" -#define PLIST_CMD_DIRRM "dirrm" -#define PLIST_CMD_MTREE "mtree" -#define PLIST_CMD_DISPLAY "display" -#define PLIST_CMD_PKGDEG "pkgdep" -#define PLIST_CMD_CONFLICTS "conflicts" +#define PLIST_CMD_NAME "name" +#define PLIST_CMD_DIRRM "dirrm" +#define PLIST_CMD_MTREE "mtree" +#define PLIST_CMD_DISPLAY "display" +#define PLIST_CMD_PKGDEG "pkgdep" +#define PLIST_CMD_CONFLICTS "conflicts" /* Meta comments. */ #define PLIST_COMMENT_PKG_REV "PKG_FORMAT_REVISION" #define PLIST_COMMENT_ORIGIN "ORIGIN" #define PLIST_COMMENT_DEPORIGIN "DEPORIGIN" -#define PLIST_COMMENT_MD5 "MD5" +#define PLIST_COMMENT_MD5 "MD5" struct parse_state; -struct pkg_plist *pkg_plist_parse_contents_from_text(const char *text); +struct pkg_plist { + char *rev; + char *cwd; + char *srcdir; + char *name; + char *origin; + char *display; + char *mtree_file; + + char *text; /* The entire plist */ + + struct pkg_file *pf_curr; + struct pkg_dep *pd_curr; + + /* Use these lists here so that appending to our list doesnt need a + * bunch of realloc procedures. This will be convenient for clients + * that want to build plists on the fly, modify plists, etc. */ + + TAILQ_HEAD(pf_head, pkg_file) pf_head; /* pkg_file list. */ + TAILQ_HEAD(pd_head, pkg_dep) pd_head; /* pkg_dep list. */ + int parsed; +}; + +struct pkg_plist *pkg_plist_new(void); + +int pkg_plist_parsed(struct pkg_plist *pl); + +void pkg_plist_reset(struct pkg_plist *pl); + +int pkg_plist_new_from_text(const char *text); + +int pkg_plist_parse_contents_from_text(struct pkg_plist *pl, + const char *text); int pkg_plist_parse_line(struct pkg_plist *pl, char *line, struct parse_state *st); void pkg_plist_pkg_file_list_reset(struct pkg_plist *pl); + struct pkg_file *pkg_plist_pkg_file_list_next(struct pkg_plist *pl); char *pkg_plist_name(struct pkg_plist *pl); @@ -76,4 +109,6 @@ void set_parse_state_default(struct parse_state *st); +void pkg_plist_free(struct pkg_plist *pl); + #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_private.h#10 (text+ko) ==== @@ -1,11 +1,11 @@ #ifndef __PKG_PRIVATE_H__ #define __PKG_PRIVATE_H__ -#define COMMENT_FILE "+COMMENT" -#define CONTENTS_FILE "+CONTENTS" -#define DESC_FILE "+DESC" -#define DISPLAY_FILE "+DISPLAY" -#define MTREE_DIRS_FILE "+MTREE_DIRS" +#define COMMENT_FILE "+COMMENT" +#define CONTENTS_FILE "+CONTENTS" +#define DESC_FILE "+DESC" +#define DISPLAY_FILE "+DISPLAY" +#define MTREE_DIRS_FILE "+MTREE_DIRS" #define REQUIRED_BY_FILE "+REQUIRED_BY" ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#4 (text+ko) ==== @@ -140,7 +140,16 @@ } int -pkgdb_hierdb_db_close(struct pkgdb *db) +pkgdb_hierdb_db_sync(struct pkgdb *db) { - return (0); + int status; + + if (db == NULL) + arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); + + status = OK; + if (!db->dirty) + return (status); + + return (status); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.c#5 (text+ko) ==== @@ -4,24 +4,10 @@ #include "pkgdb_hierdb_pkgdb_sub.h" #include "pkg.h" +#define BAD_ARG_RAGE arg_rage_quit(__func__, "Not a valid pkgdb_sub.", RAGE_AT_LIBPKG); + /* TODO: Create pkgdb_sub.c */ -struct pkgdb_sub { - struct pkgdb *owner_db; - - char *ident; - char *path; - - char *comment_text; - char *contents_text; - char *desc_text; - char *display_text; - char *mtree_dirs_text; - char *required_by_text; - - TAILQ_ENTRY(pkgdb_sub) next; -}; - struct pkgdb_sub * pkgdb_sub_new() { @@ -135,6 +121,69 @@ return (SUB_OK); } +char * +pkgdb_sub_ident(struct pkgdb_sub *dbs) +{ + if (dbs == NULL) + BAD_ARG_RAGE; + + return (dbs->ident); +} + +char * +pkgdb_sub_comment(struct pkgdb_sub *dbs) +{ + if (dbs == NULL) + BAD_ARG_RAGE; + + return (dbs->comment_text); +} + +char * +pkgdb_sub_contents(struct pkgdb_sub *dbs) +{ + if (dbs == NULL) + BAD_ARG_RAGE; + + return (dbs->contents_text); +} + +char * +pkgdb_sub_desc(struct pkgdb_sub *dbs) +{ + if (dbs == NULL) + BAD_ARG_RAGE; + + return (dbs->desc_text); +} + +char * +pkgdb_sub_display(struct pkgdb_sub *dbs) +{ + if (dbs == NULL) + BAD_ARG_RAGE; + + return (dbs->display_text); +} + +char * +pkgdb_sub_mtree_dirs(struct pkgdb_sub *dbs) +{ + if (dbs == NULL) + BAD_ARG_RAGE; + + return (dbs->mtree_dirs_text); +} + +char * +pkgdb_sub_required_by(struct pkgdb_sub *dbs); +{ + if (dbs == NULL) + BAD_ARG_RAGE; + + return (dbs->required_by_text); +} + void pkgdb_sub_reset(struct pkgdb_sub *dbs) { @@ -159,8 +208,6 @@ dbs->required_by_text = NULL; } - - void pkgdb_sub_free(struct pkgdb_sub *dbs) { @@ -170,6 +217,3 @@ pkgdb_sub_reset(dbs); free(dbs); } - - - ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.h#3 (text+ko) ==== @@ -1,19 +1,51 @@ #ifndef __PKGDB_SUB_H__ #define __PKGDB_SUB_H__ -#define SUB_NO_COMMENT 0x00000001 -#define SUB_NO_CONTENTS 0x00000002 -#define SUB_NO_DESC 0x00000004 -#define SUB_NO_DISPLAY 0x00000008 -#define SUB_NO_MTREE_DIRS 0x00000010 -#define SUB_NO_REQUIRED_BY 0x00000020 +#include "pkg.h" + +/* Keep this in here until (if) I ditch queues. */ +struct pkgdb_sub { + struct pkgdb *owner_db; + + char *ident; + char *path; + + char *comment_text; + char *contents_text; + char *desc_text; + char *display_text; + char *mtree_dirs_text; + char *required_by_text; + + TAILQ_ENTRY(pkgdb_sub) next; +}; + +struct pkgdb_sub *pkgdb_sub_new(void); + +int pkgdb_sub_set_ident(struct pkgdb_sub *dbs, const char *ident); + +int pkgdb_sub_set_assign_db(struct pkgdb *owner, struct pkgdb_sub *dbs); + +int pkgdb_sub_read_file_to_text(struct pkgdb_sub *dbs, const char *filename); + +char *pkgdb_sub_ident(struct pkgdb_sub *dbs); + +char *pkgdb_sub_path(struct pkgdb_sub *dbs); + +char *pkgdb_sub_comment(struct pkgdb_sub *dbs); + +char *pkgdb_sub_contents(struct pkgdb_sub *dbs); + +char *pkgdb_sub_desc(struct pkgdb_sub *dbs); + +char *pkgdb_sub_display(struct pkgdb_sub *dbs); + +char *pkgdb_sub_mtree_dirs(struct pkgdb_sub *dbs); -#define SUB_NO_FILE 0x00000040 -#define SUB_EMPTY_FILE 0x00000080 +char *pkgdb_sub_required_by(struct pkgdb_sub *dbs); -#define SUB_BAD_IDENT 0x00000040 -#define SUB_MEMORY_ERR 0x00000080 +void pkgdb_sub_reset(struct pkgdb_sub *dbs); -struct pkgdb_sub; +void pkgdb_sub_free(struct pkgdb_sub *dbs); #endif ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#10 (text+ko) ==== @@ -29,7 +29,7 @@ { int status; const char *db_root; - struct pkgdb db; + struct pkgdb *db; if (argc == 1 && argv != NULL /* Giving argv something to do */) { opt_all = 1; @@ -47,13 +47,17 @@ fprintf(stderr, "Could not attach to database \"%s\"\n", db_root); } #endif - status = pkgdb_db_open(&db, db_root); - if (PKGDB_FAIL(status)) { + db = pkgdb_new(HIER_DB); + if (db == NULL) + exit(EXIT_FAILURE); + + status = pkgdb_db_open(db, db_root); + if (status) { fprintf(stderr, "Could not open database \"%s\"\n", db_root); exit(EXIT_FAILURE); } - perform_on_db(&db); + perform_on_db(db); return (EXIT_SUCCESS); } @@ -84,18 +88,23 @@ { int status; /* char *target; */ - struct pkg p; + struct pkg *p; /* There will be cases where an init is useless, but since I haven't * written that much yet, init regardless. */ + + p = pkg_new(); + if (p == NULL) + exit(EXIT_FAILURE); - status = pkgdb_db_init(&db); - if (PKGDB_FAIL(status)) { - fprint(stderr, "Could not initialize database \"%s\"\n", db_root); + status = pkgdb_db_init(db); + if (status) { + fprintf(stderr, "Could not initialize database \"%s\"\n", + pkgdb_db_root(db_root)); exit(EXIT_FAILURE); } - while ((p = pkgdb_next_pkg(db)) != NULL) { + while ((status = pkgdb_pkg_next(db, p)) != NO_PKG) { if (!opt_all) { /* Wont happen at this point. */ /* Do some matching magic that I haven't written yet. */ print_pkg_information(p); From owner-p4-projects@FreeBSD.ORG Mon Jun 15 06:26:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2B8311065673; Mon, 15 Jun 2009 06:26:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DC1C41065670 for ; Mon, 15 Jun 2009 06:26:26 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C94128FC13 for ; Mon, 15 Jun 2009 06:26:26 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5F6QQDs072261 for ; Mon, 15 Jun 2009 06:26:26 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5F6QQB6072259 for perforce@freebsd.org; Mon, 15 Jun 2009 06:26:26 GMT (envelope-from mav@freebsd.org) Date: Mon, 15 Jun 2009 06:26:26 GMT Message-Id: <200906150626.n5F6QQB6072259@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164397 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 06:26:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=164397 Change 164397 by mav@mav_mavbook on 2009/06/15 06:25:36 Use READ LOG EXT command to reveal NCQ commands errors. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#31 edit .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#15 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#31 (text+ko) ==== @@ -52,6 +52,7 @@ #include #include #include +#include #include /* local prototypes */ @@ -85,9 +86,14 @@ static int ahci_sata_connect(struct ahci_channel *ch); static int ahci_sata_phy_reset(device_t dev, int quick); +static void ahci_issue_read_log(device_t dev); +static void ahci_process_read_log(device_t dev, union ccb *ccb); + static void ahciaction(struct cam_sim *sim, union ccb *ccb); static void ahcipoll(struct cam_sim *sim); +MALLOC_DEFINE(M_AHCI, "AHCI driver", "AHCI driver data buffers"); + /* * AHCI v1.x compliant SATA chipset support functions */ @@ -836,7 +842,7 @@ struct ahci_channel *ch = device_get_softc(dev); uint32_t istatus, cstatus, sstatus, ok, err; enum ahci_err_type et; - int i, ccs; + int i, ccs, ncq_err = 0; mtx_lock(&ch->mtx); /* Read and clear interrupt statuses. */ @@ -873,7 +879,8 @@ } /* On error, complete the rest of commands with error statuses. */ if (err) { - xpt_freeze_simq(ch->sim, ch->numrslots); + if (!ch->readlog) + xpt_freeze_simq(ch->sim, ch->numrslots); if (ch->frozen) { union ccb *fccb = ch->frozen; ch->frozen = NULL; @@ -884,10 +891,7 @@ /* XXX: reqests in loading state. */ if (((err >> i) & 1) == 0) continue; - if (istatus & AHCI_P_IX_IF) { - /* SATA error */ - et = AHCI_ERR_SATA; - } else if (istatus & AHCI_P_IX_TFE) { + if (istatus & AHCI_P_IX_TFE) { /* Task File Error */ if (ch->numtslots == 0) { /* Untagged operation. */ @@ -897,12 +901,18 @@ et = AHCI_ERR_INNOCENT; } else { /* Tagged operation. */ - et = AHCI_ERR_TFE; + et = AHCI_ERR_NCQ; + ncq_err = 1; } + } else if (istatus & AHCI_P_IX_IF) { + /* SATA error */ + et = AHCI_ERR_SATA; } else et = AHCI_ERR_INVALID; ahci_end_transaction(&ch->slot[i], et); } + if (ncq_err) + ahci_issue_read_log(dev); } mtx_unlock(&ch->mtx); } @@ -1006,7 +1016,8 @@ //device_printf(slot->dev, "%s slot %d\n", __func__, slot->slot); if (error) { device_printf(slot->dev, "DMA load error\n"); - xpt_freeze_simq(ch->sim, 1); + if (!ch->readlog) + xpt_freeze_simq(ch->sim, 1); ahci_end_transaction(slot, AHCI_ERR_INVALID); return; } @@ -1046,7 +1057,8 @@ /* Setup the FIS for this request */ if (!(fis_size = ahci_setup_fis(ctp, ccb, slot->slot))) { device_printf(ch->dev, "Setting up SATA FIS failed\n"); - xpt_freeze_simq(ch->sim, 1); + if (!ch->readlog) + xpt_freeze_simq(ch->sim, 1); ahci_end_transaction(slot, AHCI_ERR_INVALID); return; } @@ -1155,7 +1167,8 @@ ahci_clo(ch->dev); ahci_start(ch->dev); - xpt_freeze_simq(ch->sim, ch->numrslots); + if (!ch->readlog) + xpt_freeze_simq(ch->sim, ch->numrslots); /* Handle command with timeout. */ ahci_end_transaction(&ch->slot[slot->slot], AHCI_ERR_TIMEOUT); /* Handle the rest of commands. */ @@ -1240,8 +1253,9 @@ if (ccb->ccb_h.func_code == XPT_SCSI_IO) { ccb->ccb_h.status |= CAM_SCSI_STATUS_ERROR; ccb->csio.scsi_status = SCSI_STATUS_CHECK_COND; - } else - ccb->ccb_h.status |= CAM_REQ_CMP_ERR; + } else { + ccb->ccb_h.status |= CAM_ATA_STATUS_ERROR; + } break; case AHCI_ERR_SATA: ccb->ccb_h.status |= CAM_UNCOR_PARITY; @@ -1249,6 +1263,8 @@ case AHCI_ERR_TIMEOUT: ccb->ccb_h.status |= CAM_CMD_TIMEOUT; break; + case AHCI_ERR_NCQ: + ccb->ccb_h.status |= CAM_ATA_STATUS_ERROR; default: ccb->ccb_h.status |= CAM_REQ_CMP_ERR; } @@ -1273,7 +1289,14 @@ ahci_begin_transaction(dev, ccb); return; } - xpt_done(ccb); + /* If it was NCQ command error, put result on hold. */ + if (et == AHCI_ERR_NCQ) { + ch->hold[slot->slot] = ccb; + } else if (ch->readlog) /* If it was our READ LOG command - process it. */ + ahci_process_read_log(dev, ccb); + else + xpt_done(ccb); + /* Unfreeze frozen command. */ if (ch->frozen && ch->numrslots == 0) { union ccb *fccb = ch->frozen; //device_printf(dev, "Unfreeze\n"); @@ -1284,6 +1307,104 @@ } static void +ahci_issue_read_log(device_t dev) +{ + struct ahci_channel *ch = device_get_softc(dev); + union ccb *ccb; + struct ccb_ataio *ataio; + int i; + +//device_printf(dev, "%s\n", __func__); + ch->readlog = 1; + /* Find some holden command. */ + for (i = 0; i < ch->numslots; i++) { + if (ch->hold[i]) + break; + } + ccb = xpt_alloc_ccb_nowait(); + if (ccb == NULL) { + device_printf(dev, "Unable allocate READ LOG command"); + return; /* XXX */ + } + ccb->ccb_h = ch->hold[i]->ccb_h; /* Reuse old header. */ + ccb->ccb_h.func_code = XPT_ATA_IO; + ccb->ccb_h.flags = CAM_DIR_IN; + ccb->ccb_h.timeout = 1000; /* 1s should be enough. */ + ataio = &ccb->ataio; + ataio->data_ptr = malloc(512, M_AHCI, M_NOWAIT); + if (ataio->data_ptr == NULL) { + device_printf(dev, "Unable allocate memory for READ LOG command"); + return; /* XXX */ + } + ataio->dxfer_len = 512; + bzero(&ataio->cmd, sizeof(ataio->cmd)); + ataio->cmd.flags = CAM_ATAIO_48BIT; + ataio->cmd.command = 0x2F; /* READ LOG EXT */ + ataio->cmd.sector_count = 1; + ataio->cmd.sector_count_exp = 0; + ataio->cmd.lba_low = 0x10; + ataio->cmd.lba_mid = 0; + ataio->cmd.lba_mid_exp = 0; + + ahci_begin_transaction(dev, ccb); +} + +static void +ahci_process_read_log(device_t dev, union ccb *ccb) +{ + struct ahci_channel *ch = device_get_softc(dev); + uint8_t *data; + struct ata_res *res; + int i; + +//device_printf(dev, "%s\n", __func__); + ch->readlog = 0; + + data = ccb->ataio.data_ptr; + if ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_CMP && + (data[0] & 0x80) == 0) { + for (i = 0; i < ch->numslots; i++) { + if (!ch->hold[i]) + continue; + if ((data[0] & 0x1F) == i) { +device_printf(dev, "READ LOG EXT: TAG %d MATCH\n", i); + res = &ch->hold[i]->ataio.res; + res->status = data[2]; + res->error = data[3]; + res->lba_low = data[4]; + res->lba_mid = data[5]; + res->lba_high = data[6]; + res->device = data[7]; + res->lba_low_exp = data[8]; + res->lba_mid_exp = data[9]; + res->lba_high_exp = data[10]; + res->sector_count = data[12]; + res->sector_count_exp = data[13]; + } else { + ccb->ccb_h.status &= ~CAM_STATUS_MASK; + ccb->ccb_h.status |= CAM_REQUEUE_REQ; + } + xpt_done(ch->hold[i]); + ch->hold[i] = NULL; + } + } else { + if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) + device_printf(dev, "Error while READ LOG EXT\n"); + else if ((data[0] & 0x80) == 0) { + device_printf(dev, "Non-queued command error in READ LOG EXT\n"); + } + for (i = 0; i < ch->numslots; i++) { + if (!ch->hold[i]) + continue; + xpt_done(ch->hold[i]); + ch->hold[i] = NULL; + } + } + free(ccb->ataio.data_ptr, M_AHCI); + xpt_free_ccb(ccb); +} + +static void ahci_start(device_t dev) { struct ahci_channel *ch = device_get_softc(dev); ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#15 (text+ko) ==== @@ -341,6 +341,7 @@ int sata_rev; /* Maximum allowed SATA generation */ struct ahci_slot slot[AHCI_MAX_SLOTS]; + union ccb *hold[AHCI_MAX_SLOTS]; struct mtx mtx; /* state lock */ int devices; /* What is present */ int pm_present; /* PM presence reported */ @@ -348,6 +349,7 @@ uint32_t aslots; /* Slots with atomic commands */ int numrslots; /* Number of running slots */ int numtslots; /* Number of tagged slots */ + int readlog; /* Our READ LOG active */ int lastslot; /* Last used slot */ int taggedtarget; /* Last tagged target */ union ccb *frozen; /* Frozen command */ @@ -385,6 +387,8 @@ AHCI_ERR_TFE, /* Task File Error. */ AHCI_ERR_SATA, /* SATA error. */ AHCI_ERR_TIMEOUT, /* Command execution timeout. */ + AHCI_ERR_NCQ, /* NCQ command error. CCB should be put on hold + * until READ LOG executed to reveal error. */ }; /* macros to hide busspace uglyness */ From owner-p4-projects@FreeBSD.ORG Mon Jun 15 06:27:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 592641065677; Mon, 15 Jun 2009 06:27:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 11A261065676 for ; Mon, 15 Jun 2009 06:27:28 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F37F38FC21 for ; Mon, 15 Jun 2009 06:27:27 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5F6RR6s072347 for ; Mon, 15 Jun 2009 06:27:27 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5F6RRA2072345 for perforce@freebsd.org; Mon, 15 Jun 2009 06:27:27 GMT (envelope-from mav@freebsd.org) Date: Mon, 15 Jun 2009 06:27:27 GMT Message-Id: <200906150627.n5F6RRA2072345@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164398 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 06:27:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=164398 Change 164398 by mav@mav_mavbook on 2009/06/15 06:27:23 Add CAM_ATA_STATUS_ERROR error. Affected files ... .. //depot/projects/scottl-camlock/src/sys/cam/cam.c#7 edit .. //depot/projects/scottl-camlock/src/sys/cam/cam.h#5 edit .. //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#28 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/cam/cam.c#7 (text+ko) ==== @@ -81,6 +81,7 @@ { CAM_UNREC_HBA_ERROR, "Unrecoverable Host Bus Adapter Error" }, { CAM_REQ_TOO_BIG, "The request was too large for this host" }, { CAM_REQUEUE_REQ, "Unconditionally Re-queue Request", }, + { CAM_ATA_STATUS_ERROR, "ATA Status Error" }, { CAM_IDE, "Initiator Detected Error Message Received" }, { CAM_RESRC_UNAVAIL, "Resource Unavailable" }, { CAM_UNACKED_EVENT, "Unacknowledged Event by Host" }, ==== //depot/projects/scottl-camlock/src/sys/cam/cam.h#5 (text+ko) ==== @@ -129,6 +129,7 @@ * requests for the target at the sim level * back into the XPT queue. */ + CAM_ATA_STATUS_ERROR, /* ATA error, look at error code in CCB */ CAM_SCSI_IT_NEXUS_LOST, /* Initiator/Target Nexus lost. */ CAM_IDE = 0x33, /* Initiator Detected Error */ CAM_RESRC_UNAVAIL, /* Resource Unavailable */ ==== //depot/projects/scottl-camlock/src/sys/cam/cam_periph.c#28 (text+ko) ==== @@ -1584,6 +1584,13 @@ xpt_print(ccb->ccb_h.path, "AutoSense Failed\n"); error = EIO; /* we have to kill the command */ break; + case CAM_ATA_STATUS_ERROR: + if (bootverbose && printed == 0) { + xpt_print(ccb->ccb_h.path, + "Request completed with CAM_ATA_STATUS_ERROR\n"); + printed++; + } + /* FALLTHROUGH */ case CAM_REQ_CMP_ERR: if (bootverbose && printed == 0) { xpt_print(ccb->ccb_h.path, From owner-p4-projects@FreeBSD.ORG Mon Jun 15 06:28:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7DC731065672; Mon, 15 Jun 2009 06:28:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D2BD106566C for ; Mon, 15 Jun 2009 06:28:29 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 29E278FC19 for ; Mon, 15 Jun 2009 06:28:29 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5F6STwM072408 for ; Mon, 15 Jun 2009 06:28:29 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5F6ST4X072406 for perforce@freebsd.org; Mon, 15 Jun 2009 06:28:29 GMT (envelope-from dforsyth@FreeBSD.org) Date: Mon, 15 Jun 2009 06:28:29 GMT Message-Id: <200906150628.n5F6ST4X072406@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164399 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 06:28:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=164399 Change 164399 by dforsyth@squirrel on 2009/06/15 06:27:51 Pulled pkgdb struct into a seperate header. Still combing through functions that need to be adjusted. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/Makefile#6 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#17 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#17 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#3 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.h#3 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#10 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.h#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_private.h#1 add .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#11 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/Makefile#6 (text+ko) ==== @@ -1,7 +1,7 @@ LIB= pkg INCS= pkg.h WARNS= 6 -SRCS= pkgdb.c pkg_plist.c pkg.c pkg_util.c pkg_file.c pkg_dep.c +SRCS= pkgdb.c pkg_plist.c pkg.c pkg_util.c pkg_file.c pkg_dep.c pkgdb_hierdb.c pkgdb_hierdb_pkgdb_sub.c NO_MAN= yes .include ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#17 (text+ko) ==== @@ -9,6 +9,7 @@ #include "pkg_file.h" #include "pkg_plist.h" #include "pkgdb_hierdb_pkgdb_sub.h" +#include "pkgdb_hierdb.h" #include "pkgdb.h" #include "pkg_private.h" #include "pkg.h" ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#17 (text+ko) ==== @@ -1,11 +1,13 @@ #ifndef __PKG_H__ #define __PKG_H__ -/* When I get more than one, I'll plop it into an enum type. */ #define HIER_DB 0 +#define FLAT_DB 1 /* O_o */ /* Here have some error codes. */ +/* These error codes are no good. Switch to contextual errors/macros. */ + #define OK 0x00000000 #define NOT_OK 0x00000001 #define MEMORY_ERR 0x00000002 @@ -31,7 +33,7 @@ /* pkg_file */ struct pkg_file; -#if 0 + struct pkg_file *pkg_file_new(void); const char *pkg_file_path(struct pkg_file *pf); @@ -49,7 +51,7 @@ int pkg_file_set_owner(struct pkg_file *pf, const char *owner); int pkg_file_set_group(struct pkg_file *pf, const char *group); -#endif + /* pkg */ /* Add mtree stuff later. */ @@ -118,8 +120,12 @@ int pkgdb_db_init(struct pkgdb *db); +char *pkgdb_db_root(struct pkgdb *db); + int pkgdb_db_close(struct pkgdb *db); +void pkgdb_db_delete(struct pkgdb *db); + int pkgdb_pkg_next(struct pkgdb *db, struct pkg *p); int pkgdb_pkg_get(struct pkgdb *db, struct pkg *p, const char *ident); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#3 (text+ko) ==== @@ -5,18 +5,11 @@ #include "pkg.h" struct pkg_file * -pkg_file_new(const char *path, const char *md5, const char *owner, - const char *group) +pkg_file_new() { struct pkg_file *pf; pf = calloc(1, sizeof(*pf)); - if (pf != NULL) { - pf->path = path; - pf->md5 = md5; - pf->owner = owner; - pf->group = group; - } return (pf); } @@ -60,7 +53,7 @@ return (pf->group); } -struct pkg_file * +int pkg_file_set_md5(struct pkg_file *pf, const char *md5) { if (pf == NULL) @@ -70,7 +63,7 @@ return (pf); } -struct pkg_file * +int pkg_file_set_path(struct pkg_file *pf, const char *path) { if (pf == NULL) @@ -80,7 +73,7 @@ return (pf); } -struct pkg_file * +int pkg_file_set_owner(struct pkg_file *pf, const char *owner) { if (pf == NULL) @@ -90,7 +83,7 @@ return (pf); } -struct pkg_file * +int pkg_file_set_group(struct pkg_file *pf, const char *group) { if (pf == NULL) ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.h#3 (text+ko) ==== @@ -14,6 +14,7 @@ TAILQ_ENTRY(pkg_file) next; }; +#if 0 struct pkg_file *pkg_file_new(const char *path, const char *md5, const char *owner, const char *group); @@ -23,7 +24,7 @@ const char *owner); struct pkg_file *pkg_file_set_group(struct pkg_file *pf, const char *group); - +#endif #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#10 (text+ko) ==== @@ -263,7 +263,11 @@ } #endif } else { - pf = pkg_file_new(line, NULL, st->owner, st->group); + pf = pkg_file_new(); + pkg_file_set_path(pf, line); + pkg_file_set_md5(pf, NULL); + pkg_file_set_owner(pf, st->owner); + pkg_file_set_group(pf, st->group); pkg_plist_pkg_file_list_append(pl, pf); st->last_elem = PLIST_FILE; } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#5 (text+ko) ==== @@ -1,3 +1,7 @@ +#include +#include +#include + #include #include #include @@ -5,6 +9,7 @@ #include "pkg_util.h" #include "pkg.h" #include "pkgdb.h" +#include "pkgdb_private.h" #include "pkgdb_hierdb.h" #include "pkgdb_hierdb_pkgdb_sub.h" @@ -20,14 +25,14 @@ if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); if (db_root == NULL) - arg_rage_quit(__func__, "Not a valid root directory for - database.", RAGE_AT_CLIENT); + arg_rage_quit(__func__, "Not a valid root directory for database.", + RAGE_AT_CLIENT); if (db->open) - return (DB_IS_OPEN); + return (DB_OPEN); - s = lstat(&sb); - if (s < 0 || !S_ISDIR(sb.st_mode) || S_ISLINK(sb.st_mode)) + s = lstat(db_root, &sb); + if (s < 0 || !S_ISDIR(sb.st_mode) || S_ISLNK(sb.st_mode)) return (DB_INVALID_ROOT); db->db_root = strdup(db_root); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.h#4 (text+ko) ==== @@ -1,6 +1,7 @@ #ifndef __PKGDB_SUB_H__ #define __PKGDB_SUB_H__ +#include #include "pkg.h" /* Keep this in here until (if) I ditch queues. */ ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#11 (text+ko) ==== @@ -58,7 +58,8 @@ } perform_on_db(db); - + + pkgdb_db_delete(db); return (EXIT_SUCCESS); } @@ -100,7 +101,7 @@ status = pkgdb_db_init(db); if (status) { fprintf(stderr, "Could not initialize database \"%s\"\n", - pkgdb_db_root(db_root)); + pkgdb_db_root(db)); exit(EXIT_FAILURE); } From owner-p4-projects@FreeBSD.ORG Mon Jun 15 07:05:06 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A023E106566C; Mon, 15 Jun 2009 07:05:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 593B41065670 for ; Mon, 15 Jun 2009 07:05:06 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 46EE08FC18 for ; Mon, 15 Jun 2009 07:05:06 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5F756NM093003 for ; Mon, 15 Jun 2009 07:05:06 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5F756Ch093001 for perforce@freebsd.org; Mon, 15 Jun 2009 07:05:06 GMT (envelope-from mav@freebsd.org) Date: Mon, 15 Jun 2009 07:05:06 GMT Message-Id: <200906150705.n5F756Ch093001@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164400 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 07:05:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=164400 Change 164400 by mav@mav_mavbook on 2009/06/15 07:04:52 Use CLO only with Soft Reset command. Using it in other cases opens race window in SATA protocol, causing false errors reports. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#32 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#32 (text+ko) ==== @@ -857,13 +857,13 @@ ahci_phy_check_events(dev); /* Process command errors */ if (istatus & (AHCI_P_IX_IF|AHCI_P_IX_HBD|AHCI_P_IX_HBF|AHCI_P_IX_TFE)) { -device_printf(dev, "%s ERROR is %08x cs %08x ss %08x rs %08x tfd %02x\n", - __func__, istatus, cstatus, sstatus, ch->rslots, ATA_INL(ch->r_mem, AHCI_P_TFD)); +device_printf(dev, "%s ERROR is %08x cs %08x ss %08x rs %08x tfd %02x serr %08x\n", + __func__, istatus, cstatus, sstatus, ch->rslots, ATA_INL(ch->r_mem, AHCI_P_TFD), + ATA_INL(ch->r_mem, AHCI_P_SERR)); ccs = (ATA_INL(ch->r_mem, AHCI_P_CMD) & AHCI_P_CMD_CCS_MASK) >> AHCI_P_CMD_CCS_SHIFT; /* Kick controller into sane state */ ahci_stop(dev); - ahci_clo(dev); ahci_start(dev); ok = ch->rslots & ~(cstatus | sstatus); err = ch->rslots & (cstatus | sstatus); @@ -1139,7 +1139,6 @@ if (et != AHCI_ERR_NONE) { /* Kick controller into sane state */ ahci_stop(ch->dev); - ahci_clo(ch->dev); ahci_start(ch->dev); xpt_freeze_simq(ch->sim, 1); } @@ -1164,7 +1163,6 @@ /* Kick controller into sane state. */ ahci_stop(ch->dev); - ahci_clo(ch->dev); ahci_start(ch->dev); if (!ch->readlog) From owner-p4-projects@FreeBSD.ORG Mon Jun 15 07:15:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 598FD1065670; Mon, 15 Jun 2009 07:15:20 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 19EF4106566B for ; Mon, 15 Jun 2009 07:15:20 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 07D918FC0C for ; Mon, 15 Jun 2009 07:15:20 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5F7FIAS096195 for ; Mon, 15 Jun 2009 07:15:18 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5F7FGjd096192 for perforce@freebsd.org; Mon, 15 Jun 2009 07:15:16 GMT (envelope-from mav@freebsd.org) Date: Mon, 15 Jun 2009 07:15:16 GMT Message-Id: <200906150715.n5F7FGjd096192@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164401 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 07:15:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=164401 Change 164401 by mav@mav_mavbook on 2009/06/15 07:15:06 Fix error status of the right command. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#33 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#33 (text+ko) ==== @@ -1379,8 +1379,8 @@ res->sector_count = data[12]; res->sector_count_exp = data[13]; } else { - ccb->ccb_h.status &= ~CAM_STATUS_MASK; - ccb->ccb_h.status |= CAM_REQUEUE_REQ; + ch->hold[i]->ccb_h.status &= ~CAM_STATUS_MASK; + ch->hold[i]->ccb_h.status |= CAM_REQUEUE_REQ; } xpt_done(ch->hold[i]); ch->hold[i] = NULL; From owner-p4-projects@FreeBSD.ORG Mon Jun 15 07:16:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 89C771065674; Mon, 15 Jun 2009 07:16:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47B391065676 for ; Mon, 15 Jun 2009 07:16:21 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 336D98FC1A for ; Mon, 15 Jun 2009 07:16:21 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5F7GL7c096282 for ; Mon, 15 Jun 2009 07:16:21 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5F7GLvD096280 for perforce@freebsd.org; Mon, 15 Jun 2009 07:16:21 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Mon, 15 Jun 2009 07:16:21 GMT Message-Id: <200906150716.n5F7GLvD096280@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 164402 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 07:16:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=164402 Change 164402 by zhaoshuai@zhaoshuai on 2009/06/15 07:16:16 add more PR testings Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#5 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/pr_116770.c#1 add .. //depot/projects/soc2009/fifo/fifo_test/functionality/pr_76525.c#2 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/pr_94772.c#1 add Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#5 (text+ko) ==== @@ -1,5 +1,6 @@ OBJS = rdwr reader1 reader2 writer1 bidirection1 bidirection2 select \ - poll pr_74242_speak pr_74242_tick pr_76144 + poll pr_74242_speak pr_74242_tick pr_76144 pr_94772 pr_116770 \ + pr_76525 all : $(OBJS) @@ -14,6 +15,9 @@ pr_74242_speak : pr_74242_speak.c pr_74242_tick : pr_74242_tick.c pr_76144 : pr_76144.c +pr_94772 : pr_94772.c +pr_116770 : pr_116770.c +pr_76525 : pr_76525.c clean : -rm $(OBJS) ==== //depot/projects/soc2009/fifo/fifo_test/functionality/pr_76525.c#2 (text+ko) ==== @@ -1,19 +1,23 @@ +/* Hi Danny, -Well, it only took me 8 hours, but I found the problem with the latest version of [Free]BSD. -I tracked down several false leads before I got on the right track -- it's only named FIFO's -that seem to exhibit this problem. I depend on them for the -P and -PP option of rtrace, which -is needed for memory sharing as I've set it up in Radiance. I don't think named FIFO's are used -very often, which might explain why this has gone undetected (or at least unfixed). +Well, it only took me 8 hours, but I found the problem with the latest version +of [Free]BSD. I tracked down several false leads before I got on the right +track -- it's only named FIFO's that seem to exhibit this problem. I depend +on them for the -P and -PP option of rtrace, which is needed for memory sharing +as I've set it up in Radiance. I don't think named FIFO's are used very often, +which might explain why this has gone undetected (or at least unfixed). -There are two test programs that demonstrate the problem. The first is called pipe.c, and on OS X, it produces the following (correct) output: +There are two test programs that demonstrate the problem. The first is called +pipe.c, and on OS X, it produces the following (correct) output: pipe available for read Read 4 bytes from pipe: 'TEST' pipe available for read Read 0 bytes from pipe: '' -Under FreeBSD 5.3, for some reason I get an exception condition on my pipe every time, which is strange but not fatal: +Under FreeBSD 5.3, for some reason I get an exception condition on my pipe every +time, which is strange but not fatal: Exception on pipe pipe available for read @@ -30,7 +34,8 @@ pipe available for read Read 0 bytes from pipe: '' -The real trouble begins with the second FIFO test in fifo.c. Under OS X, I get the correct output: +The real trouble begins with the second FIFO test in fifo.c. Under OS X, +I get the correct output: FIFO available for read Read 4 bytes from FIFO: 'TEST' @@ -50,24 +55,30 @@ Read 4 bytes from FIFO: 'TEST' (process hangs in second call to select) -Keep in mind that there should be no difference in the behavior between a named FIFO and a pipe -- the only difference is how they are mechanically connected by the two processes. Having the select() call hang when an EOF condition exists is not acceptable. +Keep in mind that there should be no difference in the behavior between a named +FIFO and a pipe -- the only difference is how they are mechanically connected by +the two processes. Having the select() call hang when an EOF condition exists is +not acceptable. I hope you can forward this to the appropriate FreeBSD gurus. Thanks, -Greg + How-To-Repeat: -source code for test programs described above: + source code for test programs described above: -... pipe.c: ... +*/ /* +* ... pipe.c: ... * Check pipe behavior * * Greg Ward * Compare also fifo.c */ +/* #include #include #include @@ -77,56 +88,53 @@ look(int fd) { -fd_set readfds, excepfds; + fd_set readfds, excepfds; -FD_ZERO(&readfds); -FD_ZERO(&excepfds); -FD_SET(fd, &readfds); -FD_SET(fd, &excepfds); -if (select(fd+1, &readfds, NULL, &excepfds, NULL) < 0) { -perror("select"); -exit(1); -} -if (FD_ISSET(fd, &excepfds)) -puts("Exception on pipe"); -if (FD_ISSET(fd, &readfds)) -puts("pipe available for read"); + FD_ZERO(&readfds); + FD_ZERO(&excepfds); + FD_SET(fd, &readfds); + FD_SET(fd, &excepfds); + if (select(fd+1, &readfds, NULL, &excepfds, NULL) < 0) { + perror("select"); + exit(1); + } + if (FD_ISSET(fd, &excepfds)) + puts("Exception on pipe"); + if (FD_ISSET(fd, &readfds)) + puts("pipe available for read"); } -void -spit(int fd) +void spit(int fd) { -char buf[512]; -int n = read(fd, buf, sizeof(buf)); -buf[n] = '\0'; -printf("Read %d bytes from pipe: '%s'\n", n, buf); + char buf[512]; + int n = read(fd, buf, sizeof(buf)); + buf[n] = '\0'; + printf("Read %d bytes from pipe: '%s'\n", n, buf); } main() { -int pp[2]; + int pp[2]; -pipe(pp); -if (fork() == 0) { -close(pp[0]); -write(pp[1], "TEST", 4); -close(pp[1]); -_exit(0); + pipe(pp); + if (fork() == 0) { + close(pp[0]); + write(pp[1], "TEST", 4); + close(pp[1]); + _exit(0); + } + close(pp[1]); + look(pp[0]); + spit(pp[0]); + look(pp[0]); + spit(pp[0]); + return(0); } -close(pp[1]); -look(pp[0]); -spit(pp[0]); -look(pp[0]); -spit(pp[0]); -return(0); -} - - -..fifo.c:... +*/ - /* +* ... fifo.c ... * Reproduce bug in FreeBSD 5.3-STABLE * * Greg Ward @@ -145,55 +153,60 @@ void look(int fd) { -fd_set readfds, excepfds; + fd_set readfds, excepfds; -FD_ZERO(&readfds); -FD_ZERO(&excepfds); -FD_SET(fd, &readfds); -FD_SET(fd, &excepfds); -if (select(fd+1, &readfds, NULL, &excepfds, NULL) < 0) { -perror("select"); -exit(1); + FD_ZERO(&readfds); + FD_ZERO(&excepfds); + FD_SET(fd, &readfds); + FD_SET(fd, &excepfds); + if (select(fd+1, &readfds, NULL, &excepfds, NULL) < 0) { + perror("select"); + exit(1); + } + if (FD_ISSET(fd, &excepfds)) + puts("Exception on FIFO"); + if (FD_ISSET(fd, &readfds)) + puts("FIFO available for read"); } -if (FD_ISSET(fd, &excepfds)) -puts("Exception on FIFO"); -if (FD_ISSET(fd, &readfds)) -puts("FIFO available for read"); -} void spit(int fd) { -char buf[512]; -int n = read(fd, buf, sizeof(buf)); -buf[n] = '\0'; -printf("Read %d bytes from FIFO: '%s'\n", n, buf); + char buf[512]; + int n = read(fd, buf, sizeof(buf)); + buf[n] = '\0'; + printf("Read %d bytes from FIFO: '%s'\n", n, buf); } main() { -int fifo_fd; + int fifo_fd; -unlink(FIFO); -mkfifo(FIFO, 0666); -if (fork() == 0) { -fifo_fd = open(FIFO, O_WRONLY); -write(fifo_fd, "TEST", 4); -close(fifo_fd); -_exit(0); -} -fifo_fd = open(FIFO, O_RDONLY); -look(fifo_fd); -spit(fifo_fd); -look(fifo_fd); -spit(fifo_fd); -return(0); + unlink(FIFO); + mkfifo(FIFO, 0666); + if (fork() == 0) { + fifo_fd = open(FIFO, O_WRONLY); + write(fifo_fd, "TEST", 4); + close(fifo_fd); + _exit(0); + } + fifo_fd = open(FIFO, O_RDONLY); + look(fifo_fd); + spit(fifo_fd); + look(fifo_fd); + spit(fifo_fd); + return(0); } +/* ..END... - -> Well, it only took me 8 hours, but I found the problem with the latest version of [Free]BSD. I tracked down several false leads before I got on the right track -- it's only named FIFO's that seem to exhibit this problem. I depend on them for the -P and -PP option of rtrace, which is needed for memory sharing as I've set it up in Radiance. I don't think named FIFO's are used very often, which might explain why this has gone undetected (or at least unfixed). +> Well, it only took me 8 hours, but I found the problem with the latest version +>of [Free]BSD. I tracked down several false leads before I got on the right track +>-- it's only named FIFO's that seem to exhibit this problem. I depend on them for +>the -P and -PP option of rtrace, which is needed for memory sharing as I've set +>it up in Radiance. I don't think named FIFO's are used very often, which might +>explain why this has gone undetected (or at least unfixed). Please limit line lengths to considerably less than 463 characters. @@ -248,7 +261,8 @@ (7) 3 years later, some PRs about (6) were filed. FIFOs are apparently still not often used. -> There are two test programs that demonstrate the problem. The first is called pipe.c, and on OS X, it produces the following (correct) output: +> There are two test programs that demonstrate the problem. The first is called +> pipe.c, and on OS X, it produces the following (correct) output: > > pipe available for read > Read 4 bytes from pipe: 'TEST' @@ -261,7 +275,8 @@ initially and writers don't come back after they are closed, so things are simpler. -> Under FreeBSD 5.3, for some reason I get an exception condition on my pipe every time, which is strange but not fatal: +> Under FreeBSD 5.3, for some reason I get an exception condition on my pipe +> every time, which is strange but not fatal: > > Exception on pipe > pipe available for read @@ -320,7 +335,10 @@ This is because not just POLLHUP for hangup is broken; not blocking for hangup is broken too. -> Keep in mind that there should be no difference in the behavior between a named FIFO and a pipe -- the only difference is how they are mechanically connected by the two processes. Having the select() call hang when an EOF condition exists is not acceptable. +> Keep in mind that there should be no difference in the behavior between a named +> FIFO and a pipe -- the only difference is how they are mechanically connected +> by the two processes. Having the select() call hang when an EOF condition exists +> is not acceptable. I agree for select(), but this is nonstandard for the EOF that occurs when there is no writer && no data && no hangup, and for poll() the @@ -396,58 +414,29 @@ the fixes of 1.40 were restored but select() on fifo was made to block waiting for a writer to appear. Also, a new event bitmask, POLLINIGNEOF for poll() has been - implemented. If the users want non-blocking behavior when there is no writer, they can call poll() instead, setting the event bitmask POLLINIGNEOF. To illustrate, we have implemented this change in the bug author's test program. We also believe that the current 5.x behavior is consistent - with the POSIX.1 standard as well as the overall intent of select(), but we are aware that this interpretation is not universally shared. -If the current behavior of select() on fifo, + +If the current behavior of select() on fifo,is not desirable, +the following patch can be applied to filo_poll() in fifo_vnops.c, +which reverses the select() behavior for fifo by reverting it to +non-blocking. Users need to set the event bitmask POLLINIGNEOF to +get blocking behavior. -is not desirable, the following patch can be applied to -filo_poll() in fifo_vnops.c, which reverses the select() -behavior for fifo by reverting it to non-blocking.Users -need to set the event bitmask POLLINIGNEOF to get blocking -behavior. While offering the change, we would like to reiterate - that we believe the change is inappropriate (inconsistent with POSIX.1) and should not be captured into CVS. ---- fifo_vnops_orig.c Wed Mar 16 16:13:24 2005 - -+++ fifo_vnops.c Wed Mar 16 16:25:12 2005 -@@ -531,7 +531,7 @@ - * set POLLINIGNEOF to get non-blocking behavior. - */ - if (events & (POLLIN | POLLRDNORM) && -- !(events & POLLINIGNEOF)) { -+ (events & POLLINIGNEOF)) { - events &= ~(POLLIN | POLLRDNORM); - events |= POLLINIGNEOF; - } -@@ -544,7 +544,7 @@ - /* Reverse the above conversion. */ - if ((revents & POLLINIGNEOF) && -- !(ap->a_events & POLLINIGNEOF)) { -+ (ap->a_events & POLLINIGNEOF)) { - revents |= (ap->a_events & (POLLIN | POLLRDNORM)); - revents &= ~POLLINIGNEOF; - } - - - - Shikha Shrivastava, engineer - - Dorr H. Clark, advisor COEN 284 - Operating Systems Case Study Santa Clara University, Santa Clara CA. - +*/ From owner-p4-projects@FreeBSD.ORG Mon Jun 15 07:33:40 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2B56B1065673; Mon, 15 Jun 2009 07:33:40 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DEC601065672 for ; Mon, 15 Jun 2009 07:33:39 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CAD668FC14 for ; Mon, 15 Jun 2009 07:33:39 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5F7XdHX004448 for ; Mon, 15 Jun 2009 07:33:39 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5F7Xcp7004446 for perforce@freebsd.org; Mon, 15 Jun 2009 07:33:38 GMT (envelope-from zec@fer.hr) Date: Mon, 15 Jun 2009 07:33:38 GMT Message-Id: <200906150733.n5F7Xcp7004446@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164403 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 07:33:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=164403 Change 164403 by zec@zec_amdx4 on 2009/06/15 07:32:50 IFC @ 164395 Affected files ... .. //depot/projects/vimage-commit2/src/sys/amd64/amd64/pmap.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC#17 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/common.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/discovery/db78xxx.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/discovery/discovery.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/kirkwood/db88f6xxx.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/kirkwood/kirkwood.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/mvreg.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/mvwin.h#1 branch .. //depot/projects/vimage-commit2/src/sys/arm/mv/orion/db88f5xxx.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/mv/orion/orion.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_ata.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/cam/cam.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/compat/opensolaris/kern/opensolaris.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_futex.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_misc.c#21 integrate .. //depot/projects/vimage-commit2/src/sys/compat/ndis/subr_usbd.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/compat/svr4/svr4_stat.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/conf/NOTES#30 integrate .. //depot/projects/vimage-commit2/src/sys/conf/files#43 integrate .. //depot/projects/vimage-commit2/src/sys/conf/options#33 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-usb.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ath/ath_hal/ah_desc.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ath/ath_rate/sample/sample.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ath/if_ath.c#18 integrate .. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_main.c#18 integrate .. //depot/projects/vimage-commit2/src/sys/dev/firewire/firewire.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis_usb.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mii/miidevs#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/mii/nsgphy.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ofw/ofw_bus_subr.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ofw/ofw_bus_subr.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ofw/ofw_disk.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ofw/ofw_if.m#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ofw/ofw_iicbus.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ofw/ofw_standard.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ofw/ofwvar.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ofw/openfirm.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ofw/openfirm.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/ofw/openfirmio.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sec/sec.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sound/pci/hda/hdac.c#16 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sound/pcm/feeder_rate.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sound/usb/uaudio.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/sound/version.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/syscons/daemon/daemon_saver.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/syscons/scterm-teken.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/tsec/if_tsec.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/tsec/if_tsec.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/uart/uart_cpu_mv.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/at91dci.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/at91dci_atmelarm.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/atmegadci.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/atmegadci_atmelarm.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/avr32dci.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci_ixp4xx.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci_mbus.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci_pci.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/musb_otg.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/musb_otg_atmelarm.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ohci.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ohci_atmelarm.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ohci_pci.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uhci.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uhci_pci.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/usb_controller.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uss820dci.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uss820dci_atmelarm.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/input/uhid.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/input/ukbd.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/input/ums.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/misc/udbp.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/misc/ufm.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_aue.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_auereg.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_axe.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_axereg.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_cdce.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_cue.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_kue.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_rue.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_ruereg.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_udav.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/if_udavreg.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/usb_ethernet.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/net/usb_ethernet.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/quirk/usb_quirk.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/quirk/usb_quirk.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/u3g.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uark.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ubsa.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ubser.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uchcom.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ucycom.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ufoma.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uftdi.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ugensa.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uipaq.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/ulpt.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/umct.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/umodem.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/umoscom.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uplcom.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/usb_serial.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/usb_serial.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uslcom.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uvisor.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uvscom.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/storage/umass.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/storage/urio.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/storage/ustorage_fs.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template_cdce.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template_msc.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template_mtp.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_bus.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_busdma.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_busdma.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_compat_linux.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_compat_linux.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_controller.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_core.h#13 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_debug.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_debug.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_defs.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dev.c#10 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dev.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_device.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_device.h#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dynamic.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dynamic.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_endian.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_error.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_error.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_generic.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_generic.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_handle_request.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_handle_request.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_hid.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_hid.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_hub.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_hub.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_if.m#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_ioctl.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_lookup.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_lookup.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_mbuf.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_mbuf.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_mfunc.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_msctest.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_msctest.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_parse.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_parse.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_pci.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_process.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_process.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_request.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_request.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_revision.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_transfer.c#11 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_transfer.h#7 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_util.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_util.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usbdevs#26 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/usbhid.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_rum.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_uath.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_upgt.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_ural.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_urtw.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/dev/usb/wlan/if_zyd.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/dev/xen/blkfront/blkfront.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/dev/xen/netfront/netfront.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/fs/cd9660/cd9660_lookup.c#3 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clstate.c#5 integrate .. //depot/projects/vimage-commit2/src/sys/fs/nfsclient/nfs_clvfsops.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/fs/tmpfs/tmpfs_vnops.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/geom/label/g_label.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/geom/label/g_label.h#3 integrate .. //depot/projects/vimage-commit2/src/sys/geom/label/g_label_gpt.c#1 branch .. //depot/projects/vimage-commit2/src/sys/i386/conf/GENERIC#17 integrate .. //depot/projects/vimage-commit2/src/sys/i386/i386/pmap.c#13 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/cpufunc.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/in_cksum.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/i386/include/pmap.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_jail.c#26 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_mib.c#18 integrate .. //depot/projects/vimage-commit2/src/sys/kern/kern_shutdown.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/kern/tty.c#26 integrate .. //depot/projects/vimage-commit2/src/sys/kern/vfs_syscalls.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/kgssapi/krb5/krb5_mech.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/mips/conf/ADM5120#5 integrate .. //depot/projects/vimage-commit2/src/sys/mips/idt/files.idt#2 integrate .. //depot/projects/vimage-commit2/src/sys/mips/malta/gt_pci.c#6 integrate .. //depot/projects/vimage-commit2/src/sys/mips/mips/mainbus.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/modules/if_ppp/Makefile#3 delete .. //depot/projects/vimage-commit2/src/sys/modules/if_sl/Makefile#2 delete .. //depot/projects/vimage-commit2/src/sys/modules/sound/sound/Makefile#6 integrate .. //depot/projects/vimage-commit2/src/sys/net/flowtable.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/net/netisr.c#7 integrate .. //depot/projects/vimage-commit2/src/sys/net/netisr.h#6 integrate .. //depot/projects/vimage-commit2/src/sys/net/pfkeyv2.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ioctl.h#8 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/netgraph/ng_eiface.c#27 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/in_proto.c#15 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_input.c#43 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/ip_output.c#31 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/udp.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/udp_usrreq.c#43 integrate .. //depot/projects/vimage-commit2/src/sys/netinet/udp_var.h#9 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/icmp6.c#30 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/in6_ifattach.c#30 integrate .. //depot/projects/vimage-commit2/src/sys/netinet6/mld6.c#24 integrate .. //depot/projects/vimage-commit2/src/sys/netipsec/ipsec_input.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/netipsec/ipsec_output.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/netipsec/key.c#33 integrate .. //depot/projects/vimage-commit2/src/sys/netipsec/key.h#5 integrate .. //depot/projects/vimage-commit2/src/sys/netipsec/keydb.h#2 integrate .. //depot/projects/vimage-commit2/src/sys/nfsclient/bootp_subr.c#14 integrate .. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vfsops.c#20 integrate .. //depot/projects/vimage-commit2/src/sys/nfsserver/nfs_srvkrpc.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/nlm/nlm_advlock.c#9 integrate .. //depot/projects/vimage-commit2/src/sys/powerpc/booke/pmap.c#12 integrate .. //depot/projects/vimage-commit2/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/sys/jail.h#12 integrate .. //depot/projects/vimage-commit2/src/sys/sys/kobj.h#4 integrate .. //depot/projects/vimage-commit2/src/sys/sys/mbuf.h#11 integrate .. //depot/projects/vimage-commit2/src/sys/sys/param.h#44 integrate .. //depot/projects/vimage-commit2/src/sys/tools/sound/feeder_rate_mkfilter.awk#2 integrate .. //depot/projects/vimage-commit2/src/sys/vm/phys_pager.c#2 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_contig.c#4 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_object.c#8 integrate .. //depot/projects/vimage-commit2/src/sys/vm/vm_object.h#3 integrate Differences ... ==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/pmap.c#16 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.660 2009/06/08 18:23:43 ed Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.661 2009/06/14 19:51:43 alc Exp $"); /* * Manages physical address maps. @@ -3322,78 +3322,74 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) { - vm_offset_t va; + pd_entry_t *pde; + vm_paddr_t pa, ptepa; vm_page_t p, pdpg; VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); KASSERT(object->type == OBJT_DEVICE, ("pmap_object_init_pt: non-device object")); - if (((addr & (NBPDR - 1)) == 0) && ((size & (NBPDR - 1)) == 0)) { - vm_page_t m[1]; - pd_entry_t ptepa, *pde; - - PMAP_LOCK(pmap); - pde = pmap_pde(pmap, addr); - if (pde != 0 && (*pde & PG_V) != 0) - goto out; - PMAP_UNLOCK(pmap); -retry: + if ((addr & (NBPDR - 1)) == 0 && (size & (NBPDR - 1)) == 0) { + if (!vm_object_populate(object, pindex, pindex + atop(size))) + return; p = vm_page_lookup(object, pindex); - if (p != NULL) { - if (vm_page_sleep_if_busy(p, FALSE, "init4p")) - goto retry; - } else { - p = vm_page_alloc(object, pindex, VM_ALLOC_NORMAL); - if (p == NULL) - return; - m[0] = p; + KASSERT(p->valid == VM_PAGE_BITS_ALL, + ("pmap_object_init_pt: invalid page %p", p)); - if (vm_pager_get_pages(object, m, 1, 0) != VM_PAGER_OK) { - vm_page_lock_queues(); - vm_page_free(p); - vm_page_unlock_queues(); - return; - } - - p = vm_page_lookup(object, pindex); - vm_page_wakeup(p); - } - + /* + * Abort the mapping if the first page is not physically + * aligned to a 2MB page boundary. + */ ptepa = VM_PAGE_TO_PHYS(p); if (ptepa & (NBPDR - 1)) return; - p->valid = VM_PAGE_BITS_ALL; + /* + * Skip the first page. Abort the mapping if the rest of + * the pages are not physically contiguous. + */ + p = TAILQ_NEXT(p, listq); + for (pa = ptepa + PAGE_SIZE; pa < ptepa + size; + pa += PAGE_SIZE) { + KASSERT(p->valid == VM_PAGE_BITS_ALL, + ("pmap_object_init_pt: invalid page %p", p)); + if (pa != VM_PAGE_TO_PHYS(p)) + return; + p = TAILQ_NEXT(p, listq); + } + /* Map using 2MB pages. */ PMAP_LOCK(pmap); - for (va = addr; va < addr + size; va += NBPDR) { - while ((pdpg = - pmap_allocpde(pmap, va, M_NOWAIT)) == NULL) { - PMAP_UNLOCK(pmap); - vm_page_busy(p); - VM_OBJECT_UNLOCK(object); - VM_WAIT; - VM_OBJECT_LOCK(object); - vm_page_wakeup(p); - PMAP_LOCK(pmap); + for (pa = ptepa; pa < ptepa + size; pa += NBPDR) { + pdpg = pmap_allocpde(pmap, addr, M_NOWAIT); + if (pdpg == NULL) { + /* + * The creation of mappings below is only an + * optimization. If a page directory page + * cannot be allocated without blocking, + * continue on to the next mapping rather than + * blocking. + */ + addr += NBPDR; + continue; } pde = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg)); - pde = &pde[pmap_pde_index(va)]; + pde = &pde[pmap_pde_index(addr)]; if ((*pde & PG_V) == 0) { - pde_store(pde, ptepa | PG_PS | PG_M | PG_A | + pde_store(pde, pa | PG_PS | PG_M | PG_A | PG_U | PG_RW | PG_V); - pmap->pm_stats.resident_count += - NBPDR / PAGE_SIZE; + pmap->pm_stats.resident_count += NBPDR / + PAGE_SIZE; + pmap_pde_mappings++; } else { + /* Continue on if the PDE is already valid. */ pdpg->wire_count--; KASSERT(pdpg->wire_count > 0, ("pmap_object_init_pt: missing reference " - "to page directory page, va: 0x%lx", va)); + "to page directory page, va: 0x%lx", addr)); } - ptepa += NBPDR; + addr += NBPDR; } - pmap_invalidate_all(pmap); -out: PMAP_UNLOCK(pmap); } } ==== //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC#17 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.528 2009/06/10 02:07:58 yongari Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.529 2009/06/14 18:01:35 ed Exp $ cpu HAMMER ident GENERIC @@ -66,6 +66,7 @@ options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev options STOP_NMI # Stop CPUS using NMI instead of IPI options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) ==== //depot/projects/vimage-commit2/src/sys/arm/mv/common.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/common.c,v 1.6 2009/04/16 11:20:18 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/common.c,v 1.7 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -39,6 +39,7 @@ #include #include +#include static int win_eth_can_remap(int i); ==== //depot/projects/vimage-commit2/src/sys/arm/mv/discovery/db78xxx.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/db78xxx.c,v 1.3 2009/01/08 18:31:43 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/db78xxx.c,v 1.4 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -47,6 +47,7 @@ #include #include +#include /* * Virtual address space layout: ==== //depot/projects/vimage-commit2/src/sys/arm/mv/discovery/discovery.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/discovery.c,v 1.4 2009/01/08 18:31:43 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/discovery.c,v 1.5 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -40,6 +40,7 @@ #include #include +#include #define _MV_PCIE_MAX_PORT 8 ==== //depot/projects/vimage-commit2/src/sys/arm/mv/kirkwood/db88f6xxx.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/db88f6xxx.c,v 1.3 2009/01/08 18:31:43 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/db88f6xxx.c,v 1.4 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -47,6 +47,7 @@ #include #include +#include /* * Virtual address space layout: ==== //depot/projects/vimage-commit2/src/sys/arm/mv/kirkwood/kirkwood.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/kirkwood.c,v 1.4 2009/01/08 18:31:43 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/kirkwood.c,v 1.5 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -40,6 +40,7 @@ #include #include +#include struct obio_device obio_devices[] = { { "ic", MV_IC_BASE, MV_IC_SIZE, ==== //depot/projects/vimage-commit2/src/sys/arm/mv/mvreg.h#5 (text+ko) ==== @@ -28,126 +28,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/mv/mvreg.h,v 1.5 2009/04/16 11:20:18 raj Exp $ + * $FreeBSD: src/sys/arm/mv/mvreg.h,v 1.6 2009/06/12 20:00:38 marcel Exp $ */ #ifndef _MVREG_H_ #define _MVREG_H_ -#include - -/* - * Physical addresses of integrated SoC peripherals - */ -#define MV_PHYS_BASE 0xF1000000 -#define MV_SIZE 0x100000 - -/* - * Decode windows addresses (physical) - */ -#define MV_PCIE_IO_PHYS_BASE (MV_PHYS_BASE + MV_SIZE) -#define MV_PCIE_IO_BASE MV_PCIE_IO_PHYS_BASE -#define MV_PCIE_IO_SIZE (1024 * 1024) -#define MV_PCI_IO_PHYS_BASE (MV_PCIE_IO_PHYS_BASE + MV_PCIE_IO_SIZE) -#define MV_PCI_IO_BASE MV_PCI_IO_PHYS_BASE -#define MV_PCI_IO_SIZE (1024 * 1024) - -#define MV_PCIE_MEM_PHYS_BASE (MV_PCI_IO_PHYS_BASE + MV_PCI_IO_SIZE) -#define MV_PCIE_MEM_BASE MV_PCIE_MEM_PHYS_BASE -#define MV_PCIE_MEM_SIZE (64 * 1024 * 1024) -#define MV_PCI_MEM_PHYS_BASE (MV_PCIE_MEM_PHYS_BASE + MV_PCIE_MEM_SIZE) -#define MV_PCI_MEM_BASE MV_PCI_MEM_PHYS_BASE -#define MV_PCI_MEM_SIZE (64 * 1024 * 1024) - -/* XXX DEV_BOOT, CSx are board specific, should be defined per platform */ - -/* 512KB NOR FLASH */ -#define MV_DEV_BOOT_PHYS_BASE (MV_PCI_MEM_PHYS_BASE + MV_PCI_MEM_SIZE) -#define MV_DEV_BOOT_SIZE (512 * 1024) -/* CS0: 7-seg LED */ -#define MV_DEV_CS0_PHYS_BASE 0xFA000000 -#define MV_DEV_CS0_SIZE (1024 * 1024) /* XXX u-boot has 2MB */ -/* CS1: 32MB NOR FLASH */ -#define MV_DEV_CS1_PHYS_BASE (MV_DEV_CS0_PHYS_BASE + MV_DEV_CS0_SIZE) -#define MV_DEV_CS1_SIZE (32 * 1024 * 1024) -/* CS2: 32MB NAND FLASH */ -#define MV_DEV_CS2_PHYS_BASE (MV_DEV_CS1_PHYS_BASE + MV_DEV_CS1_SIZE) -#define MV_DEV_CS2_SIZE 1024 /* XXX u-boot has 1MB */ - -#define MV_CESA_SRAM_PHYS_BASE 0xFD000000 -#define MV_CESA_SRAM_BASE MV_CESA_SRAM_PHYS_BASE /* VA == PA mapping */ -#define MV_CESA_SRAM_SIZE (1024 * 1024) - -/* XXX this is probably not robust against wraparounds... */ -#if ((MV_CESA_SRAM_PHYS_BASE + MV_CESA_SRAM_SIZE) > 0xFFFEFFFF) -#error Devices memory layout overlaps reset vectors range! -#endif - -/* - * Integrated SoC peripherals addresses - */ -#define MV_BASE MV_PHYS_BASE /* VA == PA mapping */ -#define MV_DDR_CADR_BASE (MV_BASE + 0x1500) -#define MV_MPP_BASE (MV_BASE + 0x10000) -#define MV_GPIO_BASE (MV_BASE + 0x10100) -#define MV_GPIO_SIZE 0x20 -#define MV_RTC_BASE (MV_BASE + 0x10300) -#define MV_RTC_SIZE 0x08 -#define MV_TWSI_BASE (MV_BASE + 0x11000) -#define MV_TWSI_SIZE 0x20 -#define MV_UART0_BASE (MV_BASE + 0x12000) -#define MV_UART1_BASE (MV_BASE + 0x12100) -#define MV_UART_SIZE 0x20 -#define MV_MBUS_BRIDGE_BASE (MV_BASE + 0x20000) -#define MV_INTREGS_BASE (MV_MBUS_BRIDGE_BASE + 0x80) -#define MV_CPU_CONTROL_BASE (MV_MBUS_BRIDGE_BASE + 0x100) -#define MV_IC_BASE (MV_MBUS_BRIDGE_BASE + 0x200) -#define MV_IC_SIZE 0x3C -#define MV_TIMERS_BASE (MV_MBUS_BRIDGE_BASE + 0x300) -#define MV_TIMERS_SIZE 0x30 -#define MV_PCI_BASE (MV_BASE + 0x30000) -#define MV_PCI_SIZE 0x2000 -#if defined (SOC_MV_KIRKWOOD) -#define MV_CESA_BASE (MV_BASE + 0x30000) /* CESA,PCI don't coexist */ -#elif defined (SOC_MV_ORION) || defined(SOC_MV_DISCOVERY) -#define MV_CESA_BASE (MV_BASE + 0x90000) -#endif -#define MV_CESA_SIZE 0x10000 -#define MV_PCIE_BASE (MV_BASE + 0x40000) -#define MV_PCIE_SIZE 0x2000 - -#define MV_PCIE00_BASE (MV_PCIE_BASE + 0x00000) -#define MV_PCIE01_BASE (MV_PCIE_BASE + 0x04000) -#define MV_PCIE02_BASE (MV_PCIE_BASE + 0x08000) -#define MV_PCIE03_BASE (MV_PCIE_BASE + 0x0C000) -#define MV_PCIE10_BASE (MV_PCIE_BASE + 0x40000) -#define MV_PCIE11_BASE (MV_PCIE_BASE + 0x44000) -#define MV_PCIE12_BASE (MV_PCIE_BASE + 0x48000) -#define MV_PCIE13_BASE (MV_PCIE_BASE + 0x4C000) - -#define MV_USB0_BASE (MV_BASE + 0x50000) -#define MV_USB1_BASE (MV_USB0_BASE + 0x1000) -#define MV_USB2_BASE (MV_USB0_BASE + 0x2000) -#define MV_USB_SIZE 0x1000 -#define MV_USB_HOST_OFST 0x0100 /* EHCI HC regs start at this offset within USB range */ -#define MV_USB_AWR_BASE (MV_USB0_BASE + 0x320) -#define MV_IDMA_BASE (MV_BASE + 0x60000) -#define MV_IDMA_SIZE 0x1000 -#define MV_XOR_BASE (MV_BASE + 0x60000) -#define MV_XOR_SIZE 0x1000 -#define MV_ETH0_BASE (MV_BASE + 0x72000) -#define MV_ETH1_BASE (MV_BASE + 0x76000) -#define MV_ETH_SIZE 0x2000 -#if defined(SOC_MV_ORION) || defined(SOC_MV_KIRKWOOD) -#define MV_SATAHC_BASE (MV_BASE + 0x80000) -#define MV_SATAHC_SIZE 0x6000 -#elif defined(SOC_MV_DISCOVERY) -#define MV_SATAHC_BASE (MV_BASE + 0xA0000) -#define MV_SATAHC_SIZE 0x6000 -#endif - -#define MV_DEV_CS0_BASE MV_DEV_CS0_PHYS_BASE - /* * Interrupt sources */ @@ -478,135 +364,4 @@ #define MV_DEV_MV78100_Z0 0x6381 #define MV_DEV_MV78100 0x7810 -/* - * Decode windows definitions and macros - */ -#define MV_WIN_CPU_CTRL(n) (0x10 * (n) + (((n) < 8) ? 0x000 : 0x880)) -#define MV_WIN_CPU_BASE(n) (0x10 * (n) + (((n) < 8) ? 0x004 : 0x884)) -#define MV_WIN_CPU_REMAP_LO(n) (0x10 * (n) + (((n) < 8) ? 0x008 : 0x888)) -#define MV_WIN_CPU_REMAP_HI(n) (0x10 * (n) + (((n) < 8) ? 0x00C : 0x88C)) -#if defined(SOC_MV_DISCOVERY) -#define MV_WIN_CPU_MAX 14 -#else -#define MV_WIN_CPU_MAX 8 -#endif - -#define MV_WIN_DDR_BASE(n) (0x8 * (n) + 0x0) -#define MV_WIN_DDR_SIZE(n) (0x8 * (n) + 0x4) -#define MV_WIN_DDR_MAX 4 - -#define MV_WIN_CESA_CTRL(n) (0x8 * (n) + 0xa04) -#define MV_WIN_CESA_BASE(n) (0x8 * (n) + 0xa00) -#define MV_WIN_CESA_MAX 4 - -#define MV_WIN_USB_CTRL(n, m) (0x10 * (n) + (m) * 0x1000 + 0x0) -#define MV_WIN_USB_BASE(n, m) (0x10 * (n) + (m) * 0x1000 + 0x4) -#define MV_WIN_USB_MAX 4 - -#define MV_WIN_ETH_BASE(n) (0x8 * (n) + 0x200) -#define MV_WIN_ETH_SIZE(n) (0x8 * (n) + 0x204) -#define MV_WIN_ETH_REMAP(n) (0x4 * (n) + 0x280) -#define MV_WIN_ETH_MAX 6 - -#define MV_WIN_IDMA_BASE(n) (0x8 * (n) + 0xa00) -#define MV_WIN_IDMA_SIZE(n) (0x8 * (n) + 0xa04) -#define MV_WIN_IDMA_REMAP(n) (0x4 * (n) + 0xa60) -#define MV_WIN_IDMA_CAP(n) (0x4 * (n) + 0xa70) -#define MV_WIN_IDMA_MAX 8 -#define MV_IDMA_CHAN_MAX 4 - -#define MV_WIN_XOR_BASE(n, m) (0x4 * (n) + 0xa50 + (m) * 0x100) -#define MV_WIN_XOR_SIZE(n, m) (0x4 * (n) + 0xa70 + (m) * 0x100) -#define MV_WIN_XOR_REMAP(n, m) (0x4 * (n) + 0xa90 + (m) * 0x100) -#define MV_WIN_XOR_CTRL(n, m) (0x4 * (n) + 0xa40 + (m) * 0x100) -#define MV_WIN_XOR_OVERR(n, m) (0x4 * (n) + 0xaa0 + (m) * 0x100) -#define MV_WIN_XOR_MAX 8 -#define MV_XOR_CHAN_MAX 2 -#define MV_XOR_NON_REMAP 4 - -#define MV_WIN_PCIE_CTRL(n) (0x10 * (((n) < 5) ? (n) : \ - (n) + 1) + 0x1820) -#define MV_WIN_PCIE_BASE(n) (0x10 * (((n) < 5) ? (n) : \ - (n) + 1) + 0x1824) -#define MV_WIN_PCIE_REMAP(n) (0x10 * (((n) < 5) ? (n) : \ - (n) + 1) + 0x182C) -#define MV_WIN_PCIE_MAX 6 - -#define MV_PCIE_BAR(n) (0x04 * (n) + 0x1804) -#define MV_PCIE_BAR_MAX 3 - -#define MV_WIN_SATA_CTRL(n) (0x10 * (n) + 0x30) -#define MV_WIN_SATA_BASE(n) (0x10 * (n) + 0x34) -#define MV_WIN_SATA_MAX 4 - -#define WIN_REG_IDX_RD(pre,reg,off,base) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(int i) \ - { \ - return (bus_space_read_4(obio_tag, base, off(i))); \ - } - -#define WIN_REG_IDX_RD2(pre,reg,off,base) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(int i, int j) \ - { \ - return (bus_space_read_4(obio_tag, base, off(i, j))); \ - } \ - -#define WIN_REG_BASE_IDX_RD(pre,reg,off) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(uint32_t base, int i) \ - { \ - return (bus_space_read_4(obio_tag, base, off(i))); \ - } - -#define WIN_REG_IDX_WR(pre,reg,off,base) \ - static __inline void \ - pre ## _ ## reg ## _write(int i, uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off(i), val); \ - } - -#define WIN_REG_IDX_WR2(pre,reg,off,base) \ - static __inline void \ - pre ## _ ## reg ## _write(int i, int j, uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off(i, j), val); \ - } - -#define WIN_REG_BASE_IDX_WR(pre,reg,off) \ - static __inline void \ - pre ## _ ## reg ## _write(uint32_t base, int i, uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off(i), val); \ - } - -#define WIN_REG_RD(pre,reg,off,base) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(void) \ - { \ - return (bus_space_read_4(obio_tag, base, off)); \ - } - -#define WIN_REG_BASE_RD(pre,reg,off) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(uint32_t base) \ - { \ - return (bus_space_read_4(obio_tag, base, off)); \ - } - -#define WIN_REG_WR(pre,reg,off,base) \ - static __inline void \ - pre ## _ ## reg ## _write(uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off, val); \ - } - -#define WIN_REG_BASE_WR(pre,reg,off) \ - static __inline void \ - pre ## _ ## reg ## _write(uint32_t base, uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off, val); \ - } - #endif /* _MVREG_H_ */ ==== //depot/projects/vimage-commit2/src/sys/arm/mv/orion/db88f5xxx.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/orion/db88f5xxx.c,v 1.4 2009/01/09 10:20:51 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/orion/db88f5xxx.c,v 1.5 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -41,12 +41,14 @@ #include #include +#include #include #include #include #include #include +#include /* * Virtual address space layout: ==== //depot/projects/vimage-commit2/src/sys/arm/mv/orion/orion.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/orion/orion.c,v 1.5 2009/01/09 10:20:51 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/orion/orion.c,v 1.6 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -40,6 +40,7 @@ #include #include +#include extern const struct obio_pci_irq_map pci_irq_map[]; ==== //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_ata.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.6 2008/12/20 03:26:09 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/avila_ata.c,v 1.7 2009/06/12 00:07:09 imp Exp $"); /* * Compact Flash Support for the Avila Gateworks XScale boards. @@ -248,7 +248,7 @@ NULL, ata_avila_intr, sc, &sc->sc_ih); /* attach channel on this controller */ - device_add_child(dev, "ata", devclass_find_free_unit(ata_devclass, 0)); + device_add_child(dev, "ata", -1); bus_generic_attach(dev); return 0; ==== //depot/projects/vimage-commit2/src/sys/cam/cam.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam.c,v 1.11 2007/05/23 13:27:37 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam.c,v 1.12 2009/06/14 12:46:34 ed Exp $"); #include #ifdef _KERNEL @@ -37,6 +37,7 @@ #else /* _KERNEL */ #include #include +#include #endif /* _KERNEL */ #include ==== //depot/projects/vimage-commit2/src/sys/cddl/compat/opensolaris/kern/opensolaris.c#5 (text+ko) ==== @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris.c,v 1.3 2009/05/29 21:27:12 jamie Exp $ + * $FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris.c,v 1.4 2009/06/13 15:39:12 jamie Exp $ * */ @@ -83,7 +83,7 @@ switch (type) { case MOD_LOAD: - utsname.nodename = prison0.pr_host; + utsname.nodename = prison0.pr_hostname; break; case MOD_UNLOAD: ==== //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#6 (text+ko) ==== @@ -158,6 +158,7 @@ */ static int arc_min_prefetch_lifespan; +extern int zfs_prefetch_enable; static int arc_dead; /* @@ -3421,6 +3422,8 @@ void arc_init(void) { + int prefetch_tunable_set = 0; + mutex_init(&arc_reclaim_thr_lock, NULL, MUTEX_DEFAULT, NULL); cv_init(&arc_reclaim_thr_cv, NULL, CV_DEFAULT, NULL); mutex_init(&arc_lowmem_lock, NULL, MUTEX_DEFAULT, NULL); @@ -3549,6 +3552,23 @@ mutex_init(&zfs_write_limit_lock, NULL, MUTEX_DEFAULT, NULL); #ifdef _KERNEL + if (TUNABLE_INT_FETCH("vfs.zfs.prefetch_enable", &zfs_prefetch_enable)) + prefetch_tunable_set = 1; + +#ifdef __i386__ + if (prefetch_tunable_set == 0) { + printf("ZFS NOTICE: prefetch is disabled by default on i386" + " - add enable to tunable to change.\n" ); + zfs_prefetch_enable=0; + } +#else + if ((((uint64_t)physmem * PAGESIZE) < (1ULL << 32)) && + prefetch_tunable_set == 0) { + printf("ZFS NOTICE: system has less than 4GB and prefetch enable is not set" + "... disabling.\n"); + zfs_prefetch_enable=0; + } +#endif /* Warn about ZFS memory and address space requirements. */ if (((uint64_t)physmem * PAGESIZE) < (256 + 128 + 64) * (1 << 20)) { printf("ZFS WARNING: Recommended minimum RAM size is 512MB; " ==== //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#4 (text+ko) ==== @@ -37,7 +37,7 @@ * until we can get this working the way we want it to. */ -int zfs_prefetch_disable = 0; +int zfs_prefetch_enable = 1; /* max # of streams per zfetch */ uint32_t zfetch_max_streams = 8; @@ -49,9 +49,8 @@ uint64_t zfetch_array_rd_sz = 1024 * 1024; SYSCTL_DECL(_vfs_zfs); -TUNABLE_INT("vfs.zfs.prefetch_disable", &zfs_prefetch_disable); -SYSCTL_INT(_vfs_zfs, OID_AUTO, prefetch_disable, CTLFLAG_RDTUN, - &zfs_prefetch_disable, 0, "Disable prefetch"); +SYSCTL_INT(_vfs_zfs, OID_AUTO, prefetch_enable, CTLFLAG_RDTUN, + &zfs_prefetch_enable, 0, "Enable prefetch for systems with less than 4GB"); SYSCTL_NODE(_vfs_zfs, OID_AUTO, zfetch, CTLFLAG_RW, 0, "ZFS ZFETCH"); TUNABLE_INT("vfs.zfs.zfetch.max_streams", &zfetch_max_streams); SYSCTL_UINT(_vfs_zfs_zfetch, OID_AUTO, max_streams, CTLFLAG_RDTUN, @@ -599,7 +598,7 @@ unsigned int blkshft; uint64_t blksz; - if (zfs_prefetch_disable) + if (zfs_prefetch_enable == 0) return; /* files that aren't ln2 blocksz are only one block -- nothing to do */ ==== //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#3 (text+ko) ==== @@ -179,9 +179,9 @@ spa_history_zone() { #ifdef _KERNEL - /* XXX: pr_host can be changed by default from within a jail! */ + /* XXX: pr_hostname can be changed by default from within a jail! */ if (jailed(curthread->td_ucred)) - return (curthread->td_ucred->cr_prison->pr_host); + return (curthread->td_ucred->cr_prison->pr_hostname); #endif return ("global"); } ==== //depot/projects/vimage-commit2/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#3 (text+ko) ==== @@ -457,7 +457,7 @@ int dmu_write_pages(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, struct page *pp, dmu_tx_t *tx); -extern int zfs_prefetch_disable; +extern int zfs_prefetch_enable; /* * Asynchronously try to read in the data. ==== //depot/projects/vimage-commit2/src/sys/compat/linux/linux_futex.c#9 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.22 2009/05/07 16:14:31 dchagin Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.23 2009/06/14 17:53:55 dchagin Exp $"); #if 0 __KERNEL_RCSID(1, "$NetBSD: linux_futex.c,v 1.7 2006/07/24 19:01:49 manu Exp $"); #endif >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 15 08:00:08 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D96821065676; Mon, 15 Jun 2009 08:00:06 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82011106566B for ; Mon, 15 Jun 2009 08:00:06 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6B89C8FC25 for ; Mon, 15 Jun 2009 08:00:06 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5F8064k017506 for ; Mon, 15 Jun 2009 08:00:06 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5F806wd017504 for perforce@freebsd.org; Mon, 15 Jun 2009 08:00:06 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 08:00:06 GMT Message-Id: <200906150800.n5F806wd017504@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164404 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 08:00:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=164404 Change 164404 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 07:59:11 Actually pass caller's receive buffer into recvmsg() for _lc_recv_rights(). Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#8 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#8 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#7 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#8 $ */ #include @@ -221,6 +221,8 @@ bzero(cmsgbuf, sizeof(cmsgbuf)); bzero(&msghdr, sizeof(msghdr)); + msghdr.msg_iov = &iov; + msghdr.msg_iovlen = 1; msghdr.msg_control = cmsgbuf; msghdr.msg_controllen = sizeof(cmsgbuf); From owner-p4-projects@FreeBSD.ORG Mon Jun 15 08:09:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 448201065678; Mon, 15 Jun 2009 08:09:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 026DB1065670 for ; Mon, 15 Jun 2009 08:09:16 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C88BA8FC1E for ; Mon, 15 Jun 2009 08:09:15 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5F89Fub020099 for ; Mon, 15 Jun 2009 08:09:15 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5F89F3V020097 for perforce@freebsd.org; Mon, 15 Jun 2009 08:09:15 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 08:09:15 GMT Message-Id: <200906150809.n5F89F3V020097@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164405 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 08:09:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=164405 Change 164405 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 08:08:57 Copy libcapability_{host,sandbox}.c to libcapability_{host,sandbox}_io.c so that we can break out I/O- specific functions into their own files. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host_io.c#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox_io.c#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jun 15 08:15:22 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 80A8C1065670; Mon, 15 Jun 2009 08:15:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 402E2106564A for ; Mon, 15 Jun 2009 08:15:22 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2AE498FC15 for ; Mon, 15 Jun 2009 08:15:22 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5F8FMWI020734 for ; Mon, 15 Jun 2009 08:15:22 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5F8FMXX020732 for perforce@freebsd.org; Mon, 15 Jun 2009 08:15:22 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 08:15:22 GMT Message-Id: <200906150815.n5F8FMXX020732@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164407 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 08:15:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=164407 Change 164407 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 08:14:45 Move IPC-related functions from libcapability_{host,sandbox}.c to libcapability_{host,sandbox}_io.c and hook them up to the build. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#9 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#14 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host_io.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_internal.h#2 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.c#7 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox_io.c#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#9 (text+ko) ==== @@ -2,10 +2,12 @@ LIB= capability -SRCS= \ - libcapability.c \ - libcapability_sandbox.c \ - libcapability_host.c +SRCS= \ + libcapability.c \ + libcapability_sandbox.c \ + libcapability_sandbox_io.c \ + libcapability_host.c \ + libcapability_host_io.c INCS= libcapability.h ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#14 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#13 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#14 $ */ #include @@ -81,12 +81,6 @@ int closefrom(int lowfd); -struct lc_sandbox { - int lcs_fd_sock; - int lcs_fd_procdesc; - pid_t lcs_pid; -}; - /* * Install an array of file descriptors using the array index of each * descriptor in the array as its destination file descriptor number. All @@ -402,142 +396,3 @@ *fdp = lcsp->lcs_fd_procdesc; return (0); } - -/* - * Simple I/O wrappers for capability sockets. Possibly more keeping an eye - * on the worker should take place here. - */ -ssize_t -lch_send(struct lc_sandbox *lcsp, const void *msg, size_t len, int flags) -{ - - return (_lc_send(lcsp->lcs_fd_sock, msg, len, flags)); -} - -ssize_t -lch_send_rights(struct lc_sandbox *lcsp, const void *msg, size_t len, - int flags, int *fdp, int fdcount) -{ - - return (_lc_send_rights(lcsp->lcs_fd_sock, msg, len, flags, fdp, - fdcount)); -} - -ssize_t -lch_recv(struct lc_sandbox *lcsp, void *buf, size_t len, int flags) -{ - - return (_lc_recv(lcsp->lcs_fd_sock, buf, len, flags)); -} - -ssize_t -lch_recv_rights(struct lc_sandbox *lcsp, void *buf, size_t len, int flags, - int *fdp, int *fdcountp) -{ - - return (_lc_recv_rights(lcsp->lcs_fd_sock, buf, len, flags, fdp, - fdcountp)); -} - -/* - * Simple libcapability RPC facility (lcrpc): send a request, get back a - * reply (up to the size bound of the buffers passed in). The caller is - * responsible for retransmitting if the sandbox fails. - * - * Right now sequence numbers are unimplemented -- that's fine because we - * don't need retransmission, and are synchronous. However, it might not be - * a bad idea to use them anyway. - */ -int -lch_rpc(struct lc_sandbox *lcsp, u_int32_t opno, struct iovec *req, - int reqcount, struct iovec *rep, int repcount, size_t *replenp) -{ - struct lcrpc_request_hdr req_hdr; - struct lcrpc_reply_hdr rep_hdr; - size_t left, off, space, totlen, want; - ssize_t len; - int i; - - bzero(&req_hdr, sizeof(req_hdr)); - req_hdr.lcrpc_reqhdr_magic = LCRPC_REQUEST_HDR_MAGIC; - req_hdr.lcrpc_reqhdr_seqno = 0; - req_hdr.lcrpc_reqhdr_opno = opno; - for (i = 0; i < reqcount; i++) - req_hdr.lcrpc_reqhdr_datalen += req[i].iov_len; - for (i = 0; i < repcount; i++) - req_hdr.lcrpc_reqhdr_maxrepdatalen += rep[i].iov_len; - - /* - * Send our header. - */ - len = lch_send(lcsp, &req_hdr, sizeof(req_hdr), 0); - if (len < 0) - return (-1); - if (len != sizeof(req_hdr)) { - errno = ECHILD; - return (-1); - } - - /* - * Send the user request. - */ - for (i = 0; i < reqcount; i++) { - len = lch_send(lcsp, req[i].iov_base, req[i].iov_len, 0); - if (len < 0) - return (-1); - if ((size_t)len != req[i].iov_len) { - errno = ECHILD; - return (-1); - } - } - - /* - * Receive our header and validate. - */ - len = lch_recv(lcsp, &rep_hdr, sizeof(rep_hdr), MSG_WAITALL); - if (len < 0) - return (-1); - if (len != sizeof(rep_hdr)) { - errno = ECHILD; - return (-1); - } - - if (rep_hdr.lcrpc_rephdr_magic != LCRPC_REPLY_HDR_MAGIC || - rep_hdr.lcrpc_rephdr_seqno != 0 || - rep_hdr.lcrpc_rephdr_opno != opno || - rep_hdr.lcrpc_rephdr_datalen > req_hdr.lcrpc_reqhdr_maxrepdatalen) { - errno = EBADRPC; - return (-1); - } - - /* - * Receive the user data. Notice that we can partially overwrite the - * user buffer but still receive an error. - */ - totlen = 0; - for (i = 0; i < repcount; i++) { - off = 0; - while (totlen < rep_hdr.lcrpc_rephdr_datalen) { - space = rep[i].iov_len - off; - left = rep_hdr.lcrpc_rephdr_datalen - totlen; - want = (space > left) ? space : left; - len = lch_recv(lcsp, - (u_char *)((uintptr_t)rep[i].iov_base + off), - want, MSG_WAITALL); - if (len < 0) - return (-1); - if ((size_t)len != want) { - errno = ECHILD; - return (-1); - } - off += len; - totlen += len; - if (rep[i].iov_len == off) - break; - } - if (totlen == rep_hdr.lcrpc_rephdr_datalen) - break; - } - *replenp = totlen; - return (0); -} ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host_io.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host_io.c#1 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host_io.c#2 $ */ #include @@ -52,357 +52,6 @@ #include "libcapability_internal.h" #include "libcapability_sandbox_api.h" -#define LIBCAPABILITY_CAPMASK_DEVNULL (CAP_EVENT | CAP_READ | CAP_WRITE) -#define LIBCAPABILITY_CAPMASK_SOCK (CAP_EVENT | CAP_READ | CAP_WRITE) -#define LIBCAPABILITY_CAPMASK_BIN (CAP_READ | CAP_EVENT | CAP_FSTAT | \ - CAP_FSTATFS | \ - CAP_FEXECVE | CAP_MMAP | \ - CAP_MAPEXEC) -#define LIBCAPABILITY_CAPMASK_SANDBOX LIBCAPABILITY_CAPMASK_BIN -#define LIBCAPABILITY_CAPMASK_LDSO LIBCAPABILITY_CAPMASK_BIN -#define LIBCAPABILITY_CAPMASK_LIBC LIBCAPABILITY_CAPMASK_BIN -#define LIBCAPABILITY_CAPMASK_LIBCAPABILITYM LIBCAPABILITY_CAPMASK_BIN -#define LIBCAPABILITY_CAPMASK_LIBZ LIBCAPABILITY_CAPMASK_BIN - -#define _PATH_LIB "/lib" -#define _PATH_USR_LIB "/usr/lib" -#define LIBC_SO "libc.so.7" -#define LIBZ_SO "libz.so.4" -#define LIBCAPABILITYM_SO "libcapabilitym.so.1" - -extern char **environ; - -#define LD_ELF_CAP_SO "ld-elf-cap.so.1" -#define PATH_LD_ELF_CAP_SO "/libexec" -char *ldso_argv[] = { - __DECONST(char *, PATH_LD_ELF_CAP_SO "/" LD_ELF_CAP_SO), - NULL, -}; - -int closefrom(int lowfd); - -struct lc_sandbox { - int lcs_fd_sock; - int lcs_fd_procdesc; - pid_t lcs_pid; -}; - -/* - * Install an array of file descriptors using the array index of each - * descriptor in the array as its destination file descriptor number. All - * other existing file descriptors will be closed when this function returns, - * leaving a pristine vector. If calls fail, then we return (-1), but there - * are no guarantees about the state of the file descriptor array for the - * process, so it's a throw-away. - * - * It would be nice not to shuffle descriptors that already have the right - * number. - */ -static int -lch_installfds(u_int fd_count, int *fds) -{ - u_int i; - int highestfd; - - if (fd_count == 0) - return (0); - - /* - * Identify the highest source file descriptor we care about so that - * when we play the dup2() rearranging game, we don't overwrite any - * we care about. - */ - highestfd = fds[0]; - for (i = 1; i < fd_count; i++) { - if (fds[i] > highestfd) - highestfd = fds[i]; - } - highestfd++; /* Don't tread on the highest */ - - /* - * First, move all our descriptors up the range. - */ - for (i = 0; i < fd_count; i++) { - if (dup2(fds[i], highestfd + i) < 0) - return (-1); - } - - /* - * Now put them back. - */ - for (i = 0; i < fd_count; i++) { - if (dup2(highestfd + i, i) < 0) - return (-1); - } - - /* - * Close the descriptors that we moved, as well as any others that - * were left open by the caller. - */ - if (closefrom(fd_count) < 0) - return (-1); - - return (0); -} - -static void -lch_sandbox(int fd_sock, int fd_sandbox, int fd_ldso, int fd_libc, - int fd_libz, int fd_libcapabilitym, int fd_devnull, u_int flags, - const char *binname, char *const argv[]) -{ - char *env_caplibindex, *env_libcapability_sandbox_api; - int fd_array[10]; - - if (lc_limitfd(fd_devnull, LIBCAPABILITY_CAPMASK_DEVNULL) < 0) - return; - if (lc_limitfd(fd_sandbox, LIBCAPABILITY_CAPMASK_SANDBOX) < 0) - return; - if (lc_limitfd(fd_sock, LIBCAPABILITY_CAPMASK_SOCK) < 0) - return; - if (lc_limitfd(fd_ldso, LIBCAPABILITY_CAPMASK_LDSO) < 0) - return; - if (lc_limitfd(fd_libc, LIBCAPABILITY_CAPMASK_LIBC) < 0) - return; - if (lc_limitfd(fd_libz, LIBCAPABILITY_CAPMASK_LIBZ) < 0) - return; - if (lc_limitfd(fd_libcapabilitym, - LIBCAPABILITY_CAPMASK_LIBCAPABILITYM) < 0) - return; - - fd_array[0] = fd_devnull; - fd_array[1] = fd_devnull; - if (flags & LCH_PERMIT_STDERR) { - if (lc_limitfd(STDERR_FILENO, CAP_SEEK | CAP_WRITE) < 0) - return; - fd_array[2] = STDERR_FILENO; - } else - fd_array[2] = fd_devnull; - fd_array[3] = fd_sandbox; - fd_array[4] = fd_sock; - fd_array[5] = fd_ldso; - fd_array[6] = fd_libc; - fd_array[7] = fd_libz; - fd_array[8] = fd_libcapabilitym; - fd_array[9] = fd_devnull; - - if (lch_installfds(10, fd_array) < 0) - return; - - /* - * Pass library list into rtld-elf-cap. - */ - if (asprintf(&env_caplibindex, "%d:%s,%d:%s,%d:%s,%d:%s,%d:%s,%d:%s", - 3, binname, 5, LD_ELF_CAP_SO, 6, LIBC_SO, 7, LIBZ_SO, 8, - LIBCAPABILITYM_SO, 9, _PATH_DEVNULL) == -1) - return; - if (setenv("LD_CAPLIBINDEX", env_caplibindex, 1) == -1) - return; - free(env_caplibindex); - - /* - * Make sure that libcapability in the sandbox knows that its API - * assumptions hold. - */ - if (asprintf(&env_libcapability_sandbox_api, "%s:%d", - LIBCAPABILITY_SANDBOX_API_SOCK, 4) == -1) - return; - if (setenv(LIBCAPABILITY_SANDBOX_API_ENV, - env_libcapability_sandbox_api, 1) == -1) - return; - free(env_libcapability_sandbox_api); - - if (cap_enter() < 0) - return; - - (void)fexecve(5, argv, environ); -} - -int -lch_startfd_flags(int fd_sandbox, const char *binname, char *const argv[], - u_int flags, struct lc_sandbox **lcspp) -{ - struct lc_sandbox *lcsp; - int fd_devnull, fd_ldso, fd_libc, fd_libcapabilitym, fd_libz; - int fd_procdesc, fd_sockpair[2]; - int error, val; - pid_t pid; - - fd_devnull = fd_ldso = fd_libc = fd_libz = fd_libcapabilitym = - fd_procdesc = fd_sockpair[0] = fd_sockpair[1] = -1; - - lcsp = malloc(sizeof(*lcsp)); - if (lcsp == NULL) - return (-1); - bzero(lcsp, sizeof(*lcsp)); - -#ifdef IN_CAP_MODE - if (ld_caplibindex_lookup(LD_ELF_CAP_SO, &fd_ldso) < 0) - goto out_error; - if (ld_caplibindex_lookup(LIBC_SO, &fd_libc) < 0) - goto out_error; - if (ld_caplibindex_lookup(LIBZ_SO, &fd_libz) < 0) - goto out_error; - if (ld_caplibindex_lookup(LIBCAPABILITYM_SO, &fd_libcapabilitym) < 0) - goto out_error; - if (ld_caplibindex_lookup(_PATH_DEVNULL, &fd_devnull) < 0) - goto out_error; -#else - fd_ldso = open(PATH_LD_ELF_CAP_SO "/" LD_ELF_CAP_SO, O_RDONLY); - if (fd_ldso < 0) - goto out_error; - - fd_libc = open(_PATH_LIB "/" LIBC_SO, O_RDONLY); - if (fd_libc < 0) - goto out_error; - - fd_libz = open(_PATH_LIB "/" LIBZ_SO, O_RDONLY); - if (fd_libz < 0) - goto out_error; - - fd_libcapabilitym = open(_PATH_USR_LIB "/" LIBCAPABILITYM_SO, - O_RDONLY); - if (fd_libcapabilitym < 0) - goto out_error; - - fd_devnull = open(_PATH_DEVNULL, O_RDWR); - if (fd_devnull < 0) - goto out_error; -#endif - - if (socketpair(PF_LOCAL, SOCK_STREAM, 0, fd_sockpair) < 0) - goto out_error; - - val = 1; - if (setsockopt(fd_sockpair[0], SOL_SOCKET, SO_NOSIGPIPE, &val, - sizeof(val)) < 0) { - fd_sockpair[0] = fd_sockpair[1] = -1; - goto out_error; - } - - pid = pdfork(&fd_procdesc); - if (pid < 0) { - fd_procdesc = -1; - goto out_error; - } - if (pid == 0) { - lch_sandbox(fd_sockpair[1], fd_sandbox, fd_ldso, fd_libc, - fd_libz, fd_libcapabilitym, fd_devnull, flags, binname, - argv); - exit(-1); - } -#ifndef IN_CAP_MODE - close(fd_devnull); - close(fd_libcapabilitym); - close(fd_libz); - close(fd_libc); - close(fd_ldso); -#endif - close(fd_sockpair[1]); - - lcsp->lcs_fd_procdesc = fd_procdesc; - lcsp->lcs_fd_sock = fd_sockpair[0]; - lcsp->lcs_pid = pid; - *lcspp = lcsp; - - return (0); - -out_error: - error = errno; - if (fd_sockpair[0] != -1) - close(fd_sockpair[0]); - if (fd_sockpair[1] != -1) - close(fd_sockpair[1]); -#ifndef IN_CAP_MODE - if (fd_devnull != -1) - close(fd_devnull); - if (fd_libcapabilitym != -1) - close(fd_libcapabilitym); - if (fd_libz != -1) - close(fd_libz); - if (fd_libc != -1) - close(fd_libc); - if (fd_ldso != -1) - close(fd_ldso); -#endif - if (lcsp != NULL) - free(lcsp); - errno = error; - return (-1); -} - -int -lch_startfd(int fd_sandbox, const char *binname, char *const argv[], - struct lc_sandbox **lcspp) -{ - - return (lch_startfd_flags(fd_sandbox, binname, argv, 0, lcspp)); -} - -#ifndef IN_CAP_MODE -int -lch_start_flags(const char *sandbox, char *const argv[], u_int flags, - struct lc_sandbox **lcspp) -{ - char binname[MAXPATHLEN]; - int error, fd_sandbox, ret; - - if (basename_r(sandbox, binname) == NULL) - return (-1); - - fd_sandbox = open(sandbox, O_RDONLY); - if (fd_sandbox < 0) - return (-1); - - ret = lch_startfd_flags(fd_sandbox, binname, argv, flags, lcspp); - error = errno; - close(fd_sandbox); - errno = error; - return (ret); -} - -int -lch_start(const char *sandbox, char *const argv[], struct lc_sandbox **lcspp) -{ - - return (lch_start_flags(sandbox, argv, 0, lcspp)); -} -#endif - -void -lch_stop(struct lc_sandbox *lcsp) -{ - - close(lcsp->lcs_fd_sock); - close(lcsp->lcs_fd_procdesc); - lcsp->lcs_fd_sock = -1; - lcsp->lcs_fd_procdesc = -1; - lcsp->lcs_pid = -1; -} - -int -lch_getsock(struct lc_sandbox *lcsp, int *fdp) -{ - - *fdp = lcsp->lcs_fd_sock; - return (0); -} - -int -lch_getpid(struct lc_sandbox *lcsp, pid_t *pidp) -{ - - *pidp = lcsp->lcs_pid; - return (0); -} - -int -lch_getprocdesc(struct lc_sandbox *lcsp, int *fdp) -{ - - *fdp = lcsp->lcs_fd_procdesc; - return (0); -} - /* * Simple I/O wrappers for capability sockets. Possibly more keeping an eye * on the worker should take place here. ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_internal.h#2 (text+ko) ==== @@ -30,12 +30,22 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_internal.h#1 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_internal.h#2 $ */ #ifndef _LIBCAPABILITY_INTERNAL_H_ #define _LIBCAPABILITY_INTERNAL_H_ +struct lc_host { + int lch_fd_sock; +}; + +struct lc_sandbox { + int lcs_fd_sock; + int lcs_fd_procdesc; + pid_t lcs_pid; +}; + struct msghdr; int _lc_receive_rights(struct msghdr *msg, int *fdp, int *fdcountp); ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.c#7 (text+ko) ==== @@ -48,10 +48,6 @@ #include "libcapability_internal.h" #include "libcapability_sandbox_api.h" -struct lc_host { - int lch_fd_sock; -}; - static int lch_initialized; static struct lc_host lch_global; @@ -110,148 +106,3 @@ *fdp = lchp->lch_fd_sock; return (0); } - -ssize_t -lcs_recv(struct lc_host *lchp, void *buf, size_t len, int flags) -{ - - return (_lc_recv(lchp->lch_fd_sock, buf, len, flags)); -} - -ssize_t -lcs_recv_rights(struct lc_host *lchp, void *buf, size_t len, int flags, - int *fdp, int *fdcountp) -{ - - return (_lc_recv_rights(lchp->lch_fd_sock, buf, len, flags, fdp, - fdcountp)); -} - -ssize_t -lcs_send(struct lc_host *lchp, const void *msg, size_t len, int flags) -{ - - return (_lc_send(lchp->lch_fd_sock, msg, len, flags)); -} - -ssize_t -lcs_send_rights(struct lc_host *lchp, const void *msg, size_t len, - int flags, int *fdp, int fdcount) -{ - - return (_lc_send_rights(lchp->lch_fd_sock, msg, len, flags, fdp, - fdcount)); -} - -/* - * libcapability RPC facility (lcrpc) sandbox routines. Since arguments are - * variable size, space is allocated by the RPC code rather than the caller, - * who is expected to free it with free(3) if desired. - */ -int -lcs_recvrpc(struct lc_host *lchp, u_int32_t *opnop, u_int32_t *seqnop, - u_char **bufferp, size_t *lenp) -{ - struct lcrpc_request_hdr req_hdr; - size_t totlen; - ssize_t len; - u_char *buffer; - int error; - - len = lcs_recv(lchp, &req_hdr, sizeof(req_hdr), MSG_WAITALL); - if (len < 0) - return (-1); - if (len == 0) { - errno = EPIPE; - return (-1); - } - if (len != sizeof(req_hdr)) { - errno = EBADMSG; - return (-1); - } - - if (req_hdr.lcrpc_reqhdr_magic != LCRPC_REQUEST_HDR_MAGIC) { - errno = EBADMSG; - return (-1); - } - - /* - * XXXRW: Should we check that the receive data fits in the address - * space of the sandbox? - * - * XXXRW: If malloc() fails, we should drain the right amount of data - * from the socket so that the next RPC will succeed. Possibly we - * should also reply with an error from this layer to the sender? - * What about if there are other socket errors, such as EINTR? - */ - buffer = malloc(req_hdr.lcrpc_reqhdr_datalen); - if (buffer == NULL) - return (-1); - - /* - * XXXRW: Likewise, how to handle failure at this stage? - */ - totlen = 0; - while (totlen < req_hdr.lcrpc_reqhdr_datalen) { - len = lcs_recv(lchp, buffer + totlen, - req_hdr.lcrpc_reqhdr_datalen - totlen, MSG_WAITALL); - if (len < 0) { - error = errno; - free(buffer); - return (-1); - } - if (len == 0) { - errno = EPIPE; - free(buffer); - return (-1); - } - totlen += len; - } - *bufferp = buffer; - *lenp = totlen; - *opnop = req_hdr.lcrpc_reqhdr_opno; - *seqnop = req_hdr.lcrpc_reqhdr_seqno; - return (0); -} - -int -lcs_sendrpc(struct lc_host *lchp, u_int32_t opno, u_int32_t seqno, - struct iovec *rep, int repcount) -{ - struct lcrpc_reply_hdr rep_hdr; - ssize_t len; - int i; - - bzero(&rep_hdr, sizeof(rep_hdr)); - rep_hdr.lcrpc_rephdr_magic = LCRPC_REPLY_HDR_MAGIC; - rep_hdr.lcrpc_rephdr_seqno = seqno; - rep_hdr.lcrpc_rephdr_opno = opno; - rep_hdr.lcrpc_rephdr_datalen = 0; - for (i = 0; i < repcount; i++) - rep_hdr.lcrpc_rephdr_datalen += rep[i].iov_len; - - /* - * Send our header. - */ - len = lcs_send(lchp, &rep_hdr, sizeof(rep_hdr), 0); - if (len < 0) - return (-1); - if (len != sizeof(rep_hdr)) { - errno = EPIPE; - return (-1); - } - - /* - * Send user data. - */ - for (i = 0; i < repcount; i++) { - len = lcs_send(lchp, rep[i].iov_base, rep[i].iov_len, 0); - if (len < 0) - return (-1); - if ((size_t)len != rep[i].iov_len) { - errno = EPIPE; - return (-1); - } - } - return (0); -} ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox_io.c#2 (text+ko) ==== @@ -48,69 +48,6 @@ #include "libcapability_internal.h" #include "libcapability_sandbox_api.h" -struct lc_host { - int lch_fd_sock; -}; - -static int lch_initialized; -static struct lc_host lch_global; - -int -lcs_get(struct lc_host **lchpp) -{ - char *endp, *env, *env_dup, *env_dup_free, *name, *token, *value; - int error, fd_sock; - long long ll; - - if (lch_initialized) { - *lchpp = &lch_global; - return (0); - } - - env = getenv(LIBCAPABILITY_SANDBOX_API_ENV); - if (env == NULL) { - errno = EINVAL; /* XXXRW: Better errno? */ - return (-1); - } - - env_dup = env_dup_free = strdup(env); - if (env_dup == NULL) - return (-1); - - fd_sock = -1; - while ((token = strsep(&env_dup, ",")) != NULL) { - name = strsep(&token, ":"); - if (name == NULL) - continue; - value = token; - if (strcmp(name, LIBCAPABILITY_SANDBOX_API_SOCK) == 0) { - ll = strtoll(value, &endp, 10); - if (*endp != '\0' || ll < 0 || ll > INT_MAX) - continue; - fd_sock = ll; - } - } - if (fd_sock == -1) { - error = errno; - free(env_dup_free); - errno = error; - return (-1); - } - lch_global.lch_fd_sock = fd_sock; - lch_initialized = 1; - *lchpp = &lch_global; - free(env_dup_free); - return (0); -} - -int -lcs_getsock(struct lc_host *lchp, int *fdp) -{ - - *fdp = lchp->lch_fd_sock; - return (0); -} - ssize_t lcs_recv(struct lc_host *lchp, void *buf, size_t len, int flags) { From owner-p4-projects@FreeBSD.ORG Mon Jun 15 09:12:20 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 66B1D106571A; Mon, 15 Jun 2009 09:12:20 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 23F161065718 for ; Mon, 15 Jun 2009 09:12:20 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0E8B48FC18 for ; Mon, 15 Jun 2009 09:12:20 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5F9CJOD042834 for ; Mon, 15 Jun 2009 09:12:19 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5F9CJin042832 for perforce@freebsd.org; Mon, 15 Jun 2009 09:12:19 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 09:12:19 GMT Message-Id: <200906150912.n5F9CJin042832@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164408 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 09:12:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=164408 Change 164408 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 09:11:55 Implement _rights() variants of libcapability RPC calls, which should (in principle) allow sets of file descriptors/capabilities to be attached to remote procedure calls in either direction. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#9 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#16 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host_io.c#3 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_internal.h#3 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox_io.c#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#9 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#8 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#9 $ */ #include @@ -64,6 +64,15 @@ return (0); } +void +_lc_dispose_rights(int *fdp, int fdcount) +{ + int i; + + for (i = 0; i < fdcount; i++) + close(fdp[i]); +} + /* * Given a 'struct msghdr' returned by a successful call to recvmsg(), * extract up to the desired number of file descriptors (or clean up the @@ -100,8 +109,7 @@ cmsg_fdp = (int *)CMSG_DATA(cmsg); fdcount = (cmsg->cmsg_len - CMSG_LEN(0)) / sizeof(int); - for (i = 0; i < fdcount; i++) - close(cmsg_fdp[i]); + _lc_dispose_rights(cmsg_fdp, fdcount); } errno = EBADMSG; return (-1); ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#16 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#15 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#16 $ */ #ifndef _LIBCAPABILITY_H_ @@ -87,8 +87,9 @@ int lch_rpc(struct lc_sandbox *lcsp, u_int32_t opno, struct iovec *req, int reqcount, struct iovec *rep, int repcount, size_t *replenp); int lch_rpc_rights(struct lc_sandbox *lcsp, u_int32_t opno, - struct iovec *req, int reqcount, int *req_fdp, int *req_fdcount, - struct iovec *rep, int repcount, int *rep_fdp, int *rep_fdcount); + struct iovec *req, int reqcount, int *req_fdp, int req_fdcount, + struct iovec *rep, int repcount, size_t *replenp, int *rep_fdp, + int *rep_fdcount); /* * Interfaces to query state from within capability mode sandboxes. @@ -119,7 +120,7 @@ struct iovec *rep, int repcount); int lcs_sendrpc_rights(struct lc_host *lchp, u_int32_t opno, u_int32_t seqno, struct iovec *rep, int repcount, int *fdp, - int *fdcountp); + int fdcount); /* * Actually an rtld-elf-cap symbol, but declared here so it is available to ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host_io.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host_io.c#2 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host_io.c#3 $ */ #include @@ -97,9 +97,10 @@ * don't need retransmission, and are synchronous. However, it might not be * a bad idea to use them anyway. */ -int -lch_rpc(struct lc_sandbox *lcsp, u_int32_t opno, struct iovec *req, - int reqcount, struct iovec *rep, int repcount, size_t *replenp) +static int +lch_rpc_internal(struct lc_sandbox *lcsp, u_int32_t opno, struct iovec *req, + int reqcount, int *req_fdp, int req_fdcount, struct iovec *rep, + int repcount, size_t *replenp, int *rep_fdp, int *rep_fdcountp) { struct lcrpc_request_hdr req_hdr; struct lcrpc_reply_hdr rep_hdr; @@ -119,7 +120,11 @@ /* * Send our header. */ - len = lch_send(lcsp, &req_hdr, sizeof(req_hdr), 0); + if (req_fdp != NULL) + len = lch_send_rights(lcsp, &req_hdr, sizeof(req_hdr), 0, + req_fdp, req_fdcount); + else + len = lch_send(lcsp, &req_hdr, sizeof(req_hdr), 0); if (len < 0) return (-1); if (len != sizeof(req_hdr)) { @@ -143,10 +148,16 @@ /* * Receive our header and validate. */ - len = lch_recv(lcsp, &rep_hdr, sizeof(rep_hdr), MSG_WAITALL); + if (rep_fdp != NULL) + len = lch_recv_rights(lcsp, &rep_hdr, sizeof(rep_hdr), + MSG_WAITALL, rep_fdp, rep_fdcountp); + else + len = lch_recv(lcsp, &rep_hdr, sizeof(rep_hdr), MSG_WAITALL); if (len < 0) return (-1); if (len != sizeof(rep_hdr)) { + if (rep_fdp != NULL) + _lc_dispose_rights(rep_fdp, *rep_fdcountp); errno = ECHILD; return (-1); } @@ -155,6 +166,8 @@ rep_hdr.lcrpc_rephdr_seqno != 0 || rep_hdr.lcrpc_rephdr_opno != opno || rep_hdr.lcrpc_rephdr_datalen > req_hdr.lcrpc_reqhdr_maxrepdatalen) { + if (rep_fdp != NULL) + _lc_dispose_rights(rep_fdp, *rep_fdcountp); errno = EBADRPC; return (-1); } @@ -176,6 +189,9 @@ if (len < 0) return (-1); if ((size_t)len != want) { + if (rep_fdp != NULL) + _lc_dispose_rights(rep_fdp, + *rep_fdcountp); errno = ECHILD; return (-1); } @@ -190,3 +206,22 @@ *replenp = totlen; return (0); } + +int +lch_rpc(struct lc_sandbox *lcsp, u_int32_t opno, struct iovec *req, + int reqcount, struct iovec *rep, int repcount, size_t *replenp) +{ + + return (lch_rpc_internal(lcsp, opno, req, reqcount, NULL, 0, + rep, repcount, replenp, NULL, NULL)); +} + +int +lch_rpc_rights(struct lc_sandbox *lcsp, u_int32_t opno, struct iovec *req, + int reqcount, int *req_fdp, int req_fdcount, struct iovec *rep, + int repcount, size_t *replenp, int *rep_fdp, int *rep_fdcountp) +{ + + return (lch_rpc_internal(lcsp, opno, req, reqcount, req_fdp, + req_fdcount, rep, repcount, replenp, rep_fdp, rep_fdcountp)); +} ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_internal.h#3 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_internal.h#2 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_internal.h#3 $ */ #ifndef _LIBCAPABILITY_INTERNAL_H_ @@ -47,6 +47,7 @@ }; struct msghdr; +void _lc_dispose_rights(int *fdp, int fdcount); int _lc_receive_rights(struct msghdr *msg, int *fdp, int *fdcountp); ssize_t _lc_recv(int fd, void *buf, size_t len, int flags); ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox_io.c#3 (text+ko) ==== @@ -85,9 +85,10 @@ * variable size, space is allocated by the RPC code rather than the caller, * who is expected to free it with free(3) if desired. */ -int -lcs_recvrpc(struct lc_host *lchp, u_int32_t *opnop, u_int32_t *seqnop, - u_char **bufferp, size_t *lenp) +static int +lcs_recvrpc_internal(struct lc_host *lchp, u_int32_t *opnop, + u_int32_t *seqnop, u_char **bufferp, size_t *lenp, int *fdp, + int *fdcountp) { struct lcrpc_request_hdr req_hdr; size_t totlen; @@ -95,19 +96,29 @@ u_char *buffer; int error; - len = lcs_recv(lchp, &req_hdr, sizeof(req_hdr), MSG_WAITALL); + if (fdp != NULL) + len = lcs_recv_rights(lchp, &req_hdr, sizeof(req_hdr), + MSG_WAITALL, fdp, fdcountp); + else + len = lcs_recv(lchp, &req_hdr, sizeof(req_hdr), MSG_WAITALL); if (len < 0) return (-1); if (len == 0) { + if (fdp != NULL) + _lc_dispose_rights(fdp, *fdcountp); errno = EPIPE; return (-1); } if (len != sizeof(req_hdr)) { + if (fdp != NULL) + _lc_dispose_rights(fdp, *fdcountp); errno = EBADMSG; return (-1); } if (req_hdr.lcrpc_reqhdr_magic != LCRPC_REQUEST_HDR_MAGIC) { + if (fdp != NULL) + _lc_dispose_rights(fdp, *fdcountp); errno = EBADMSG; return (-1); } @@ -122,8 +133,13 @@ * What about if there are other socket errors, such as EINTR? */ buffer = malloc(req_hdr.lcrpc_reqhdr_datalen); - if (buffer == NULL) + if (buffer == NULL) { + error = errno; + if (fdp != NULL) + _lc_dispose_rights(fdp, *fdcountp); + errno = error; return (-1); + } /* * XXXRW: Likewise, how to handle failure at this stage? @@ -134,11 +150,15 @@ req_hdr.lcrpc_reqhdr_datalen - totlen, MSG_WAITALL); if (len < 0) { error = errno; + if (fdp != NULL) + _lc_dispose_rights(fdp, *fdcountp); free(buffer); return (-1); } if (len == 0) { errno = EPIPE; + if (fdp != NULL) + _lc_dispose_rights(fdp, *fdcountp); free(buffer); return (-1); } @@ -152,8 +172,26 @@ } int -lcs_sendrpc(struct lc_host *lchp, u_int32_t opno, u_int32_t seqno, - struct iovec *rep, int repcount) +lcs_recvrpc(struct lc_host *lchp, u_int32_t *opnop, u_int32_t *seqnop, + u_char **bufferp, size_t *lenp) +{ + + return (lcs_recvrpc_internal(lchp, opnop, seqnop, bufferp, lenp, + NULL, NULL)); +} + +int +lcs_recvrpc_rights(struct lc_host *lchp, u_int32_t *opnop, u_int32_t *seqnop, + u_char **bufferp, size_t *lenp, int *fdp, int *fdcountp) +{ + + return (lcs_recvrpc_internal(lchp, opnop, seqnop, bufferp, lenp, + fdp, fdcountp)); +} + +static int +lcs_sendrpc_internal(struct lc_host *lchp, u_int32_t opno, u_int32_t seqno, + struct iovec *rep, int repcount, int *fdp, int fdcount) { struct lcrpc_reply_hdr rep_hdr; ssize_t len; @@ -170,7 +208,11 @@ /* * Send our header. */ - len = lcs_send(lchp, &rep_hdr, sizeof(rep_hdr), 0); + if (fdp != NULL) + len = lcs_send_rights(lchp, &rep_hdr, sizeof(rep_hdr), 0, + fdp, fdcount); + else + len = lcs_send(lchp, &rep_hdr, sizeof(rep_hdr), 0); if (len < 0) return (-1); if (len != sizeof(rep_hdr)) { @@ -192,3 +234,21 @@ } return (0); } + +int +lcs_sendrpc(struct lc_host *lchp, u_int32_t opno, u_int32_t seqno, + struct iovec *rep, int repcount) +{ + + return (lcs_sendrpc_internal(lchp, opno, seqno, rep, repcount, NULL, + 0)); +} + +int +lcs_sendrpc_rights(struct lc_host *lchp, u_int32_t opno, u_int32_t seqno, + struct iovec *rep, int repcount, int *fdp, int fdcount) +{ + + return (lcs_sendrpc_internal(lchp, opno, seqno, rep, repcount, fdp, + fdcount)); +} From owner-p4-projects@FreeBSD.ORG Mon Jun 15 10:13:22 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5978A1065672; Mon, 15 Jun 2009 10:13:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 193AC106566C for ; Mon, 15 Jun 2009 10:13:22 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 03FFC8FC17 for ; Mon, 15 Jun 2009 10:13:22 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FADLBd060558 for ; Mon, 15 Jun 2009 10:13:21 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FADLkD060556 for perforce@freebsd.org; Mon, 15 Jun 2009 10:13:21 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 10:13:21 GMT Message-Id: <200906151013.n5FADLkD060556@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164410 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 10:13:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=164410 Change 164410 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 10:12:44 Internal to libcapability, add the LC_IGNOREENTR flag, which is used by the RPC functions to prevent signal delivery from interrupting RPCs, leading to an early abort or killing of the sandbox due to incomplete data delivery on wakeup. This flag is not set for the non-RPC wrapper functions ({lch,lcs}_{recv,send}()) so that they behave as expected by applications using socket I/O. Remove BUGS note about signal handling issues for RPCs. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#10 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host_io.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_internal.h#4 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_io.3#4 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox_io.c#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#10 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#9 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.c#10 $ */ #include @@ -133,29 +133,37 @@ } ssize_t -_lc_send(int fd, const void *msg, size_t len, int flags) +_lc_send(int fd, const void *msg, size_t len, int flags, int lc_flags) { + ssize_t retlen; if (fd == -1 || fd == 0) { errno = ECHILD; return (-1); } - return (send(fd, msg, len, flags)); + if (lc_flags & LC_IGNOREEINTR) { + do { + retlen = send(fd, msg, len, flags); + } while (retlen < 0 && errno == EINTR); + } else + retlen = send(fd, msg, len, flags); + return (retlen); } ssize_t -_lc_send_rights(int fd, const void *msg, size_t len, int flags, int *fdp, - int fdcount) +_lc_send_rights(int fd, const void *msg, size_t len, int flags, int lc_flags, + int *fdp, int fdcount) { char cmsgbuf[CMSG_SPACE(LIBCAPABILITY_SANDBOX_API_MAXRIGHTS * sizeof(int))]; struct cmsghdr *cmsg; struct msghdr msghdr; struct iovec iov; + ssize_t retlen; int i; if (fdcount == 0) - return (_lc_send(fd, msg, len, flags)); + return (_lc_send(fd, msg, len, flags, lc_flags)); if (fd == -1 || fd == 0) { errno = ECHILD; @@ -186,23 +194,36 @@ msghdr.msg_control = cmsg; msghdr.msg_controllen = cmsg->cmsg_len; - return (sendmsg(fd, &msghdr, flags)); + if (lc_flags & LC_IGNOREEINTR) { + do { + retlen = sendmsg(fd, &msghdr, flags); + } while (retlen < 0 && errno == EINTR); + } else + retlen = sendmsg(fd, &msghdr, flags); + return (retlen); } ssize_t -_lc_recv(int fd, void *buf, size_t len, int flags) +_lc_recv(int fd, void *buf, size_t len, int flags, int lc_flags) { + ssize_t retlen; if (fd == -1 || fd == 0) { errno = ESRCH; return (-1); } - return (recv(fd, buf, len, flags)); + if (lc_flags & LC_IGNOREEINTR) { + do { + retlen = recv(fd, buf, len, flags); + } while (retlen < 0 && errno == EINTR); + return (retlen); + } else + return (recv(fd, buf, len, flags)); } ssize_t -_lc_recv_rights(int fd, void *buf, size_t len, int flags, int *fdp, - int *fdcountp) +_lc_recv_rights(int fd, void *buf, size_t len, int flags, int lc_flags, + int *fdp, int *fdcountp) { char cmsgbuf[CMSG_SPACE(LIBCAPABILITY_SANDBOX_API_MAXRIGHTS * sizeof(int))]; @@ -211,7 +232,7 @@ ssize_t retlen; if (*fdcountp == 0) - return (_lc_recv(fd, buf, len, flags)); + return (_lc_recv(fd, buf, len, flags, lc_flags)); if (fd == -1 || fd == 0) { errno = ECHILD; @@ -234,7 +255,12 @@ msghdr.msg_control = cmsgbuf; msghdr.msg_controllen = sizeof(cmsgbuf); - retlen = recvmsg(fd, &msghdr, flags); + if (lc_flags & LC_IGNOREEINTR) { + do { + retlen = recvmsg(fd, &msghdr, flags); + } while (retlen < 0 && errno == EINTR); + } else + retlen = recvmsg(fd, &msghdr, flags); if (retlen < 0) return (-1); if (_lc_receive_rights(&msghdr, fdp, fdcountp) < 0) ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host_io.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host_io.c#3 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host_io.c#4 $ */ #include @@ -60,7 +60,7 @@ lch_send(struct lc_sandbox *lcsp, const void *msg, size_t len, int flags) { - return (_lc_send(lcsp->lcs_fd_sock, msg, len, flags)); + return (_lc_send(lcsp->lcs_fd_sock, msg, len, flags, 0)); } ssize_t @@ -68,7 +68,7 @@ int flags, int *fdp, int fdcount) { - return (_lc_send_rights(lcsp->lcs_fd_sock, msg, len, flags, fdp, + return (_lc_send_rights(lcsp->lcs_fd_sock, msg, len, flags, 0, fdp, fdcount)); } @@ -76,7 +76,7 @@ lch_recv(struct lc_sandbox *lcsp, void *buf, size_t len, int flags) { - return (_lc_recv(lcsp->lcs_fd_sock, buf, len, flags)); + return (_lc_recv(lcsp->lcs_fd_sock, buf, len, flags, 0)); } ssize_t @@ -84,7 +84,7 @@ int *fdp, int *fdcountp) { - return (_lc_recv_rights(lcsp->lcs_fd_sock, buf, len, flags, fdp, + return (_lc_recv_rights(lcsp->lcs_fd_sock, buf, len, flags, 0, fdp, fdcountp)); } @@ -121,10 +121,12 @@ * Send our header. */ if (req_fdp != NULL) - len = lch_send_rights(lcsp, &req_hdr, sizeof(req_hdr), 0, - req_fdp, req_fdcount); + len = _lc_send_rights(lcsp->lcs_fd_sock, &req_hdr, + sizeof(req_hdr), 0, LC_IGNOREEINTR, req_fdp, + req_fdcount); else - len = lch_send(lcsp, &req_hdr, sizeof(req_hdr), 0); + len = _lc_send(lcsp->lcs_fd_sock, &req_hdr, sizeof(req_hdr), + 0, LC_IGNOREEINTR); if (len < 0) return (-1); if (len != sizeof(req_hdr)) { @@ -136,7 +138,8 @@ * Send the user request. */ for (i = 0; i < reqcount; i++) { - len = lch_send(lcsp, req[i].iov_base, req[i].iov_len, 0); + len = _lc_send(lcsp->lcs_fd_sock, req[i].iov_base, + req[i].iov_len, 0, LC_IGNOREEINTR); if (len < 0) return (-1); if ((size_t)len != req[i].iov_len) { @@ -149,10 +152,12 @@ * Receive our header and validate. */ if (rep_fdp != NULL) - len = lch_recv_rights(lcsp, &rep_hdr, sizeof(rep_hdr), - MSG_WAITALL, rep_fdp, rep_fdcountp); + len = _lc_recv_rights(lcsp->lcs_fd_sock, &rep_hdr, + sizeof(rep_hdr), MSG_WAITALL, LC_IGNOREEINTR, rep_fdp, + rep_fdcountp); else - len = lch_recv(lcsp, &rep_hdr, sizeof(rep_hdr), MSG_WAITALL); + len = _lc_recv(lcsp->lcs_fd_sock, &rep_hdr, sizeof(rep_hdr), + MSG_WAITALL, LC_IGNOREEINTR); if (len < 0) return (-1); if (len != sizeof(rep_hdr)) { @@ -183,9 +188,9 @@ space = rep[i].iov_len - off; left = rep_hdr.lcrpc_rephdr_datalen - totlen; want = (space > left) ? space : left; - len = lch_recv(lcsp, + len = _lc_recv(lcsp->lcs_fd_sock, (u_char *)((uintptr_t)rep[i].iov_base + off), - want, MSG_WAITALL); + want, MSG_WAITALL, LC_IGNOREEINTR); if (len < 0) return (-1); if ((size_t)len != want) { ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_internal.h#4 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_internal.h#3 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_internal.h#4 $ */ #ifndef _LIBCAPABILITY_INTERNAL_H_ @@ -46,15 +46,21 @@ pid_t lcs_pid; }; +/* + * Communications flags for recv/send calls (lc_flags). + */ +#define LC_IGNOREEINTR 0x00000001 + struct msghdr; void _lc_dispose_rights(int *fdp, int fdcount); int _lc_receive_rights(struct msghdr *msg, int *fdp, int *fdcountp); -ssize_t _lc_recv(int fd, void *buf, size_t len, int flags); -ssize_t _lc_recv_rights(int fd, void *buf, size_t len, int flags, int *fdp, - int *fdcountp); -ssize_t _lc_send(int fd, const void *msg, size_t len, int flags); +ssize_t _lc_recv(int fd, void *buf, size_t len, int flags, int lc_flags); +ssize_t _lc_recv_rights(int fd, void *buf, size_t len, int flags, + int lc_flags, int *fdp, int *fdcountp); +ssize_t _lc_send(int fd, const void *msg, size_t len, int flags, + int lc_flags); ssize_t _lc_send_rights(int fd, const void *msg, size_t len, int flags, - int *fdp, int fdcount); + int lc_flags, int *fdp, int fdcount); #endif /* !_LIBCAPABILITY_INTERNAL_H_ */ ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_io.3#4 (text+ko) ==== @@ -197,9 +197,6 @@ WARNING: THIS IS EXPERIMENTAL SECURITY SOFTWARE THAT MUST NOT BE RELIED ON IN PRODUCTION SYSTEMS. IT WILL BREAK YOUR SOFTWARE IN NEW AND UNEXPECTED WAYS. .Pp -The socket calls used by the simple RPC system are not robust in the presence -of signal delivery, which should be fixed. -.Pp All sequence numbers will always have the value 0. This is fine from a retransmission perspective, as generally no retransmission should be required, but consumers should serialize use of the ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox_io.c#4 (text+ko) ==== @@ -52,7 +52,7 @@ lcs_recv(struct lc_host *lchp, void *buf, size_t len, int flags) { - return (_lc_recv(lchp->lch_fd_sock, buf, len, flags)); + return (_lc_recv(lchp->lch_fd_sock, buf, len, flags, 0)); } ssize_t @@ -60,7 +60,7 @@ int *fdp, int *fdcountp) { - return (_lc_recv_rights(lchp->lch_fd_sock, buf, len, flags, fdp, + return (_lc_recv_rights(lchp->lch_fd_sock, buf, len, flags, 0, fdp, fdcountp)); } @@ -68,7 +68,7 @@ lcs_send(struct lc_host *lchp, const void *msg, size_t len, int flags) { - return (_lc_send(lchp->lch_fd_sock, msg, len, flags)); + return (_lc_send(lchp->lch_fd_sock, msg, len, flags, 0)); } ssize_t @@ -76,7 +76,7 @@ int flags, int *fdp, int fdcount) { - return (_lc_send_rights(lchp->lch_fd_sock, msg, len, flags, fdp, + return (_lc_send_rights(lchp->lch_fd_sock, msg, len, flags, 0, fdp, fdcount)); } @@ -97,10 +97,12 @@ int error; if (fdp != NULL) - len = lcs_recv_rights(lchp, &req_hdr, sizeof(req_hdr), - MSG_WAITALL, fdp, fdcountp); + len = _lc_recv_rights(lchp->lch_fd_sock, &req_hdr, + sizeof(req_hdr), MSG_WAITALL, LC_IGNOREEINTR, fdp, + fdcountp); else - len = lcs_recv(lchp, &req_hdr, sizeof(req_hdr), MSG_WAITALL); + len = _lc_recv(lchp->lch_fd_sock, &req_hdr, sizeof(req_hdr), + MSG_WAITALL, LC_IGNOREEINTR); if (len < 0) return (-1); if (len == 0) { @@ -146,8 +148,9 @@ */ totlen = 0; while (totlen < req_hdr.lcrpc_reqhdr_datalen) { - len = lcs_recv(lchp, buffer + totlen, - req_hdr.lcrpc_reqhdr_datalen - totlen, MSG_WAITALL); + len = _lc_recv(lchp->lch_fd_sock, buffer + totlen, + req_hdr.lcrpc_reqhdr_datalen - totlen, MSG_WAITALL, + LC_IGNOREEINTR); if (len < 0) { error = errno; if (fdp != NULL) @@ -209,10 +212,11 @@ * Send our header. */ if (fdp != NULL) - len = lcs_send_rights(lchp, &rep_hdr, sizeof(rep_hdr), 0, - fdp, fdcount); + len = _lc_send_rights(lchp->lch_fd_sock, &rep_hdr, + sizeof(rep_hdr), 0, LC_IGNOREEINTR, fdp, fdcount); else - len = lcs_send(lchp, &rep_hdr, sizeof(rep_hdr), 0); + len = _lc_send(lchp->lch_fd_sock, &rep_hdr, sizeof(rep_hdr), + 0, LC_IGNOREEINTR); if (len < 0) return (-1); if (len != sizeof(rep_hdr)) { @@ -224,7 +228,8 @@ * Send user data. */ for (i = 0; i < repcount; i++) { - len = lcs_send(lchp, rep[i].iov_base, rep[i].iov_len, 0); + len = _lc_send(lchp->lch_fd_sock, rep[i].iov_base, + rep[i].iov_len, 0, LC_IGNOREEINTR); if (len < 0) return (-1); if ((size_t)len != rep[i].iov_len) { From owner-p4-projects@FreeBSD.ORG Mon Jun 15 10:17:26 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9637A1065676; Mon, 15 Jun 2009 10:17:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5427A1065673 for ; Mon, 15 Jun 2009 10:17:26 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 40DD68FC1B for ; Mon, 15 Jun 2009 10:17:26 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FAHQdx062016 for ; Mon, 15 Jun 2009 10:17:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FAHQL2062014 for perforce@freebsd.org; Mon, 15 Jun 2009 10:17:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 10:17:26 GMT Message-Id: <200906151017.n5FAHQL2062014@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164411 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 10:17:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=164411 Change 164411 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 10:16:38 Hook up symlinks for constituent function of libcapability.3 and libcapability_io.3. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#10 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#10 (text+ko) ==== @@ -19,6 +19,28 @@ MAN= libcapability.3 MAN+= libcapability_io.3 -MLINKS= libcapability.3 libcapabilitym.3 +MLINKS= libcapability.3 libcapabilitym.3 \ + libcapability.3 lc_limitfd.3 \ + libcapability.3 lch_start.3 \ + libcapability.3 lch_start_flags.3 \ + libcapability.3 lch_startfd.3 \ + libcapability.3 lch_startfd_flags.3 \ + libcapability.3 lch_stop.3 \ + libcapability.3 lch_getsock.3 \ + libcapability.3 lch_getpid.3 \ + libcapability.3 lch_getprocdesc.3 \ + libcapability.3 lcs_get.3 \ + libcapability.3 lcs_getsock.3 \ + libcapability_io.3 lch_recv.3 \ + libcapability_io.3 lch_recv_rights.3 \ + libcapability_io.3 lch_rpc.3 \ + libcapability_io.3 lch_send.3 \ + libcapability_io.3 lch_send_rights.3 \ + libcapability_io.3 lcs_recv.3 \ + libcapability_io.3 lcs_recv_rights.3 \ + libcapability_io.3 lcs_recvrpc.3 \ + libcapability_io.3 lcs_send.3 \ + libcapability_io.3 lcs_send_rights.3 \ + libcapability_io.3 lcs_sendrpc.3 .include From owner-p4-projects@FreeBSD.ORG Mon Jun 15 10:19:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D07911065691; Mon, 15 Jun 2009 10:19:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 84A26106568E for ; Mon, 15 Jun 2009 10:19:28 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 70B638FC0A for ; Mon, 15 Jun 2009 10:19:28 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FAJSIX062145 for ; Mon, 15 Jun 2009 10:19:28 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FAJSeo062143 for perforce@freebsd.org; Mon, 15 Jun 2009 10:19:28 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 10:19:28 GMT Message-Id: <200906151019.n5FAJSeo062143@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164412 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 10:19:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=164412 Change 164412 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 10:18:54 Fix variable name -- a pointer to an int, not an int. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#17 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#17 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#16 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#17 $ */ #ifndef _LIBCAPABILITY_H_ @@ -89,7 +89,7 @@ int lch_rpc_rights(struct lc_sandbox *lcsp, u_int32_t opno, struct iovec *req, int reqcount, int *req_fdp, int req_fdcount, struct iovec *rep, int repcount, size_t *replenp, int *rep_fdp, - int *rep_fdcount); + int *rep_fdcountp); /* * Interfaces to query state from within capability mode sandboxes. From owner-p4-projects@FreeBSD.ORG Mon Jun 15 11:14:33 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EC978106575B; Mon, 15 Jun 2009 11:14:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 863661065727 for ; Mon, 15 Jun 2009 11:14:24 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 638818FC19 for ; Mon, 15 Jun 2009 11:14:24 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FBEONH074986 for ; Mon, 15 Jun 2009 11:14:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FBEONU074983 for perforce@freebsd.org; Mon, 15 Jun 2009 11:14:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 11:14:24 GMT Message-Id: <200906151114.n5FBEONU074983@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164414 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 11:14:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=164414 Change 164414 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 11:13:40 And _rights RPC function variations to the man page. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_io.3#5 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_io.3#5 (text+ko) ==== @@ -50,6 +50,8 @@ .Fn lch_recv_rights "struct lc_sandbox *lcsp" "void *buf" "size_t len" "int flags" "int *fdp" "int *fdcountp" .Ft int .Fn lch_rpc "struct lc_sandbox *lcsp" "u_int32_t opno" "struct iovec *req" "int reqcount" "struct iovec *rep" "int repcount" "size_t *replenp" +.Ft int +.Fn lch_rpc_rights "struct lc_sandbox *lcsp" "u_int32_t opno" "struct iovec *req" "int reqcount" "int *req_fdp" "int req_fdcount" "struct iovec *rep" "int repcount" "size_t *replenp" "int *rep_fdp" "int *rep_fdcountp" .Ft ssize_t .Fn lch_send "struct lc_sandbox *lcsp" "const void *msg" "size_t len" "int flags" .Ft ssize_t @@ -60,12 +62,16 @@ .Fn lcs_recv_rights "struct lc_host *lchp" "void *buf" "size_t len" "int flags" "int *fdp" "int *fdcountp" .Ft int .Fn lcs_recvrpc "struct lc_host *lchp" "u_int32_t *opnop" "u_int32_t *seqnop" "u_char **bufferp" "size_t *lenp" +.Ft int +.Fn lcs_recvrpc_rights "struct lc_host *lchp" "u_int32_t *opnop" "u_int32_t *seqnop" "u_char **bufferp" "size_t *lenp" "int *fdp" "int *fdcountp" .Ft ssize_t .Fn lcs_send "struct lc_host *lchp" "const void *msg" "size_t len" "int flags" .Ft ssize_t .Fn lcs_send_rights "struct lc_host *lchp" "const void *msg" "size_t len" "int flags" "int *fdp" "int fdcount" .Ft int .Fn lcs_sendrpc "struct lc_host *lchp" "u_int32_t opno" "u_int32_t seqno" "struct iovec *rep" "int repcount" +.Ft int +.Fn lcs_sendrpc_rights "struct lc_host *lchp" "u_int32_t opno" "u_int32_t seqno" "struct iovec *rep" "int repcount" "int *fdp" "int fdcount" .Sh DESCRIPTION The .Nm From owner-p4-projects@FreeBSD.ORG Mon Jun 15 11:14:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0380A106594A; Mon, 15 Jun 2009 11:14:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFCC11065758 for ; Mon, 15 Jun 2009 11:14:24 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 84E2F8FC2A for ; Mon, 15 Jun 2009 11:14:24 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FBEOQc074991 for ; Mon, 15 Jun 2009 11:14:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FBEOXJ074989 for perforce@freebsd.org; Mon, 15 Jun 2009 11:14:24 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 11:14:24 GMT Message-Id: <200906151114.n5FBEOXJ074989@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164415 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 11:15:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=164415 Change 164415 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 11:14:18 Copy libcapability_io.3 to libcapability_sandbox.3 and libcapability_host.3, remove original. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#1 branch .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_io.3#6 delete .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.3#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jun 15 11:19:33 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3334A1065D0C; Mon, 15 Jun 2009 11:19:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 979611065CEB for ; Mon, 15 Jun 2009 11:19:29 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CFAD38FC0C for ; Mon, 15 Jun 2009 11:19:29 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FBJTYs075951 for ; Mon, 15 Jun 2009 11:19:29 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FBJTl3075949 for perforce@freebsd.org; Mon, 15 Jun 2009 11:19:29 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 11:19:29 GMT Message-Id: <200906151119.n5FBJTl3075949@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164416 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 11:19:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=164416 Change 164416 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 11:19:11 Complete libcapability_io.3 break-out. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#11 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.3#18 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#2 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.3#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#11 (text+ko) ==== @@ -18,7 +18,8 @@ WARNS?= 6 MAN= libcapability.3 -MAN+= libcapability_io.3 +MAN+= libcapability_host.3 +MAN+= libcapability_sandbox.3 MLINKS= libcapability.3 libcapabilitym.3 \ libcapability.3 lc_limitfd.3 \ libcapability.3 lch_start.3 \ @@ -31,16 +32,16 @@ libcapability.3 lch_getprocdesc.3 \ libcapability.3 lcs_get.3 \ libcapability.3 lcs_getsock.3 \ - libcapability_io.3 lch_recv.3 \ - libcapability_io.3 lch_recv_rights.3 \ - libcapability_io.3 lch_rpc.3 \ - libcapability_io.3 lch_send.3 \ - libcapability_io.3 lch_send_rights.3 \ - libcapability_io.3 lcs_recv.3 \ - libcapability_io.3 lcs_recv_rights.3 \ - libcapability_io.3 lcs_recvrpc.3 \ - libcapability_io.3 lcs_send.3 \ - libcapability_io.3 lcs_send_rights.3 \ - libcapability_io.3 lcs_sendrpc.3 + libcapability_host.3 lch_recv.3 \ + libcapability_host.3 lch_recv_rights.3 \ + libcapability_host.3 lch_rpc.3 \ + libcapability_host.3 lch_send.3 \ + libcapability_host.3 lch_send_rights.3 \ + libcapability_sandbox.3 lcs_recv.3 \ + libcapability_sandbox.3 lcs_recv_rights.3 \ + libcapability_sandbox.3 lcs_recvrpc.3 \ + libcapability_sandbox.3 lcs_send.3 \ + libcapability_sandbox.3 lcs_send_rights.3 \ + libcapability_sandbox.3 lcs_sendrpc.3 .include ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.3#18 (text+ko) ==== @@ -169,7 +169,7 @@ .Nm implements a number of I/O functions as part of the host API, which are documented in -.Xr libcapability_io 3 . +.Xr libcapability_host 3 . .Sh SANDBOX API The .Nm @@ -189,14 +189,15 @@ .Nm implements a number of I/O functions as part of the sandbox API, which are documented in -.Xr libcapability_io 3 . +.Xr libcapability_sandbox 3 . .Sh SEE ALSO .Xr rpcgen 1 , .Xr cap_enter 2 , .Xr cap_new 2 , .Xr close 2 , .Xr dup2 2 , -.Xr libcapability_io 3 , +.Xr libcapability_host 3 , +.Xr libcapability_sandbox 3 , .Xr unix 4 .Sh HISTORY Support for capabilities and capabilities mode was developed as part of the ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#2 (text+ko) ==== @@ -34,7 +34,7 @@ .\" .Dd June 11, 2009 .Os -.Dt LIBCAPABILITY_IO 3 +.Dt LIBCAPABILITY_HOST 3 .Sh NAME .Nm libcapability .Nd "library interface to capability-mode services" @@ -56,22 +56,6 @@ .Fn lch_send "struct lc_sandbox *lcsp" "const void *msg" "size_t len" "int flags" .Ft ssize_t .Fn lch_send_rights "struct lc_sandbox *lcsp" "const void *msg" "size_t len" "int flags" "int *fdp" "int fdcount" -.Ft ssize_t -.Fn lcs_recv "struct lc_host *lchp" "void *buf" "size_t len" "int flags" -.Ft ssize_t -.Fn lcs_recv_rights "struct lc_host *lchp" "void *buf" "size_t len" "int flags" "int *fdp" "int *fdcountp" -.Ft int -.Fn lcs_recvrpc "struct lc_host *lchp" "u_int32_t *opnop" "u_int32_t *seqnop" "u_char **bufferp" "size_t *lenp" -.Ft int -.Fn lcs_recvrpc_rights "struct lc_host *lchp" "u_int32_t *opnop" "u_int32_t *seqnop" "u_char **bufferp" "size_t *lenp" "int *fdp" "int *fdcountp" -.Ft ssize_t -.Fn lcs_send "struct lc_host *lchp" "const void *msg" "size_t len" "int flags" -.Ft ssize_t -.Fn lcs_send_rights "struct lc_host *lchp" "const void *msg" "size_t len" "int flags" "int *fdp" "int fdcount" -.Ft int -.Fn lcs_sendrpc "struct lc_host *lchp" "u_int32_t opno" "u_int32_t seqno" "struct iovec *rep" "int repcount" -.Ft int -.Fn lcs_sendrpc_rights "struct lc_host *lchp" "u_int32_t opno" "u_int32_t seqno" "struct iovec *rep" "int repcount" "int *fdp" "int fdcount" .Sh DESCRIPTION The .Nm @@ -86,9 +70,11 @@ .Xr rpcgen 1 to build event handling and marshaling code. .Pp -This man page describes these I/O facilities; information on setting up +This man page describes host I/O facilities; information on setting up and managing sandboxes may be found in -.Xr libcapability 3 . +.Xr libcapability 3 ; +information on sandbox I/O facilities may be found in +.Xr libcapability_sandbox 3 . .Sh HOST API .Fn lch_recv and @@ -142,50 +128,6 @@ If the RPC fails, -1 will be returned, or 0 and the size of any reply will be returned by reference using .Va replenp . -.Sh SANDBOX API -.Fn lcs_recv -and -.Fn lcs_send -provide simple wrappers around -.Xr recv 2 -and -.Xr send 2 -to avoid sandboxes having to query host socket file descriptors before use. -.Pp -.Fn lcs_recv_rights -and -.Fn lcs_send_rights -similarly allow receiving and sending file descriptors with messages. -.Pp -.Fn lcs_recvrpc -and -.Fn lcs_sendrpc -may be used to implement a simple RPC system, in coordination with a host -using -.Fn lch_rpc . -.Fn lcs_recvrpc -blocks awaiting the receipt of an RPC request, which will be returned in a -buffer allocated using -.Xr malloc 3 , -.Va bufferp , -and with a data size returned via -.Va lenp . -The caller will also receive an operation number and a sequence number via -.Va opnop -and -.Va seqnop . -.Pp -When an RPC is complete, it should be returned to the host via -.Fn lcs_sendrpc , -which accepts the same operation and sequence number as arguments, as well as -reply data via the -.Vt iovec -.Va rep -and -.Va repcount . -When the sandbox is done with the request data, it should free the memory -using -.Xr free 3 . .Sh SEE ALSO .Xr rpcgen 1 , .Xr recv 2 , @@ -193,6 +135,7 @@ .Xr writev 2 , .Xr free 3 , .Xr libcapability 3 , +.Xr libcapability_sandbox 3 , .Xr malloc 3 , .Xr unix 4 .Sh HISTORY ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.3#2 (text+ko) ==== @@ -34,7 +34,7 @@ .\" .Dd June 11, 2009 .Os -.Dt LIBCAPABILITY_IO 3 +.Dt LIBCAPABILITY_SANDBOX 3 .Sh NAME .Nm libcapability .Nd "library interface to capability-mode services" @@ -45,18 +45,6 @@ .In sys/capability.h .In libcapability.h .Ft ssize_t -.Fn lch_recv "struct lc_sandbox *lcsp, void *buf" "size_t len" "int flags" -.Ft ssize_t -.Fn lch_recv_rights "struct lc_sandbox *lcsp" "void *buf" "size_t len" "int flags" "int *fdp" "int *fdcountp" -.Ft int -.Fn lch_rpc "struct lc_sandbox *lcsp" "u_int32_t opno" "struct iovec *req" "int reqcount" "struct iovec *rep" "int repcount" "size_t *replenp" -.Ft int -.Fn lch_rpc_rights "struct lc_sandbox *lcsp" "u_int32_t opno" "struct iovec *req" "int reqcount" "int *req_fdp" "int req_fdcount" "struct iovec *rep" "int repcount" "size_t *replenp" "int *rep_fdp" "int *rep_fdcountp" -.Ft ssize_t -.Fn lch_send "struct lc_sandbox *lcsp" "const void *msg" "size_t len" "int flags" -.Ft ssize_t -.Fn lch_send_rights "struct lc_sandbox *lcsp" "const void *msg" "size_t len" "int flags" "int *fdp" "int fdcount" -.Ft ssize_t .Fn lcs_recv "struct lc_host *lchp" "void *buf" "size_t len" "int flags" .Ft ssize_t .Fn lcs_recv_rights "struct lc_host *lchp" "void *buf" "size_t len" "int flags" "int *fdp" "int *fdcountp" @@ -86,9 +74,11 @@ .Xr rpcgen 1 to build event handling and marshaling code. .Pp -This man page describes these I/O facilities; information on setting up +This man page describes sandbox I/O facilities; information on setting up and managing sandboxes may be found in -.Xr libcapability 3 . +.Xr libcapability 3 ; +information on host I/O facilities may be found in +.Xr libcapability_host 3 . .Sh HOST API .Fn lch_recv and @@ -193,6 +183,7 @@ .Xr writev 2 , .Xr free 3 , .Xr libcapability 3 , +.Xr libcapability_host 3 , .Xr malloc 3 , .Xr unix 4 .Sh HISTORY From owner-p4-projects@FreeBSD.ORG Mon Jun 15 11:20:37 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 36ECE106592A; Mon, 15 Jun 2009 11:20:32 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 25EEC106587F for ; Mon, 15 Jun 2009 11:20:31 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 05CA98FC19 for ; Mon, 15 Jun 2009 11:20:31 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FBKUa6076118 for ; Mon, 15 Jun 2009 11:20:30 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FBKUC3076116 for perforce@freebsd.org; Mon, 15 Jun 2009 11:20:30 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 11:20:30 GMT Message-Id: <200906151120.n5FBKUC3076116@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164417 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 11:20:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=164417 Change 164417 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 11:20:26 Trim HOST API information from sandbox API man page. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.3#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.3#3 (text+ko) ==== @@ -79,59 +79,6 @@ .Xr libcapability 3 ; information on host I/O facilities may be found in .Xr libcapability_host 3 . -.Sh HOST API -.Fn lch_recv -and -.Fn lch_send -provide simple wrappers around -.Xr recv 2 -and -.Xr send 2 -to avoid sandbox consumers from having to query sandbox socket file -descriptors before use. -.Pp -.Fn lch_recv_rights -and -.Fn lch_send_rights -are similar, but allow file descriptors to be attached the the messages -received and sent. -Both accept a pointer to a file descriptor array, -.Va fdp . -Callers to -.Fn lch_recv_rights -will pass in the length of the array via -.Va fdcountp , -whose value will be changed to the actual number of file descriptors -received. -Callers to -.Fn lch_send_rights -will pass in the number of file descriptors in the array via -Va fdcount . -.Pp -.Fn lch_rpc -provides a simple synchronous RPC facility, and is intended to be used in -coordination with the -.Fn lcs_recvrpc -and -.Fn lcs_sendrpc -sandbox APIs. -The host provides an operation number meaningful to th sandbox, -.Va opno, -RPC arguments represented by -.Va req -and -.Va reqcount -using an -.Vt iovec -in the style of -.Xr writev 2 , -and similar receive buffers passed via -.Va rep -and -.Va repcount . -If the RPC fails, -1 will be returned, or 0 and the size of any reply will be -returned by reference using -.Va replenp . .Sh SANDBOX API .Fn lcs_recv and From owner-p4-projects@FreeBSD.ORG Mon Jun 15 11:38:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 36DB5106566C; Mon, 15 Jun 2009 11:38:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA8E6106566B for ; Mon, 15 Jun 2009 11:38:49 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D60118FC13 for ; Mon, 15 Jun 2009 11:38:49 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FBcn3H079074 for ; Mon, 15 Jun 2009 11:38:49 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FBcnkt079072 for perforce@freebsd.org; Mon, 15 Jun 2009 11:38:49 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 11:38:49 GMT Message-Id: <200906151138.n5FBcnkt079072@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164418 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 11:38:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=164418 Change 164418 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 11:38:21 Push API information on creating and managing sandboxes into host and sandbox man pages. Refine the introduction in libcapability.3. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.3#19 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#3 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.3#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.3#19 (text+ko) ==== @@ -46,63 +46,52 @@ .In libcapability.h .Ft int .Fn lc_limitfd "int fd" "cap_rights_t rights" -.Ft int -.Fn lch_start "const char *sandbox" "char *const argv[]" "struct lc_sandbox **lcsp" -.Ft int -.Fn lch_start_flags "const char *sandbox" "char *const argv[]" "u_int flags" "struct lc_sandbox **lcsp" -.Ft int -.Fn lch_startfd "int fd_sandbox" "char *const argv[]" "struct lc_sandbox **lcsp" -.Ft int -.Fn lch_startfd_flags "int fd_sandbox" "char *const argv[]" "u_int flags" "struct lc_sandbox **lcsp" -.Ft void -.Fn lch_stop "struct lc_sandbox *lcsp" -.Ft int -.Fn lch_getsock "struct lc_sandbox *lcsp" "int *fdp" -.Ft int -.Fn lch_getpid "struct lc_sandbox *lcsp" "pid_t *pidp" -.Ft int -.Fn lch_getprocdesc "struct lc_sandbox *lcsp" "int *fdp" -.Ft int -.Fn lcs_get "struct lc_host **lchpp" -.Ft int -.Fn lcs_getsock "struct lc_host *lchp" "int *fdp" .Sh DESCRIPTION -The +.Nm +implements APIs that allow applications to create, manage, and interact with +sandboxed software services running in capability mode, described in +.Xr cap_enter 2 . +Applications linked against +.Nm +will use one or both of "host" and "sandbox" APIs, depending on whether they +consume or produce sandboxed services. +.Pp +Host processes use the +.Nm +host API, +described in +.Xr libcapability_host 3 , +to launch compartmentalized components in sandboxes. +They may also use .Nm -library routines provide services for processes hosting or running in -capability mode. -Depending on the requirements of the host and sandbox, the API can simply be -used to set up and stop sandboxes, used to manage I/O using a -.Xr unix 4 -domain socket connection to the sandbox, or can provide a basic remote -procedure call (RPC) facility. -Applications may also use RPC generators such as -.Xr rpcgen 1 -to build event handling and marshaling code. -The +to communication with the sandboxed service based on socket I/O or remote +procedure call (RPC). +.Pp +.Pp +Sandbox processes run in capability mode, and are only able to use resources +either assigned to the sandbox during creation, or later explicitly passed to +the process. +Sandbox processes use the .Nm -library comes in two variations: +sandbox API, +described in +.Xr libcapability_sandbox 3 . +Sandboxed processes themselves may launch software components in further +sandboxes, so a single program may use both host and sandbox APIs. +.Pp +Applications will link against one of two versions of the library: .Pp .Nm libcapability -loads binaries, and supporting libraries, for sandboxes from the UNIX -filesystem namespace by path. -It implements four start functions: -.Fn lch_start , -.Fn lch_start_flags , -.Fn lch_startfd , -and -.Fn lch_startfd_flags . +is intended to run in an unsandboxed environment, and is appropriate for use +by application running with full user privileges. +It relies on the UNIX file system namespace to load software components that +will be executed in sandboxes. .Pp .Nm libcapabilitym -loads binaries, and supporting libraries, for sandboxes from the library -descriptor cache maintained by -.Xr rtld-elf-cap 1 -It implements only the two start functions accepting file descriptor -arguments: -.Fn lch_startfd , -and -.Fn lch_startfd_flags . -.Pp +is intended to run in a sandboxed environment, and loads binaries and +supporting libraries for sandboxes from the library descriptor cache +maintained by +.Xr rtld-elf-cap 1 . .Sh CAPABILITY API .Fn lc_limitfd is a wrapper around @@ -112,84 +101,6 @@ .Xr close 2 . which takes an existing file descriptor and replaces it with a capability with the requested rights mask. -.Sh HOST API -The -.Nm -host API allows processes to start, stop, and manage sandboxes running in -capability mode. -Host API functions can be identified by their function name prefix, -.Dv lch_ . -.Pp -Each executing sandbox instance is described by an opaque -.Dt "struct lc_sandbox" , -which is returned by -.Fn lch_start -and -.Fn lch_start_flags -for successfully started sandboxes, and passed into other APIs to indicate -which sandbox should be acted on. -Both calls create new executing sandboxes, given the name of the sandbox -binary via -.Va sandbox , -and command line arguments -.Va argv . -.Pp -.Fn lch_start_flags -accepts an optional flags field to fine-tune aspects of sandbox operation; -the only currently defined flag is -.Dv LCH_PERMIT_STDERR , -which allows the sandbox to write to the current process's -.Dv stderr . -By default, this is not permitted. -.Pp -Two further variations to start sandboxes are also defined, -.Fn lch_startfd -and -.Fn lch_startfd_flags , -which accept a file descriptor argument, -.Va fd_sandbox , -rather than a path. -.Pp -Executing sandboxes may be stopped (and all state freed) using -.Fn lch_stop . -Following a call to -.Fn lch_stop , -the -.Va lchp -argument will no longer be valid. -.Pp -Properties of the sandbox, such as the socket used to communicate with it, -the proces descriptor for the sandbox process, and the pid, may be queried -using -.Fn lch_getsock , -.Fn lch_getprocdesc , -and -.Fn lch_getpid . -.Pp -.Nm -implements a number of I/O functions as part of the host API, which are -documented in -.Xr libcapability_host 3 . -.Sh SANDBOX API -The -.Nm -sandbox API allows sandbox processes to interact with their host process. -Sandbox API functions can be identified by their function name prefix, -.Dv lcs_ . -.Pp -Each executing sandbox will have a single corresponding host instance, -described by an opaque -.Dt "struct lc_host" , -which is returned by -.Fn lcs_get . -.Pp -The socket for the host may be queried using -.Fn lcs_getsock . -.Pp -.Nm -implements a number of I/O functions as part of the sandbox API, which are -documented in -.Xr libcapability_sandbox 3 . .Sh SEE ALSO .Xr rpcgen 1 , .Xr cap_enter 2 , ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#3 (text+ko) ==== @@ -44,6 +44,22 @@ .In sys/types.h .In sys/capability.h .In libcapability.h +.Ft int +.Fn lch_start "const char *sandbox" "char *const argv[]" "struct lc_sandbox **lcsp" +.Ft int +.Fn lch_start_flags "const char *sandbox" "char *const argv[]" "u_int flags" "struct lc_sandbox **lcsp" +.Ft int +.Fn lch_startfd "int fd_sandbox" "char *const argv[]" "struct lc_sandbox **lcsp" +.Ft int +.Fn lch_startfd_flags "int fd_sandbox" "char *const argv[]" "u_int flags" "struct lc_sandbox **lcsp" +.Ft void +.Fn lch_stop "struct lc_sandbox *lcsp" +.Ft int +.Fn lch_getsock "struct lc_sandbox *lcsp" "int *fdp" +.Ft int +.Fn lch_getpid "struct lc_sandbox *lcsp" "pid_t *pidp" +.Ft int +.Fn lch_getprocdesc "struct lc_sandbox *lcsp" "int *fdp" .Ft ssize_t .Fn lch_recv "struct lc_sandbox *lcsp, void *buf" "size_t len" "int flags" .Ft ssize_t @@ -70,12 +86,71 @@ .Xr rpcgen 1 to build event handling and marshaling code. .Pp -This man page describes host I/O facilities; information on setting up -and managing sandboxes may be found in -.Xr libcapability 3 ; -information on sandbox I/O facilities may be found in +This man page describes the host API. +General information on +.Nm +may be found in +.Xr libcapability 3. +Information on the sandbox API may be found in .Xr libcapability_sandbox 3 . .Sh HOST API +The +.Nm +host API allows processes to start, stop, and manage sandboxes running in +capability mode. +Host API functions can be identified by their function name prefix, +.Dv lch_ . +.Pp +Each executing sandbox instance is described by an opaque +.Dt "struct lc_sandbox" , +which is returned by +.Fn lch_start +and +.Fn lch_start_flags +for successfully started sandboxes, and passed into other APIs to indicate +which sandbox should be acted on. +Both calls create new executing sandboxes, given the name of the sandbox +binary via +.Va sandbox , +and command line arguments +.Va argv . +.Pp +.Fn lch_start_flags +accepts an optional flags field to fine-tune aspects of sandbox operation; +the only currently defined flag is +.Dv LCH_PERMIT_STDERR , +which allows the sandbox to write to the current process's +.Dv stderr . +By default, this is not permitted. +.Pp +Two further variations to start sandboxes are also defined, +.Fn lch_startfd +and +.Fn lch_startfd_flags , +which accept a file descriptor argument, +.Va fd_sandbox , +rather than a path. +.Pp +Executing sandboxes may be stopped (and all state freed) using +.Fn lch_stop . +Following a call to +.Fn lch_stop , +the +.Va lchp +argument will no longer be valid. +.Pp +Properties of the sandbox, such as the socket used to communicate with it, +the proces descriptor for the sandbox process, and the pid, may be queried +using +.Fn lch_getsock , +.Fn lch_getprocdesc , +and +.Fn lch_getpid . +.Pp +.Nm +implements a number of I/O functions as part of the host API, which are +documented in +.Xr libcapability_host 3 . .Fn lch_recv and .Fn lch_send ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.3#4 (text+ko) ==== @@ -44,6 +44,10 @@ .In sys/types.h .In sys/capability.h .In libcapability.h +.Ft int +.Fn lcs_get "struct lc_host **lchpp" +.Ft int +.Fn lcs_getsock "struct lc_host *lchp" "int *fdp" .Ft ssize_t .Fn lcs_recv "struct lc_host *lchp" "void *buf" "size_t len" "int flags" .Ft ssize_t @@ -74,12 +78,31 @@ .Xr rpcgen 1 to build event handling and marshaling code. .Pp -This man page describes sandbox I/O facilities; information on setting up -and managing sandboxes may be found in -.Xr libcapability 3 ; -information on host I/O facilities may be found in -.Xr libcapability_host 3 . +This man page describes the sandbox API. +General information on +.Nm +may be found in +.Xr libcapability 3. .Sh SANDBOX API +The +.Nm +sandbox API allows sandbox processes to interact with their host process. +Sandbox API functions can be identified by their function name prefix, +.Dv lcs_ . +.Pp +Each executing sandbox will have a single corresponding host instance, +described by an opaque +.Dt "struct lc_host" , +which is returned by +.Fn lcs_get . +.Pp +The socket for the host may be queried using +.Fn lcs_getsock . +.Pp +.Nm +implements a number of I/O functions as part of the sandbox API, which are +documented in +.Xr libcapability_sandbox 3 . .Fn lcs_recv and .Fn lcs_send @@ -140,13 +163,6 @@ .Sh BUGS WARNING: THIS IS EXPERIMENTAL SECURITY SOFTWARE THAT MUST NOT BE RELIED ON IN PRODUCTION SYSTEMS. IT WILL BREAK YOUR SOFTWARE IN NEW AND UNEXPECTED WAYS. -.Pp -All sequence numbers will always have the value 0. -This is fine from a retransmission perspective, as generally no -retransmission should be required, but consumers should serialize use of the -RPC service when consuming it from concurrent callers (such as multiple -threads or multiple processes) to prevent I/O interlacing from corrupting the -RPC stream. .Sh AUTHORS These functions and the capability facility were created by .An "Robert N. M. Watson" From owner-p4-projects@FreeBSD.ORG Mon Jun 15 12:14:26 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D69E1065674; Mon, 15 Jun 2009 12:14:26 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D748106564A for ; Mon, 15 Jun 2009 12:14:26 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D61508FC12 for ; Mon, 15 Jun 2009 12:14:25 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FCEPxf086301 for ; Mon, 15 Jun 2009 12:14:25 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FCEPDX086299 for perforce@freebsd.org; Mon, 15 Jun 2009 12:14:25 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Mon, 15 Jun 2009 12:14:25 GMT Message-Id: <200906151214.n5FCEPDX086299@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 164419 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 12:14:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=164419 Change 164419 by zhaoshuai@zhaoshuai on 2009/06/15 12:14:15 -format pr_116770.c -add a header file in pr_76525.c to remove compile warnings Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/functionality/pr_116770.c#2 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/pr_76525.c#3 edit Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/functionality/pr_116770.c#2 (text+ko) ==== @@ -21,59 +21,59 @@ int main(void) { - int rfd,wfd,qfd,n; + int rfd, wfd, qfd, n; static struct timespec zero; struct kevent kev; char fifopath[64]; sprintf(fifopath,"/tmp/less-than-useful.%ld",(long)getpid()); - if (mkfifo(fifopath,S_IRUSR|S_IWUSR)==-1) { + if (mkfifo(fifopath, S_IRUSR | S_IWUSR) == -1) { perror("mkfifo"); return 1; } - rfd=open(fifopath,O_RDONLY|O_NONBLOCK); - if (rfd==-1) { + rfd = open(fifopath, O_RDONLY | O_NONBLOCK); + if (rfd == -1) { perror("open 1"); goto cleanup; } - qfd=kqueue(); - if (qfd==-1) { + qfd = kqueue(); + if (qfd == -1) { perror("kqueue"); goto cleanup; } - EV_SET(&kev,rfd,EVFILT_READ,EV_ADD,0,0,NULL); - n=kevent(qfd,&kev,1,NULL,0,&zero); - if (n==-1) { + EV_SET(&kev, rfd, EVFILT_READ, EV_ADD, 0, 0, NULL); + n = kevent(qfd, &kev, 1, NULL, 0, &zero); + if (n == -1) { perror("kevent 1"); goto cleanup; } - n=kevent(qfd,NULL,0,&kev,1,&zero); - if (n==-1) { + n = kevent(qfd, NULL, 0, &kev, 1, &zero); + if (n == -1) { perror("kevent 2"); goto cleanup; } - if (n==1 && (kev.flags & EV_EOF)) { + if (n == 1 && (kev.flags & EV_EOF)) { fputs("Immediate EOF (not useful)\n",stderr); } - wfd=open(fifopath,O_WRONLY); - if (wfd==-1) { + wfd = open(fifopath, O_WRONLY); + if (wfd == -1) { perror("open 2"); goto cleanup; } - n=kevent(qfd,NULL,0,&kev,1,&zero); - if (n==-1) { + n = kevent(qfd, NULL, 0, &kev, 1, &zero); + if (n == -1) { perror("kevent 3"); goto cleanup; } - if (n==1 && (kev.flags & EV_EOF)) { + if (n == 1 && (kev.flags & EV_EOF)) { fputs("EOF while there's still a writer (BUG!)\n",stderr); } close(wfd); - n=kevent(qfd,NULL,0,&kev,1,&zero); - if (n==-1) { + n = kevent(qfd, NULL, 0, &kev, 1, &zero); + if (n == -1) { perror("kevent 4"); goto cleanup; } ==== //depot/projects/soc2009/fifo/fifo_test/functionality/pr_76525.c#3 (text+ko) ==== @@ -142,6 +142,7 @@ */ #include +#include #include #include #include From owner-p4-projects@FreeBSD.ORG Mon Jun 15 12:34:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 169C11065680; Mon, 15 Jun 2009 12:34:47 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C7F69106567D for ; Mon, 15 Jun 2009 12:34:46 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B54198FC21 for ; Mon, 15 Jun 2009 12:34:46 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FCYkTV091769 for ; Mon, 15 Jun 2009 12:34:46 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FCYkqk091767 for perforce@freebsd.org; Mon, 15 Jun 2009 12:34:46 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 12:34:46 GMT Message-Id: <200906151234.n5FCYkqk091767@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164421 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 12:34:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=164421 Change 164421 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 12:33:59 Add host/sandbox test app for sending and receiving a file descriptor between a host and a sandbox. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv_host/Makefile#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv_host/fdsendrecv_host.c#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv_sandbox/Makefile#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv_sandbox/fdsendrecv_sandbox.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jun 15 12:50:03 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A6C031065676; Mon, 15 Jun 2009 12:50:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5B20D106566C for ; Mon, 15 Jun 2009 12:50:02 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 45DB38FC13 for ; Mon, 15 Jun 2009 12:50:02 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FCo2tx005232 for ; Mon, 15 Jun 2009 12:50:02 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FCo2Pw005230 for perforce@freebsd.org; Mon, 15 Jun 2009 12:50:02 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Mon, 15 Jun 2009 12:50:02 GMT Message-Id: <200906151250.n5FCo2Pw005230@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 164422 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 12:50:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=164422 Change 164422 by zhaoshuai@zhaoshuai on 2009/06/15 12:49:04 add FIFO kqueue/kevent test, fatal bug in fifo_kqfilter_f()! Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#6 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/kqueue.c#1 add Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/functionality/Makefile#6 (text+ko) ==== @@ -1,5 +1,5 @@ -OBJS = rdwr reader1 reader2 writer1 bidirection1 bidirection2 select \ - poll pr_74242_speak pr_74242_tick pr_76144 pr_94772 pr_116770 \ +OBJS = rdwr reader1 reader2 writer1 bidirection1 bidirection2 select poll \ + kqueue pr_74242_speak pr_74242_tick pr_76144 pr_94772 pr_116770 \ pr_76525 all : $(OBJS) @@ -12,6 +12,7 @@ bidirection2 : bidirection2.c select : select.c poll : poll.c +kqueue : kqueue.c pr_74242_speak : pr_74242_speak.c pr_74242_tick : pr_74242_tick.c pr_76144 : pr_76144.c From owner-p4-projects@FreeBSD.ORG Mon Jun 15 12:57:10 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EEE1F1065676; Mon, 15 Jun 2009 12:57:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A847C1065672 for ; Mon, 15 Jun 2009 12:57:09 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 953188FC1E for ; Mon, 15 Jun 2009 12:57:09 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FCv93X005768 for ; Mon, 15 Jun 2009 12:57:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FCv9kH005766 for perforce@freebsd.org; Mon, 15 Jun 2009 12:57:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 12:57:09 GMT Message-Id: <200906151257.n5FCv9kH005766@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164423 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 12:57:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=164423 Change 164423 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 12:56:41 Add fdrpc host and sandbox -- example use of libcapability RPC to pass file descriptors. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc_host/Makefile#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc_host/fdrpc_host.c#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc_sandbox/Makefile#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc_sandbox/fdrpc_sandbox.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jun 15 13:04:17 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 76AB6106567A; Mon, 15 Jun 2009 13:04:17 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2F4131065673 for ; Mon, 15 Jun 2009 13:04:17 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1308C8FC1B for ; Mon, 15 Jun 2009 13:04:17 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FD4GQ8007444 for ; Mon, 15 Jun 2009 13:04:16 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FD4GZi007442 for perforce@freebsd.org; Mon, 15 Jun 2009 13:04:16 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 15 Jun 2009 13:04:16 GMT Message-Id: <200906151304.n5FD4GZi007442@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164425 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 13:04:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=164425 Change 164425 by rwatson@rwatson_freebsd_capabilities on 2009/06/15 13:03:56 Document (briefly) the file descriptor-passing variants of libcapability RPC functions. Update MLINKS. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#12 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#4 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.3#5 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#12 (text+ko) ==== @@ -22,26 +22,29 @@ MAN+= libcapability_sandbox.3 MLINKS= libcapability.3 libcapabilitym.3 \ libcapability.3 lc_limitfd.3 \ - libcapability.3 lch_start.3 \ - libcapability.3 lch_start_flags.3 \ - libcapability.3 lch_startfd.3 \ - libcapability.3 lch_startfd_flags.3 \ - libcapability.3 lch_stop.3 \ - libcapability.3 lch_getsock.3 \ - libcapability.3 lch_getpid.3 \ - libcapability.3 lch_getprocdesc.3 \ - libcapability.3 lcs_get.3 \ - libcapability.3 lcs_getsock.3 \ + libcapability_host.3 lch_start.3 \ + libcapability_host.3 lch_start_flags.3 \ + libcapability_host.3 lch_startfd.3 \ + libcapability_host.3 lch_startfd_flags.3 \ + libcapability_host.3 lch_stop.3 \ + libcapability_host.3 lch_getsock.3 \ + libcapability_host.3 lch_getpid.3 \ + libcapability_host.3 lch_getprocdesc.3 \ libcapability_host.3 lch_recv.3 \ libcapability_host.3 lch_recv_rights.3 \ libcapability_host.3 lch_rpc.3 \ + libcapability_host.3 lch_rpc_rights.3 \ libcapability_host.3 lch_send.3 \ libcapability_host.3 lch_send_rights.3 \ + libcapability_sandbox.3 lcs_get.3 \ + libcapability_sandbox.3 lcs_getsock.3 \ libcapability_sandbox.3 lcs_recv.3 \ libcapability_sandbox.3 lcs_recv_rights.3 \ libcapability_sandbox.3 lcs_recvrpc.3 \ + libcapability_sandbox.3 lcs_recvrpc_rights.3 \ libcapability_sandbox.3 lcs_send.3 \ libcapability_sandbox.3 lcs_send_rights.3 \ - libcapability_sandbox.3 lcs_sendrpc.3 + libcapability_sandbox.3 lcs_sendrpc.3 \ + libcapability_sandbox.3 lcs_sendrpc_rights.3 .include ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#4 (text+ko) ==== @@ -186,7 +186,7 @@ and .Fn lcs_sendrpc sandbox APIs. -The host provides an operation number meaningful to th sandbox, +The host provides an operation number meaningful to the sandbox, .Va opno, RPC arguments represented by .Va req @@ -203,6 +203,9 @@ If the RPC fails, -1 will be returned, or 0 and the size of any reply will be returned by reference using .Va replenp . +.Nm lch_rpc_rights +allows the sending and receiving of file descriptors as part of the RPC +operation. .Sh SEE ALSO .Xr rpcgen 1 , .Xr recv 2 , ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.3#5 (text+ko) ==== @@ -146,6 +146,10 @@ When the sandbox is done with the request data, it should free the memory using .Xr free 3 . +.Nm lcs_recvrpc_rights +and +.Nm lcs_sendrpc_rights +allow the receiving and sending of file descriptors along with the RPC. .Sh SEE ALSO .Xr rpcgen 1 , .Xr recv 2 , From owner-p4-projects@FreeBSD.ORG Mon Jun 15 13:42:59 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF5481065672; Mon, 15 Jun 2009 13:42:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B959106564A for ; Mon, 15 Jun 2009 13:42:57 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8935A8FC1A for ; Mon, 15 Jun 2009 13:42:57 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FDgvNe020817 for ; Mon, 15 Jun 2009 13:42:57 GMT (envelope-from fangwang@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FDgvPu020815 for perforce@freebsd.org; Mon, 15 Jun 2009 13:42:57 GMT (envelope-from fangwang@FreeBSD.org) Date: Mon, 15 Jun 2009 13:42:57 GMT Message-Id: <200906151342.n5FDgvPu020815@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to fangwang@FreeBSD.org using -f From: Fang Wang To: Perforce Change Reviews Cc: Subject: PERFORCE change 164426 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 13:42:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=164426 Change 164426 by fangwang@fangwang_utobsd on 2009/06/15 13:42:34 Finish basic function. Hope it can work. There still are many details needs to modify according to RFC5482. Affected files ... .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_input.c#4 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_output.c#6 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_subr.c#4 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#4 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.h#4 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.c#3 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.h#4 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_usrreq.c#2 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_var.h#9 edit Differences ... ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_input.c#4 (text+ko) ==== @@ -1187,6 +1187,16 @@ (thflags & TH_SYN) ? TO_SYN : 0); /* + * If TCP user timeout option is received, because it's an + * optional option, we do nothing at this moment. And we will + * process when we need retransmission in synchronized states. + */ + if (to.to_flags & TOF_UTO) { + tp->uto_flags |= TCPUTO_RCVD; + tp->rcv_uto = to.to_uto; + } + + /* * If echoed timestamp is later than the current time, * fall back to non RFC1323 RTT calculation. Normalize * timestamp if syncookies were used when this connection @@ -1197,6 +1207,12 @@ if (TSTMP_GT(to.to_tsecr, ticks)) to.to_tsecr = 0; } + if (tp->uto_flags & TCPUTO_SENDING) + if (th->th_ack > tp->uto_carrier) { + tp->uto_flags &= ~TCPUTO_SENDING; + tp->uto_flags |= TCPUTO_SENT; + } + /* * Process options only when we get SYN/ACK back. The SYN case @@ -1226,10 +1242,6 @@ if ((tp->t_flags & TF_SACK_PERMIT) && (to.to_flags & TOF_SACKPERM) == 0) tp->t_flags &= ~TF_SACK_PERMIT; - if (to.to_flags & TOF_UTO) { - tp->t_flags |= TF_RCVD_UTO; - tp->rcv_uto = to.to_uto; - } } /* @@ -2952,7 +2964,7 @@ continue; to->to_flags |= TOF_UTO; bcopy((char *)cp + 2, - (char *)&to->to_uto, sizeof(uto_load)); + (char *)&to->to_uto, sizeof(to->to_uto)); to->to_uto = ntohs(to->to_uto); break; default: ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_output.c#6 (text+ko) ==== @@ -696,9 +696,27 @@ if (tp->t_flags & TF_SIGNATURE) to.to_flags |= TOF_SIGNATURE; #endif /* TCP_SIGNATURE */ + /* + * We put UTO option in tcp header in two case: the segment + * is a SYN or SYN | ACK segment, or the segment is a normal + * data segment. + */ + if (flags & TH_SYN || (len && (tp->t_flags & ~TF_FORCEDATA) == 0)) + if (tp->uto_flags & (TCPUTO_NEED | TCPUTO_SENDING)) { + to.to_uto = tp->snd_uto; + to.to_flags |= TOF_UTO; + } /* Processing the options. */ hdrlen += optlen = tcp_addoptions(&to, opt); + + /* Check whether we place UTO in TCP header successfully */ + if (tp->uto_flags & (TCPUTO_NEED | TCPUTO_SENDING) && + (to.to_flags & TOF_UTO) == 0) { + tp->uto_flags &= ~(TCPUTO_NEED | TCPUTO_SENDING); + tp->uto_flags |= TCPUTO_SENDING; + tp->uto_carrier = tp->snd_nxt + len; + } } #ifdef INET6 @@ -1327,8 +1345,11 @@ * we only have 10 bytes for SACK options (40 - (12 + 18)). * * There is a new tcp option UTO (user timeout, defined in RFC 5482), the - * UTO option is a optional option. So we attach the UTO option only when - * there are enough free space in the TCP header. + * UTO option is an optional option. So we attach the UTO option only when + * there are enough free space in the TCP header. Although UTO is optional, + * we still should try our best to transmit it, so we need some way to + * notify whether UTO was placed into TCP header. We do this through remove + * TOF_UTO bit from to_flags. */ int tcp_addoptions(struct tcpopt *to, u_char *optp) @@ -1453,6 +1474,7 @@ optlen += TCPOLEN_UTO; bcopy((u_char *)&to->to_uto, optp, sizeof(to->to_uto)); optp += sizeof(to->to_uto); + to->to_flags &= ~TOF_UTO; break; } default: ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_subr.c#4 (text+ko) ==== @@ -741,11 +741,12 @@ tp->t_rcvtime = ticks; tp->t_bw_rtttime = ticks; /* - * Init TCP user timeout (RFC5482) variables. We don't use UTO by default, - * but we make it available if a UTO request received or set it through + * Init TCP user timeout (RFC5482) variables. We don't enable UTO by default, + * but we make it available if a UTO request is received or set through * setsockopt system call. */ - tp->uto_flag = UTO_ENABLE | UTO_CHANGEABLE + tp->uto_flags = TCPUTO_ENABLE | TCPUTO_CHANGEABLE; + tp->t_uto_adv = 64 * 4; /* * IPv4 TTL initialization is necessary for an IPv6 socket as well, * because the socket may be bound to an IPv6 wildcard address, ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#4 (text+ko) ==== @@ -772,9 +772,13 @@ #endif if (sc->sc_flags & SCF_SACK) tp->t_flags |= TF_SACK_PERMIT; - if (sc->sc_flags & SCF_UTO) { - tp->t_flags |= TF_RCVD_UTO; - tp->rcv_uto = sc->sc_uto; + if (sc->sc_flags & SCF_RCVD_UTO) { + tp->uto_flags |= TCPUTO_RCVD; + tp->rcv_uto = sc->sc_peer_uto; + } + if (sc->sc_flags & SCF_SENT_UTO) { + tp->uto_flags |= TCPUTO_SENT; + tp->snd_uto = sc->sc_uto; } } @@ -1214,8 +1218,12 @@ if ((th->th_flags & (TH_ECE|TH_CWR)) && V_tcp_do_ecn) sc->sc_flags |= SCF_ECN; if (to->to_flags & TOF_UTO) { - sc->sc_uto = to->to_uto; - sc->sc_flags |= SCF_UTO; + sc->sc_peer_uto = to->to_uto; + sc->sc_flags |= SCF_RCVD_UTO; + } + if (tp->uto_flags & TCPUTO_NEED) { + sc->sc_uto = tp->snd_uto; + sc->sc_flags = SCF_UTO; } if (V_tcp_syncookies) { @@ -1390,6 +1398,11 @@ } optlen = tcp_addoptions(&to, (u_char *)(th + 1)); + if ((to->to_flags & TOF_UTO) == 0 && + (sc->sc_flags & SCF_UTO) == 1) { + sc->sc_flags &= ~SCF_UTO; + sc->sc_flags |= SCF_SENT_UTO; + } /* Adjust headers by option size. */ th->th_off = (sizeof(struct tcphdr) + optlen) >> 2; ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.h#4 (text+ko) ==== @@ -69,7 +69,8 @@ u_int8_t sc_ip_tos; /* IPv4 TOS */ u_int8_t sc_requested_s_scale:4, sc_requested_r_scale:4; - u_int16_t sc_uto; /* user timeout */ + u_int16_t sc_peer_uto; /* peer's user timeout */ + u_int16_t sc_uto; /* our user timeout to send */ u_int16_t sc_flags; #ifndef TCP_OFFLOAD_DISABLE struct toe_usrreqs *sc_tu; /* TOE operations */ @@ -93,6 +94,8 @@ #define SCF_SACK 0x80 /* send SACK option */ #define SCF_ECN 0x100 /* send ECN setup packet */ #define SCF_UTO 0x200 /* send UTO option */ +#define SCF_RCVD_UTO 0x400 /* received UTO option */ +#define SCF_SENT_UTO 0x800 /* send UTO option successfully */ #define SYNCOOKIE_SECRET_SIZE 8 /* dwords */ #define SYNCOOKIE_LIFETIME 16 /* seconds */ ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.c#3 (text+ko) ==== @@ -159,6 +159,8 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, timer_race, CTLFLAG_RD, &tcp_timer_race, 0, "Count of t_inpcb races on tcp_discardcb"); +static int tcp_timer_uto_interval(struct tcpcb *); + /* * TCP timer processing. */ @@ -445,7 +447,25 @@ INP_INFO_WUNLOCK(&V_tcbinfo); CURVNET_RESTORE(); } +static int +tcp_timer_uto_interval(struct tcpcb *tp) +{ + int rxtcur; + int rxttimes; + int rexmt; + int interval; + + rxttimes = min(TCP_MAXRXTSHIFT, tp->t_rxtshift); + rexmt = TCP_REXMTVAL(tp) * tcp_backoff[rxttimes]; + TCPT_RANGESET(rxtcur, rexmt, tp->t_rttmin, TCPTV_REXMTMAX); + interval = rxtcur / TCP_REXMTVAL(tp); + if (tp->t_uto_left - interval < 0) + interval = tp->t_uto_left; + tp->t_uto_left -= interval; + + return (interval); +} void tcp_timer_rexmt(void * xtp) { @@ -491,7 +511,8 @@ * been acked within retransmit interval. Back off * to a longer retransmit interval and retransmit one segment. */ - if (++tp->t_rxtshift > TCP_MAXRXTSHIFT) { + if ((++tp->t_rxtshift > TCP_MAXRXTSHIFT && (tp->uto_flags & TCPUTO_IMPL) == 0) || + (tp->t_uto_left == 0 && tp->uto_flags & TCPUTO_IMPL) { tp->t_rxtshift = TCP_MAXRXTSHIFT; TCPSTAT_INC(tcps_timeoutdrop); tp = tcp_drop(tp, tp->t_softerror ? @@ -518,12 +539,31 @@ else tp->t_flags &= ~TF_WASFRECOVERY; tp->t_badrxtwin = ticks + (tp->t_srtt >> (TCP_RTT_SHIFT + 1)); + + if (tp->uto_flags & TCPUTO_ENABLE && (tp->uto_flags & TCPUTO_SET || + (tp->uto_flags & TCPUTO_PEER_SET) == TCPUTO_PEER_SET)) { + u_int utoval; + if (tp->uto_flags & TCPUTO_SET) { + TCP_UTOVAL(utoval, tp->snd_uto); + tp->t_uto_impl = min(tcp_uto_min, max(utoval, tcp_uto_max)); + } else { + TCP_UTOVAL(utoval, tp->rcv_uto); + tp->t_uto_impl = min(tcp_uto_max, + max(tp->t_uto_adv, max(utoval, tcp_uto_min))); + } + tp->uto_flags |= TCPUTO_IMPL; + } + tp->t_uto_left = tp->t_uto_impl; } TCPSTAT_INC(tcps_rexmttimeo); if (tp->t_state == TCPS_SYN_SENT) rexmt = TCP_REXMTVAL(tp) * tcp_syn_backoff[tp->t_rxtshift]; else - rexmt = TCP_REXMTVAL(tp) * tcp_backoff[tp->t_rxtshift]; + if ((tp->uto_flags & TCPUTO_IMPL) == 0) + rexmt = TCP_REXMTVAL(tp) * tcp_backoff[tp->t_rxtshift]; + else + rexmt = TCP_REXMTVAL(tp) * tcp_timer_uto_interval(tp); + TCPT_RANGESET(tp->t_rxtcur, rexmt, tp->t_rttmin, TCPTV_REXMTMAX); /* ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.h#4 (text+ko) ==== @@ -171,6 +171,8 @@ extern int tcp_finwait2_timeout; extern int tcp_fast_finwait2_recycle; +extern int tcp_uto_min; +extern int tcp_uto_max; void tcp_timer_init(void); void tcp_timer_2msl(void *xtp); ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_usrreq.c#2 (text+ko) ==== @@ -1365,6 +1365,33 @@ error = EINVAL; break; + case TCP_UTO: + INP_WUNLOCK(inp); + error = sooptcopyin(sopt, &optval, sizeof optval, + sizeof optval); + if (error) + return (error); + + INP_WLOCK_RECHECK(inp); + if (optval > 0 && optval <= 0x8FFF * 60) { + if (optval > 0x8FFF) { + tp->snd_uto = optval / 60; + tp->snd_uto <<= 1; + tp->snd_uto |= 1; + } else { + tp->snd_uto = optval; + tp->snd_uto <<= 1; + } + tp->t_uto_adv = optval; + tp->uto_flags |= TCPUTO_NEED; + tp->uto_flags |= TCPUTO_ENABLE; + tp->uto_flags &= ~TCPUTO_CHANGEABLE; + } + else + error = EINVAL; + INP_WUNLOCK(inp); + break; + default: INP_WUNLOCK(inp); error = ENOPROTOOPT; ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_var.h#9 (text+ko) ==== @@ -194,11 +194,11 @@ /* user timeout variables (RFC 5482) */ uint16_t rcv_uto; /* received user timeout */ uint16_t snd_uto; /* send user timeout */ - uint8_t uto_flag; -#define UTO_ENABLE 0x01 -#define UTO_CHANGEABLE 0x02 -#define UTO_IMPL 0x04 - u_int t_impl_uto; /* implemented user timeout */ + uint8_t uto_flags; + u_int t_uto_adv; + u_int t_uto_impl; /* implemented user timeout */ + u_int t_uto_left; /* remained user timeout value */ + tcp_seq uto_carrier; /* max sequence number that carry user timeout */ }; /* @@ -230,8 +230,6 @@ #define TF_ECN_PERMIT 0x4000000 /* connection ECN-ready */ #define TF_ECN_SND_CWR 0x8000000 /* ECN CWR in queue */ #define TF_ECN_SND_ECE 0x10000000 /* ECN ECE in queue */ -#define TF_RCVD_UTO 0x20000000 /* a user timeout was received */ -#define TF_NEEDUTO 0x40000000 /* send user timeout */ #define IN_FASTRECOVERY(tp) (tp->t_flags & TF_FASTRECOVERY) #define ENTER_FASTRECOVERY(tp) tp->t_flags |= TF_FASTRECOVERY @@ -243,6 +241,25 @@ #define TCPOOB_HAVEDATA 0x01 #define TCPOOB_HADDATA 0x02 +/* + * Flags for the uto_flags field. + */ +#define TCPUTO_ENABLE 0x01 /* enable tcp user timeout */ +#define TCPUTO_CHANGEABLE 0x02 /* user timeout can be changed by other side */ +#define TCPUTO_IMPL 0x04 /* implement user timeout */ +#define TCPUTO_RCVD 0x08 /* other side has requested user timeout */ +#define TCPUTO_NEED 0x10 /* user timeout need to be sent */ +#define TCPUTO_SENDING 0x20 /* user timeout is in the process of sending */ +#define TCPUTO_SENT 0x40 /* user timeout is sent successfully */ +#define TCPUTO_SET (TCPUTO_NEED | TCPUTO_SENDING | TCPUTO_SENT) +#define TCPUTO_PEER_SET (TCPUTO_CHANGEABLE | TCPUTO_RCVD) + +#define TCP_UTOVAL(utoval, uto) do { \ + (utoval) = (uto) >> 1; \ + if ((uto) & 1) \ + (utoval) *= 60; \ +} while(0) + #ifdef TCP_SIGNATURE /* * Defines which are needed by the xform_tcp module and tcp_[in|out]put From owner-p4-projects@FreeBSD.ORG Mon Jun 15 16:24:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 098FF10656C3; Mon, 15 Jun 2009 16:24:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB46A10656C1 for ; Mon, 15 Jun 2009 16:24:41 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A94068FC13 for ; Mon, 15 Jun 2009 16:24:41 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FGOfwL084281 for ; Mon, 15 Jun 2009 16:24:41 GMT (envelope-from fangwang@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FGOfUv084279 for perforce@freebsd.org; Mon, 15 Jun 2009 16:24:41 GMT (envelope-from fangwang@FreeBSD.org) Date: Mon, 15 Jun 2009 16:24:41 GMT Message-Id: <200906151624.n5FGOfUv084279@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to fangwang@FreeBSD.org using -f From: Fang Wang To: Perforce Change Reviews Cc: Subject: PERFORCE change 164431 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 16:24:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=164431 Change 164431 by fangwang@fangwang_utobsd on 2009/06/15 16:24:29 Fix compile error. Affected files ... .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#5 edit .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.c#4 edit Differences ... ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#5 (text+ko) ==== @@ -1398,7 +1398,7 @@ } optlen = tcp_addoptions(&to, (u_char *)(th + 1)); - if ((to->to_flags & TOF_UTO) == 0 && + if ((to.to_flags & TOF_UTO) == 0 && (sc->sc_flags & SCF_UTO) == 1) { sc->sc_flags &= ~SCF_UTO; sc->sc_flags |= SCF_SENT_UTO; ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_timer.c#4 (text+ko) ==== @@ -512,7 +512,7 @@ * to a longer retransmit interval and retransmit one segment. */ if ((++tp->t_rxtshift > TCP_MAXRXTSHIFT && (tp->uto_flags & TCPUTO_IMPL) == 0) || - (tp->t_uto_left == 0 && tp->uto_flags & TCPUTO_IMPL) { + (tp->t_uto_left == 0 && tp->uto_flags & TCPUTO_IMPL)) { tp->t_rxtshift = TCP_MAXRXTSHIFT; TCPSTAT_INC(tcps_timeoutdrop); tp = tcp_drop(tp, tp->t_softerror ? From owner-p4-projects@FreeBSD.ORG Mon Jun 15 17:22:41 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2B27E106568D; Mon, 15 Jun 2009 17:22:41 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DE41B106567B for ; Mon, 15 Jun 2009 17:22:40 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CC0058FC40 for ; Mon, 15 Jun 2009 17:22:40 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FHMelw012523 for ; Mon, 15 Jun 2009 17:22:40 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FHMe54012521 for perforce@freebsd.org; Mon, 15 Jun 2009 17:22:40 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 15 Jun 2009 17:22:40 GMT Message-Id: <200906151722.n5FHMe54012521@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164434 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 17:22:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=164434 Change 164434 by syl@syl_atuin on 2009/06/15 17:21:57 - fix libusb20_tr_get_pointer following Hans Petter Advices. - Update debug. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#11 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#35 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#7 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#11 (text+ko) ==== @@ -177,6 +177,7 @@ }; enum libusb_debug_level { + LIBUSB_DEBUG_NO=0, LIBUSB_DEBUG_FUNCTION=1, }; ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#35 (text+ko) ==== @@ -1036,9 +1036,9 @@ pthread_mutex_unlock(&ctx->flying_transfers_lock); usb20_xfer[0] = libusb20_tr_get_pointer(pdev, - (4 * xfer->endpoint) | (xfer->endpoint / 0x40)); + ((xfer->endpoint / 0x40) | (xfer->endpoint * 4)) % (16 * 4)); usb20_xfer[1] = libusb20_tr_get_pointer(pdev, - ((4 * xfer->endpoint) | (xfer->endpoint / 0x40)) + 1); + (((xfer->endpoint / 0x40) | (xfer->endpoint * 4)) % (16 * 4)) + 1); if (usb20_xfer[0] == NULL) return (LIBUSB_ERROR_OTHER); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#7 (text+ko) ==== @@ -87,6 +87,8 @@ dprintf(libusb_context *ctx, int debug, char *str) { switch (ctx->debug) { + case LIBUSB_DEBUG_NO: + break ; case LIBUSB_DEBUG_FUNCTION: printf("LIBUSB FUNCTION : %s\n", str); break ; From owner-p4-projects@FreeBSD.ORG Mon Jun 15 17:26:46 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DB1D71065673; Mon, 15 Jun 2009 17:26:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 99EE4106564A for ; Mon, 15 Jun 2009 17:26:45 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 85EDC8FC13 for ; Mon, 15 Jun 2009 17:26:45 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FHQjuh012822 for ; Mon, 15 Jun 2009 17:26:45 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FHQjZP012818 for perforce@freebsd.org; Mon, 15 Jun 2009 17:26:45 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 15 Jun 2009 17:26:45 GMT Message-Id: <200906151726.n5FHQjZP012818@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164436 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 17:26:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=164436 Change 164436 by syl@syl_atuin on 2009/06/15 17:26:19 MFC. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libdisk/change.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libutil/kinfo_getfile.3#3 integrate .. //depot/projects/soc2009/syl_usb/src/lib/libutil/kinfo_getvmmap.3#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/msi.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/compat/ndis/subr_usbd.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/ata/ata-usb.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/if_ndis/if_ndis_usb.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder_rate.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/usb/uaudio.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/sound/version.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/at91dci.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/at91dci_atmelarm.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/atmegadci.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/atmegadci_atmelarm.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/avr32dci.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ehci.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ehci_ixp4xx.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ehci_mbus.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ehci_pci.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/musb_otg.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/musb_otg_atmelarm.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ohci.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ohci_atmelarm.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/ohci_pci.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/uhci.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/uhci_pci.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/usb_controller.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/uss820dci.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/controller/uss820dci_atmelarm.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/input/uhid.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/input/ukbd.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/input/ums.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/misc/udbp.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/misc/ufm.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_aue.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_auereg.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_axe.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_axereg.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_cdce.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_cue.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_kue.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_rue.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_ruereg.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_udav.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/if_udavreg.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/usb_ethernet.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/net/usb_ethernet.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/quirk/usb_quirk.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/quirk/usb_quirk.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/u3g.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uark.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ubsa.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ubser.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uchcom.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ucycom.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ufoma.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uftdi.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ugensa.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uipaq.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/ulpt.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/umct.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/umodem.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/umoscom.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uplcom.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/usb_serial.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/usb_serial.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uslcom.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uvisor.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/serial/uvscom.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/storage/umass.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/storage/urio.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/storage/ustorage_fs.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/template/usb_template.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/template/usb_template.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/template/usb_template_cdce.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/template/usb_template_msc.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/template/usb_template_mtp.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_bus.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_busdma.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_busdma.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_compat_linux.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_compat_linux.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_controller.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_core.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_debug.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_debug.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_defs.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_dev.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_dev.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_device.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_device.h#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_dynamic.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_dynamic.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_endian.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_error.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_error.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_generic.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_generic.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_handle_request.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_handle_request.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_hid.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_hid.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_hub.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_hub.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_ioctl.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_lookup.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_lookup.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_mbuf.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_mbuf.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_mfunc.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_msctest.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_msctest.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_parse.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_parse.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_pci.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_process.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_process.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_request.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_request.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_revision.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_transfer.c#5 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_transfer.h#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_util.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usb_util.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/usbhid.h#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_rum.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_uath.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_upgt.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_ural.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_urtw.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/dev/usb/wlan/if_zyd.c#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/msi.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/i386/i386/pmap.c#4 integrate .. //depot/projects/soc2009/syl_usb/src/sys/modules/if_ppp/Makefile#3 delete .. //depot/projects/soc2009/syl_usb/src/sys/modules/if_sl/Makefile#2 delete .. //depot/projects/soc2009/syl_usb/src/sys/netinet/ipfw/ip_dummynet.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/sys/param.h#6 integrate .. //depot/projects/soc2009/syl_usb/src/sys/tools/sound/feeder_rate_mkfilter.awk#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_object.c#3 integrate .. //depot/projects/soc2009/syl_usb/src/sys/vm/vm_object.h#2 integrate Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libdisk/change.c#2 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libdisk/change.c,v 1.26 2005/03/30 13:03:33 nyan Exp $"); +__FBSDID("$FreeBSD: src/lib/libdisk/change.c,v 1.27 2009/06/15 16:18:24 lulf Exp $"); #include #include @@ -34,17 +34,9 @@ sane = 1; -#ifdef PC98 if (disk->bios_cyl >= 65536) -#else - if (disk->bios_cyl > 1024) -#endif sane = 0; -#ifdef PC98 - if (disk->bios_hd >= 256) -#else - if (disk->bios_hd > 16) -#endif + if (disk->bios_hd > 256) sane = 0; #ifdef PC98 if (disk->bios_sect >= 256) ==== //depot/projects/soc2009/syl_usb/src/lib/libutil/kinfo_getfile.3#3 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libutil/kinfo_getfile.3,v 1.2 2009/06/12 18:13:34 jhb Exp $ +.\" $FreeBSD: src/lib/libutil/kinfo_getfile.3,v 1.3 2009/06/15 15:43:00 jhb Exp $ .\" .Dd December 6, 2008 .Os @@ -35,7 +35,6 @@ .Lb libutil .Sh SYNOPSIS .In sys/types.h -.In sys/user.h .In libutil.h .Ft struct kinfo_file * .Fn kinfo_getfile "pid_t pid" "int *cntp" @@ -63,7 +62,8 @@ .Fn kinfo_getfile function returns a pointer to an array of .Vt struct kinfo_file -structures. +structures as defined by +.In sys/user.h . The array was obtained by an internal call to .Xr malloc 3 and must be freed by the caller with a call to ==== //depot/projects/soc2009/syl_usb/src/lib/libutil/kinfo_getvmmap.3#3 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libutil/kinfo_getvmmap.3,v 1.2 2009/06/12 18:13:34 jhb Exp $ +.\" $FreeBSD: src/lib/libutil/kinfo_getvmmap.3,v 1.3 2009/06/15 15:43:00 jhb Exp $ .\" .Dd December 6, 2008 .Os @@ -35,7 +35,6 @@ .Lb libutil .Sh SYNOPSIS .In sys/types.h -.In sys/user.h .In libutil.h .Ft struct kinfo_vmentry * .Fn kinfo_getfile "pid_t pid" "int *cntp" @@ -63,7 +62,8 @@ .Fn kinfo_getvmmap function returns a pointer to an array of .Vt struct kinfo_vmentry -structures. +structures as defined by +.In sys/user.h . The array was obtained by an internal call to .Xr malloc 3 and must be freed by the caller with a call to ==== //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/msi.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.10 2009/01/29 09:22:56 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.11 2009/06/15 13:47:49 mav Exp $"); #include #include @@ -210,6 +210,8 @@ old_id = msi->msi_cpu; if (old_vector && old_id == apic_id) return; + if (old_vector && !msi->msi_msix && msi->msi_first->msi_count > 1) + return; /* Allocate IDT vector on this cpu. */ vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) ==== //depot/projects/soc2009/syl_usb/src/sys/amd64/amd64/pmap.c#4 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.660 2009/06/08 18:23:43 ed Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.661 2009/06/14 19:51:43 alc Exp $"); /* * Manages physical address maps. @@ -3322,78 +3322,74 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) { - vm_offset_t va; + pd_entry_t *pde; + vm_paddr_t pa, ptepa; vm_page_t p, pdpg; VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); KASSERT(object->type == OBJT_DEVICE, ("pmap_object_init_pt: non-device object")); - if (((addr & (NBPDR - 1)) == 0) && ((size & (NBPDR - 1)) == 0)) { - vm_page_t m[1]; - pd_entry_t ptepa, *pde; - - PMAP_LOCK(pmap); - pde = pmap_pde(pmap, addr); - if (pde != 0 && (*pde & PG_V) != 0) - goto out; - PMAP_UNLOCK(pmap); -retry: + if ((addr & (NBPDR - 1)) == 0 && (size & (NBPDR - 1)) == 0) { + if (!vm_object_populate(object, pindex, pindex + atop(size))) + return; p = vm_page_lookup(object, pindex); - if (p != NULL) { - if (vm_page_sleep_if_busy(p, FALSE, "init4p")) - goto retry; - } else { - p = vm_page_alloc(object, pindex, VM_ALLOC_NORMAL); - if (p == NULL) - return; - m[0] = p; + KASSERT(p->valid == VM_PAGE_BITS_ALL, + ("pmap_object_init_pt: invalid page %p", p)); - if (vm_pager_get_pages(object, m, 1, 0) != VM_PAGER_OK) { - vm_page_lock_queues(); - vm_page_free(p); - vm_page_unlock_queues(); - return; - } - - p = vm_page_lookup(object, pindex); - vm_page_wakeup(p); - } - + /* + * Abort the mapping if the first page is not physically + * aligned to a 2MB page boundary. + */ ptepa = VM_PAGE_TO_PHYS(p); if (ptepa & (NBPDR - 1)) return; - p->valid = VM_PAGE_BITS_ALL; + /* + * Skip the first page. Abort the mapping if the rest of + * the pages are not physically contiguous. + */ + p = TAILQ_NEXT(p, listq); + for (pa = ptepa + PAGE_SIZE; pa < ptepa + size; + pa += PAGE_SIZE) { + KASSERT(p->valid == VM_PAGE_BITS_ALL, + ("pmap_object_init_pt: invalid page %p", p)); + if (pa != VM_PAGE_TO_PHYS(p)) + return; + p = TAILQ_NEXT(p, listq); + } + /* Map using 2MB pages. */ PMAP_LOCK(pmap); - for (va = addr; va < addr + size; va += NBPDR) { - while ((pdpg = - pmap_allocpde(pmap, va, M_NOWAIT)) == NULL) { - PMAP_UNLOCK(pmap); - vm_page_busy(p); - VM_OBJECT_UNLOCK(object); - VM_WAIT; - VM_OBJECT_LOCK(object); - vm_page_wakeup(p); - PMAP_LOCK(pmap); + for (pa = ptepa; pa < ptepa + size; pa += NBPDR) { + pdpg = pmap_allocpde(pmap, addr, M_NOWAIT); + if (pdpg == NULL) { + /* + * The creation of mappings below is only an + * optimization. If a page directory page + * cannot be allocated without blocking, + * continue on to the next mapping rather than + * blocking. + */ + addr += NBPDR; + continue; } pde = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg)); - pde = &pde[pmap_pde_index(va)]; + pde = &pde[pmap_pde_index(addr)]; if ((*pde & PG_V) == 0) { - pde_store(pde, ptepa | PG_PS | PG_M | PG_A | + pde_store(pde, pa | PG_PS | PG_M | PG_A | PG_U | PG_RW | PG_V); - pmap->pm_stats.resident_count += - NBPDR / PAGE_SIZE; + pmap->pm_stats.resident_count += NBPDR / + PAGE_SIZE; + pmap_pde_mappings++; } else { + /* Continue on if the PDE is already valid. */ pdpg->wire_count--; KASSERT(pdpg->wire_count > 0, ("pmap_object_init_pt: missing reference " - "to page directory page, va: 0x%lx", va)); + "to page directory page, va: 0x%lx", addr)); } - ptepa += NBPDR; + addr += NBPDR; } - pmap_invalidate_all(pmap); -out: PMAP_UNLOCK(pmap); } } ==== //depot/projects/soc2009/syl_usb/src/sys/compat/ndis/subr_usbd.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_usbd.c,v 1.15 2009/06/07 19:41:11 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_usbd.c,v 1.16 2009/06/15 01:02:43 thompsa Exp $"); #include #include @@ -472,7 +472,7 @@ * The NDIS driver is not allowed to change the * config! There is only one choice! */ - cdp = usb2_get_config_descriptor(sc->ndisusb_dev); + cdp = usbd_get_config_descriptor(sc->ndisusb_dev); if (cdp == NULL) { status = USB_ERR_INVAL; goto exit; @@ -492,7 +492,7 @@ status = USB_ERR_NORMAL_COMPLETION; } else { NDISUSB_LOCK(sc); - status = usb2_req_get_desc(sc->ndisusb_dev, &sc->ndisusb_mtx, + status = usbd_req_get_desc(sc->ndisusb_dev, &sc->ndisusb_mtx, &actlen, ctldesc->ucd_trans_buf, 2, ctldesc->ucd_trans_buflen, ctldesc->ucd_langid, ctldesc->ucd_desctype, ctldesc->ucd_idx, @@ -540,16 +540,16 @@ intf = &selconf->usc_intf; for (i = 0; i < conf->bNumInterface && intf->uii_len > 0; i++) { - ret = usb2_set_alt_interface_index(udev, + ret = usbd_set_alt_interface_index(udev, intf->uii_intfnum, intf->uii_altset); if (ret != USB_ERR_NORMAL_COMPLETION && ret != USB_ERR_IN_USE) { device_printf(dev, "setting alternate interface failed: %s\n", - usb2_errstr(ret)); + usbd_errstr(ret)); return usbd_usb2urb(ret); } - for (j = 0; (ep = usb2_endpoint_foreach(udev, ep)); j++) { + for (j = 0; (ep = usb_endpoint_foreach(udev, ep)); j++) { if (j >= intf->uii_numeps) { device_printf(dev, "endpoint %d and above are ignored", @@ -608,11 +608,11 @@ InitializeListHead(&ne->ne_pending); KeInitializeSpinLock(&ne->ne_lock); - status = usb2_transfer_setup(sc->ndisusb_dev, &ifidx, ne->ne_xfer, + status = usbd_transfer_setup(sc->ndisusb_dev, &ifidx, ne->ne_xfer, epconf, 1, sc, &sc->ndisusb_mtx); if (status != USB_ERR_NORMAL_COMPLETION) { device_printf(dev, "couldn't setup xfer: %s\n", - usb2_errstr(status)); + usbd_errstr(status)); return (status); } xfer = ne->ne_xfer[0]; @@ -680,11 +680,11 @@ if (UE_GET_DIR(ep->bEndpointAddress) == UE_DIR_IN) cfg.flags.short_xfer_ok = 1; - status = usb2_transfer_setup(sc->ndisusb_dev, &ifidx, ne->ne_xfer, + status = usbd_transfer_setup(sc->ndisusb_dev, &ifidx, ne->ne_xfer, &cfg, 1, sc, &sc->ndisusb_mtx); if (status != USB_ERR_NORMAL_COMPLETION) { device_printf(dev, "couldn't setup xfer: %s\n", - usb2_errstr(status)); + usbd_errstr(status)); return (status); } xfer = ne->ne_xfer[0]; @@ -718,8 +718,8 @@ } NDISUSB_LOCK(sc); - usb2_transfer_stop(ne->ne_xfer[0]); - usb2_transfer_start(ne->ne_xfer[0]); + usbd_transfer_stop(ne->ne_xfer[0]); + usbd_transfer_start(ne->ne_xfer[0]); NDISUSB_UNLOCK(sc); return (USBD_STATUS_SUCCESS); @@ -800,8 +800,8 @@ * cancelled and then restarted. */ NDISUSB_LOCK(sc); - usb2_transfer_stop(ne->ne_xfer[0]); - usb2_transfer_start(ne->ne_xfer[0]); + usbd_transfer_stop(ne->ne_xfer[0]); + usbd_transfer_start(ne->ne_xfer[0]); NDISUSB_UNLOCK(sc); ip->irp_cancel = TRUE; @@ -873,7 +873,7 @@ /* copy in data with regard to the URB */ if (ne->ne_dirin != 0) - usb2_copy_out(xfer->frbuffers, 0, nx->nx_urbbuf, + usbd_copy_out(xfer->frbuffers, 0, nx->nx_urbbuf, xfer->frlengths[0]); nx->nx_urbbuf += xfer->frlengths[0]; nx->nx_urbactlen += xfer->frlengths[0]; @@ -929,10 +929,10 @@ extra: len = MIN(xfer->max_data_length, nx->nx_urblen); if (UE_GET_DIR(ep->bEndpointAddress) == UE_DIR_OUT) - usb2_copy_in(xfer->frbuffers, 0, nx->nx_urbbuf, len); + usbd_copy_in(xfer->frbuffers, 0, nx->nx_urbbuf, len); xfer->frlengths[0] = len; xfer->nframes = 1; - usb2_start_hardware(xfer); + usbd_transfer_submit(xfer); break; default: nx = usbd_aq_getfirst(sc, ne); @@ -941,7 +941,7 @@ if (xfer->error != USB_ERR_CANCELLED) { xfer->flags.stall_pipe = 1; device_printf(sc->ndis_dev, "usb xfer warning (%s)\n", - usb2_errstr(xfer->error)); + usbd_errstr(xfer->error)); } usbd_xfer_complete(sc, ne, nx, xfer->error); if (xfer->error != USB_ERR_CANCELLED) @@ -974,7 +974,7 @@ vcreq = &urb->uu_vcreq; if (vcreq->uvc_trans_flags & USBD_TRANSFER_DIRECTION_IN) { - usb2_copy_out(xfer->frbuffers + 1, 0, + usbd_copy_out(xfer->frbuffers + 1, 0, vcreq->uvc_trans_buf, xfer->frlengths[1]); nx->nx_urbactlen += xfer->frlengths[1]; } @@ -1044,7 +1044,7 @@ nx->nx_urblen = vcreq->uvc_trans_buflen; nx->nx_urbactlen = 0; - usb2_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); + usbd_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); xfer->frlengths[0] = sizeof(req); xfer->nframes = 1; if (vcreq->uvc_trans_flags & USBD_TRANSFER_DIRECTION_IN) { @@ -1066,13 +1066,13 @@ * the future if it needs to be. */ if (nx->nx_urblen > 0) { - usb2_copy_in(xfer->frbuffers + 1 , 0, + usbd_copy_in(xfer->frbuffers + 1 , 0, nx->nx_urbbuf, nx->nx_urblen); xfer->frlengths[1] = nx->nx_urblen; xfer->nframes = 2; } } - usb2_start_hardware(xfer); + usbd_transfer_submit(xfer); break; default: nx = usbd_aq_getfirst(sc, ne); @@ -1081,7 +1081,7 @@ if (xfer->error != USB_ERR_CANCELLED) { xfer->flags.stall_pipe = 1; device_printf(sc->ndis_dev, "usb xfer warning (%s)\n", - usb2_errstr(xfer->error)); + usbd_errstr(xfer->error)); } usbd_xfer_complete(sc, ne, nx, xfer->error); if (xfer->error != USB_ERR_CANCELLED) @@ -1244,7 +1244,7 @@ ne = usbd_get_ndisep(ip, urb->uu_bulkintr.ubi_epdesc); if (ne == NULL) goto exit; - usb2_transfer_start(ne->ne_xfer[0]); + usbd_transfer_start(ne->ne_xfer[0]); break; case NDISUSB_TASK_IRPCANCEL: ne = usbd_get_ndisep(ip, @@ -1254,14 +1254,14 @@ if (ne == NULL) goto exit; - usb2_transfer_stop(ne->ne_xfer[0]); - usb2_transfer_start(ne->ne_xfer[0]); + usbd_transfer_stop(ne->ne_xfer[0]); + usbd_transfer_start(ne->ne_xfer[0]); break; case NDISUSB_TASK_VENDOR: ne = (urb->uu_vcreq.uvc_trans_flags & USBD_TRANSFER_DIRECTION_IN) ? &sc->ndisusb_dread_ep : &sc->ndisusb_dwrite_ep; - usb2_transfer_start(ne->ne_xfer[0]); + usbd_transfer_start(ne->ne_xfer[0]); break; default: break; @@ -1437,7 +1437,7 @@ struct usb_descriptor *next = NULL; usb_interface_descriptor_t *desc; - while ((next = usb2_desc_foreach(conf, next)) != NULL) { + while ((next = usb_desc_foreach(conf, next)) != NULL) { desc = (usb_interface_descriptor_t *)next; if (desc->bDescriptorType != UDESC_INTERFACE) continue; ==== //depot/projects/soc2009/syl_usb/src/sys/dev/ata/ata-usb.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-usb.c,v 1.17 2009/05/29 18:46:57 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-usb.c,v 1.19 2009/06/15 01:05:46 thompsa Exp $"); #include "usbdevs.h" #include @@ -166,93 +166,93 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(struct usb_device_request), - .mh.flags = {}, - .mh.callback = &atausb2_t_bbb_reset1_callback, - .mh.timeout = 5000, /* 5 seconds */ - .mh.interval = 500, /* 500 milliseconds */ + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_reset1_callback, + .timeout = 5000, /* 5 seconds */ + .interval = 500, /* 500 milliseconds */ }, [ATAUSB_T_BBB_RESET2] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(struct usb_device_request), - .mh.flags = {}, - .mh.callback = &atausb2_t_bbb_reset2_callback, - .mh.timeout = 5000, /* 5 seconds */ - .mh.interval = 50, /* 50 milliseconds */ + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_reset2_callback, + .timeout = 5000, /* 5 seconds */ + .interval = 50, /* 50 milliseconds */ }, [ATAUSB_T_BBB_RESET3] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(struct usb_device_request), - .mh.flags = {}, - .mh.callback = &atausb2_t_bbb_reset3_callback, - .mh.timeout = 5000, /* 5 seconds */ - .mh.interval = 50, /* 50 milliseconds */ + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_reset3_callback, + .timeout = 5000, /* 5 seconds */ + .interval = 50, /* 50 milliseconds */ }, [ATAUSB_T_BBB_COMMAND] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .mh.bufsize = sizeof(struct bbb_cbw), - .mh.flags = {}, - .mh.callback = &atausb2_t_bbb_command_callback, - .mh.timeout = 5000, /* 5 seconds */ + .bufsize = sizeof(struct bbb_cbw), + .flags = {}, + .callback = &atausb2_t_bbb_command_callback, + .timeout = 5000, /* 5 seconds */ }, [ATAUSB_T_BBB_DATA_READ] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.bufsize = ATAUSB_BULK_SIZE, - .mh.flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, - .mh.callback = &atausb2_t_bbb_data_read_callback, - .mh.timeout = 0, /* overwritten later */ + .bufsize = ATAUSB_BULK_SIZE, + .flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, + .callback = &atausb2_t_bbb_data_read_callback, + .timeout = 0, /* overwritten later */ }, [ATAUSB_T_BBB_DATA_RD_CS] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(struct usb_device_request), - .mh.flags = {}, - .mh.callback = &atausb2_t_bbb_data_rd_cs_callback, - .mh.timeout = 5000, /* 5 seconds */ + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_data_rd_cs_callback, + .timeout = 5000, /* 5 seconds */ }, [ATAUSB_T_BBB_DATA_WRITE] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_OUT, - .mh.bufsize = ATAUSB_BULK_SIZE, - .mh.flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, - .mh.callback = &atausb2_t_bbb_data_write_callback, - .mh.timeout = 0, /* overwritten later */ + .bufsize = ATAUSB_BULK_SIZE, + .flags = {.proxy_buffer = 1,.short_xfer_ok = 1,}, + .callback = &atausb2_t_bbb_data_write_callback, + .timeout = 0, /* overwritten later */ }, [ATAUSB_T_BBB_DATA_WR_CS] = { .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(struct usb_device_request), - .mh.flags = {}, - .mh.callback = &atausb2_t_bbb_data_wr_cs_callback, - .mh.timeout = 5000, /* 5 seconds */ + .bufsize = sizeof(struct usb_device_request), + .flags = {}, + .callback = &atausb2_t_bbb_data_wr_cs_callback, + .timeout = 5000, /* 5 seconds */ }, [ATAUSB_T_BBB_STATUS] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, .direction = UE_DIR_IN, - .mh.bufsize = sizeof(struct bbb_csw), - .mh.flags = {.short_xfer_ok = 1,}, - .mh.callback = &atausb2_t_bbb_status_callback, - .mh.timeout = 5000, /* ms */ + .bufsize = sizeof(struct bbb_csw), + .flags = {.short_xfer_ok = 1,}, + .callback = &atausb2_t_bbb_status_callback, + .timeout = 5000, /* ms */ }, }; @@ -288,7 +288,7 @@ /* give other drivers a try first */ return (ENXIO); } - id = usb2_get_interface_descriptor(uaa->iface); + id = usbd_get_interface_descriptor(uaa->iface); if ((!id) || (id->bInterfaceClass != UICLASS_MASS)) { return (ENXIO); } @@ -328,16 +328,16 @@ uint8_t has_intr; int err; - device_set_usb2_desc(dev); + device_set_usb_desc(dev); sc->dev = dev; sc->maxlun = 0; sc->locked_ch = NULL; sc->restart_ch = NULL; - sc->usb2_speed = usb2_get_speed(uaa->device); + sc->usb2_speed = usbd_get_speed(uaa->device); mtx_init(&sc->locked_mtx, "ATAUSB lock", NULL, (MTX_DEF | MTX_RECURSE)); - id = usb2_get_interface_descriptor(uaa->iface); + id = usbd_get_interface_descriptor(uaa->iface); switch (id->bInterfaceProtocol) { case UIPROTO_MASS_BBB: case UIPROTO_MASS_BBB_OLD: @@ -380,7 +380,7 @@ (strcmp(subclass, "ATAPI") && strcmp(subclass, "SCSI"))) { goto detach; } - err = usb2_transfer_setup(uaa->device, &uaa->info.bIfaceIndex, + err = usbd_transfer_setup(uaa->device, &uaa->info.bIfaceIndex, sc->xfer, atausb2_config, ATAUSB_T_BBB_MAX, sc, &sc->locked_mtx); @@ -389,7 +389,7 @@ if (err) { device_printf(sc->dev, "could not setup required " - "transfers, %s\n", usb2_errstr(err)); + "transfers, %s\n", usbd_errstr(err)); goto detach; } /* get number of devices so we can add matching channels */ @@ -398,12 +398,12 @@ USETW(request.wValue, 0); USETW(request.wIndex, sc->iface_no); USETW(request.wLength, sizeof(maxlun)); - err = usb2_do_request(uaa->device, &Giant, &request, &maxlun); + err = usbd_do_request(uaa->device, &Giant, &request, &maxlun); if (err) { if (bootverbose) { device_printf(sc->dev, "get maxlun not supported %s\n", - usb2_errstr(err)); + usbd_errstr(err)); } } else { sc->maxlun = maxlun; @@ -438,7 +438,7 @@ /* teardown our statemachine */ - usb2_transfer_unsetup(sc->xfer, ATAUSB_T_MAX); + usbd_transfer_unsetup(sc->xfer, ATAUSB_T_MAX); /* detach & delete all children, if any */ @@ -460,7 +460,7 @@ } if (sc->xfer[xfer_no]) { sc->last_xfer_no = xfer_no; - usb2_transfer_start(sc->xfer[xfer_no]); + usbd_transfer_start(sc->xfer[xfer_no]); } else { atausb2_cancel_request(sc); } @@ -485,11 +485,11 @@ req.wIndex[1] = 0; USETW(req.wLength, 0); - usb2_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); + usbd_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); xfer->frlengths[0] = sizeof(req); xfer->nframes = 1; - usb2_start_hardware(xfer); + usbd_transfer_submit(xfer); return; default: /* Error */ @@ -527,7 +527,7 @@ return; case USB_ST_SETUP: - if (usb2_clear_stall_callback(xfer, sc->xfer[stall_xfer])) { + if (usbd_clear_stall_callback(xfer, sc->xfer[stall_xfer])) { goto tr_transferred; } return; @@ -575,10 +575,10 @@ bzero(sc->cbw.cdb, 16); bcopy(request->u.atapi.ccb, sc->cbw.cdb, 12); /* XXX SOS */ - usb2_copy_in(xfer->frbuffers, 0, &sc->cbw, sizeof(sc->cbw)); + usbd_copy_in(xfer->frbuffers, 0, &sc->cbw, sizeof(sc->cbw)); xfer->frlengths[0] = sizeof(sc->cbw); - usb2_start_hardware(xfer); + usbd_transfer_submit(xfer); } return; @@ -598,7 +598,7 @@ switch (USB_GET_STATE(xfer)) { case USB_ST_TRANSFERRED: - usb2_copy_out(xfer->frbuffers, 0, + usbd_copy_out(xfer->frbuffers, 0, sc->ata_data, xfer->actlen); sc->ata_bytecount -= xfer->actlen; @@ -625,7 +625,7 @@ xfer->timeout = sc->timeout; xfer->frlengths[0] = max_bulk; - usb2_start_hardware(xfer); + usbd_transfer_submit(xfer); return; default: /* Error */ @@ -675,10 +675,10 @@ xfer->timeout = sc->timeout; xfer->frlengths[0] = max_bulk; - usb2_copy_in(xfer->frbuffers, 0, + usbd_copy_in(xfer->frbuffers, 0, sc->ata_data, max_bulk); - usb2_start_hardware(xfer); + usbd_transfer_submit(xfer); return; default: /* Error */ @@ -712,7 +712,7 @@ if (xfer->actlen < sizeof(sc->csw)) { bzero(&sc->csw, sizeof(sc->csw)); } - usb2_copy_out(xfer->frbuffers, 0, &sc->csw, xfer->actlen); + usbd_copy_out(xfer->frbuffers, 0, &sc->csw, xfer->actlen); if (request->flags & (ATA_R_READ | ATA_R_WRITE)) { request->donecount = sc->ata_donecount; @@ -780,7 +780,7 @@ case USB_ST_SETUP: xfer->frlengths[0] = xfer->max_data_length; - usb2_start_hardware(xfer); + usbd_transfer_submit(xfer); return; default: @@ -828,7 +828,7 @@ if (atausbdebug) { device_printf(sc->dev, "transfer failed, %s, in state %d " - "-> BULK reset\n", usb2_errstr(xfer->error), + "-> BULK reset\n", usbd_errstr(xfer->error), sc->last_xfer_no); } } @@ -903,7 +903,7 @@ sc->ata_data = request->data; sc->ata_donecount = 0; - usb2_transfer_start(sc->xfer[sc->last_xfer_no]); + usbd_transfer_start(sc->xfer[sc->last_xfer_no]); error = ATA_OP_CONTINUES; } else { request->result = EIO; ==== //depot/projects/soc2009/syl_usb/src/sys/dev/if_ndis/if_ndis_usb.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis_usb.c,v 1.17 2009/06/08 19:56:23 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis_usb.c,v 1.18 2009/06/15 01:02:43 thompsa Exp $"); #include #include @@ -211,12 +211,12 @@ ndis_pnpevent_nic(self, NDIS_PNP_EVENT_SURPRISE_REMOVED); if (sc->ndisusb_status & NDISUSB_STATUS_SETUP_EP) { - usb2_transfer_unsetup(sc->ndisusb_dread_ep.ne_xfer, 1); - usb2_transfer_unsetup(sc->ndisusb_dwrite_ep.ne_xfer, 1); + usbd_transfer_unsetup(sc->ndisusb_dread_ep.ne_xfer, 1); + usbd_transfer_unsetup(sc->ndisusb_dwrite_ep.ne_xfer, 1); } for (i = 0; i < NDISUSB_ENDPT_MAX; i++) { ne = &sc->ndisusb_ep[i]; - usb2_transfer_unsetup(ne->ne_xfer, 1); + usbd_transfer_unsetup(ne->ne_xfer, 1); } (void)ndis_detach(self); ==== //depot/projects/soc2009/syl_usb/src/sys/dev/sound/pcm/feeder_rate.c#3 (text+ko) ==== @@ -59,7 +59,7 @@ #define SND_USE_FXDIV #include "snd_fxdiv_gen.h" -SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/feeder_rate.c,v 1.24 2009/06/07 19:12:08 ariff Exp $"); +SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/feeder_rate.c,v 1.25 2009/06/15 04:05:38 ariff Exp $"); #endif #include "feeder_rate_gen.h" @@ -789,13 +789,11 @@ defined(Z_COEFF_INTER_BSPLINE) || defined(Z_COEFF_INTERP_OPT32X) || \ defined(Z_COEFF_INTERP_OPT16X) || defined(Z_COEFF_INTERP_OPT8X) || \ defined(Z_COEFF_INTERP_OPT4X) || defined(Z_COEFF_INTERP_OPT2X)) -#if Z_DRIFT_SHIFT >= 8 +#if Z_DRIFT_SHIFT >= 12 #define Z_COEFF_INTERP_LINEAR 1 -#elif Z_DRIFT_SHIFT == 7 +#elif Z_DRIFT_SHIFT >= 8 #define Z_COEFF_INTERP_QUADRATIC 1 -#elif Z_DRIFT_SHIFT == 6 -#define Z_COEFF_INTERP_HERMITE 1 -#elif Z_DRIFT_SHIFT == 5 +#elif Z_DRIFT_SHIFT >= 5 #define Z_COEFF_INTERP_OPT32X 1 #elif Z_DRIFT_SHIFT == 4 #define Z_COEFF_INTERP_OPT16X 1 ==== //depot/projects/soc2009/syl_usb/src/sys/dev/sound/usb/uaudio.c#5 (text+ko) ==== @@ -1,5 +1,5 @@ /* $NetBSD: uaudio.c,v 1.91 2004/11/05 17:46:14 kent Exp $ */ -/* $FreeBSD: src/sys/dev/sound/usb/uaudio.c,v 1.49 2009/06/07 19:12:08 ariff Exp $ */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 15 17:49:10 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 74EA91065676; Mon, 15 Jun 2009 17:49:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 322AA106566B for ; Mon, 15 Jun 2009 17:49:09 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 16DAC8FC1B for ; Mon, 15 Jun 2009 17:49:09 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FHn8PD017551 for ; Mon, 15 Jun 2009 17:49:08 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FHn8Zc017545 for perforce@freebsd.org; Mon, 15 Jun 2009 17:49:08 GMT (envelope-from truncs@FreeBSD.org) Date: Mon, 15 Jun 2009 17:49:08 GMT Message-Id: <200906151749.n5FHn8Zc017545@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164440 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 17:49:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=164440 Change 164440 by truncs@aditya on 2009/06/15 17:48:43 Fixed typos. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_ialloc.c#9 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_linux_ialloc.c#9 (text+ko) ==== @@ -231,8 +231,8 @@ return; } es = sb->e2fs; - block_group = (inode->i_number - 1) / sb->e2fs_ipg; - bit = (inode->i_number - 1) % sb->e2fs_ipg; + block_group = (inode->i_number - 1) / (sb->e2fs_ipg); + bit = (inode->i_number - 1) % (sb->e2fs_ipg); bitmap_nr = load_inode_bitmap (ITOV(inode)->v_mount, block_group); bh = sb->e2fs_ib[bitmap_nr]; if (!clear_bit (bit, bh->b_data)) @@ -270,11 +270,12 @@ { unsigned long inode_block; struct buffer_head * bh; - struct ext2fs_dinode * raw_inode; + struct ext2_inode * raw_inode; - inode_block = gdp->ext2bgd_i_tables + (((inode->i_number - 1) % - (inode->i_sb->e2fs_ipg) /(inode->i_sb->e2fs_ipb))); - bh = bread (inode->i_sb->s_dev, inode_block, inode->i_sb->e2fs_bsize); + inode_block = gdp->bg_inode_table + (((inode->i_number - 1) % + EXT2_INODES_PER_GROUP(inode->i_sb)) / + EXT2_INODES_PER_BLOCK(inode->i_sb)); + bh = bread (inode->i_sb->s_dev, inode_block, inode->i_sb->s_blocksize); if (!bh) { printf ("inc_inode_version Cannot load inode table block - " "inode=%lu, inode_block=%lu\n", @@ -282,9 +283,10 @@ inode->u.ext2_i.i_version = 1; return; } - raw_inode = ((struct ext2fs_dinode *) bh->b_data) + + raw_inode = ((struct ext2_inode *) bh->b_data) + (((inode->i_number - 1) % - (inode->i_sb->e2fs_ipg)) % (inode->i_sb->e2fs_ipb)); + EXT2_INODES_PER_GROUP(inode->i_sb)) % + EXT2_INODES_PER_BLOCK(inode->i_sb)); raw_inode->i_version++; inode->u.ext2_i.i_version = raw_inode->i_version; bdwrite (bh); @@ -330,15 +332,15 @@ sb->e2fs_gcount; /* I am not yet convinced that this next bit is necessary. i = dir->u.ext2_i.i_block_group; - for (j = 0; j < sb->u.ext2_sb.e2fs_gcount; j++) { + for (j = 0; j < sb->u.ext2_sb.s_groups_count; j++) { tmp = get_group_desc (sb, i, &bh2); - if ((tmp->ext2bgd_ndirs << 8) < - tmp->ext2bgd_nifree) { + if ((tmp->bg_used_dirs_count << 8) < + tmp->bg_free_inodes_count) { gdp = tmp; break; } else - i = ++i % sb->u.ext2_sb.e2fs_gcount; + i = ++i % sb->u.ext2_sb.s_groups_count; } */ if (!gdp) { @@ -406,7 +408,8 @@ bitmap_nr = load_inode_bitmap (ITOV(dir)->v_mount, i); bh = sb->e2fs_ib[bitmap_nr]; if ((j = find_first_zero_bit ((unsigned long *) bh->b_data, - (sb->e2fs_ipg) < (sb->e2fs_ipg)))) { + (sb->e2fs_ipg))) < + (sb->e2fs_ipg)) { if (set_bit (j, bh->b_data)) { printf ( "ext2_new_inode:" "bit already set for inode %d", j); @@ -454,33 +457,35 @@ { #ifdef EXT2FS_DEBUG struct m_ext2fs *sb = VFSTOEXT2(mp)->um_e2fs; - struct ext2fs * es; - unsigned long desc_count, bitmap_count, x; - int bitmap_nr; - struct ext2_gd * gdp; - int i; + struct ext2fs * es; + unsigned long desc_count, bitmap_count, x; + int bitmap_nr; + struct ext2_gd * gdp; + int i; + + lock_super (VFSTOEXT2(mp)->um_devvp); + es = sb->e2fs; + desc_count = 0; + bitmap_count = 0; + gdp = NULL; + for (i = 0; i < sb->e2fs_gcount; i++) { + gdp = get_group_desc (mp, i, NULL); + desc_count += gdp->ext2bgd_nifree; + bitmap_nr = load_inode_bitmap (mp, i); + x = ext2_count_free (sb->e2fs_ib[bitmap_nr], + (sb->e2fs_ipg) / 8); + ext2_debug ("group %d: stored = %d, counted = %lu\n", + i, gdp->ext2bgd_nifree, x); + bitmap_count += x; + - lock_super (VFSTOEXT2(mp)->um_devvp); - es = sb->e2fs; - desc_count = 0; - bitmap_count = 0; - gdp = NULL; - for (i = 0; i < sb->e2fs_gcount; i++) { - gdp = get_group_desc (mp, i, NULL); - desc_count += gdp->ext2bgd_nifree; - bitmap_nr = load_inode_bitmap (mp, i); - x = ext2_count_free (sb->e2fs_ib[bitmap_nr], - (sb->e2fs_ipg) / 8); - ext2_debug ("group %d: stored = %d, counted = %lu\n", - i, gdp->ext2bgd_nifree, x); - bitmap_count += x; - } - ext2_debug("stored = %lu, computed = %lu, %lu\n", - es->e2fs_ficount, desc_count, bitmap_count); - unlock_super (VFSTOEXT2(mp)->um_devvp); - return desc_count; + } + ext2_debug("stored = %lu, computed = %lu, %lu\n", + es->e2fs_ficount, desc_count, bitmap_count); + unlock_super (VFSTOEXT2(mp)->um_devvp); + return desc_count; #else - return VFSTOEXT2(mp)->um_e2fsb->e2fs_ficount; + return VFSTOEXT2(mp)->um_e2fsb->e2fs_ficount; #endif } #endif /* unused */ @@ -488,35 +493,35 @@ #ifdef LATER void ext2_check_inodes_bitmap (struct mount * mp) { - struct ext2fs * es; - unsigned long desc_count, bitmap_count, x; - int bitmap_nr; - struct ext2_gd * gdp; - int i; + struct ext2fs * es; +unsigned long desc_count, bitmap_count, x; + int bitmap_nr; + struct ext2_gd * gdp; + int i; - lock_super (sb); - es = sb->u.ext2_sb.e2fs; - desc_count = 0; - bitmap_count = 0; - gdp = NULL; - for (i = 0; i < sb->u.ext2_sb.e2fs_gcount; i++) { - gdp = get_group_desc (sb, i, NULL); - desc_count += gdp->ext2bgd_nifree; - bitmap_nr = load_inode_bitmap (sb, i); - x = ext2_count_free (sb->u.ext2_sb.e2fs_ib[bitmap_nr], - (sb->e2fs_ipg) / 8); - if (gdp->ext2bgd_nifree != x) - printf ( "ext2_check_inodes_bitmap:" - "Wrong free inodes count in group %d, " - "stored = %d, counted = %lu", i, - gdp->ext2bgd_nifree, x); - bitmap_count += x; - } - if (es->e2fs_ficount != bitmap_count) - printf ( "ext2_check_inodes_bitmap:" - "Wrong free inodes count in super block, " - "stored = %lu, counted = %lu", - (unsigned long) es->e2fs_ficount, bitmap_count); - unlock_super (sb); + lock_super (sb); + es = sb->u.ext2_sb.e2fs; + desc_count = 0; + bitmap_count = 0; + gdp = NULL; + for (i = 0; i < sb->u.ext2_sb.e2fs_gcount; i++) { + gdp = get_group_desc (sb, i, NULL); + desc_count += gdp->ext2bgd_nifree; + bitmap_nr = load_inode_bitmap (sb, i); + x = ext2_count_free (sb->u.ext2_sb.e2fs_ib[bitmap_nr], + (sb->e2fs_ipg) / 8); + if (gdp->ext2bgd_nifree != x) + printf ( "ext2_check_inodes_bitmap:" + "Wrong free inodes count in group %d, " + "stored = %d, counted = %lu", i, + gdp->ext2bgd_nifree, x); + bitmap_count += x; + } + if (es->e2fs_ficount != bitmap_count) + printf ( "ext2_check_inodes_bitmap:" + "Wrong free inodes count in super block, " + "stored = %lu, counted = %lu", + (unsigned long) es->e2fs_ficount, bitmap_count); + unlock_super (sb); } #endif From owner-p4-projects@FreeBSD.ORG Mon Jun 15 17:56:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6F037106566C; Mon, 15 Jun 2009 17:56:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E60D106564A for ; Mon, 15 Jun 2009 17:56:16 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1AE168FC08 for ; Mon, 15 Jun 2009 17:56:16 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FHuGb9020645 for ; Mon, 15 Jun 2009 17:56:16 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FHuGVw020643 for perforce@freebsd.org; Mon, 15 Jun 2009 17:56:16 GMT (envelope-from jona@FreeBSD.org) Date: Mon, 15 Jun 2009 17:56:16 GMT Message-Id: <200906151756.n5FHuGVw020643@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164441 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 17:56:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=164441 Change 164441 by jona@jona-trustedbsd-belle-vm on 2009/06/15 17:55:46 Sandbox/angel RPC to request single files and powerboxes Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/Makefile#5 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/cap.c#3 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/fdtest.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.c#3 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.h#3 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.c#8 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.h#7 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/Makefile#5 (text+ko) ==== @@ -1,25 +1,22 @@ -CFLAGS=-g -ggdb --std=c99 -Wall -Werror #-pedantic-errors +VERSION=dev-pre1 +CFLAGS=-g -ggdb --std=c99 -Wall -Werror -pedantic-errors -DVERSION='"${VERSION}"' +LDFLAGS=-L/usr/local/lib -lefence -BIN=user_angel test_client fdtest -AGENT_OBJ = user_angel.o server.o cap.o protocol.o fdcomm.o powerbox.o -CLIENT_OBJ = test_client.o protocol.o fdcomm.o +BIN=user_angel test_client +AGENT_OBJ = user_angel.o server.o cap.o protocol.o powerbox.o +CLIENT_OBJ = test_client.o protocol.o all: ${BIN} user_angel: ${AGENT_OBJ} - ${CC} -o $@ ${AGENT_OBJ} + ${CC} ${LDFLAGS} -o $@ ${AGENT_OBJ} test_client: ${CLIENT_OBJ} - ${CC} -o $@ ${CLIENT_OBJ} + ${CC} ${LDFLAGS} -o $@ ${CLIENT_OBJ} -fdtest: fdtest.o fdcomm.o protocol.o - ${CC} -o $@ fdtest.o fdcomm.o protocol.o - cap.o: cap.c cap.h -fdcomm.o: fdcomm.c fdcomm.h -fdtest.o: fdtest.c protocol.h powerbox.o: powerbox.c powerbox.h protocol.o: protocol.c protocol.h powerbox.h server.o: server.c protocol.h server.h ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/cap.c#3 (text+ko) ==== @@ -47,6 +47,7 @@ int cap = cap_new(fd, rights); if(cap < 0) err(EX_SOFTWARE, "failed to create new capability"); + close(fd); return cap; } ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/fdtest.c#4 (text+ko) ==== @@ -85,7 +85,7 @@ struct cap_wire_datum *d = cap_marshall_string(message, strlen(message)); - if(cap_send_fd(sock, "message and FDs", d, fds, fdlen) < 0) + if(cap_send_fd(sock, d, fds, fdlen) < 0) err(EX_IOERR, "Error sending data/FD"); free(d); @@ -94,9 +94,8 @@ int fd_array[10]; fdlen = 10; - char *name; - if(cap_recv_fd(sock, &name, &d, fd_array, &fdlen) < 0) - err(EX_IOERR, "Error receiving data/FD"); + d = cap_recv_fds(sock, fd_array, &fdlen); + if(!d) err(EX_IOERR, "Error receiving data/FD"); printf("Received datum:\n"); printf(" type: %i\n", d->type); ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.c#3 (text+ko) ==== @@ -34,12 +34,16 @@ #include __FBSDID("$FreeBSD$"); +#include #include +#include +#include #include "powerbox.h" -int capbox_display(struct capbox_options *options) +int capbox_display(struct capbox_options *options, int fds[], char *names[], + int *len) { printf("capbox_display()\n"); printf(" options:\n"); @@ -73,8 +77,26 @@ if(options->filterlen > 0) printf("%s\n", options->filter); else printf("\n"); - fprintf(stderr, "powerbox not implemented\n"); + fprintf(stderr, "powerbox not implemented, faking it\n"); + + if(*len > 0) + { + names[0] = (char*) malloc(32); + strcpy(names[0], "/etc/hosts"); + + fds[0] = open("/etc/hosts", O_RDONLY); + } + + if(*len > 1) + { + names[1] = (char*) malloc(32); + strcpy(names[1], "/etc/nsswitch.conf"); + + fds[1] = open("/etc/nsswitch.conf", O_RDONLY); + } + + if(*len > 2) *len = 2; - return -1; + return 0; } ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.h#3 (text+ko) ==== @@ -48,11 +48,11 @@ enum capbox_op_t operation; /* operation to perform */ char* window_title; /* set by user_angel, not sandbox */ int parent_window; /* X11 window to attach to (or 0) */ - char* start_path; /* path to start in (or NULL) */ + const char* start_path; /* path to start in (or NULL) */ int pathlen; /* length of start path */ int start_fd; /* FD to start in (or -1) */ int mult; /* allow multiple selection */ - char* filter; /* filter expression (or NULL) */ + const char* filter; /* filter expression (or NULL) */ int filterlen; /* length of filter expression */ }; @@ -60,7 +60,8 @@ /** * Open a powerbox. * - * @return a capability file descriptor or -1 + * @return 0 on success */ -int capbox_display(struct capbox_options *options); +int capbox_display(struct capbox_options *options, int fds[], char *names[], + int *len); ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.c#8 (text+ko) ==== @@ -45,85 +45,305 @@ -struct cap_wire_datum* cap_marshall_int(int32_t value) + + +void print_datum(const struct cap_wire_datum *d) +{ + printf("Datum @ 0x%8x:\n", (unsigned int) d); + printf(" type: %i\n", d->type); + printf(" length: %i\n", d->length); + printf(" data: "); + for(int j = 0; j < d->length; j++) + { + unsigned char *address = ((unsigned char*) d); + address += sizeof(struct cap_wire_datum) + j; + + printf("%02x ", *address); + } + printf("\n"); +} + + + + +typedef struct cap_wire_datum wire_datum; + + +char errmsg[256]; +const char* cap_error(void) { return errmsg; } + + +wire_datum* cap_marshall_int(int32_t value) { - int size = sizeof(struct cap_wire_datum) + sizeof(int32_t); - struct cap_wire_datum *d = (struct cap_wire_datum*) malloc(size); + int size = sizeof(wire_datum) + sizeof(int32_t); + wire_datum *d = (wire_datum*) malloc(size); d->type = INTEGER; d->length = sizeof(int32_t); - ((int32_t*) d + sizeof(struct cap_wire_datum))[0] = value; + + void *address = ((char*) d) + sizeof(wire_datum); + ((int32_t*) address)[0] = value; return d; } -int cap_unmarshall_int(struct cap_wire_datum *datum, int32_t *value) +int cap_unmarshall_int(const wire_datum *datum, int32_t *value) { + if(datum == NULL) + { + sprintf(errmsg, "Datum is NULL"); + return -1; + } + + if(!(datum->type & INTEGER)) + { + sprintf(errmsg, "Datum's type is %i, not INTEGER (%i)", + datum->type, INTEGER); + return -1; + } + if(datum->length != 4) { - fprintf(stderr, "Error unmarshalling int: should be 4B long, not %i\n", - datum->length); + sprintf(errmsg, "An 32-bit integer should be 4B long, not %i", + datum->length); return -1; } - memcpy(value, ((void*) datum) + sizeof(struct cap_wire_datum), 4); + memcpy(value, ((char*) datum) + sizeof(wire_datum), 4); return datum->length; } -struct cap_wire_datum* cap_marshall_string(char *value, int len) +wire_datum* cap_marshall_string(const char *value, int len) { - int size = sizeof(struct cap_wire_datum) + len; - struct cap_wire_datum *d = (struct cap_wire_datum*) malloc(size); + int size = sizeof(wire_datum) + len; + wire_datum *d = (wire_datum*) malloc(size); d->type = STRING; d->length = len; - memcpy(((char*) d) + sizeof(struct cap_wire_datum), value, len); + memcpy(((char*) d) + sizeof(wire_datum), value, len); return d; } -int cap_unmarshall_string(struct cap_wire_datum *datum, char *value, int *len) +int cap_unmarshall_string(const wire_datum *datum, char *value, int *len) { + if(datum == NULL) + { + sprintf(errmsg, "NULL datum"); + return -1; + } + else if(datum->type != STRING) + { + sprintf(errmsg, "Datum's type is %i, not STRING (%i)", + datum->type, STRING); + } + else if(datum->length < 0) + { + sprintf(errmsg, "Datum length should be positive, not %i", + datum->length); + return -1; + } + else if(datum->length >= *len) + { + sprintf(errmsg, "String in datum is too long (%iB) to fit in buffer (%iB)", + datum->length, *len); + return -1; + } + *len = datum->length; - if(datum->length < 0) + memcpy(value, ((char*) datum) + sizeof(wire_datum), datum->length); + value[*len] = '\0'; + + return datum->length; +} + + +wire_datum* cap_marshall_capbox(const struct capbox_options *options) +{ + wire_datum *data[6]; + data[0] = cap_marshall_int(options->ui); + data[1] = cap_marshall_int(options->operation); + data[2] = cap_marshall_int(options->parent_window); + data[3] = cap_marshall_string(options->start_path, options->pathlen); + data[4] = cap_marshall_int(options->mult); + data[5] = cap_marshall_string(options->filter, options->filterlen); + + int total_size = 0; + for(int i = 0; i < 6; i++) + if(data[i] == NULL) + { + sprintf(errmsg, "Capbox datum %i is NULL", i); + return NULL; + } + else total_size += (sizeof(wire_datum) + data[i]->length); + + wire_datum *d = (wire_datum*) malloc(sizeof(wire_datum) + total_size); + d->type = CAPBOX_OPTIONS; + d->length = total_size; + + char *buffer = ((char*) d) + sizeof(wire_datum); + char *head = buffer; + for(int i = 0; i < 6; i++) + { + memcpy(head, data[i], sizeof(wire_datum) + data[i]->length); + head += sizeof(wire_datum) + data[i]->length; + + free(data[i]); + } + + return d; +} + + +int cap_unmarshall_capbox(const wire_datum *datum, struct capbox_options *options) +{ + if(datum == NULL) + { + sprintf(errmsg, "NULL datum"); + return -1; + } + else if(datum->type != CAPBOX_OPTIONS) + { + sprintf(errmsg, "Datum's type is %i, not CAPBOX_OPTIONS (%i)", + datum->type, CAPBOX_OPTIONS); + } + else if(datum->length < 0) { - fprintf(stderr, "Error unmarshalling int: should be positive, not %i\n", + sprintf(errmsg, "Datum length should be positive, not %i", datum->length); return -1; } - memcpy(value, ((void*) datum) + sizeof(struct cap_wire_datum), datum->length); - return datum->length; + int32_t tmp_int; + wire_datum *d = (wire_datum*) (((char*) datum) + sizeof(wire_datum)); + + if(cap_unmarshall_int(d, &tmp_int) < 0) + { + char error[128]; + sprintf(error, "Error unmarshalling UI type: %s", cap_error()); + strcpy(errmsg, error); + return -1; + } + options->ui = tmp_int; + d = (wire_datum*) (((char*) d) + sizeof(wire_datum) + d->length); + + if(cap_unmarshall_int(d, &tmp_int) < 0) + { + char error[128]; + sprintf(error, "Error unmarshalling operation: %s", cap_error()); + strcpy(errmsg, error); + return -1; + } + options->operation = tmp_int; + d = (wire_datum*) (((char*) d) + sizeof(wire_datum) + d->length); + + + // window title is handled elsewhere + + + if(cap_unmarshall_int(d, &tmp_int) < 0) + { + char error[128]; + sprintf(error, "Error unmarshalling parent: %s", cap_error()); + strcpy(errmsg, error); + return -1; + } + options->parent_window = tmp_int; + d = (wire_datum*) (((char*) d) + sizeof(wire_datum) + d->length); + + options->pathlen = d->length + 1; + options->start_path = (char*) malloc(options->pathlen); + if(cap_unmarshall_string(d, (char*) options->start_path, &options->pathlen) < 0) + { + char error[128]; + sprintf(error, "Error unmarshalling path: %s", cap_error()); + strcpy(errmsg, error); + return -1; + } + d = (wire_datum*) (((char*) d) + sizeof(wire_datum) + d->length); + + + // don't do anything about the start_fd file descriptor; + // that's handled at the recvmsg() level + + + if(cap_unmarshall_int(d, &tmp_int) < 0) + { + char error[128]; + sprintf(error, "Error unmarshalling 'mult': %s", cap_error()); + strcpy(errmsg, error); + return -1; + } + options->mult = tmp_int; + d = (wire_datum*) (((char*) d) + sizeof(wire_datum) + d->length); + + options->filterlen = d->length + 1; + options->filter = (char*) malloc(options->filterlen); + if(cap_unmarshall_string(d, (char*) options->filter, &options->filterlen) < 0) + { + char error[128]; + sprintf(error, "Error unmarshalling filter: %s", cap_error()); + strcpy(errmsg, error); + return -1; + } + + + return sizeof(wire_datum) + datum->length; +} + + + +int cap_send_message(int sock, wire_datum *data[], int len) +{ + int total_bytes = 0; + for(int i = 0; i < len; i++) + { + int bytes = cap_send(sock, data[i]); + + if(bytes < 0) return bytes; + else total_bytes += bytes; + } + + return total_bytes; +} + + + +int cap_send(int sock, wire_datum *datum) +{ + return cap_send_fd(sock, datum, NULL, 0); } -/* -int cap_send(int sock, struct cap_wire_datum* datum); -*/ -int cap_send_fd(int sock, const char *name, struct cap_wire_datum *d, +int cap_send_fd(int sock, wire_datum *d, int32_t fd_array[], int32_t fdlen) { // the datum is the I/O vector struct iovec iov; iov.iov_base = d; - iov.iov_len = sizeof(struct cap_wire_datum) + d->length; + iov.iov_len = sizeof(wire_datum) + d->length; // ancilliary data (file descriptors) - int cmsghdrlen = sizeof(struct cmsghdr) + fdlen * sizeof(int32_t); - struct cmsghdr *anc_hdr = (struct cmsghdr*) malloc(cmsghdrlen); - if(!anc_hdr) err(EX_OSERR, "Error creating ancilliary data header"); + struct cmsghdr *anc_hdr = NULL; + if(fdlen > 0) + { + int cmsghdrlen = sizeof(struct cmsghdr) + fdlen * sizeof(int32_t); + anc_hdr = (struct cmsghdr*) malloc(cmsghdrlen); + if(!anc_hdr) err(EX_OSERR, "Error creating ancilliary data header"); + + anc_hdr->cmsg_len = cmsghdrlen; + anc_hdr->cmsg_level = SOL_SOCKET; + anc_hdr->cmsg_type = (fdlen ? SCM_RIGHTS : 0); + memcpy(((char*) anc_hdr) + sizeof(struct cmsghdr), fd_array, + fdlen * sizeof(int32_t)); + } - anc_hdr->cmsg_len = cmsghdrlen; - anc_hdr->cmsg_level = SOL_SOCKET; - anc_hdr->cmsg_type = SCM_RIGHTS; - memcpy(((void*) anc_hdr) + sizeof(struct cmsghdr), fd_array, - fdlen * sizeof(int32_t)); // sendmsg header @@ -133,7 +353,7 @@ header.msg_iov = &iov; header.msg_iovlen = 1; header.msg_control = anc_hdr; - header.msg_controllen = anc_hdr->cmsg_len; + header.msg_controllen = ((fdlen > 0) ? anc_hdr->cmsg_len : 0); header.msg_flags = 0; @@ -142,6 +362,7 @@ if(bytes_sent < 0) { perror("Error sending data and file descriptor(s)"); + free(anc_hdr); return -1; } @@ -151,37 +372,50 @@ } +wire_datum* cap_recv(int sock) +{ + int fdlen = 0; + return cap_recv_fds(sock, NULL, &fdlen); +} + -int cap_recv_fd(int sock, char **name, struct cap_wire_datum **d, - int32_t *fd_array, int32_t *fdlen) +wire_datum* cap_recv_fds(int sock, int32_t fd_array[], int32_t *fdlen) { // how much data is there to receive? - struct cap_wire_datum peek; - int bytes = recv(sock, &peek, sizeof(struct cap_wire_datum), MSG_PEEK); - if(bytes < 0) + wire_datum peek; + int bytes = recv(sock, &peek, sizeof(wire_datum), MSG_PEEK); + + if(bytes == 0) + { + sprintf(errmsg, "Socket closed: %s", strerror(errno)); + return NULL; + } + else if(bytes < 0) { perror("Error peeking at socket"); - return -1; + return NULL; } - int to_receive = sizeof(struct cap_wire_datum) + peek.length; + int to_receive = sizeof(wire_datum) + peek.length; // make room for it - *d = (struct cap_wire_datum*) malloc(to_receive); + wire_datum *datum = (wire_datum*) malloc(to_receive); struct iovec iov; - iov.iov_base = *d; + iov.iov_base = datum; iov.iov_len = to_receive; // prepare to receive file descriptor(s) - int size = sizeof(struct cmsghdr) + *fdlen; + int size = sizeof(struct cmsghdr) + *fdlen * sizeof(int32_t); struct cmsghdr *anc_hdr = (struct cmsghdr*) malloc(size); + bzero(anc_hdr, size); + if(!anc_hdr) err(EX_OSERR, "Error creating ancilliary data header"); anc_hdr->cmsg_len = size; anc_hdr->cmsg_level = SOL_SOCKET; - anc_hdr->cmsg_type = SCM_RIGHTS; - memset(anc_hdr + sizeof(struct cmsghdr), 0, *fdlen * sizeof(int32_t)); + anc_hdr->cmsg_type = (*fdlen ? SCM_RIGHTS : 0); + bzero(anc_hdr + sizeof(struct cmsghdr), *fdlen * sizeof(int32_t)); // recvmsg() options struct msghdr header; @@ -198,12 +432,16 @@ if(bytes < 0) { perror("Error receiving message"); - return -1; + free(anc_hdr); + free(datum); + return NULL; } else if(bytes == 0) { fprintf(stderr, "Socket closed\n"); - return -1; + free(anc_hdr); + free(datum); + return NULL; } @@ -212,10 +450,12 @@ if(recv_fdlen < *fdlen) *fdlen = recv_fdlen; - memcpy(fd_array, ((void*) anc_hdr) + sizeof(struct cmsghdr), + memcpy(fd_array, ((char*) anc_hdr) + sizeof(struct cmsghdr), *fdlen * sizeof(int32_t)); - return 0; + free(anc_hdr); + + return datum; } @@ -282,7 +522,7 @@ return total_bytes; } - +/* int cap_send_capbox_options(int client, struct capbox_options *options) { int bytes, total_bytes = 0; @@ -302,11 +542,11 @@ bytes = cap_send_string(client, options->start_path, options->pathlen); if(bytes <= 0) return bytes; total_bytes += bytes; -/* TODO: need to do a sendmsg with SCM_RIGHTS +* TODO: need to do a sendmsg with SCM_RIGHTS bytes = cap_send_int(client, options->start_fd); if(bytes <= 0) return bytes; total_bytes += bytes; -*/ +* bytes = cap_send_int(client, options->mult); if(bytes <= 0) return bytes; total_bytes += bytes; @@ -340,11 +580,11 @@ total_bytes += bytes; options->pathlen = bytes; -/* TODO: need to do a sendmsg with SCM_RIGHTS +* TODO: need to do a sendmsg with SCM_RIGHTS bytes = cap_recv_int(client, &options->start_fd); if(bytes <= 0) { perror("Error receiving path FD"); return bytes; } total_bytes += bytes; -*/ +* options->start_fd = -1; bytes = cap_recv_int(client, &options->mult); @@ -359,4 +599,5 @@ return total_bytes; } +*/ ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.h#7 (text+ko) ==== @@ -35,6 +35,22 @@ #include "powerbox.h" + +/** Requests that clients can make */ +enum capangel_req_t +{ + NO_OP = 0, + FD_FROM_PATH, + FD_POWERBOX +}; + + +/** The last protocol error */ +const char* cap_error(void); + + + +/** Represents a single datum "on the wire" */ struct cap_wire_datum { uint32_t type; @@ -51,49 +67,35 @@ uint32_t length; - /* followed by data; */ + /* immediately followed by actual data; */ }; -/** Requests that clients can make */ -enum capangel_req_t -{ - FD_FROM_PATH, - FD_POWERBOX -}; - - - /* Unmarshalling functions; calling programs should free the result */ struct cap_wire_datum* cap_marshall_int(int32_t value); -struct cap_wire_datum* cap_marshall_string(char *value, int len); +struct cap_wire_datum* cap_marshall_string(const char *value, int len); +struct cap_wire_datum* cap_marshall_capbox(const struct capbox_options *options); + /* Unmarshalling functions; return the number of bytes unmarshalled (or -1) */ -int cap_unmarshall_int(struct cap_wire_datum *datum, int32_t *value); -int cap_unmarshall_string(struct cap_wire_datum *datum, char* value, int *len); +int cap_unmarshall_int(const struct cap_wire_datum *d, int32_t *value); +int cap_unmarshall_string(const struct cap_wire_datum *d, char* value, int *len); +int cap_unmarshall_capbox(const struct cap_wire_datum *d, struct capbox_options *options); + -/* Sending, with or without file descriptors */ -int cap_send(int sock, char *name, struct cap_wire_datum *d); -int cap_send_fd(int sock, const char *name, struct cap_wire_datum *d, +/* Sending, with (_fd) or without file descriptors */ +int cap_send(int sock, struct cap_wire_datum *d); +int cap_send_fd(int sock, struct cap_wire_datum *d, int32_t fd_array[], int32_t fdlen); +int cap_send_message(int sock, struct cap_wire_datum *data[], int len); + /* Receiving, with or without file descriptors */ -int cap_recv(int sock, char **name, struct cap_wire_datum **d); +struct cap_wire_datum* cap_recv(int sock); /* You supply the FD array and say how big it is; I'll tell you how many FDs you actually received. */ -int cap_recv_fd(int sock, char **name, struct cap_wire_datum **d, - int32_t fd_array[], int32_t *fdlen); - +struct cap_wire_datum* cap_recv_fds(int sock, int32_t fd_array[], int32_t *fdlen); -int cap_send_int(int client, int value); -int cap_recv_int(int client, int *value); - -int cap_send_string(int client, char *value, int len); -int cap_recv_string(int client, char **value); - -int cap_send_capbox_options(int client, struct capbox_options *options); -int cap_recv_capbox_options(int client, struct capbox_options *options); - ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#4 (text+ko) ==== @@ -31,9 +31,6 @@ * SUCH DAMAGE. */ -#include -__FBSDID("$FreeBSD$"); - #include #include #include @@ -46,7 +43,6 @@ #include #include "cap.h" -#include "fdcomm.h" #include "protocol.h" #include "server.h" @@ -55,9 +51,8 @@ int shutting_down = 0; char control_socket_name[256] = ""; -int *clients; -int clientslen; -int clientsmaxlen; +struct fd_set sockets; +int highest_fd; void user_angel_server_shutdown(void) @@ -76,15 +71,13 @@ int bind_to_path(const char *path); void accept_client(int fd_server); void service_clients(void); +void serve(int fd_server, struct fd_set *sockets); +void client_closed(int client); int run_server(const char* address) { - clientslen = 0; - clients = (int*) malloc (128 * sizeof(int)); - clientsmaxlen = 128; - strcpy(control_socket_name, address); printf("Creating control socket at %s...\n", control_socket_name); @@ -97,12 +90,7 @@ } - while(fd_control) - { - accept_client(fd_control); - service_clients(); - } - + while(fd_control) serve(fd_control, &sockets); user_angel_server_shutdown(); return 0; @@ -111,13 +99,15 @@ int bind_to_path(const char *path) { + FD_ZERO(&sockets); + struct sockaddr_un addr; addr.sun_family = AF_UNIX; strcpy(addr.sun_path, control_socket_name); int fd = socket(AF_UNIX, SOCK_STREAM, 0); - if(fd == 0) + if(fd < 0) { if(shutting_down) return 0; @@ -126,6 +116,12 @@ return -1; } + highest_fd = fd; + +/* + TODO: do this? + rc = setsockopt(listen_sd, SOL_SOCKET, SO_REUSEADDR, + (char *)&on, sizeof(on));*/ if(bind(fd, (struct sockaddr*) &addr, sizeof(struct sockaddr_un))) { @@ -148,7 +144,7 @@ // non-blocking socket I/O - int flags = fcntl(fd, F_GETFL, 0); +/* int flags = fcntl(fd, F_GETFL, 0); if(flags < 0) { perror("Error getting flags for control socket"); @@ -159,7 +155,10 @@ { perror("Error setting flags on control socket"); return -1; - } + }*/ + + FD_SET(fd, &sockets); + return fd; @@ -185,116 +184,208 @@ return; } - printf("Accepted client: FD %i\n", client); + printf("Client %4i: Accepted\n", client); - clients[clientslen++] = client; + FD_SET(client, &sockets); + if(client > highest_fd) highest_fd = client; - if(clientslen == clientsmaxlen) - { - int newsize = 2 * clientsmaxlen; - int *newclients = (int*) malloc(newsize * sizeof(int)); + char hello[80]; + sprintf(hello, "user_angel v%s", VERSION); + struct cap_wire_datum *d = cap_marshall_string(hello, strlen(hello)); - memcpy(newclients, clients, clientslen * sizeof(int)); - free(clients); - clients = newclients; - clientslen = newsize; - } + cap_send(client, d); + free(d); } -void service_clients(void) + +void serve(int fd_server, struct fd_set *sockets) { - enum capangel_req_t req; + struct fd_set selected; + memcpy(&selected, sockets, sizeof(*sockets)); + - for(int i = 0; i < clientslen; i++) + int ready = select(highest_fd + 1, &selected, NULL, NULL, NULL); + if(ready < 0) + { + perror("select() failed"); + return; + } + else if(ready == 0) { - int client = clients[i]; - if(client == -1) continue; + perror("select() timed out"); + return; + } - int bytes = cap_recv_int(client, (int*) &req); - - if(bytes > 0) + for(int i = 0; (i <= highest_fd) && (ready > 0); i++) + { + if(FD_ISSET(i, &selected)) { - if(handle_request(client, req)) + if(i == fd_server) accept_client(i); + else { - perror("Error handling client request"); - close(client); - clients[i] = -1; + enum capangel_req_t req; + struct cap_wire_datum *d = cap_recv(i); + + if(!d) + { + if((errno == ENOENT) || (errno == ECONNRESET)) client_closed(i); + else perror("Error receiving from client"); + + continue; + } + + + int bytes = 0; + if(sizeof(enum capangel_req_t) == sizeof(int32_t)) + bytes = cap_unmarshall_int(d, (int32_t*) &req); + + else + { + fprintf(stderr, "enum size is %iB\n", sizeof(enum capangel_req_t)); + return; + } + + if(bytes < 0) + { + fprintf(stderr, "Error unmarshalling request: %s\n", cap_error()); + continue; + } + + if(handle_request(i, req)) + { + perror("Error handling client request"); + client_closed(i); + } } - } - else if(errno == EAGAIN) continue; - else - { - if(shutting_down) return; - perror("Error recv()'ing from client"); - break; + ready--; } } } - int handle_request(int client, enum capangel_req_t req) { - printf("Client %i requests ", client); + printf("Client %4i: ", client); + + struct cap_wire_datum *d; + int pathlen = 256; + char path[pathlen]; + int fds[32]; + int fdlen; switch(req) { case FD_FROM_PATH: >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 15 17:58:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9BDAD1065670; Mon, 15 Jun 2009 17:58:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5BFB2106564A for ; Mon, 15 Jun 2009 17:58:18 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4A2658FC25 for ; Mon, 15 Jun 2009 17:58:18 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FHwIr4021096 for ; Mon, 15 Jun 2009 17:58:18 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FHwILl021094 for perforce@freebsd.org; Mon, 15 Jun 2009 17:58:18 GMT (envelope-from jona@FreeBSD.org) Date: Mon, 15 Jun 2009 17:58:18 GMT Message-Id: <200906151758.n5FHwILl021094@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164442 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 17:58:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=164442 Change 164442 by jona@jona-trustedbsd-belle-vm on 2009/06/15 17:57:23 Don't need the 'fdcomm' files any more Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/fdcomm.c#4 delete .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/fdcomm.h#3 delete .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/fdtest.c#5 delete .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#5 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#5 (text+ko) ==== @@ -11,7 +11,6 @@ #include #include -#include "fdcomm.h" #include "protocol.h" From owner-p4-projects@FreeBSD.ORG Mon Jun 15 18:24:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 77B421065670; Mon, 15 Jun 2009 18:24:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34664106566B for ; Mon, 15 Jun 2009 18:24:48 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2069E8FC0C for ; Mon, 15 Jun 2009 18:24:48 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FIOmfE028978 for ; Mon, 15 Jun 2009 18:24:48 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FIOlut028976 for perforce@freebsd.org; Mon, 15 Jun 2009 18:24:47 GMT (envelope-from syl@FreeBSD.org) Date: Mon, 15 Jun 2009 18:24:47 GMT Message-Id: <200906151824.n5FIOlut028976@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164443 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 18:24:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=164443 Change 164443 by syl@syl_atuin on 2009/06/15 18:24:19 MFC needed to compile a kernel. Affected files ... .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#2 integrate .. //depot/projects/soc2009/syl_usb/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#2 integrate Differences ... ==== //depot/projects/soc2009/syl_usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 (text+ko) ==== @@ -3,7 +3,7 @@ */ /*- - * Copyright (c) 2001-2002 Maksim Yevmenkin + * Copyright (c) 2001-2009 Maksim Yevmenkin * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -27,29 +27,89 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: ng_ubt.c,v 1.22 2005/10/31 17:57:44 max Exp $ - * $FreeBSD: src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c,v 1.36 2008/10/03 22:40:42 emax Exp $ + * $Id: ng_ubt.c,v 1.16 2003/10/10 19:15:06 max Exp $ + * $FreeBSD: src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c,v 1.42 2009/06/15 01:02:43 thompsa Exp $ */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +/* + * NOTE: ng_ubt2 driver has a split personality. On one side it is + * a USB device driver and on the other it is a Netgraph node. This + * driver will *NOT* create traditional /dev/ enties, only Netgraph + * node. + * + * NOTE ON LOCKS USED: ng_ubt2 drives uses 2 locks (mutexes) + * + * 1) sc_if_mtx - lock for device's interface #0 and #1. This lock is used + * by USB for any USB request going over device's interface #0 and #1, + * i.e. interrupt, control, bulk and isoc. transfers. + * + * 2) sc_ng_mtx - this lock is used to protect shared (between USB, Netgraph + * and Taskqueue) data, such as outgoing mbuf queues, task flags and hook + * pointer. This lock *SHOULD NOT* be grabbed for a long time. In fact, + * think of it as a spin lock. + * + * NOTE ON LOCKING STRATEGY: ng_ubt2 driver operates in 3 different contexts. + * + * 1) USB context. This is where all the USB related stuff happens. All + * callbacks run in this context. All callbacks are called (by USB) with + * appropriate interface lock held. It is (generally) allowed to grab + * any additional locks. + * + * 2) Netgraph context. This is where all the Netgraph related stuff happens. + * Since we mark node as WRITER, the Netgraph node will be "locked" (from + * Netgraph point of view). Any variable that is only modified from the + * Netgraph context does not require any additonal locking. It is generally + * *NOT* allowed to grab *ANY* additional locks. Whatever you do, *DO NOT* + * grab any lock in the Netgraph context that could cause de-scheduling of + * the Netgraph thread for significant amount of time. In fact, the only + * lock that is allowed in the Netgraph context is the sc_ng_mtx lock. + * Also make sure that any code that is called from the Netgraph context + * follows the rule above. + * + * 3) Taskqueue context. This is where ubt_task runs. Since we are generally + * NOT allowed to grab any lock that could cause de-scheduling in the + * Netgraph context, and, USB requires us to grab interface lock before + * doing things with transfers, it is safer to transition from the Netgraph + * context to the Taskqueue context before we can call into USB subsystem. + * + * So, to put everything together, the rules are as follows. + * It is OK to call from the USB context or the Taskqueue context into + * the Netgraph context (i.e. call NG_SEND_xxx functions). In other words + * it is allowed to call into the Netgraph context with locks held. + * Is it *NOT* OK to call from the Netgraph context into the USB context, + * because USB requires us to grab interface locks, and, it is safer to + * avoid it. So, to make things safer we set task flags to indicate which + * actions we want to perform and schedule ubt_task which would run in the + * Taskqueue context. + * Is is OK to call from the Taskqueue context into the USB context, + * and, ubt_task does just that (i.e. grabs appropriate interface locks + * before calling into USB). + * Access to the outgoing queues, task flags and hook pointer is + * controlled by the sc_ng_mtx lock. It is an unavoidable evil. Again, + * sc_ng_mtx should really be a spin lock (and it is very likely to an + * equivalent of spin lock due to adaptive nature of FreeBSD mutexes). + * All USB callbacks accept softc pointer as a private data. USB ensures + * that this pointer is valid. + */ +#include "usbdevs.h" #include -#include -#include -#include +#include +#include + +#define USB_DEBUG_VAR usb_debug + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include #include #include @@ -59,73 +119,17 @@ #include #include -#include "usbdevs.h" +static int ubt_modevent(module_t, int, void *); +static device_probe_t ubt_probe; +static device_attach_t ubt_attach; +static device_detach_t ubt_detach; -/* - * USB methods - */ +static void ubt_task_schedule(ubt_softc_p, int); +static task_fn_t ubt_task; -static device_probe_t ubt_match; -static device_attach_t ubt_attach; -static device_detach_t ubt_detach; +#define ubt_xfer_start(sc, i) usbd_transfer_start((sc)->sc_xfer[(i)]) -static device_method_t ubt_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, ubt_match), - DEVMETHOD(device_attach, ubt_attach), - DEVMETHOD(device_detach, ubt_detach), - - { 0, 0 } -}; - -static driver_t ubt_driver = { - "ubt", - ubt_methods, - sizeof(struct ubt_softc) -}; - -static devclass_t ubt_devclass; - -static int ubt_modevent (module_t, int, void *); - -static usbd_status ubt_request_start (ubt_softc_p); -static void ubt_request_complete (usbd_xfer_handle, - usbd_private_handle, usbd_status); -static void ubt_request_complete2 (node_p, hook_p, void *, int); - -static usbd_status ubt_intr_start (ubt_softc_p); -static void ubt_intr_complete (usbd_xfer_handle, - usbd_private_handle, usbd_status); -static void ubt_intr_complete2 (node_p, hook_p, void *, int); - -static usbd_status ubt_bulk_in_start (ubt_softc_p); -static void ubt_bulk_in_complete (usbd_xfer_handle, - usbd_private_handle, usbd_status); -static void ubt_bulk_in_complete2 (node_p, hook_p, void *, int); - -static usbd_status ubt_bulk_out_start (ubt_softc_p); -static void ubt_bulk_out_complete (usbd_xfer_handle, - usbd_private_handle, usbd_status); -static void ubt_bulk_out_complete2 (node_p, hook_p, void *, int); - -static usbd_status ubt_isoc_in_start_one (ubt_softc_p, int); -static usbd_status ubt_isoc_in_start (ubt_softc_p); -static void ubt_isoc_in_complete (usbd_xfer_handle, - usbd_private_handle, usbd_status); -static void ubt_isoc_in_complete2 (node_p, hook_p, void *, int); - -static usbd_status ubt_isoc_out_start_one (ubt_softc_p, int); -static usbd_status ubt_isoc_out_start (ubt_softc_p); -static void ubt_isoc_out_complete (usbd_xfer_handle, - usbd_private_handle, usbd_status); -static void ubt_isoc_out_complete2 (node_p, hook_p, void *, int); - -static void ubt_reset (ubt_softc_p); - -/* - * Netgraph methods - */ - +/* Netgraph methods */ static ng_constructor_t ng_ubt_constructor; static ng_shutdown_t ng_ubt_shutdown; static ng_newhook_t ng_ubt_newhook; @@ -141,7 +145,8 @@ { "qlen", &ng_parse_int32_type, }, { NULL, } }; -static const struct ng_parse_type ng_ubt_node_qlen_type = { +static const struct ng_parse_type ng_ubt_node_qlen_type = +{ &ng_parse_struct_type, &ng_ubt_node_qlen_type_fields }; @@ -157,61 +162,64 @@ { "ierrors", &ng_parse_uint32_type, }, { NULL, } }; -static const struct ng_parse_type ng_ubt_node_stat_type = { +static const struct ng_parse_type ng_ubt_node_stat_type = +{ &ng_parse_struct_type, &ng_ubt_node_stat_type_fields }; /* Netgraph node command list */ -static const struct ng_cmdlist ng_ubt_cmdlist[] = { +static const struct ng_cmdlist ng_ubt_cmdlist[] = { - NGM_UBT_COOKIE, - NGM_UBT_NODE_SET_DEBUG, - "set_debug", - &ng_parse_uint16_type, - NULL -}, -{ - NGM_UBT_COOKIE, - NGM_UBT_NODE_GET_DEBUG, - "get_debug", - NULL, - &ng_parse_uint16_type -}, -{ - NGM_UBT_COOKIE, - NGM_UBT_NODE_SET_QLEN, - "set_qlen", - &ng_ubt_node_qlen_type, - NULL -}, -{ - NGM_UBT_COOKIE, - NGM_UBT_NODE_GET_QLEN, - "get_qlen", - &ng_ubt_node_qlen_type, - &ng_ubt_node_qlen_type -}, -{ - NGM_UBT_COOKIE, - NGM_UBT_NODE_GET_STAT, - "get_stat", - NULL, - &ng_ubt_node_stat_type -}, -{ - NGM_UBT_COOKIE, - NGM_UBT_NODE_RESET_STAT, - "reset_stat", - NULL, - NULL -}, -{ 0, } + { + NGM_UBT_COOKIE, + NGM_UBT_NODE_SET_DEBUG, + "set_debug", + &ng_parse_uint16_type, + NULL + }, + { + NGM_UBT_COOKIE, + NGM_UBT_NODE_GET_DEBUG, + "get_debug", + NULL, + &ng_parse_uint16_type + }, + { + NGM_UBT_COOKIE, + NGM_UBT_NODE_SET_QLEN, + "set_qlen", + &ng_ubt_node_qlen_type, + NULL + }, + { + NGM_UBT_COOKIE, + NGM_UBT_NODE_GET_QLEN, + "get_qlen", + &ng_ubt_node_qlen_type, + &ng_ubt_node_qlen_type + }, + { + NGM_UBT_COOKIE, + NGM_UBT_NODE_GET_STAT, + "get_stat", + NULL, + &ng_ubt_node_stat_type + }, + { + NGM_UBT_COOKIE, + NGM_UBT_NODE_RESET_STAT, + "reset_stat", + NULL, + NULL + }, + { 0, } }; /* Netgraph node type */ -static struct ng_type typestruct = { - .version = NG_ABI_VERSION, +static struct ng_type typestruct = +{ + .version = NG_ABI_VERSION, .name = NG_UBT_NODE_TYPE, .constructor = ng_ubt_constructor, .rcvmsg = ng_ubt_rcvmsg, @@ -220,192 +228,251 @@ .connect = ng_ubt_connect, .rcvdata = ng_ubt_rcvdata, .disconnect = ng_ubt_disconnect, - .cmdlist = ng_ubt_cmdlist + .cmdlist = ng_ubt_cmdlist }; -/* - * Module - */ - -DRIVER_MODULE(ubt, uhub, ubt_driver, ubt_devclass, ubt_modevent, 0); -MODULE_VERSION(ng_ubt, NG_BLUETOOTH_VERSION); -MODULE_DEPEND(ng_ubt, netgraph, NG_ABI_VERSION, NG_ABI_VERSION, NG_ABI_VERSION); -MODULE_DEPEND(ubt, usb, 1, 1, 1); - - /**************************************************************************** **************************************************************************** ** USB specific **************************************************************************** ****************************************************************************/ +/* USB methods */ +static usb_callback_t ubt_ctrl_write_callback; +static usb_callback_t ubt_intr_read_callback; +static usb_callback_t ubt_bulk_read_callback; +static usb_callback_t ubt_bulk_write_callback; +static usb_callback_t ubt_isoc_read_callback; +static usb_callback_t ubt_isoc_write_callback; + +static int ubt_fwd_mbuf_up(ubt_softc_p, struct mbuf **); +static int ubt_isoc_read_one_frame(struct usb_xfer *, int); + /* - * Load/Unload the driver module + * USB config + * + * The following desribes usb transfers that could be submitted on USB device. + * + * Interface 0 on the USB device must present the following endpoints + * 1) Interrupt endpoint to receive HCI events + * 2) Bulk IN endpoint to receive ACL data + * 3) Bulk OUT endpoint to send ACL data + * + * Interface 1 on the USB device must present the following endpoints + * 1) Isochronous IN endpoint to receive SCO data + * 2) Isochronous OUT endpoint to send SCO data */ -static int -ubt_modevent(module_t mod, int event, void *data) +static const struct usb_config ubt_config[UBT_N_TRANSFER] = { - int error; + /* + * Interface #0 + */ + + /* Outgoing bulk transfer - ACL packets */ + [UBT_IF_0_BULK_DT_WR] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_OUT, + .if_index = 0, + .bufsize = UBT_BULK_WRITE_BUFFER_SIZE, + .flags = { .pipe_bof = 1, .force_short_xfer = 1, }, + .callback = &ubt_bulk_write_callback, + }, + /* Incoming bulk transfer - ACL packets */ + [UBT_IF_0_BULK_DT_RD] = { + .type = UE_BULK, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_IN, + .if_index = 0, + .bufsize = UBT_BULK_READ_BUFFER_SIZE, + .flags = { .pipe_bof = 1, .short_xfer_ok = 1, }, + .callback = &ubt_bulk_read_callback, + }, + /* Incoming interrupt transfer - HCI events */ + [UBT_IF_0_INTR_DT_RD] = { + .type = UE_INTERRUPT, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_IN, + .if_index = 0, + .flags = { .pipe_bof = 1, .short_xfer_ok = 1, }, + .bufsize = UBT_INTR_BUFFER_SIZE, + .callback = &ubt_intr_read_callback, + }, + /* Outgoing control transfer - HCI commands */ + [UBT_IF_0_CTRL_DT_WR] = { + .type = UE_CONTROL, + .endpoint = 0x00, /* control pipe */ + .direction = UE_DIR_ANY, + .if_index = 0, + .bufsize = UBT_CTRL_BUFFER_SIZE, + .callback = &ubt_ctrl_write_callback, + .timeout = 5000, /* 5 seconds */ + }, + + /* + * Interface #1 + */ + + /* Incoming isochronous transfer #1 - SCO packets */ + [UBT_IF_1_ISOC_DT_RD1] = { + .type = UE_ISOCHRONOUS, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_IN, + .if_index = 1, + .bufsize = 0, /* use "wMaxPacketSize * frames" */ + .frames = UBT_ISOC_NFRAMES, + .flags = { .short_xfer_ok = 1, }, + .callback = &ubt_isoc_read_callback, + }, + /* Incoming isochronous transfer #2 - SCO packets */ + [UBT_IF_1_ISOC_DT_RD2] = { + .type = UE_ISOCHRONOUS, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_IN, + .if_index = 1, + .bufsize = 0, /* use "wMaxPacketSize * frames" */ + .frames = UBT_ISOC_NFRAMES, + .flags = { .short_xfer_ok = 1, }, + .callback = &ubt_isoc_read_callback, + }, + /* Outgoing isochronous transfer #1 - SCO packets */ + [UBT_IF_1_ISOC_DT_WR1] = { + .type = UE_ISOCHRONOUS, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_OUT, + .if_index = 1, + .bufsize = 0, /* use "wMaxPacketSize * frames" */ + .frames = UBT_ISOC_NFRAMES, + .flags = { .short_xfer_ok = 1, }, + .callback = &ubt_isoc_write_callback, + }, + /* Outgoing isochronous transfer #2 - SCO packets */ + [UBT_IF_1_ISOC_DT_WR2] = { + .type = UE_ISOCHRONOUS, + .endpoint = UE_ADDR_ANY, + .direction = UE_DIR_OUT, + .if_index = 1, + .bufsize = 0, /* use "wMaxPacketSize * frames" */ + .frames = UBT_ISOC_NFRAMES, + .flags = { .short_xfer_ok = 1, }, + .callback = &ubt_isoc_write_callback, + }, +}; - switch (event) { - case MOD_LOAD: - error = ng_newtype(&typestruct); - if (error != 0) - printf( -"%s: Could not register Netgraph node type, error=%d\n", - NG_UBT_NODE_TYPE, error); - else - error = usbd_driver_load(mod, event, data); - break; +/* + * If for some reason device should not be attached then put + * VendorID/ProductID pair into the list below. The format is + * as follows: + * + * { USB_VPI(VENDOR_ID, PRODUCT_ID, 0) }, + * + * where VENDOR_ID and PRODUCT_ID are hex numbers. + */ - case MOD_UNLOAD: - error = ng_rmtype(&typestruct); - if (error == 0) - error = usbd_driver_load(mod, event, data); - break; +static const struct usb_device_id ubt_ignore_devs[] = +{ + /* AVM USB Bluetooth-Adapter BlueFritz! v1.0 */ + { USB_VPI(USB_VENDOR_AVM, 0x2200, 0) }, +}; - default: - error = EOPNOTSUPP; - break; - } +/* List of supported bluetooth devices */ +static const struct usb_device_id ubt_devs[] = +{ + /* Generic Bluetooth class devices */ + { USB_IFACE_CLASS(UDCLASS_WIRELESS), + USB_IFACE_SUBCLASS(UDSUBCLASS_RF), + USB_IFACE_PROTOCOL(UDPROTO_BLUETOOTH) }, - return (error); -} /* ubt_modevent */ + /* AVM USB Bluetooth-Adapter BlueFritz! v2.0 */ + { USB_VPI(USB_VENDOR_AVM, 0x3800, 0) }, +}; /* - * Probe for a USB Bluetooth device + * Probe for a USB Bluetooth device. + * USB context. */ static int -ubt_match(device_t self) +ubt_probe(device_t dev) { - /* - * If for some reason device should not be attached then put - * VendorID/ProductID pair into the list below. The format is - * as follows: - * - * { VENDOR_ID, PRODUCT_ID }, - * - * where VENDOR_ID and PRODUCT_ID are hex numbers. - */ + struct usb_attach_arg *uaa = device_get_ivars(dev); - static struct usb_devno const ubt_ignored_devices[] = { - { USB_VENDOR_AVM, 0x2200 }, /* AVM USB Bluetooth-Adapter BlueFritz! v1.0 */ - { 0, 0 } /* This should be the last item in the list */ - }; + if (uaa->usb_mode != USB_MODE_HOST) + return (ENXIO); - /* - * If device violates Bluetooth specification and has bDeviceClass, - * bDeviceSubClass and bDeviceProtocol set to wrong values then you - * could try to put VendorID/ProductID pair into the list below. - * Adding VendorID/ProductID pair into this list forces ng_ubt(4) - * to attach to the broken device. - */ + if (uaa->info.bIfaceIndex != 0) + return (ENXIO); - static struct usb_devno const ubt_broken_devices[] = { - { USB_VENDOR_AVM, 0x3800 }, /* AVM USB Bluetooth-Adapter BlueFritz! v2.0 */ - { 0, 0 } /* This should be the last item in the list */ - }; + if (uaa->use_generic == 0) + return (ENXIO); - struct usb_attach_arg *uaa = device_get_ivars(self); - usb_device_descriptor_t *dd = usbd_get_device_descriptor(uaa->device); + if (usbd_lookup_id_by_uaa(ubt_ignore_devs, + sizeof(ubt_ignore_devs), uaa) == 0) + return (ENXIO); - if (uaa->iface == NULL || - usb_lookup(ubt_ignored_devices, uaa->vendor, uaa->product)) - return (UMATCH_NONE); - - if (dd->bDeviceClass == UDCLASS_WIRELESS && - dd->bDeviceSubClass == UDSUBCLASS_RF && - dd->bDeviceProtocol == UDPROTO_BLUETOOTH) - return (UMATCH_DEVCLASS_DEVSUBCLASS); - - if (usb_lookup(ubt_broken_devices, uaa->vendor, uaa->product)) - return (UMATCH_VENDOR_PRODUCT); - - return (UMATCH_NONE); -} /* ubt_match */ + return (usbd_lookup_id_by_uaa(ubt_devs, sizeof(ubt_devs), uaa)); +} /* ubt_probe */ /* - * Attach the device + * Attach the device. + * USB context. */ static int -ubt_attach(device_t self) +ubt_attach(device_t dev) { - struct ubt_softc *sc = device_get_softc(self); - struct usb_attach_arg *uaa = device_get_ivars(self); - usb_config_descriptor_t *cd = NULL; - usb_interface_descriptor_t *id = NULL; - usb_endpoint_descriptor_t *ed = NULL; - usbd_status error; - int i, ai, alt_no, isoc_in, isoc_out, - isoc_isize, isoc_osize; + struct usb_attach_arg *uaa = device_get_ivars(dev); + struct ubt_softc *sc = device_get_softc(dev); + struct usb_endpoint_descriptor *ed; + struct usb_interface_descriptor *id; + uint16_t wMaxPacketSize; + uint8_t alt_index, i, j; + uint8_t iface_index[2] = { 0, 1 }; + + device_set_usb_desc(dev); - /* Get USB device info */ - sc->sc_dev = self; - sc->sc_udev = uaa->device; + sc->sc_dev = dev; + sc->sc_debug = NG_UBT_WARN_LEVEL; /* - * Initialize device softc structure + * Create Netgraph node */ - /* State */ - sc->sc_debug = NG_UBT_WARN_LEVEL; - sc->sc_flags = 0; - NG_UBT_STAT_RESET(sc->sc_stat); + if (ng_make_node_common(&typestruct, &sc->sc_node) != 0) { + UBT_ALERT(sc, "could not create Netgraph node\n"); + return (ENXIO); + } + + /* Name Netgraph node */ + if (ng_name_node(sc->sc_node, device_get_nameunit(dev)) != 0) { + UBT_ALERT(sc, "could not name Netgraph node\n"); + NG_NODE_UNREF(sc->sc_node); + return (ENXIO); + } + NG_NODE_SET_PRIVATE(sc->sc_node, sc); + NG_NODE_FORCE_WRITER(sc->sc_node); - /* Interfaces */ - sc->sc_iface0 = sc->sc_iface1 = NULL; + /* + * Initialize device softc structure + */ - /* Interrupt pipe */ - sc->sc_intr_ep = -1; - sc->sc_intr_pipe = NULL; - sc->sc_intr_xfer = NULL; - sc->sc_intr_buffer = NULL; + /* initialize locks */ + mtx_init(&sc->sc_ng_mtx, "ubt ng", NULL, MTX_DEF); + mtx_init(&sc->sc_if_mtx, "ubt if", NULL, MTX_DEF | MTX_RECURSE); - /* Control pipe */ - sc->sc_ctrl_xfer = NULL; - sc->sc_ctrl_buffer = NULL; + /* initialize packet queues */ NG_BT_MBUFQ_INIT(&sc->sc_cmdq, UBT_DEFAULT_QLEN); - - /* Bulk-in pipe */ - sc->sc_bulk_in_ep = -1; - sc->sc_bulk_in_pipe = NULL; - sc->sc_bulk_in_xfer = NULL; - sc->sc_bulk_in_buffer = NULL; - - /* Bulk-out pipe */ - sc->sc_bulk_out_ep = -1; - sc->sc_bulk_out_pipe = NULL; - sc->sc_bulk_out_xfer = NULL; - sc->sc_bulk_out_buffer = NULL; NG_BT_MBUFQ_INIT(&sc->sc_aclq, UBT_DEFAULT_QLEN); - - /* Isoc-in pipe */ - sc->sc_isoc_in_buffer = NULL; - sc->sc_isoc_in_ep = -1; - sc->sc_isoc_in_pipe = NULL; - bzero(&sc->sc_isoc_in, sizeof(sc->sc_isoc_in)); - - /* Isoc-out pipe */ - sc->sc_isoc_out_ep = -1; - sc->sc_isoc_out_pipe = NULL; - bzero(&sc->sc_isoc_out, sizeof(sc->sc_isoc_out)); - - sc->sc_isoc_size = -1; NG_BT_MBUFQ_INIT(&sc->sc_scoq, UBT_DEFAULT_QLEN); - /* Netgraph part */ - sc->sc_node = NULL; - sc->sc_hook = NULL; + /* initialize glue task */ + TASK_INIT(&sc->sc_task, 0, ubt_task, sc); /* - * XXX set configuration? + * Configure Bluetooth USB device. Discover all required USB + * interfaces and endpoints. * - * Configure Bluetooth USB device. Discover all required USB interfaces - * and endpoints. - * * USB device must present two interfaces: * 1) Interface 0 that has 3 endpoints * 1) Interrupt endpoint to receive HCI events @@ -416,1524 +483,804 @@ * 1) Isochronous IN endpoint to receive SCO data * 2) Isochronous OUT endpoint to send SCO data * - * Interface 1 (with isochronous endpoints) has several alternate + * Interface 1 (with isochronous endpoints) has several alternate * configurations with different packet size. */ /* - * Interface 0 + * For interface #1 search alternate settings, and find + * the descriptor with the largest wMaxPacketSize */ - error = usbd_device2interface_handle(sc->sc_udev, 0, &sc->sc_iface0); - if (error || sc->sc_iface0 == NULL) { - printf("%s: Could not get interface 0 handle. %s (%d), " \ - "handle=%p\n", device_get_nameunit(sc->sc_dev), - usbd_errstr(error), error, sc->sc_iface0); - goto bad; - } + wMaxPacketSize = 0; + alt_index = 0; + i = 0; + j = 0; + ed = NULL; - id = usbd_get_interface_descriptor(sc->sc_iface0); - if (id == NULL) { - printf("%s: Could not get interface 0 descriptor\n", - device_get_nameunit(sc->sc_dev)); - goto bad; - } - - for (i = 0; i < id->bNumEndpoints; i ++) { - ed = usbd_interface2endpoint_descriptor(sc->sc_iface0, i); - if (ed == NULL) { - printf("%s: Could not read endpoint descriptor for " \ - "interface 0, i=%d\n", device_get_nameunit(sc->sc_dev), - i); - goto bad; - } - - switch (UE_GET_XFERTYPE(ed->bmAttributes)) { - case UE_BULK: - if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN) - sc->sc_bulk_in_ep = ed->bEndpointAddress; - else - sc->sc_bulk_out_ep = ed->bEndpointAddress; - break; - - case UE_INTERRUPT: - sc->sc_intr_ep = ed->bEndpointAddress; - break; - } - } - - /* Check if we got everything we wanted on Interface 0 */ - if (sc->sc_intr_ep == -1) { - printf("%s: Could not detect interrupt endpoint\n", - device_get_nameunit(sc->sc_dev)); - goto bad; - } - if (sc->sc_bulk_in_ep == -1) { - printf("%s: Could not detect bulk-in endpoint\n", - device_get_nameunit(sc->sc_dev)); - goto bad; - } - if (sc->sc_bulk_out_ep == -1) { - printf("%s: Could not detect bulk-out endpoint\n", - device_get_nameunit(sc->sc_dev)); - goto bad; - } - - printf("%s: Interface 0 endpoints: interrupt=%#x, bulk-in=%#x, " \ - "bulk-out=%#x\n", device_get_nameunit(sc->sc_dev), - sc->sc_intr_ep, sc->sc_bulk_in_ep, sc->sc_bulk_out_ep); - - /* - * Interface 1 + /* + * Search through all the descriptors looking for the largest + * packet size: */ + while ((ed = (struct usb_endpoint_descriptor *)usb_desc_foreach( + usbd_get_config_descriptor(uaa->device), + (struct usb_descriptor *)ed))) { - cd = usbd_get_config_descriptor(sc->sc_udev); - if (cd == NULL) { - printf("%s: Could not get device configuration descriptor\n", - device_get_nameunit(sc->sc_dev)); - goto bad; - } - - error = usbd_device2interface_handle(sc->sc_udev, 1, &sc->sc_iface1); - if (error || sc->sc_iface1 == NULL) { - printf("%s: Could not get interface 1 handle. %s (%d), " \ - "handle=%p\n", device_get_nameunit(sc->sc_dev), - usbd_errstr(error), error, sc->sc_iface1); - goto bad; - } - - id = usbd_get_interface_descriptor(sc->sc_iface1); - if (id == NULL) { - printf("%s: Could not get interface 1 descriptor\n", - device_get_nameunit(sc->sc_dev)); - goto bad; - } - - /* - * Scan all alternate configurations for interface 1 - */ - - alt_no = -1; - - for (ai = 0; ai < usbd_get_no_alts(cd, 1); ai++) { - error = usbd_set_interface(sc->sc_iface1, ai); - if (error) { - printf("%s: [SCAN] Could not set alternate " \ - "configuration %d for interface 1. %s (%d)\n", - device_get_nameunit(sc->sc_dev), ai, usbd_errstr(error), - error); - goto bad; - } - id = usbd_get_interface_descriptor(sc->sc_iface1); - if (id == NULL) { - printf("%s: Could not get interface 1 descriptor for " \ - "alternate configuration %d\n", - device_get_nameunit(sc->sc_dev), ai); - goto bad; + if ((ed->bDescriptorType == UDESC_INTERFACE) && + (ed->bLength >= sizeof(*id))) { + id = (struct usb_interface_descriptor *)ed; + i = id->bInterfaceNumber; + j = id->bAlternateSetting; } - isoc_in = isoc_out = -1; - isoc_isize = isoc_osize = 0; + if ((ed->bDescriptorType == UDESC_ENDPOINT) && + (ed->bLength >= sizeof(*ed)) && + (i == 1)) { + uint16_t temp; - for (i = 0; i < id->bNumEndpoints; i ++) { - ed = usbd_interface2endpoint_descriptor(sc->sc_iface1, i); - if (ed == NULL) { - printf("%s: Could not read endpoint " \ - "descriptor for interface 1, " \ - "alternate configuration %d, i=%d\n", - device_get_nameunit(sc->sc_dev), ai, i); - goto bad; - } - - if (UE_GET_XFERTYPE(ed->bmAttributes) != UE_ISOCHRONOUS) - continue; - - if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN) { - isoc_in = ed->bEndpointAddress; - isoc_isize = UGETW(ed->wMaxPacketSize); - } else { - isoc_out = ed->bEndpointAddress; - isoc_osize = UGETW(ed->wMaxPacketSize); + temp = UGETW(ed->wMaxPacketSize); + if (temp > wMaxPacketSize) { + wMaxPacketSize = temp; + alt_index = j; } } - - /* - * Make sure that configuration looks sane and if so - * update current settings - */ - - if (isoc_in != -1 && isoc_out != -1 && - isoc_isize > 0 && isoc_osize > 0 && - isoc_isize == isoc_osize && isoc_isize > sc->sc_isoc_size) { - sc->sc_isoc_in_ep = isoc_in; - sc->sc_isoc_out_ep = isoc_out; - sc->sc_isoc_size = isoc_isize; - alt_no = ai; - } } - /* Check if we got everything we wanted on Interface 0 */ - if (sc->sc_isoc_in_ep == -1) { - printf("%s: Could not detect isoc-in endpoint\n", - device_get_nameunit(sc->sc_dev)); - goto bad; + /* Set alt configuration on interface #1 only if we found it */ + if (wMaxPacketSize > 0 && + usbd_set_alt_interface_index(uaa->device, 1, alt_index)) { + UBT_ALERT(sc, "could not set alternate setting %d " \ + "for interface 1!\n", alt_index); + goto detach; } - if (sc->sc_isoc_out_ep == -1) { - printf("%s: Could not detect isoc-out endpoint\n", - device_get_nameunit(sc->sc_dev)); - goto bad; - } - if (sc->sc_isoc_size <= 0) { - printf("%s: Invalid isoc. packet size=%d\n", - device_get_nameunit(sc->sc_dev), sc->sc_isoc_size); - goto bad; - } - error = usbd_set_interface(sc->sc_iface1, alt_no); - if (error) { - printf("%s: Could not set alternate configuration " \ - "%d for interface 1. %s (%d)\n", - device_get_nameunit(sc->sc_dev), - alt_no, usbd_errstr(error), error); - goto bad; - } - - /* Allocate USB transfer handles and buffers */ - sc->sc_ctrl_xfer = usbd_alloc_xfer(sc->sc_udev); - if (sc->sc_ctrl_xfer == NULL) { - printf("%s: Could not allocate control xfer handle\n", - device_get_nameunit(sc->sc_dev)); - goto bad; - } - sc->sc_ctrl_buffer = usbd_alloc_buffer(sc->sc_ctrl_xfer, - UBT_CTRL_BUFFER_SIZE); - if (sc->sc_ctrl_buffer == NULL) { - printf("%s: Could not allocate control buffer\n", - device_get_nameunit(sc->sc_dev)); - goto bad; - } - - sc->sc_intr_xfer = usbd_alloc_xfer(sc->sc_udev); - if (sc->sc_intr_xfer == NULL) { - printf("%s: Could not allocate interrupt xfer handle\n", - device_get_nameunit(sc->sc_dev)); - goto bad; - } - - sc->sc_bulk_in_xfer = usbd_alloc_xfer(sc->sc_udev); - if (sc->sc_bulk_in_xfer == NULL) { - printf("%s: Could not allocate bulk-in xfer handle\n", - device_get_nameunit(sc->sc_dev)); - goto bad; - } - - sc->sc_bulk_out_xfer = usbd_alloc_xfer(sc->sc_udev); - if (sc->sc_bulk_out_xfer == NULL) { - printf("%s: Could not allocate bulk-out xfer handle\n", - device_get_nameunit(sc->sc_dev)); - goto bad; - } - sc->sc_bulk_out_buffer = usbd_alloc_buffer(sc->sc_bulk_out_xfer, - UBT_BULK_BUFFER_SIZE); - if (sc->sc_bulk_out_buffer == NULL) { - printf("%s: Could not allocate bulk-out buffer\n", - device_get_nameunit(sc->sc_dev)); - goto bad; + /* Setup transfers for both interfaces */ + if (usbd_transfer_setup(uaa->device, iface_index, sc->sc_xfer, + ubt_config, UBT_N_TRANSFER, sc, &sc->sc_if_mtx)) { + UBT_ALERT(sc, "could not allocate transfers\n"); + goto detach; } - /* - * Allocate buffers for isoc. transfers - */ - - for (i = 0; i < NG_UBT_NXFERS; i++) { - sc->sc_isoc_in[i].xfer = usbd_alloc_xfer(sc->sc_udev); - if (sc->sc_isoc_in[i].xfer == NULL) { - printf("%s: Could not allocate isoc-in xfer handle\n", >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 15 19:20:58 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE79F106567A; Mon, 15 Jun 2009 19:20:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 592901065670 for ; Mon, 15 Jun 2009 19:20:57 +0000 (UTC) (envelope-from sathya@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 471B98FC24 for ; Mon, 15 Jun 2009 19:20:57 +0000 (UTC) (envelope-from sathya@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FJKvUO064917 for ; Mon, 15 Jun 2009 19:20:57 GMT (envelope-from sathya@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FJKvSF064915 for perforce@freebsd.org; Mon, 15 Jun 2009 19:20:57 GMT (envelope-from sathya@FreeBSD.org) Date: Mon, 15 Jun 2009 19:20:57 GMT Message-Id: <200906151920.n5FJKvSF064915@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sathya@FreeBSD.org using -f From: Satish Srinivasan To: Perforce Change Reviews Cc: Subject: PERFORCE change 164452 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 19:20:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=164452 Change 164452 by sathya@sathya-fbsd on 2009/06/15 19:20:52 xml2bsm to convert the xml output from praudit -x back to bsm. Affected files ... .. //depot/projects/soc2009/trailconv/Makefile#3 delete .. //depot/projects/soc2009/trailconv/README#1 add .. //depot/projects/soc2009/trailconv/log2bsm.c#2 delete .. //depot/projects/soc2009/trailconv/log2bsm/Makefile#1 add .. //depot/projects/soc2009/trailconv/log2bsm/log2bsm.c#1 add .. //depot/projects/soc2009/trailconv/sample-log.xml#2 delete .. //depot/projects/soc2009/trailconv/xml2bsm.c#2 delete .. //depot/projects/soc2009/trailconv/xml2bsm.h#2 delete .. //depot/projects/soc2009/trailconv/xml2bsm/Makefile#1 add .. //depot/projects/soc2009/trailconv/xml2bsm/tests/sample_log.xml#1 add .. //depot/projects/soc2009/trailconv/xml2bsm/xml2bsm.c#1 add .. //depot/projects/soc2009/trailconv/xml2bsm/xml2bsm.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jun 15 20:42:44 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 335791065670; Mon, 15 Jun 2009 20:42:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E391E106566B for ; Mon, 15 Jun 2009 20:42:43 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CF6C48FC13 for ; Mon, 15 Jun 2009 20:42:43 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FKghVi089888 for ; Mon, 15 Jun 2009 20:42:43 GMT (envelope-from marius@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FKgPCw089835 for perforce@freebsd.org; Mon, 15 Jun 2009 20:42:25 GMT (envelope-from marius@freebsd.org) Date: Mon, 15 Jun 2009 20:42:25 GMT Message-Id: <200906152042.n5FKgPCw089835@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marius@freebsd.org using -f From: Marius Strobl To: Perforce Change Reviews Cc: Subject: PERFORCE change 164462 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 20:42:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=164462 Change 164462 by marius@flak on 2009/06/15 20:41:35 integrate @164445 Affected files ... .. //depot/projects/usiii/Makefile#6 integrate .. //depot/projects/usiii/amd64/acpica/Makefile#1 branch .. //depot/projects/usiii/amd64/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/usiii/amd64/acpica/acpi_machdep.c#3 integrate .. //depot/projects/usiii/amd64/acpica/acpi_switch.S#1 branch .. //depot/projects/usiii/amd64/acpica/acpi_wakecode.S#1 branch .. //depot/projects/usiii/amd64/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/usiii/amd64/acpica/genwakecode.sh#1 branch .. //depot/projects/usiii/amd64/acpica/genwakedata.sh#1 branch .. //depot/projects/usiii/amd64/acpica/madt.c#4 integrate .. //depot/projects/usiii/amd64/amd64/amd64_mem.c#4 integrate .. //depot/projects/usiii/amd64/amd64/apic_vector.S#2 integrate .. //depot/projects/usiii/amd64/amd64/busdma_machdep.c#5 integrate .. //depot/projects/usiii/amd64/amd64/cpu_switch.S#6 integrate .. //depot/projects/usiii/amd64/amd64/db_interface.c#2 integrate .. //depot/projects/usiii/amd64/amd64/db_trace.c#4 integrate .. //depot/projects/usiii/amd64/amd64/dump_machdep.c#6 integrate .. //depot/projects/usiii/amd64/amd64/elf_machdep.c#3 integrate .. //depot/projects/usiii/amd64/amd64/exception.S#6 integrate .. //depot/projects/usiii/amd64/amd64/fpu.c#3 integrate .. //depot/projects/usiii/amd64/amd64/genassym.c#9 integrate .. //depot/projects/usiii/amd64/amd64/identcpu.c#8 integrate .. //depot/projects/usiii/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/usiii/amd64/amd64/local_apic.c#8 integrate .. //depot/projects/usiii/amd64/amd64/machdep.c#10 integrate .. //depot/projects/usiii/amd64/amd64/mca.c#1 branch .. //depot/projects/usiii/amd64/amd64/minidump_machdep.c#7 integrate .. //depot/projects/usiii/amd64/amd64/mp_machdep.c#7 integrate .. //depot/projects/usiii/amd64/amd64/msi.c#4 integrate .. //depot/projects/usiii/amd64/amd64/pmap.c#10 integrate .. //depot/projects/usiii/amd64/amd64/support.S#3 integrate .. //depot/projects/usiii/amd64/amd64/sys_machdep.c#2 integrate .. //depot/projects/usiii/amd64/amd64/trap.c#7 integrate .. //depot/projects/usiii/amd64/amd64/vm_machdep.c#6 integrate .. //depot/projects/usiii/amd64/conf/DEFAULTS#5 integrate .. //depot/projects/usiii/amd64/conf/GENERIC#14 integrate .. //depot/projects/usiii/amd64/conf/GENERIC.hints#4 integrate .. //depot/projects/usiii/amd64/conf/MAC#2 delete .. //depot/projects/usiii/amd64/conf/NOTES#9 integrate .. //depot/projects/usiii/amd64/conf/USB2#2 delete .. //depot/projects/usiii/amd64/conf/XENHVM#1 branch .. //depot/projects/usiii/amd64/ia32/ia32_exception.S#2 integrate .. //depot/projects/usiii/amd64/ia32/ia32_misc.c#1 branch .. //depot/projects/usiii/amd64/ia32/ia32_reg.c#2 integrate .. //depot/projects/usiii/amd64/ia32/ia32_signal.c#5 integrate .. //depot/projects/usiii/amd64/ia32/ia32_sigtramp.S#2 integrate .. //depot/projects/usiii/amd64/include/apicvar.h#3 integrate .. //depot/projects/usiii/amd64/include/asmacros.h#2 integrate .. //depot/projects/usiii/amd64/include/clock.h#6 integrate .. //depot/projects/usiii/amd64/include/cpufunc.h#4 integrate .. //depot/projects/usiii/amd64/include/elf.h#3 integrate .. //depot/projects/usiii/amd64/include/endian.h#2 integrate .. //depot/projects/usiii/amd64/include/fpu.h#3 integrate .. //depot/projects/usiii/amd64/include/frame.h#2 integrate .. //depot/projects/usiii/amd64/include/intr_machdep.h#3 integrate .. //depot/projects/usiii/amd64/include/legacyvar.h#3 integrate .. //depot/projects/usiii/amd64/include/mca.h#1 branch .. //depot/projects/usiii/amd64/include/md_var.h#3 integrate .. //depot/projects/usiii/amd64/include/metadata.h#2 integrate .. //depot/projects/usiii/amd64/include/param.h#5 integrate .. //depot/projects/usiii/amd64/include/pc/bios.h#3 integrate .. //depot/projects/usiii/amd64/include/pcb.h#5 integrate .. //depot/projects/usiii/amd64/include/pcpu.h#5 integrate .. //depot/projects/usiii/amd64/include/pmap.h#5 integrate .. //depot/projects/usiii/amd64/include/proc.h#3 integrate .. //depot/projects/usiii/amd64/include/reg.h#2 integrate .. //depot/projects/usiii/amd64/include/segments.h#3 integrate .. //depot/projects/usiii/amd64/include/signal.h#2 integrate .. //depot/projects/usiii/amd64/include/smp.h#5 integrate .. //depot/projects/usiii/amd64/include/specialreg.h#7 integrate .. //depot/projects/usiii/amd64/include/sysarch.h#2 integrate .. //depot/projects/usiii/amd64/include/ucontext.h#2 integrate .. //depot/projects/usiii/amd64/include/vmparam.h#5 integrate .. //depot/projects/usiii/amd64/include/xen/hypercall.h#1 branch .. //depot/projects/usiii/amd64/include/xen/synch_bitops.h#1 branch .. //depot/projects/usiii/amd64/include/xen/xen-os.h#1 branch .. //depot/projects/usiii/amd64/include/xen/xenfunc.h#1 branch .. //depot/projects/usiii/amd64/include/xen/xenpmap.h#1 branch .. //depot/projects/usiii/amd64/include/xen/xenvar.h#1 branch .. //depot/projects/usiii/amd64/isa/clock.c#7 integrate .. //depot/projects/usiii/amd64/linux32/linux.h#5 integrate .. //depot/projects/usiii/amd64/linux32/linux32_locore.s#3 integrate .. //depot/projects/usiii/amd64/linux32/linux32_machdep.c#6 integrate .. //depot/projects/usiii/amd64/linux32/linux32_sysent.c#6 integrate .. //depot/projects/usiii/amd64/linux32/linux32_sysvec.c#6 integrate .. //depot/projects/usiii/amd64/pci/pci_bus.c#3 integrate .. //depot/projects/usiii/amd64/pci/pci_cfgreg.c#6 integrate .. //depot/projects/usiii/arm/arm/busdma_machdep.c#5 integrate .. //depot/projects/usiii/arm/arm/cpufunc.c#4 integrate .. //depot/projects/usiii/arm/arm/cpufunc_asm_armv5_ec.S#2 integrate .. //depot/projects/usiii/arm/arm/cpufunc_asm_sheeva.S#2 integrate .. //depot/projects/usiii/arm/arm/dump_machdep.c#5 integrate .. //depot/projects/usiii/arm/arm/elf_machdep.c#3 integrate .. //depot/projects/usiii/arm/arm/elf_trampoline.c#5 integrate .. //depot/projects/usiii/arm/arm/genassym.c#4 integrate .. //depot/projects/usiii/arm/arm/intr.c#6 integrate .. //depot/projects/usiii/arm/arm/locore.S#6 integrate .. //depot/projects/usiii/arm/arm/machdep.c#4 integrate .. //depot/projects/usiii/arm/arm/pmap.c#8 integrate .. //depot/projects/usiii/arm/arm/swtch.S#6 integrate .. //depot/projects/usiii/arm/arm/trap.c#4 integrate .. //depot/projects/usiii/arm/arm/vm_machdep.c#6 integrate .. //depot/projects/usiii/arm/at91/at91.c#7 integrate .. //depot/projects/usiii/arm/at91/at91_cfata.c#1 branch .. //depot/projects/usiii/arm/at91/at91_machdep.c#2 integrate .. //depot/projects/usiii/arm/at91/at91_mci.c#5 integrate .. //depot/projects/usiii/arm/at91/at91_spi.c#3 integrate .. //depot/projects/usiii/arm/at91/at91_twi.c#4 integrate .. //depot/projects/usiii/arm/at91/at91rm92reg.h#4 integrate .. //depot/projects/usiii/arm/at91/files.at91#3 integrate .. //depot/projects/usiii/arm/at91/if_ate.c#7 integrate .. //depot/projects/usiii/arm/at91/ohci_atmelarm.c#4 delete .. //depot/projects/usiii/arm/conf/AVILA#10 integrate .. //depot/projects/usiii/arm/conf/AVILA.hints#4 integrate .. //depot/projects/usiii/arm/conf/BWCT#6 integrate .. //depot/projects/usiii/arm/conf/BWCT.hints#2 integrate .. //depot/projects/usiii/arm/conf/CAMBRIA#2 integrate .. //depot/projects/usiii/arm/conf/CAMBRIA.hints#2 integrate .. //depot/projects/usiii/arm/conf/CRB#7 integrate .. //depot/projects/usiii/arm/conf/DB-78XXX#2 integrate .. //depot/projects/usiii/arm/conf/DB-88F5XXX#2 integrate .. //depot/projects/usiii/arm/conf/DB-88F6XXX#2 integrate .. //depot/projects/usiii/arm/conf/EP80219#6 integrate .. //depot/projects/usiii/arm/conf/GUMSTIX#3 integrate .. //depot/projects/usiii/arm/conf/HL200#5 integrate .. //depot/projects/usiii/arm/conf/IQ31244#6 integrate .. //depot/projects/usiii/arm/conf/KB920X#8 integrate .. //depot/projects/usiii/arm/conf/NSLU#4 integrate .. //depot/projects/usiii/arm/conf/NSLU.hints#2 integrate .. //depot/projects/usiii/arm/conf/SIMICS#6 integrate .. //depot/projects/usiii/arm/conf/SKYEYE#6 integrate .. //depot/projects/usiii/arm/include/atomic.h#5 integrate .. //depot/projects/usiii/arm/include/elf.h#3 integrate .. //depot/projects/usiii/arm/include/intr.h#6 integrate .. //depot/projects/usiii/arm/include/param.h#3 integrate .. //depot/projects/usiii/arm/include/pmap.h#5 integrate .. //depot/projects/usiii/arm/include/proc.h#2 integrate .. //depot/projects/usiii/arm/include/sysarch.h#3 integrate .. //depot/projects/usiii/arm/include/vmparam.h#5 integrate .. //depot/projects/usiii/arm/mv/common.c#2 integrate .. //depot/projects/usiii/arm/mv/discovery/db78xxx.c#2 integrate .. //depot/projects/usiii/arm/mv/discovery/discovery.c#2 integrate .. //depot/projects/usiii/arm/mv/files.mv#2 integrate .. //depot/projects/usiii/arm/mv/gpio.c#2 integrate .. //depot/projects/usiii/arm/mv/ic.c#2 integrate .. //depot/projects/usiii/arm/mv/kirkwood/db88f6xxx.c#2 integrate .. //depot/projects/usiii/arm/mv/kirkwood/kirkwood.c#2 integrate .. //depot/projects/usiii/arm/mv/mv_pci.c#2 integrate .. //depot/projects/usiii/arm/mv/mvreg.h#2 integrate .. //depot/projects/usiii/arm/mv/mvwin.h#1 branch .. //depot/projects/usiii/arm/mv/orion/db88f5xxx.c#2 integrate .. //depot/projects/usiii/arm/mv/orion/orion.c#2 integrate .. //depot/projects/usiii/arm/mv/twsi.c#2 integrate .. //depot/projects/usiii/arm/sa11x0/assabet_machdep.c#5 integrate .. //depot/projects/usiii/arm/sa11x0/sa11x0_irqhandler.c#2 integrate .. //depot/projects/usiii/arm/xscale/i80321/i80321.c#3 integrate .. //depot/projects/usiii/arm/xscale/i80321/i80321_pci.c#3 integrate .. //depot/projects/usiii/arm/xscale/i8134x/i81342.c#3 integrate .. //depot/projects/usiii/arm/xscale/ixp425/avila_ata.c#3 integrate .. //depot/projects/usiii/arm/xscale/ixp425/avila_led.c#3 integrate .. //depot/projects/usiii/arm/xscale/ixp425/avila_machdep.c#6 integrate .. //depot/projects/usiii/arm/xscale/ixp425/cambria_led.c#2 integrate .. //depot/projects/usiii/arm/xscale/ixp425/files.ixp425#5 integrate .. //depot/projects/usiii/arm/xscale/ixp425/if_npe.c#6 integrate .. //depot/projects/usiii/arm/xscale/ixp425/ixp425.c#5 integrate .. //depot/projects/usiii/arm/xscale/ixp425/ixp425_iic.c#5 integrate .. //depot/projects/usiii/arm/xscale/ixp425/ixp425_pci.c#4 integrate .. //depot/projects/usiii/arm/xscale/ixp425/ixp425_qmgr.c#5 integrate .. //depot/projects/usiii/arm/xscale/ixp425/ixp425_qmgr.h#2 integrate .. //depot/projects/usiii/arm/xscale/ixp425/ixp425reg.h#3 integrate .. //depot/projects/usiii/arm/xscale/pxa/pxa_icu.c#2 integrate .. //depot/projects/usiii/boot/Makefile#6 integrate .. //depot/projects/usiii/boot/Makefile.inc#2 integrate .. //depot/projects/usiii/boot/common/boot.c#2 integrate .. //depot/projects/usiii/boot/common/loader.8#4 integrate .. //depot/projects/usiii/boot/common/module.c#3 integrate .. //depot/projects/usiii/boot/common/ufsread.c#4 integrate .. //depot/projects/usiii/boot/ficl/mips/sysdep.c#1 branch .. //depot/projects/usiii/boot/ficl/mips/sysdep.h#1 branch .. //depot/projects/usiii/boot/forth/loader.conf#8 integrate .. //depot/projects/usiii/boot/i386/boot2/Makefile#2 integrate .. //depot/projects/usiii/boot/i386/boot2/boot1.S#2 integrate .. //depot/projects/usiii/boot/i386/btx/btx/btx.S#5 integrate .. //depot/projects/usiii/boot/i386/libi386/Makefile#3 integrate .. //depot/projects/usiii/boot/i386/libi386/biosacpi.c#2 integrate .. //depot/projects/usiii/boot/i386/libi386/bioscd.c#3 integrate .. //depot/projects/usiii/boot/i386/libi386/biosdisk.c#5 integrate .. //depot/projects/usiii/boot/i386/libi386/biospnp.c#2 integrate .. //depot/projects/usiii/boot/i386/libi386/biossmap.c#4 integrate .. //depot/projects/usiii/boot/i386/libi386/devicename.c#5 integrate .. //depot/projects/usiii/boot/i386/libi386/libi386.h#2 integrate .. //depot/projects/usiii/boot/i386/libi386/smbios.c#2 integrate .. //depot/projects/usiii/boot/i386/loader/Makefile#4 integrate .. //depot/projects/usiii/boot/i386/loader/main.c#5 integrate .. //depot/projects/usiii/boot/i386/pxeldr/pxeboot.8#2 integrate .. //depot/projects/usiii/boot/i386/zfsboot/zfsboot.c#2 integrate .. //depot/projects/usiii/boot/ia64/common/Makefile#3 integrate .. //depot/projects/usiii/boot/ia64/efi/Makefile#3 integrate .. //depot/projects/usiii/boot/ia64/ski/Makefile#3 integrate .. //depot/projects/usiii/boot/ia64/ski/acpi_stub.c#2 integrate .. //depot/projects/usiii/boot/pc98/boot2/sys.c#2 integrate .. //depot/projects/usiii/boot/pc98/libpc98/Makefile#3 integrate .. //depot/projects/usiii/boot/pc98/libpc98/bioscd.c#3 integrate .. //depot/projects/usiii/boot/pc98/libpc98/biosdisk.c#4 integrate .. //depot/projects/usiii/boot/pc98/libpc98/time.c#2 integrate .. //depot/projects/usiii/boot/pc98/loader/Makefile#3 integrate .. //depot/projects/usiii/boot/pc98/loader/main.c#4 integrate .. //depot/projects/usiii/boot/powerpc/ofw/Makefile#4 integrate .. //depot/projects/usiii/boot/sparc64/loader/Makefile#3 integrate .. //depot/projects/usiii/boot/sparc64/loader/main.c#7 integrate .. //depot/projects/usiii/boot/uboot/lib/devicename.c#4 integrate .. //depot/projects/usiii/boot/uboot/lib/disk.c#4 integrate .. //depot/projects/usiii/boot/uboot/lib/libuboot.h#5 integrate .. //depot/projects/usiii/boot/uboot/lib/net.c#6 integrate .. //depot/projects/usiii/boot/zfs/zfsimpl.c#2 integrate .. //depot/projects/usiii/bsm/audit.h#5 integrate .. //depot/projects/usiii/bsm/audit_domain.h#2 integrate .. //depot/projects/usiii/bsm/audit_fcntl.h#1 branch .. //depot/projects/usiii/bsm/audit_kevents.h#6 integrate .. //depot/projects/usiii/bsm/audit_record.h#4 integrate .. //depot/projects/usiii/cam/cam.c#2 integrate .. //depot/projects/usiii/cam/cam_periph.c#4 integrate .. //depot/projects/usiii/cam/cam_xpt.c#7 integrate .. //depot/projects/usiii/cam/scsi/scsi_cd.c#3 integrate .. //depot/projects/usiii/cam/scsi/scsi_da.c#6 integrate .. //depot/projects/usiii/cam/scsi/scsi_pass.c#3 integrate .. //depot/projects/usiii/cam/scsi/scsi_sa.c#3 integrate .. //depot/projects/usiii/cam/scsi/scsi_ses.c#5 integrate .. //depot/projects/usiii/cam/scsi/scsi_sg.c#3 integrate .. //depot/projects/usiii/cam/scsi/scsi_target.c#3 integrate .. //depot/projects/usiii/cddl/boot/zfs/README#2 integrate .. //depot/projects/usiii/cddl/boot/zfs/zfsimpl.h#2 integrate .. //depot/projects/usiii/cddl/boot/zfs/zfssubr.c#2 integrate .. //depot/projects/usiii/cddl/compat/opensolaris/kern/opensolaris.c#2 integrate .. //depot/projects/usiii/cddl/compat/opensolaris/kern/opensolaris_acl.c#1 branch .. //depot/projects/usiii/cddl/compat/opensolaris/kern/opensolaris_lookup.c#2 integrate .. //depot/projects/usiii/cddl/compat/opensolaris/kern/opensolaris_misc.c#3 integrate .. //depot/projects/usiii/cddl/compat/opensolaris/kern/opensolaris_policy.c#3 integrate .. //depot/projects/usiii/cddl/compat/opensolaris/kern/opensolaris_vfs.c#5 integrate .. //depot/projects/usiii/cddl/compat/opensolaris/kern/opensolaris_zone.c#3 integrate .. //depot/projects/usiii/cddl/compat/opensolaris/sys/mutex.h#2 integrate .. //depot/projects/usiii/cddl/compat/opensolaris/sys/rwlock.h#2 integrate .. //depot/projects/usiii/cddl/compat/opensolaris/sys/sysmacros.h#4 integrate .. //depot/projects/usiii/cddl/compat/opensolaris/sys/vnode.h#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/common/acl/acl_common.c#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/common/acl/acl_common.h#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/common/atomic/amd64/atomic.S#3 delete .. //depot/projects/usiii/cddl/contrib/opensolaris/common/atomic/amd64/opensolaris_atomic.S#1 branch .. //depot/projects/usiii/cddl/contrib/opensolaris/common/atomic/i386/atomic.S#3 delete .. //depot/projects/usiii/cddl/contrib/opensolaris/common/atomic/i386/opensolaris_atomic.S#1 branch .. //depot/projects/usiii/cddl/contrib/opensolaris/common/atomic/ia64/atomic.S#2 delete .. //depot/projects/usiii/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S#1 branch .. //depot/projects/usiii/cddl/contrib/opensolaris/common/atomic/sparc64/atomic.S#2 delete .. //depot/projects/usiii/cddl/contrib/opensolaris/common/atomic/sparc64/opensolaris_atomic.S#1 branch .. //depot/projects/usiii/cddl/contrib/opensolaris/common/zfs/zfs_prop.c#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#5 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/gfs.c#4 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/vnode.c#2 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#4 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#5 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#4 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#6 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr.c#1 branch .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_array.c#1 branch .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_mem.c#1 branch .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/rpc/xdr.c#3 delete .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/rpc/xdr.h#3 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/rpc/xdr_array.c#3 delete .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/rpc/xdr_mem.c#2 delete .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/sys/acl.h#2 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h#2 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/sys/vnode.h#2 integrate .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/zmod/crc32.c#2 delete .. //depot/projects/usiii/cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c#1 branch .. //depot/projects/usiii/cddl/dev/lockstat/lockstat.c#1 branch .. //depot/projects/usiii/compat/freebsd32/freebsd32.h#4 integrate .. //depot/projects/usiii/compat/freebsd32/freebsd32_ioctl.c#2 integrate .. //depot/projects/usiii/compat/freebsd32/freebsd32_ioctl.h#2 integrate .. //depot/projects/usiii/compat/freebsd32/freebsd32_misc.c#8 integrate .. //depot/projects/usiii/compat/freebsd32/freebsd32_proto.h#12 integrate .. //depot/projects/usiii/compat/freebsd32/freebsd32_syscall.h#12 integrate .. //depot/projects/usiii/compat/freebsd32/freebsd32_syscalls.c#12 integrate .. //depot/projects/usiii/compat/freebsd32/freebsd32_sysent.c#12 integrate .. //depot/projects/usiii/compat/freebsd32/syscalls.master#12 integrate .. //depot/projects/usiii/compat/ia32/ia32_signal.h#2 integrate .. //depot/projects/usiii/compat/ia32/ia32_sysvec.c#4 integrate .. //depot/projects/usiii/compat/linprocfs/linprocfs.c#8 integrate .. //depot/projects/usiii/compat/linux/linux_emul.c#4 integrate .. //depot/projects/usiii/compat/linux/linux_emul.h#3 integrate .. //depot/projects/usiii/compat/linux/linux_file.c#8 integrate .. //depot/projects/usiii/compat/linux/linux_futex.c#6 integrate .. //depot/projects/usiii/compat/linux/linux_futex.h#5 integrate .. //depot/projects/usiii/compat/linux/linux_getcwd.c#6 integrate .. //depot/projects/usiii/compat/linux/linux_ioctl.c#7 integrate .. //depot/projects/usiii/compat/linux/linux_mib.c#3 integrate .. //depot/projects/usiii/compat/linux/linux_mib.h#2 integrate .. //depot/projects/usiii/compat/linux/linux_misc.c#12 integrate .. //depot/projects/usiii/compat/linux/linux_misc.h#3 integrate .. //depot/projects/usiii/compat/linux/linux_socket.c#5 integrate .. //depot/projects/usiii/compat/linux/linux_socket.h#3 integrate .. //depot/projects/usiii/compat/linux/linux_stats.c#8 integrate .. //depot/projects/usiii/compat/linux/linux_util.h#3 integrate .. //depot/projects/usiii/compat/ndis/hal_var.h#2 integrate .. //depot/projects/usiii/compat/ndis/kern_ndis.c#5 integrate .. //depot/projects/usiii/compat/ndis/kern_windrv.c#3 integrate .. //depot/projects/usiii/compat/ndis/ndis_var.h#4 integrate .. //depot/projects/usiii/compat/ndis/ntoskrnl_var.h#5 integrate .. //depot/projects/usiii/compat/ndis/pe_var.h#2 integrate .. //depot/projects/usiii/compat/ndis/resource_var.h#2 integrate .. //depot/projects/usiii/compat/ndis/subr_hal.c#2 integrate .. //depot/projects/usiii/compat/ndis/subr_ndis.c#8 integrate .. //depot/projects/usiii/compat/ndis/subr_ntoskrnl.c#6 integrate .. //depot/projects/usiii/compat/ndis/subr_pe.c#2 integrate .. //depot/projects/usiii/compat/ndis/subr_usbd.c#3 integrate .. //depot/projects/usiii/compat/ndis/usbd_var.h#3 integrate .. //depot/projects/usiii/compat/ndis/winx32_wrap.S#2 integrate .. //depot/projects/usiii/compat/svr4/svr4_fcntl.c#6 integrate .. //depot/projects/usiii/compat/svr4/svr4_ioctl.c#2 integrate .. //depot/projects/usiii/compat/svr4/svr4_ioctl.h#2 integrate .. //depot/projects/usiii/compat/svr4/svr4_misc.c#5 integrate .. //depot/projects/usiii/compat/svr4/svr4_proto.h#2 integrate .. //depot/projects/usiii/compat/svr4/svr4_resource.c#2 integrate .. //depot/projects/usiii/compat/svr4/svr4_signal.c#2 integrate .. //depot/projects/usiii/compat/svr4/svr4_socket.c#2 integrate .. //depot/projects/usiii/compat/svr4/svr4_sockio.c#5 integrate .. //depot/projects/usiii/compat/svr4/svr4_stat.c#4 integrate .. //depot/projects/usiii/compat/svr4/svr4_stream.c#4 integrate .. //depot/projects/usiii/compat/svr4/svr4_syscall.h#2 integrate .. //depot/projects/usiii/compat/svr4/svr4_syscallnames.c#2 integrate .. //depot/projects/usiii/compat/svr4/svr4_sysconfig.h#2 integrate .. //depot/projects/usiii/compat/svr4/svr4_sysent.c#2 integrate .. //depot/projects/usiii/compat/svr4/svr4_sysvec.c#6 integrate .. //depot/projects/usiii/compat/svr4/svr4_ttold.c#2 delete .. //depot/projects/usiii/compat/svr4/svr4_ttold.h#2 delete .. //depot/projects/usiii/conf/NOTES#17 integrate .. //depot/projects/usiii/conf/files#17 integrate .. //depot/projects/usiii/conf/files.amd64#9 integrate .. //depot/projects/usiii/conf/files.i386#12 integrate .. //depot/projects/usiii/conf/files.ia64#4 integrate .. //depot/projects/usiii/conf/files.mips#5 integrate .. //depot/projects/usiii/conf/files.pc98#8 integrate .. //depot/projects/usiii/conf/files.powerpc#10 integrate .. //depot/projects/usiii/conf/files.sparc64#12 integrate .. //depot/projects/usiii/conf/files.sun4v#7 integrate .. //depot/projects/usiii/conf/kern.mk#5 integrate .. //depot/projects/usiii/conf/kern.post.mk#6 integrate .. //depot/projects/usiii/conf/kern.pre.mk#6 integrate .. //depot/projects/usiii/conf/kmod.mk#5 integrate .. //depot/projects/usiii/conf/newvers.sh#5 integrate .. //depot/projects/usiii/conf/options#18 integrate .. //depot/projects/usiii/conf/options.amd64#6 integrate .. //depot/projects/usiii/conf/options.arm#5 integrate .. //depot/projects/usiii/conf/options.i386#6 integrate .. //depot/projects/usiii/conf/options.ia64#2 integrate .. //depot/projects/usiii/conf/options.mips#3 integrate .. //depot/projects/usiii/conf/options.pc98#4 integrate .. //depot/projects/usiii/contrib/altq/altq/altq_subr.c#5 integrate .. //depot/projects/usiii/contrib/dev/acpica/CHANGES.txt#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acapps.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acconfig.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acdebug.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acdisasm.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acdispat.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acefi.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acenv.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acevents.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acexcep.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acfreebsd.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acgcc.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acglobal.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/achware.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acinterp.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/aclocal.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acmacros.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acnames.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acnamesp.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acobject.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acopcode.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acoutput.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acparser.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acpi.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acpica_prep.sh#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/acpiosxf.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acpixf.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acresrc.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acstruct.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/actables.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/actbl.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/actbl1.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/actbl2.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/actypes.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/acutils.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/aecommon.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/amlcode.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/amlresrc.h#2 delete .. //depot/projects/usiii/contrib/dev/acpica/changes.txt#1 branch .. //depot/projects/usiii/contrib/dev/acpica/common/adfile.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/common/adisasm.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/common/adwalk.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/common/dmrestag.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/common/dmtable.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/common/dmtbdump.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/common/dmtbinfo.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/common/getopt.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslanalyze.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslcodegen.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslcompile.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslcompiler.h#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslcompiler.l#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslcompiler.y#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/asldefine.h#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslerror.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslfiles.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslfold.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslglobal.h#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/asllength.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/asllisting.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslload.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/asllookup.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslmain.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslmap.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslopcodes.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/asloperands.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslopt.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslresource.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslrestype1.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslrestype2.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslstartup.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslstubs.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/asltransform.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/asltree.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/asltypes.h#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/compiler/aslutils.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/dbcmds.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dbdisply.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dbexec.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dbfileio.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dbhistry.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dbinput.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dbstats.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dbutils.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dbxface.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/debugger/dbcmds.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/debugger/dbdisply.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/debugger/dbexec.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/debugger/dbfileio.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/debugger/dbhistry.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/debugger/dbinput.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/debugger/dbstats.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/debugger/dbutils.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/debugger/dbxface.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/disassembler/dmbuffer.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/disassembler/dmnames.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/disassembler/dmobject.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/disassembler/dmopcode.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/disassembler/dmresrc.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/disassembler/dmresrcl.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/disassembler/dmresrcs.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/disassembler/dmutils.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/disassembler/dmwalk.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/dispatcher/dsfield.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/dispatcher/dsinit.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/dispatcher/dsmethod.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/dispatcher/dsmthdat.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/dispatcher/dsobject.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/dispatcher/dsopcode.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/dispatcher/dsutils.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/dispatcher/dswexec.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/dispatcher/dswload.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/dispatcher/dswscope.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/dispatcher/dswstate.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/dmbuffer.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dmnames.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dmobject.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dmopcode.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dmresrc.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dmresrcl.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dmresrcs.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dmutils.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dmwalk.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dsfield.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dsinit.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dsmethod.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dsmthdat.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dsobject.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dsopcode.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dsutils.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dswexec.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dswload.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dswscope.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/dswstate.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/events/evevent.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/events/evgpe.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/events/evgpeblk.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/events/evmisc.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/events/evregion.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/events/evrgnini.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/events/evsci.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/events/evxface.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/events/evxfevnt.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/events/evxfregn.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/evevent.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/evgpe.c#3 delete .. //depot/projects/usiii/contrib/dev/acpica/evgpeblk.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/evmisc.c#3 delete .. //depot/projects/usiii/contrib/dev/acpica/evregion.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/evrgnini.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/evsci.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/evxface.c#3 delete .. //depot/projects/usiii/contrib/dev/acpica/evxfevnt.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/evxfregn.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exconfig.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exconvrt.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/excreate.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exdump.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/executer/exconfig.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exconvrt.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/excreate.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exdump.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exfield.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exfldio.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exmisc.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exmutex.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exnames.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exoparg1.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exoparg2.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exoparg3.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exoparg6.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exprep.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exregion.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exresnte.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exresolv.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exresop.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exstore.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exstoren.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exstorob.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exsystem.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/executer/exutils.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/exfield.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exfldio.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exmisc.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exmutex.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exnames.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exoparg1.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exoparg2.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exoparg3.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exoparg6.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exprep.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exregion.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exresnte.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exresolv.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exresop.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exstore.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exstoren.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exstorob.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exsystem.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/exutils.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/hardware/hwacpi.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/hardware/hwgpe.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/hardware/hwregs.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/hardware/hwsleep.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/hardware/hwtimer.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/hardware/hwvalid.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/hardware/hwxface.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/hwacpi.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/hwgpe.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/hwregs.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/hwsleep.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/hwtimer.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/include/acapps.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/accommon.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acconfig.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acdebug.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acdisasm.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acdispat.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acevents.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acexcep.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acglobal.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/achware.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acinterp.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/aclocal.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acmacros.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acnames.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acnamesp.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acobject.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acopcode.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acoutput.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acparser.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acpi.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acpiosxf.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acpixf.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acpredef.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acresrc.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acrestyp.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acstruct.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/actables.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/actbl.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/actbl1.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/actypes.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/acutils.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/amlcode.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/amlresrc.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/platform/acenv.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/platform/acfreebsd.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/include/platform/acgcc.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nsaccess.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nsalloc.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nsdump.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nsdumpdv.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nseval.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nsinit.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nsload.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nsnames.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nsobject.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nsparse.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nspredef.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nssearch.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nsutils.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nswalk.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nsxfeval.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nsxfname.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/namespace/nsxfobj.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/nsaccess.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nsalloc.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nsdump.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nsdumpdv.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nseval.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nsinit.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nsload.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nsnames.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nsobject.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nsparse.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nssearch.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nsutils.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nswalk.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nsxfeval.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nsxfname.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/nsxfobj.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/osunixxf.c#2 integrate .. //depot/projects/usiii/contrib/dev/acpica/parser/psargs.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/parser/psloop.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/parser/psopcode.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/parser/psparse.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/parser/psscope.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/parser/pstree.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/parser/psutils.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/parser/pswalk.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/parser/psxface.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/psargs.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/psloop.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/psopcode.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/psparse.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/psscope.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/pstree.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/psutils.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/pswalk.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/psxface.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/resources/rsaddr.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/resources/rscalc.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/resources/rscreate.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/resources/rsdump.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/resources/rsinfo.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/resources/rsio.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/resources/rsirq.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/resources/rslist.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/resources/rsmemory.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/resources/rsmisc.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/resources/rsutils.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/resources/rsxface.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/rsaddr.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/rscalc.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/rscreate.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/rsdump.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/rsinfo.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/rsio.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/rsirq.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/rslist.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/rsmemory.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/rsmisc.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/rsutils.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/rsxface.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/tables/tbfadt.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/tables/tbfind.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/tables/tbinstal.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/tables/tbutils.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/tables/tbxface.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/tables/tbxfroot.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/tbfadt.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/tbfind.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/tbinstal.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/tbutils.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/tbxface.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/tbxfroot.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/tools/acpiexec/aecommon.h#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utalloc.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utcache.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utclib.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utcopy.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utdebug.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utdelete.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/uteval.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utglobal.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utilities/utalloc.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utcache.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utcopy.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utdebug.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utdelete.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/uteval.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utglobal.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utinit.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utlock.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utmath.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utmisc.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utmutex.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utobject.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utresrc.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utstate.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/uttrack.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utilities/utxface.c#1 branch .. //depot/projects/usiii/contrib/dev/acpica/utinit.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utmath.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utmisc.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utmutex.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utobject.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utresrc.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utstate.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/uttrack.c#2 delete .. //depot/projects/usiii/contrib/dev/acpica/utxface.c#2 delete .. //depot/projects/usiii/contrib/dev/iwi/Makefile#1 branch .. //depot/projects/usiii/contrib/dev/iwi/ipw2200-bss.fw.uu#2 integrate .. //depot/projects/usiii/contrib/dev/iwi/ipw2200-ibss.fw.uu#2 integrate .. //depot/projects/usiii/contrib/dev/iwi/ipw2200-sniffer.fw.uu#2 integrate .. //depot/projects/usiii/contrib/dev/mwl/LICENSE#1 branch .. //depot/projects/usiii/contrib/dev/mwl/Makefile#1 branch .. //depot/projects/usiii/contrib/dev/mwl/mw88W8363.fw.uu#1 branch .. //depot/projects/usiii/contrib/dev/mwl/mwlboot.fw.uu#1 branch .. //depot/projects/usiii/contrib/dev/uath/ar5523.bin.uu#1 branch .. //depot/projects/usiii/contrib/ipfilter/netinet/ip_fil_freebsd.c#6 integrate .. //depot/projects/usiii/contrib/ipfilter/netinet/ip_nat.c#4 integrate .. //depot/projects/usiii/contrib/pf/net/if_pflog.c#2 integrate .. //depot/projects/usiii/contrib/pf/net/if_pfsync.c#2 integrate .. //depot/projects/usiii/contrib/pf/net/pf.c#8 integrate .. //depot/projects/usiii/contrib/pf/net/pf_if.c#6 integrate .. //depot/projects/usiii/contrib/pf/net/pf_ioctl.c#8 integrate .. //depot/projects/usiii/crypto/via/padlock.c#4 integrate .. //depot/projects/usiii/crypto/via/padlock_hash.c#3 integrate .. //depot/projects/usiii/ddb/db_expr.c#2 integrate .. //depot/projects/usiii/ddb/db_textdump.c#4 integrate .. //depot/projects/usiii/dev/aac/aac.c#6 integrate .. //depot/projects/usiii/dev/aac/aac_debug.c#4 integrate .. //depot/projects/usiii/dev/aac/aac_pci.c#7 integrate .. //depot/projects/usiii/dev/aac/aacreg.h#4 integrate .. //depot/projects/usiii/dev/aac/aacvar.h#4 integrate .. //depot/projects/usiii/dev/acpi_support/acpi_aiboost.c#2 integrate .. //depot/projects/usiii/dev/acpi_support/acpi_asus.c#6 integrate .. //depot/projects/usiii/dev/acpi_support/acpi_fujitsu.c#3 integrate .. //depot/projects/usiii/dev/acpi_support/acpi_ibm.c#5 integrate .. //depot/projects/usiii/dev/acpi_support/acpi_panasonic.c#2 integrate .. //depot/projects/usiii/dev/acpi_support/acpi_sony.c#3 integrate .. //depot/projects/usiii/dev/acpi_support/acpi_toshiba.c#2 integrate .. //depot/projects/usiii/dev/acpica/Osd/OsdDebug.c#3 integrate .. //depot/projects/usiii/dev/acpica/Osd/OsdHardware.c#2 integrate .. //depot/projects/usiii/dev/acpica/Osd/OsdInterrupt.c#2 integrate .. //depot/projects/usiii/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/usiii/dev/acpica/Osd/OsdSchedule.c#4 integrate .. //depot/projects/usiii/dev/acpica/Osd/OsdStream.c#2 integrate .. //depot/projects/usiii/dev/acpica/Osd/OsdSynch.c#3 integrate .. //depot/projects/usiii/dev/acpica/Osd/OsdTable.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi.c#11 integrate .. //depot/projects/usiii/dev/acpica/acpi_acad.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_battery.c#4 integrate .. //depot/projects/usiii/dev/acpica/acpi_button.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_cmbat.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_cpu.c#7 integrate .. //depot/projects/usiii/dev/acpica/acpi_dock.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_ec.c#4 integrate .. //depot/projects/usiii/dev/acpica/acpi_hpet.c#5 integrate .. //depot/projects/usiii/dev/acpica/acpi_if.m#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_isab.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_lid.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_package.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_pci.c#4 integrate .. //depot/projects/usiii/dev/acpica/acpi_pci_link.c#3 integrate .. //depot/projects/usiii/dev/acpica/acpi_pcib.c#3 integrate .. //depot/projects/usiii/dev/acpica/acpi_pcib_acpi.c#3 integrate .. //depot/projects/usiii/dev/acpica/acpi_pcib_pci.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_perf.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_powerres.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_quirk.c#3 integrate .. //depot/projects/usiii/dev/acpica/acpi_resource.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_smbat.c#3 integrate .. //depot/projects/usiii/dev/acpica/acpi_thermal.c#6 integrate .. //depot/projects/usiii/dev/acpica/acpi_throttle.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_timer.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_video.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpivar.h#4 integrate .. //depot/projects/usiii/dev/adb/adb_mouse.c#2 integrate .. //depot/projects/usiii/dev/ae/if_ae.c#2 integrate .. //depot/projects/usiii/dev/age/if_age.c#5 integrate .. //depot/projects/usiii/dev/age/if_agereg.h#2 integrate .. //depot/projects/usiii/dev/agp/agp.c#4 integrate .. //depot/projects/usiii/dev/agp/agp_ali.c#2 integrate .. //depot/projects/usiii/dev/agp/agp_amd.c#2 integrate .. //depot/projects/usiii/dev/agp/agp_amd64.c#3 integrate .. //depot/projects/usiii/dev/agp/agp_ati.c#2 integrate .. //depot/projects/usiii/dev/agp/agp_i810.c#5 integrate .. //depot/projects/usiii/dev/agp/agp_intel.c#2 integrate .. //depot/projects/usiii/dev/agp/agp_nvidia.c#3 integrate .. //depot/projects/usiii/dev/agp/agp_sis.c#2 integrate .. //depot/projects/usiii/dev/agp/agp_via.c#3 integrate .. //depot/projects/usiii/dev/agp/agppriv.h#3 integrate .. //depot/projects/usiii/dev/aic/aic.c#2 integrate .. //depot/projects/usiii/dev/aic7xxx/ahc_pci.c#2 integrate .. //depot/projects/usiii/dev/aic7xxx/ahd_pci.c#2 integrate .. //depot/projects/usiii/dev/aic7xxx/aicasm/Makefile#2 integrate .. //depot/projects/usiii/dev/aic7xxx/aicasm/aicasm.c#2 integrate .. //depot/projects/usiii/dev/aic7xxx/aicasm/aicasm_gram.y#2 integrate .. //depot/projects/usiii/dev/aic7xxx/aicasm/aicasm_macro_gram.y#2 integrate .. //depot/projects/usiii/dev/aic7xxx/aicasm/aicasm_macro_scan.l#2 integrate .. //depot/projects/usiii/dev/aic7xxx/aicasm/aicasm_scan.l#2 integrate .. //depot/projects/usiii/dev/aic7xxx/aicasm/aicasm_symbol.c#2 integrate .. //depot/projects/usiii/dev/aic7xxx/aicasm/aicasm_symbol.h#2 integrate .. //depot/projects/usiii/dev/alc/if_alc.c#1 branch .. //depot/projects/usiii/dev/alc/if_alcreg.h#1 branch .. //depot/projects/usiii/dev/alc/if_alcvar.h#1 branch .. //depot/projects/usiii/dev/ale/if_ale.c#2 integrate .. //depot/projects/usiii/dev/amdtemp/amdtemp.c#1 branch .. //depot/projects/usiii/dev/amr/amr.c#6 integrate .. //depot/projects/usiii/dev/amr/amr_linux.c#2 integrate .. //depot/projects/usiii/dev/an/if_an.c#6 integrate .. //depot/projects/usiii/dev/an/if_anreg.h#4 integrate .. //depot/projects/usiii/dev/ar/if_ar.c#3 delete .. //depot/projects/usiii/dev/ar/if_ar.h#2 delete .. //depot/projects/usiii/dev/ar/if_ar_isa.c#2 delete .. //depot/projects/usiii/dev/ar/if_ar_pci.c#2 delete .. //depot/projects/usiii/dev/ar/if_arregs.h#2 delete .. //depot/projects/usiii/dev/arcmsr/arcmsr.c#4 integrate .. //depot/projects/usiii/dev/asmc/asmc.c#5 integrate .. //depot/projects/usiii/dev/asr/asr.c#3 integrate .. //depot/projects/usiii/dev/ata/ata-all.c#8 integrate .. //depot/projects/usiii/dev/ata/ata-all.h#7 integrate .. //depot/projects/usiii/dev/ata/ata-card.c#3 integrate .. //depot/projects/usiii/dev/ata/ata-cbus.c#3 integrate .. //depot/projects/usiii/dev/ata/ata-disk.c#6 integrate .. //depot/projects/usiii/dev/ata/ata-dma.c#7 integrate .. //depot/projects/usiii/dev/ata/ata-isa.c#3 integrate .. //depot/projects/usiii/dev/ata/ata-pci.c#8 integrate .. //depot/projects/usiii/dev/ata/ata-pci.h#11 integrate .. //depot/projects/usiii/dev/ata/ata-queue.c#5 integrate .. //depot/projects/usiii/dev/ata/ata-raid-ddf.h#1 branch .. //depot/projects/usiii/dev/ata/ata-raid.c#3 integrate .. //depot/projects/usiii/dev/ata/ata-raid.h#3 integrate .. //depot/projects/usiii/dev/ata/ata-sata.c#2 integrate .. //depot/projects/usiii/dev/ata/atapi-cam.c#4 integrate .. //depot/projects/usiii/dev/ata/atapi-cd.c#5 integrate .. //depot/projects/usiii/dev/ata/atapi-fd.c#5 integrate .. //depot/projects/usiii/dev/ata/atapi-tape.c#6 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-acard.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-acerlabs.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-ahci.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-ati.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-highpoint.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-intel.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-jmicron.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-marvell.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-netcell.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-nvidia.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-promise.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-serverworks.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-siliconimage.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-sis.c#2 integrate .. //depot/projects/usiii/dev/ata/chipsets/ata-via.c#2 integrate .. //depot/projects/usiii/dev/ath/ah_osdep.c#4 integrate .. //depot/projects/usiii/dev/ath/ah_osdep.h#5 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ah.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ah.h#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ah_desc.h#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ah_internal.h#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ah_regdomain.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5210/ar5210.h#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5210/ar5210_attach.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5210/ar5210_interrupts.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5210/ar5210_misc.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5210/ar5210_phy.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5211/ar5211.h#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5211/ar5211_attach.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5211/ar5211_interrupts.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5211/ar5211_misc.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5211/ar5211_phy.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5212/ar2425.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5212/ar5212.h#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5212/ar5212_ani.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5212/ar5212_attach.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5212/ar5212_gpio.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5212/ar5212_interrupts.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5212/ar5212_misc.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5212/ar5212_phy.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5212/ar5212_reset.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5212/ar5212_rfgain.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5212/ar5212_xmit.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5212/ar5212reg.h#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5212/ar5413.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5312/ar5312.h#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5312/ar5312_attach.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5312/ar5312_gpio.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5312/ar5315_gpio.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar2133.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar5416.h#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar5416.ini#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar5416_attach.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar5416_cal.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar5416_gpio.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar5416_interrupts.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar5416_reset.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar5416_xmit.c#3 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar5416reg.h#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar9160.ini#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar9160_attach.c#2 integrate .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar9280.c#1 branch .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar9280.h#1 branch .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar9280_attach.c#1 branch .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar9280v1.ini#1 branch .. //depot/projects/usiii/dev/ath/ath_hal/ar5416/ar9280v2.ini#1 branch .. //depot/projects/usiii/dev/ath/ath_rate/sample/sample.c#6 integrate .. //depot/projects/usiii/dev/ath/if_ath.c#13 integrate .. //depot/projects/usiii/dev/ath/if_ath_pci.c#5 integrate .. //depot/projects/usiii/dev/ath/if_athioctl.h#4 integrate .. //depot/projects/usiii/dev/ath/if_athvar.h#9 integrate .. //depot/projects/usiii/dev/atkbdc/atkbd.c#3 integrate .. //depot/projects/usiii/dev/atkbdc/atkbdc_isa.c#2 integrate .. //depot/projects/usiii/dev/atkbdc/psm.c#6 integrate .. //depot/projects/usiii/dev/bce/if_bce.c#9 integrate .. //depot/projects/usiii/dev/bce/if_bcefw.h#5 integrate .. //depot/projects/usiii/dev/bce/if_bcereg.h#7 integrate .. //depot/projects/usiii/dev/bge/if_bge.c#14 integrate .. //depot/projects/usiii/dev/bge/if_bgereg.h#7 integrate .. //depot/projects/usiii/dev/bktr/bktr_os.c#3 integrate .. //depot/projects/usiii/dev/bm/if_bm.c#4 integrate .. //depot/projects/usiii/dev/bwi/bitops.h#1 branch .. //depot/projects/usiii/dev/bwi/bwimac.c#1 branch .. //depot/projects/usiii/dev/bwi/bwimac.h#1 branch .. //depot/projects/usiii/dev/bwi/bwiphy.c#1 branch .. //depot/projects/usiii/dev/bwi/bwiphy.h#1 branch .. //depot/projects/usiii/dev/bwi/bwirf.c#1 branch .. //depot/projects/usiii/dev/bwi/bwirf.h#1 branch .. //depot/projects/usiii/dev/bwi/if_bwi.c#1 branch .. //depot/projects/usiii/dev/bwi/if_bwi_pci.c#1 branch .. //depot/projects/usiii/dev/bwi/if_bwireg.h#1 branch .. //depot/projects/usiii/dev/bwi/if_bwivar.h#1 branch .. //depot/projects/usiii/dev/cardbus/cardbus.c#4 integrate .. //depot/projects/usiii/dev/cardbus/cardbus_cis.c#3 integrate .. //depot/projects/usiii/dev/cardbus/cardbus_device.c#3 integrate .. //depot/projects/usiii/dev/ce/if_ce.c#4 integrate .. //depot/projects/usiii/dev/cfe/cfe_console.c#2 integrate .. //depot/projects/usiii/dev/cfi/cfi_bus_ixp4xx.c#1 branch .. //depot/projects/usiii/dev/cfi/cfi_core.c#2 integrate .. //depot/projects/usiii/dev/cfi/cfi_dev.c#2 integrate .. //depot/projects/usiii/dev/cfi/cfi_disk.c#1 branch .. //depot/projects/usiii/dev/cfi/cfi_reg.h#2 integrate .. //depot/projects/usiii/dev/cfi/cfi_var.h#2 integrate .. //depot/projects/usiii/dev/ciss/ciss.c#8 integrate .. //depot/projects/usiii/dev/cm/smc90cx6.c#3 integrate .. //depot/projects/usiii/dev/cp/if_cp.c#4 integrate .. //depot/projects/usiii/dev/ctau/if_ct.c#5 integrate .. //depot/projects/usiii/dev/cx/if_cx.c#4 integrate .. //depot/projects/usiii/dev/cxgb/bin2h.pl#2 integrate .. //depot/projects/usiii/dev/cxgb/common/cxgb_ael1002.c#6 integrate .. //depot/projects/usiii/dev/cxgb/common/cxgb_common.h#7 integrate .. //depot/projects/usiii/dev/cxgb/common/cxgb_t3_cpl.h#5 integrate .. //depot/projects/usiii/dev/cxgb/common/cxgb_t3_hw.c#7 integrate .. //depot/projects/usiii/dev/cxgb/common/cxgb_xgmac.c#6 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_adapter.h#10 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_ioctl.h#5 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_main.c#12 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_multiq.c#4 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_offload.c#7 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_sge.c#10 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_t3fw.c#3 integrate .. //depot/projects/usiii/dev/cxgb/cxgb_t3fw.h#2 integrate .. //depot/projects/usiii/dev/cxgb/t3c_protocol_sram.h#1 branch .. //depot/projects/usiii/dev/cxgb/t3c_tp_eeprom.h#1 branch .. //depot/projects/usiii/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#4 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jun 15 20:55:58 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E5A5C1065672; Mon, 15 Jun 2009 20:55:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A4430106566B for ; Mon, 15 Jun 2009 20:55:57 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 90EA68FC16 for ; Mon, 15 Jun 2009 20:55:57 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FKtvu2007480 for ; Mon, 15 Jun 2009 20:55:57 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FKtvvo007478 for perforce@freebsd.org; Mon, 15 Jun 2009 20:55:57 GMT (envelope-from trasz@freebsd.org) Date: Mon, 15 Jun 2009 20:55:57 GMT Message-Id: <200906152055.n5FKtvvo007478@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 164465 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 20:55:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=164465 Change 164465 by trasz@trasz_victim on 2009/06/15 20:55:11 Code for per-jail and per-group resource accounting. Not really tested. XXX: What about hierarchical jails? XXX2: This is going to be really slow, unless I invent something clever. ;-/ Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/init_main.c#4 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#9 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_proc.c#4 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#6 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#6 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#8 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/jail.h#3 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/resourcevar.h#4 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/ucred.h#3 edit .. //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#8 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/init_main.c#4 (text+ko) ==== @@ -453,6 +453,7 @@ /* Create credentials. */ p->p_ucred = crget(); p->p_ucred->cr_ngroups = 1; /* group 0 */ + p->p_ucred->cr_gidinfos[0] = gifind(0); p->p_ucred->cr_uidinfo = uifind(0); p->p_ucred->cr_ruidinfo = uifind(0); p->p_ucred->cr_prison = &prison0; ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#9 (text+ko) ==== @@ -31,10 +31,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include #include @@ -110,6 +112,7 @@ */ p->p_accounting.ha_resources[resource] += amount; p->p_ucred->cr_ruidinfo->ui_accounting.ha_resources[resource] += amount; + p->p_ucred->cr_prison->pr_accounting.ha_resources[resource] += amount; /* * XXX: When denying, return proper errno - EFSIZ, ENOMEM etc. @@ -126,6 +129,7 @@ diff = amount - p->p_accounting.ha_resources[resource]; p->p_accounting.ha_resources[resource] += diff; p->p_ucred->cr_ruidinfo->ui_accounting.ha_resources[resource] += diff; + p->p_ucred->cr_prison->pr_accounting.ha_resources[resource] += diff; /* * XXX: Make sure process can lower its resource consumption, @@ -143,6 +147,7 @@ p->p_accounting.ha_resources[resource] -= amount; p->p_ucred->cr_ruidinfo->ui_accounting.ha_resources[resource] -= amount; + p->p_ucred->cr_prison->pr_accounting.ha_resources[resource] -= amount; } int @@ -292,12 +297,12 @@ } static int -hrl_get_acc_uid(struct thread *td, id_t pid, void *bufp, size_t buflen) +hrl_get_acc_uid(struct thread *td, id_t uid, void *bufp, size_t buflen) { int error; struct uidinfo *uip; - uip = uifind(pid); + uip = uifind(uid); if (uip == NULL) return (ESRCH); error = copyout(&uip->ui_accounting, bufp, sizeof(uip->ui_accounting)); @@ -306,35 +311,73 @@ return (error); } -int -hrl(struct thread *td, struct hrl_args *uap) +static int +hrl_get_acc_gid(struct thread *td, id_t gid, void *bufp, size_t buflen) { int error; - id_t id; + struct gidinfo *gip; + + gip = gifind(gid); + if (gip == NULL) + return (ESRCH); + error = copyout(&gip->gi_accounting, bufp, sizeof(gip->gi_accounting)); + gifree(gip); + + return (error); +} - if (uap->op == HRL_OP_GET_RULES) - return (hrl_get_rules(td, uap->outbufp, uap->outbuflen)); +static int +hrl_get_acc_jid(struct thread *td, id_t jid, void *bufp, size_t buflen) +{ + int error; + struct prison *pr; - if (uap->inbuflen != sizeof(id_t)) - return (EINVAL); + sx_xlock(&allprison_lock); + pr = prison_find(jid); + if (pr == NULL) { + sx_xunlock(&allprison_lock); + return (ENOENT); + } + error = copyout(&pr->pr_accounting, bufp, sizeof(pr->pr_accounting)); + prison_free(pr); + sx_xunlock(&allprison_lock); - error = copyin(uap->inbufp, &id, sizeof(id_t)); - if (error) - return (error); + return (error); +} - if (id <= 0) - return (EINVAL); +int +hrl(struct thread *td, struct hrl_args *uap) +{ + int error; + id_t id; - if (uap->outbuflen < sizeof(struct hrl_acc)) - return (EFBIG); + if (uap->op != HRL_OP_GET_RULES) { + if (uap->inbuflen != sizeof(id_t)) + return (EINVAL); + error = copyin(uap->inbufp, &id, sizeof(id_t)); + if (error) + return (error); + if (id <= 0) + return (EINVAL); + if (uap->outbuflen < sizeof(struct hrl_acc)) + return (EFBIG); + } - if (uap->op == HRL_OP_GET_ACC_PID) + switch (uap->op) { + case HRL_OP_GET_RULES: + return (hrl_get_rules(td, uap->outbufp, uap->outbuflen)); + case HRL_OP_GET_ACC_PID: return (hrl_get_acc_pid(td, id, uap->outbufp, uap->outbuflen)); - - if (uap->op == HRL_OP_GET_ACC_UID) + case HRL_OP_GET_ACC_UID: return (hrl_get_acc_uid(td, id, uap->outbufp, uap->outbuflen)); - - return (EINVAL); + case HRL_OP_GET_ACC_GID: + return (hrl_get_acc_gid(td, id, uap->outbufp, uap->outbuflen)); + case HRL_OP_GET_ACC_JAILID: + return (hrl_get_acc_jid(td, id, uap->outbufp, uap->outbuflen)); + default: + return (EINVAL); + } + /* NOTREACHED */ } static void ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_proc.c#4 (text+ko) ==== @@ -165,6 +165,7 @@ proc_ctor, proc_dtor, proc_init, proc_fini, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); uihashinit(); + gihashinit(); } /* ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#6 (text+ko) ==== @@ -807,7 +807,7 @@ { struct proc *p = td->td_proc; struct ucred *newcred, *oldcred; - int error; + int i, error; if (ngrp > NGROUPS) return (EINVAL); @@ -839,9 +839,15 @@ * when running non-BSD software if we do not do the same. */ newcred->cr_ngroups = 1; + for (i = 1; i < newcred->cr_ngroups; i++) + gifree(newcred->cr_gidinfos[i]); } else { + for (i = 0; i < newcred->cr_ngroups; i++) + gifree(newcred->cr_gidinfos[i]); bcopy(groups, newcred->cr_groups, ngrp * sizeof(gid_t)); newcred->cr_ngroups = ngrp; + for (i = 0; i < newcred->cr_ngroups; i++) + newcred->cr_gidinfos[i] = gifind(newcred->cr_groups[i]); } setsugid(p); p->p_ucred = newcred; @@ -1802,6 +1808,7 @@ void crfree(struct ucred *cr) { + int i; KASSERT(cr->cr_ref > 0, ("bad ucred refcount: %d", cr->cr_ref)); KASSERT(cr->cr_ref != 0xdeadc0de, ("dangling reference to ucred")); @@ -1815,6 +1822,8 @@ uifree(cr->cr_uidinfo); if (cr->cr_ruidinfo != NULL) uifree(cr->cr_ruidinfo); + for (i = 0; i < cr->cr_ngroups; i++) + gifree(cr->cr_gidinfos[i]); /* * Free a prison, if any. */ @@ -1851,6 +1860,7 @@ void crcopy(struct ucred *dest, struct ucred *src) { + int i; KASSERT(crshared(dest) == 0, ("crcopy of shared ucred")); bcopy(&src->cr_startcopy, &dest->cr_startcopy, @@ -1858,6 +1868,8 @@ (caddr_t)&src->cr_startcopy)); uihold(dest->cr_uidinfo); uihold(dest->cr_ruidinfo); + for (i = 0; i < dest->cr_ngroups; i++) + gihold(dest->cr_gidinfos[i]); prison_hold(dest->cr_prison); #ifdef VIMAGE KASSERT(src->cr_vimage != NULL, ("cr_vimage == NULL")); @@ -2014,7 +2026,9 @@ change_egid(struct ucred *newcred, gid_t egid) { + gifree(newcred->cr_gidinfos[0]); newcred->cr_groups[0] = egid; + newcred->cr_gidinfos[0] = gifind(egid); } /*- ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#6 (text+ko) ==== @@ -72,11 +72,17 @@ static struct rwlock uihashtbl_lock; static LIST_HEAD(uihashhead, uidinfo) *uihashtbl; static u_long uihash; /* size of hash table - 1 */ +static MALLOC_DEFINE(M_GIDINFO, "gidinfo", "gidinfo structures"); +#define GIHASH(gid) (&gihashtbl[(gid) & gihash]) +static struct rwlock gihashtbl_lock; +static LIST_HEAD(gihashhead, gidinfo) *gihashtbl; +static u_long gihash; /* size of hash table - 1 */ static void calcru1(struct proc *p, struct rusage_ext *ruxp, struct timeval *up, struct timeval *sp); static int donice(struct thread *td, struct proc *chgp, int n); static struct uidinfo *uilookup(uid_t uid); +static struct gidinfo *gilookup(gid_t gid); /* * Resource controls and accounting. @@ -1358,6 +1364,128 @@ } /* + * Find the gidinfo structure for a gid. This structure is used to + * track the total resource consumption (process count, socket buffer + * size, etc.) for the gid and impose limits. + */ +void +gihashinit() +{ + + gihashtbl = hashinit(maxproc / 16, M_GIDINFO, &gihash); + rw_init(&gihashtbl_lock, "gidinfo hash"); +} + +/* + * Look up a gidinfo struct for the parameter gid. + * gihashtbl_lock must be locked. + */ +static struct gidinfo * +gilookup(gid) + gid_t gid; +{ + struct gihashhead *gipp; + struct gidinfo *gip; + + rw_assert(&gihashtbl_lock, RA_LOCKED); + gipp = GIHASH(gid); + LIST_FOREACH(gip, gipp, gi_hash) + if (gip->gi_gid == gid) + break; + + return (gip); +} + +/* + * Find or allocate a struct gidinfo for a particular gid. + * Increase refcount on gidinfo struct returned. + * gifree() should be called on a struct gidinfo when released. + */ +struct gidinfo * +gifind(gid) + gid_t gid; +{ + struct gidinfo *old_gip, *gip; + + rw_rlock(&gihashtbl_lock); + gip = gilookup(gid); + if (gip == NULL) { + rw_runlock(&gihashtbl_lock); + gip = malloc(sizeof(*gip), M_GIDINFO, M_WAITOK | M_ZERO); + rw_wlock(&gihashtbl_lock); + /* + * There's a chance someone created our gidinfo while we + * were in malloc and not holding the lock, so we have to + * make sure we don't insert a duplicate gidinfo. + */ + if ((old_gip = gilookup(gid)) != NULL) { + /* Someone else beat us to it. */ + free(gip, M_GIDINFO); + gip = old_gip; + } else { + refcount_init(&gip->gi_ref, 0); + gip->gi_gid = gid; + LIST_INSERT_HEAD(GIHASH(gid), gip, gi_hash); + } + } + gihold(gip); + rw_unlock(&gihashtbl_lock); + return (gip); +} + +/* + * Place another refcount on a gidinfo struct. + */ +void +gihold(gip) + struct gidinfo *gip; +{ + + refcount_acquire(&gip->gi_ref); +} + +/*- + * Since gidinfo structs have a long lifetime, we use an + * opportunistic refcounting scheme to avoid locking the lookup hash + * for each release. + * + * If the refcount hits 0, we need to free the structure, + * which means we need to lock the hash. + * Optimal case: + * After locking the struct and lowering the refcount, if we find + * that we don't need to free, simply unlock and return. + * Suboptimal case: + * If refcount lowering results in need to free, bump the count + * back up, lose the lock and acquire the locks in the proper + * order to try again. + */ +void +gifree(gip) + struct gidinfo *gip; +{ + int old; + + /* Prepare for optimal case. */ + old = gip->gi_ref; + if (old > 1 && atomic_cmpset_int(&gip->gi_ref, old, old - 1)) + return; + + /* Prepare for suboptimal case. */ + rw_wlock(&gihashtbl_lock); + if (refcount_release(&gip->gi_ref)) { + LIST_REMOVE(gip, gi_hash); + rw_wunlock(&gihashtbl_lock); + free(gip, M_GIDINFO); + return; + } + /* + * Someone added a reference between atomic_cmpset_int() and + * rw_wlock(&gihashtbl_lock). + */ + rw_wunlock(&gihashtbl_lock); +} + +/* * Change the count associated with number of processes * a given user is using. When 'max' is 0, don't enforce a limit */ ==== //depot/projects/soc2009/trasz_limits/sys/sys/hrl.h#8 (text+ko) ==== @@ -96,6 +96,7 @@ #define HRL_OP_GET_ACC_PID 2 #define HRL_OP_GET_ACC_UID 3 #define HRL_OP_GET_ACC_GID 4 +#define HRL_OP_GET_ACC_JAILID 5 /* * 'hrl_acc' defines resource consumption for a particular ==== //depot/projects/soc2009/trasz_limits/sys/sys/jail.h#3 (text+ko) ==== @@ -30,6 +30,8 @@ #ifndef _SYS_JAIL_H_ #define _SYS_JAIL_H_ +#include + #ifdef _KERNEL struct jail_v0 { u_int32_t version; @@ -171,6 +173,7 @@ char pr_domain[MAXHOSTNAMELEN]; /* (p) jail domainname */ char pr_uuid[HOSTUUIDLEN]; /* (p) jail hostuuid */ unsigned long pr_hostid; /* (p) jail hostid */ + struct hrl_acc pr_accounting; /* (*) HRL resource accounting */ }; #endif /* _KERNEL || _WANT_PRISON */ ==== //depot/projects/soc2009/trasz_limits/sys/sys/resourcevar.h#4 (text+ko) ==== @@ -98,6 +98,21 @@ struct hrl_acc ui_accounting; /* (*) HRL resource accounting */ }; +/* + * Per gid resource consumption + * + * Locking guide: + * (a) Constant from inception + * (b) Lockless, updated using atomics + * (c) Locked by global uihashtbl_mtx + */ +struct gidinfo { + LIST_ENTRY(gidinfo) gi_hash; /* (c) hash chain of gidinfos */ + gid_t gi_gid; /* (a) gid */ + u_int gi_ref; /* (b) reference count */ + struct hrl_acc gi_accounting; /* (*) HRL resource accounting */ +}; + struct proc; struct rusage_ext; struct thread; @@ -134,6 +149,11 @@ void uifree(struct uidinfo *uip); void uihashinit(void); void uihold(struct uidinfo *uip); +struct gidinfo + *gifind(gid_t gid); +void gifree(struct gidinfo *gip); +void gihashinit(void); +void gihold(struct gidinfo *gip); #endif /* _KERNEL */ #endif /* !_SYS_RESOURCEVAR_H_ */ ==== //depot/projects/soc2009/trasz_limits/sys/sys/ucred.h#3 (text+ko) ==== @@ -50,6 +50,7 @@ uid_t cr_svuid; /* saved user id */ short cr_ngroups; /* number of groups */ gid_t cr_groups[NGROUPS]; /* groups */ + struct gidinfo *cr_gidinfos[NGROUPS]; /* group resource consumption */ gid_t cr_rgid; /* real group id */ gid_t cr_svgid; /* saved group id */ struct uidinfo *cr_uidinfo; /* per euid resource consumption */ ==== //depot/projects/soc2009/trasz_limits/usr.sbin/hrl/hrl.c#8 (text+ko) ==== @@ -302,18 +302,19 @@ usage(void) { - fprintf(stderr, "usage: hrl [-u user | -g group | -p pid]\n"); + fprintf(stderr, "usage: hrl [-u user | -g group | -p pid | -j jailid]\n"); + exit(1); } int main(int argc __unused, char **argv __unused) { - int ch, op, pflag = 0, uflag = 0, gflag = 0; + int ch, op, pflag = 0, uflag = 0, gflag = 0, jflag = 0; id_t id = 0; op = HRL_OP_GET_RULES; - while ((ch = getopt(argc, argv, "p:u:g:")) != -1) { + while ((ch = getopt(argc, argv, "p:u:g:j:")) != -1) { switch (ch) { case 'p': pflag = 1; @@ -330,14 +331,19 @@ op = HRL_OP_GET_ACC_GID; id = parse_group(optarg); break; + case 'j': + jflag = 1; + op = HRL_OP_GET_ACC_JAILID; + id = parse_group(optarg); + break; case '?': default: usage(); } } - if (pflag + uflag + gflag > 1) - errx(1, "only one of the -p, -u and -g may be specified " + if (pflag + uflag + gflag + jflag > 1) + errx(1, "only one of the -p, -u, -g and -j may be specified " "at the same time"); switch (op) { @@ -348,6 +354,7 @@ case HRL_OP_GET_ACC_PID: case HRL_OP_GET_ACC_UID: case HRL_OP_GET_ACC_GID: + case HRL_OP_GET_ACC_JAILID: print_accounting(op, id); break; } From owner-p4-projects@FreeBSD.ORG Mon Jun 15 21:22:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 15841106595D; Mon, 15 Jun 2009 21:22:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC69A1065954 for ; Mon, 15 Jun 2009 21:22:24 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 902658FC29 for ; Mon, 15 Jun 2009 21:22:24 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FLMOHx024149 for ; Mon, 15 Jun 2009 21:22:24 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FLMOt7024147 for perforce@freebsd.org; Mon, 15 Jun 2009 21:22:24 GMT (envelope-from trasz@freebsd.org) Date: Mon, 15 Jun 2009 21:22:24 GMT Message-Id: <200906152122.n5FLMOt7024147@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 164467 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 21:22:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=164467 Change 164467 by trasz@trasz_victim on 2009/06/15 21:22:04 Bump copyright year. Submitted by: Ulrich Spörlein Affected files ... .. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#49 edit Differences ... ==== //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_acl_nfs4.c#49 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2008 Edward Tomasz NapieraÅ‚a + * Copyright (c) 2009 Edward Tomasz NapieraÅ‚a * All rights reserved. * * Redistribution and use in source and binary forms, with or without From owner-p4-projects@FreeBSD.ORG Mon Jun 15 21:37:41 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 03971106564A; Mon, 15 Jun 2009 21:37:40 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57FE2106566C for ; Mon, 15 Jun 2009 21:37:40 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 45FEF8FC23 for ; Mon, 15 Jun 2009 21:37:40 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5FLbe0S028709 for ; Mon, 15 Jun 2009 21:37:40 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5FLbeQ6028707 for perforce@freebsd.org; Mon, 15 Jun 2009 21:37:40 GMT (envelope-from trasz@freebsd.org) Date: Mon, 15 Jun 2009 21:37:40 GMT Message-Id: <200906152137.n5FLbeQ6028707@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 164469 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2009 21:37:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=164469 Change 164469 by trasz@trasz_victim on 2009/06/15 21:37:18 Working (apart from a little LOR) per-group accounting. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#10 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#7 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/resourcevar.h#5 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#10 (text+ko) ==== @@ -104,6 +104,8 @@ int hrl_alloc_proc(struct proc *p, int resource, uint64_t amount) { + int i; + struct ucred *cred; KASSERT(amount > 0, ("invalid amount")); @@ -111,8 +113,11 @@ * XXX: Obviously wrong, fix later. */ p->p_accounting.ha_resources[resource] += amount; - p->p_ucred->cr_ruidinfo->ui_accounting.ha_resources[resource] += amount; - p->p_ucred->cr_prison->pr_accounting.ha_resources[resource] += amount; + cred = p->p_ucred; + cred->cr_ruidinfo->ui_accounting.ha_resources[resource] += amount; + cred->cr_prison->pr_accounting.ha_resources[resource] += amount; + for (i = 0; i < cred->cr_ngroups; i++) + cred->cr_gidinfos[i]->gi_accounting.ha_resources[resource] += amount; /* * XXX: When denying, return proper errno - EFSIZ, ENOMEM etc. @@ -124,12 +129,17 @@ int hrl_allocated_proc(struct proc *p, int resource, uint64_t amount) { + int i; int64_t diff; + struct ucred *cred; diff = amount - p->p_accounting.ha_resources[resource]; p->p_accounting.ha_resources[resource] += diff; - p->p_ucred->cr_ruidinfo->ui_accounting.ha_resources[resource] += diff; - p->p_ucred->cr_prison->pr_accounting.ha_resources[resource] += diff; + cred = p->p_ucred; + cred->cr_ruidinfo->ui_accounting.ha_resources[resource] += diff; + cred->cr_prison->pr_accounting.ha_resources[resource] += diff; + for (i = 0; i < cred->cr_ngroups; i++) + cred->cr_gidinfos[i]->gi_accounting.ha_resources[resource] += diff; /* * XXX: Make sure process can lower its resource consumption, @@ -142,12 +152,17 @@ void hrl_free_proc(struct proc *p, int resource, uint64_t amount) { + int i; + struct ucred *cred; KASSERT(amount > 0, ("invalid amount")); p->p_accounting.ha_resources[resource] -= amount; - p->p_ucred->cr_ruidinfo->ui_accounting.ha_resources[resource] -= amount; - p->p_ucred->cr_prison->pr_accounting.ha_resources[resource] -= amount; + cred = p->p_ucred; + cred->cr_ruidinfo->ui_accounting.ha_resources[resource] -= amount; + cred->cr_prison->pr_accounting.ha_resources[resource] -= amount; + for (i = 0; i < cred->cr_ngroups; i++) + cred->cr_gidinfos[i]->gi_accounting.ha_resources[resource] -= amount; } int @@ -302,7 +317,7 @@ int error; struct uidinfo *uip; - uip = uifind(uid); + uip = uifind_existing(uid); if (uip == NULL) return (ESRCH); error = copyout(&uip->ui_accounting, bufp, sizeof(uip->ui_accounting)); @@ -317,7 +332,7 @@ int error; struct gidinfo *gip; - gip = gifind(gid); + gip = gifind_existing(gid); if (gip == NULL) return (ESRCH); error = copyout(&gip->gi_accounting, bufp, sizeof(gip->gi_accounting)); @@ -357,7 +372,7 @@ error = copyin(uap->inbufp, &id, sizeof(id_t)); if (error) return (error); - if (id <= 0) + if (id < 0) return (EINVAL); if (uap->outbuflen < sizeof(struct hrl_acc)) return (EFBIG); ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#7 (text+ko) ==== @@ -1305,6 +1305,23 @@ return (uip); } +struct uidinfo * +uifind_existing(uid) + uid_t uid; +{ + struct uidinfo *uip; + + rw_rlock(&uihashtbl_lock); + uip = uilookup(uid); + if (uip == NULL) { + rw_unlock(&uihashtbl_lock); + return (NULL); + } + uihold(uip); + rw_unlock(&uihashtbl_lock); + return (uip); +} + /* * Place another refcount on a uidinfo struct. */ @@ -1433,6 +1450,23 @@ return (gip); } +struct gidinfo * +gifind_existing(gid) + gid_t gid; +{ + struct gidinfo *gip; + + rw_rlock(&gihashtbl_lock); + gip = gilookup(gid); + if (gip == NULL) { + rw_unlock(&gihashtbl_lock); + return (NULL); + } + gihold(gip); + rw_unlock(&gihashtbl_lock); + return (gip); +} + /* * Place another refcount on a gidinfo struct. */ ==== //depot/projects/soc2009/trasz_limits/sys/sys/resourcevar.h#5 (text+ko) ==== @@ -146,11 +146,15 @@ int suswintr(void *base, int word); struct uidinfo *uifind(uid_t uid); +struct uidinfo + *uifind_existing(uid_t uid); void uifree(struct uidinfo *uip); void uihashinit(void); void uihold(struct uidinfo *uip); struct gidinfo *gifind(gid_t gid); +struct gidinfo + *gifind_existing(gid_t gid); void gifree(struct gidinfo *gip); void gihashinit(void); void gihold(struct gidinfo *gip); From owner-p4-projects@FreeBSD.ORG Tue Jun 16 03:13:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 77370106566C; Tue, 16 Jun 2009 03:13:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE31B1065677 for ; Tue, 16 Jun 2009 03:13:26 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DA7D68FC22 for ; Tue, 16 Jun 2009 03:13:26 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5G3DQMt072094 for ; Tue, 16 Jun 2009 03:13:26 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5G3DQJM072092 for perforce@freebsd.org; Tue, 16 Jun 2009 03:13:26 GMT (envelope-from dforsyth@FreeBSD.org) Date: Tue, 16 Jun 2009 03:13:26 GMT Message-Id: <200906160313.n5G3DQJM072092@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164478 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 03:13:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=164478 Change 164478 by dforsyth@squirrel on 2009/06/16 03:12:57 Almost finished moving to new scheme. This code builds with a bunch of warnings, but pkg_info spits out comments atleast. Still need to go back and revise error codes. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/Makefile#7 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#18 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#18 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.c#6 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#6 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.h#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.c#6 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.h#5 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#12 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/Makefile#7 (text+ko) ==== @@ -1,7 +1,8 @@ LIB= pkg INCS= pkg.h WARNS= 6 -SRCS= pkgdb.c pkg_plist.c pkg.c pkg_util.c pkg_file.c pkg_dep.c pkgdb_hierdb.c pkgdb_hierdb_pkgdb_sub.c +SRCS= pkgdb.c pkgdb_hierdb.c pkgdb_hierdb_pkgdb_sub.c pkg.c pkg_util.c \ + pkg_file.c pkg_dep.c pkg_plist.c NO_MAN= yes .include ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#18 (text+ko) ==== @@ -48,14 +48,35 @@ * twice, but until I'm sure about what I'm going to do with all of the * information, pkgs can have their own copies of the data. */ +/* Set the identity for this package (does not have to be the same as the + * name from plist, but it generally is. This is the name used for the + * directory in a hierdb. */ + +int +pkg_set_ident(struct pkg *p, const char *ident) +{ + if (p == NULL) + arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (ident != NULL) + p->ident = strdup(ident); + else + p->ident = NULL; + + return (OK); +} + /* Set the short comment for this package */ int pkg_set_comment(struct pkg *p, const char *comment) { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - p->comment = strdup(comment); + + if (comment != NULL) + p->comment = strdup(comment); + else + p->comment = NULL; return (OK); } @@ -67,9 +88,12 @@ { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + + if (contents != NULL) + p->contents = strdup(contents); + else + p->contents = NULL; - p->contents = strdup(contents); - return (OK); } @@ -79,7 +103,10 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - p->description = strdup(description); + if (description != NULL) + p->description = strdup(description); + else + p->description = NULL; return (OK); } @@ -90,7 +117,10 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - p->display = strdup(display); + if (display != NULL) + p->display = strdup(display); + else + p->display = NULL; return (OK); } @@ -101,7 +131,10 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - p->mtree_dirs = strdup(mtree_dirs); + if (mtree_dirs != NULL) + p->mtree_dirs = strdup(mtree_dirs); + else + p->mtree_dirs = NULL; return (OK); } @@ -112,7 +145,10 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - p->required_by = strdup(required_by); + if (required_by != NULL) + p->required_by = strdup(required_by); + else + p->required_by = NULL; return (OK); } @@ -221,7 +257,7 @@ p->display = NULL; p->mtree_dirs = NULL; p->required_by = NULL; - pkg_plist(&p->plist); + pkg_plist_reset(&p->plist); } /* TODO: Make an note in the manual for libpkg that pkg_free should not be ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#18 (text+ko) ==== @@ -8,6 +8,8 @@ /* These error codes are no good. Switch to contextual errors/macros. */ +/* General Errors. */ + #define OK 0x00000000 #define NOT_OK 0x00000001 #define MEMORY_ERR 0x00000002 @@ -15,6 +17,8 @@ #define RAGE_AT_CLIENT 0x00000008 #define RAGE_AT_LIBPKG 0x00000010 +/* PKGDB Errors. */ + #define DB_BAD_ROOT 0x10000000 #define DB_NOT_OPEN 0x20000000 #define DB_OPEN 0x40000000 @@ -28,6 +32,8 @@ #define SUB_NO_FILE 0x00200000 #define SUB_EMPTY_FILE 0x00400000 +/* PKG Errors. */ + #define NO_PKG 0x00800000 /* pkg_file */ @@ -124,8 +130,6 @@ int pkgdb_db_close(struct pkgdb *db); -void pkgdb_db_delete(struct pkgdb *db); - int pkgdb_pkg_next(struct pkgdb *db, struct pkg *p); int pkgdb_pkg_get(struct pkgdb *db, struct pkg *p, const char *ident); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_util.c#6 (text+ko) ==== @@ -40,27 +40,25 @@ path_build(const char *prefix, const char *suffix) { size_t l; - int slash; char *new_path; - slash = 0; l = strlen(prefix); - if (prefix[l - 1] != '/') - slash = 1; - l += strlen(suffix) + slash; - new_path = malloc(l + 1); - if (new_path == NULL) - return (NULL); - strcpy(new_path, prefix); - if (slash) - strcat(new_path, '/'); - strcat(new_path, suffix); + if (prefix[l - 1] == '/') { + new_path = malloc(l + strlen(suffix) + 1); + strcpy(new_path, prefix); + strcat(new_path, suffix); + } else { + new_path = malloc(l + strlen(suffix) + 2); + strcpy(new_path, prefix); + strcat(new_path, "/"); + strcat(new_path, suffix); + } return (new_path); } void -argument_rage_quit(const char *function, const char *message, int ret) +arg_rage_quit(const char *function, const char *message, int ret) { fprintf(stderr, "Bad argument in %s: %s\n", function, message); exit(ret); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#6 (text+ko) ==== @@ -7,6 +7,7 @@ #include #include "pkg_util.h" +#include "pkg_private.h" #include "pkg.h" #include "pkgdb.h" #include "pkgdb_private.h" @@ -33,11 +34,11 @@ s = lstat(db_root, &sb); if (s < 0 || !S_ISDIR(sb.st_mode) || S_ISLNK(sb.st_mode)) - return (DB_INVALID_ROOT); + return (DB_BAD_ROOT); db->db_root = strdup(db_root); if (db->db_root == NULL) - return (DB_MEMORY_ERR); + return (MEMORY_ERR); db->dirty = 1; db->open = 1; @@ -45,7 +46,7 @@ db->sub_count = 0; - return (DB_OK); + return (OK); } int @@ -60,33 +61,34 @@ #if 0 if (!VALID_DB(db)) #endif - if (db == NULL); + if (db == NULL) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); /* TODO: Add dirty check. */ c = scandir(db->db_root, &ents, subdir_sel, alphasort); if (c < 1) - return (DB_NO_READ | DB_MEMORY_ERR); + return (NOT_OK | MEMORY_ERR); + pkgdb_pkgdb_sub_list_init(db); for (i = 0, cnt = 0; i < c; ++i) { sub = pkgdb_sub_new(); status = pkgdb_hierdb_read_pkgdb_sub(db, sub, ents[i]->d_name); - if (SUB_MEMORY_ERR & status) { + if (MEMORY_ERR & status) { /* Ruh roh Shaggy! */ pkgdb_pkgdb_sub_list_free(db); for (; i < c; ++i) free(ents[i]); free(ents); - return (DB_MEMORY_ERR); - } else if ((SUB_NO_CONTENTS & status) || (SUB_BAD_IDENT & status)) + return (MEMORY_ERR); + } else if ((SUB_NO_CONTENTS & status) || (BAD_IDENT & status)) /* * This is a directory that is of no use to us. I am * enforcing strict rules on what is and isn't a package. If * there is no plist, or the plist is empty, this is not a * package, and we don't care about it. */ - pkg_delete(p); + pkgdb_sub_delete(sub); else { pkgdb_pkgdb_sub_list_append(db, sub); cnt++; @@ -99,7 +101,7 @@ db->sub_count = cnt; db->dirty = 0; - return (DB_OK); + return (OK); } /* This function will properly initialize a pkgdb_sub for a pkgdb to use. @@ -118,28 +120,28 @@ arg_rage_quit(__func__, "Not a valid identification string.", RAGE_AT_CLIENT); #endif - pkg_reset(sub); - status = SUB_OK; - status |= pkgdb_sub_set_ident(ident); + pkgdb_sub_reset(sub); + status = OK; + status |= pkgdb_sub_set_ident(sub, ident); status |= pkgdb_sub_set_assign_db(db, sub); - if ((SUB_MEMORY_ERR & status) || (SUB_BAD_IDENT & status)) + if ((MEMORY_ERR & status) || (BAD_IDENT & status)) return (status); /* Hope you have your reading glasses on... */ - status = SUB_OK; - status |= pkgdb_sub_reat_file_to_text(db, sub, COMMENT_FILE) & - (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_COMMENT : SUB_OK; - status |= pkgdb_sub_read_file_to_text(db, sub, CONTENTS_FILE) & - (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_CONTENTS : SUB_OK; - status |= pkgdb_sub_read_file_to_text(db, sub, DESC_FILE) & - (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_DESC : SUB_OK; - status |= pkgdb_sub_read_file_to_text(db, sub, DISPLAY_FILE) & - (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_DISPLAY : SUB_OK; - status |= pkgdb_sub_read_file_to_text(db, sub, MTREE_DIRS_FILE) & - (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_MTREE_DIRS : SUB_OK; - status |= pkgdb_sub_read_file_to_text(db, sub, REQUIRED_BY_FILE:) & - (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_REQUIRED_BY : SUB_OK; + status = OK; + status |= pkgdb_sub_read_file_to_text(sub, COMMENT_FILE) & + (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_COMMENT : OK; + status |= pkgdb_sub_read_file_to_text(sub, CONTENTS_FILE) & + (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_CONTENTS : OK; + status |= pkgdb_sub_read_file_to_text(sub, DESC_FILE) & + (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_DESC : OK; + status |= pkgdb_sub_read_file_to_text(sub, DISPLAY_FILE) & + (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_DISPLAY : OK; + status |= pkgdb_sub_read_file_to_text(sub, MTREE_DIRS_FILE) & + (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_MTREE_DIRS : OK; + status |= pkgdb_sub_read_file_to_text(sub, REQUIRED_BY_FILE) & + (SUB_EMPTY_FILE | SUB_NO_FILE) ? SUB_NO_REQUIRED_BY : OK; return (status); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.h#4 (text+ko) ==== @@ -10,6 +10,8 @@ int pkgdb_hierdb_read_pkgdb_sub(struct pkgdb *db, struct pkgdb_sub *dbs, const char *ident); -int pkgdb_hierdb_db_close(struct pkgdb *db); +/* int pkgdb_hierdb_db_close(struct pkgdb *db); */ + +int pkgdb_hierdb_db_sync(struct pkgdb *db); #endif ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.c#6 (text+ko) ==== @@ -1,7 +1,15 @@ +#include +#include +#include + #include #include +#include +#include +#include "pkg_util.h" #include "pkgdb_hierdb_pkgdb_sub.h" +#include "pkg_private.h" #include "pkg.h" #define BAD_ARG_RAGE arg_rage_quit(__func__, "Not a valid pkgdb_sub.", RAGE_AT_LIBPKG); @@ -24,8 +32,8 @@ free(dbs->ident); dbs->ident = strdup(ident); if (dbs->ident == NULL) - return (SUB_MEMORY_ERR); - return (SUB_OK); + return (MEMORY_ERR); + return (OK); } int @@ -38,30 +46,30 @@ #if 0 if (!VALID_DB(owner)) #endif - if (db == NULL) + if (owner == NULL) arg_rage_quit(__func__, "Owner must be a valid database.", - RAGE_AT_LIB); + RAGE_AT_LIBPKG); if (dbs == NULL) arg_rage_quit(__func__, "dbs must be a valid sub structure.", - RAGE_AT_LIB); + RAGE_AT_LIBPKG); - dbs->owner_db = db; + dbs->owner_db = owner; dbs->path = path_build(pkgdb_db_root(dbs->owner_db), dbs->ident); - if (path == NULL) - return (SUB_MEMORY_ERR); + if (dbs->path == NULL) + return (MEMORY_ERR); - s = lstat(path, &sb); + s = lstat(dbs->path, &sb); /* Also, we don't handle links (yet). */ - if (s < 0 || !S_ISDIR(sb.st_mode) || S_ISLINK(sb.st_mode)) { + if (s < 0 || !S_ISDIR(sb.st_mode) || S_ISLNK(sb.st_mode)) { free(dbs->path); - return (SUB_BAD_IDENT); + return (BAD_IDENT); } - return (SUB_OK); + return (OK); } int -pkgdb_sub_read_file_to_text(struct pkgdb *dbs, const char *filename) +pkgdb_sub_read_file_to_text(struct pkgdb_sub *sub, const char *filename) { int s; struct stat sb; @@ -69,7 +77,7 @@ char *text; char *path_to_file; - path_to_file = path_build(dbs->path, filename); + path_to_file = path_build(sub->path, filename); s = lstat(path_to_file, &sb); if (s < 0 || !S_ISREG(sb.st_mode)) { free(path_to_file); @@ -80,7 +88,7 @@ return (SUB_EMPTY_FILE); } - text = pkgdb_sub_get_field(text, dbs, filename); + /* text = pkgdb_sub_get_field(text, sub, filename); */ fd = open(path_to_file, O_RDONLY); free(path_to_file); @@ -90,7 +98,7 @@ text = malloc(sb.st_size + 1); if (text == NULL) { close(fd); - return (SUB_MEMORY_ERR); + return (MEMORY_ERR); } s = read(fd, text, sb.st_size); close(fd); @@ -98,27 +106,29 @@ free(text); return (SUB_NO_FILE); /* Could be a lie, maybe check errno? */ } + text[sb.st_size] = '\0'; + /* This is dumb. But I forgot how computers work and wrote this * function like a moron. So I'm stuck with it until I feel like * coming back to it. */ if (strcmp(filename, COMMENT_FILE) == 0) - dbs->comment_text = text; + sub->comment_text = text; else if (strcmp(filename, CONTENTS_FILE) == 0) - dbs->contents_text = text; + sub->contents_text = text; else if (strcmp(filename, DESC_FILE) == 0) - dbs->desc_text = text; + sub->desc_text = text; else if (strcmp(filename, DISPLAY_FILE) == 0) - dbs->display_text = text; + sub->display_text = text; else if (strcmp(filename, MTREE_DIRS_FILE) == 0) - dbs->mtree_dirs_text = text; + sub->mtree_dirs_text = text; else if (strcmp(filename, REQUIRED_BY_FILE) == 0) - dbs->required_by_text = text; + sub->required_by_text = text; else { free(text); return (SUB_NO_FILE); /* No where to put it. */ } - return (SUB_OK); + return (OK); } char * @@ -176,7 +186,7 @@ } char * -pkgdb_sub_required_by(struct pkgdb_sub *dbs); +pkgdb_sub_required_by(struct pkgdb_sub *dbs) { if (dbs == NULL) BAD_ARG_RAGE; @@ -209,7 +219,7 @@ } void -pkgdb_sub_free(struct pkgdb_sub *dbs) +pkgdb_sub_delete(struct pkgdb_sub *dbs) { if (dbs == NULL) return; ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.h#5 (text+ko) ==== @@ -27,7 +27,7 @@ int pkgdb_sub_set_assign_db(struct pkgdb *owner, struct pkgdb_sub *dbs); -int pkgdb_sub_read_file_to_text(struct pkgdb_sub *dbs, const char *filename); +int pkgdb_sub_read_file_to_text(struct pkgdb_sub *sub, const char *filename); char *pkgdb_sub_ident(struct pkgdb_sub *dbs); @@ -47,6 +47,6 @@ void pkgdb_sub_reset(struct pkgdb_sub *dbs); -void pkgdb_sub_free(struct pkgdb_sub *dbs); +void pkgdb_sub_delete(struct pkgdb_sub *dbs); #endif ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#12 (text+ko) ==== @@ -59,7 +59,7 @@ perform_on_db(db); - pkgdb_db_delete(db); + pkgdb_delete(db); return (EXIT_SUCCESS); } @@ -144,8 +144,8 @@ printf("\tcwd: %s\n", cwd); printf("\torigin: %s\n", origin); printf("\tfiles:\n"); - pkg_file_list_init(p); - while ((pf = pkg_file_list_next(p)) != NULL) { + pkg_pkg_file_list_init(p); + while ((pf = pkg_pkg_file_list_next(p)) != NULL) { path = ((path = pkg_file_path(pf)) == NULL ? BAD_OR_UNKNOWN_VALUE : path); md5 = From owner-p4-projects@FreeBSD.ORG Tue Jun 16 05:32:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5EF701065697; Tue, 16 Jun 2009 05:32:49 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 160D0106568B for ; Tue, 16 Jun 2009 05:32:49 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 01D748FC0C for ; Tue, 16 Jun 2009 05:32:49 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5G5Wm31094980 for ; Tue, 16 Jun 2009 05:32:48 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5G5Wmw4094978 for perforce@freebsd.org; Tue, 16 Jun 2009 05:32:48 GMT (envelope-from scottl@freebsd.org) Date: Tue, 16 Jun 2009 05:32:48 GMT Message-Id: <200906160532.n5G5Wmw4094978@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 164481 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 05:32:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=164481 Change 164481 by scottl@scottl-deimos on 2009/06/16 05:32:21 IFC Affected files ... .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/msi.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/pmap.c#26 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/conf/GENERIC#23 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/conf/GENERIC.hints#7 integrate .. //depot/projects/scottl-camlock/src/sys/boot/forth/loader.conf#19 integrate .. //depot/projects/scottl-camlock/src/sys/cam/cam.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/cddl/compat/opensolaris/kern/opensolaris.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_proto.h#19 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscall.h#19 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscalls.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_sysent.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/compat/freebsd32/syscalls.master#20 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linprocfs/linprocfs.c#23 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_futex.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_ioctl.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/compat/linux/linux_misc.c#20 integrate .. //depot/projects/scottl-camlock/src/sys/compat/ndis/subr_usbd.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/compat/svr4/svr4_stat.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/conf/NOTES#29 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files#32 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-usb.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ah_desc.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/ath_rate/sample/sample.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ath/if_ath.c#25 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cas/if_cas.c#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/cas/if_casreg.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/cas/if_casvar.h#1 branch .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/cxgb_sge.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/firewire/firewire.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/if_ndis/if_ndis_usb.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mii/miidevs#14 integrate .. //depot/projects/scottl-camlock/src/sys/dev/mii/nsgphy.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ofw/ofw_bus_subr.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ofw/ofw_bus_subr.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ofw/ofw_disk.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ofw/ofw_if.m#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ofw/ofw_iicbus.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ofw/ofw_standard.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ofw/ofwvar.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ofw/openfirm.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ofw/openfirm.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ofw/openfirmio.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sec/sec.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/hda/hdac.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pcm/feeder_rate.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/usb/uaudio.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/version.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/syscons/daemon/daemon_saver.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/syscons/scterm-teken.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/tsec/if_tsec.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/tsec/if_tsec.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/at91dci.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/at91dci_atmelarm.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/atmegadci.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/atmegadci_atmelarm.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/avr32dci.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci_ixp4xx.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci_mbus.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci_pci.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/musb_otg.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/musb_otg_atmelarm.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ohci.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ohci_atmelarm.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ohci_pci.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/uhci.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/uhci_pci.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/usb_controller.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/uss820dci.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/uss820dci_atmelarm.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/input/uhid.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/input/ukbd.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/input/ums.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/misc/udbp.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/misc/ufm.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_aue.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_auereg.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_axe.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_axereg.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_cdce.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_cue.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_kue.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_rue.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_ruereg.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_udav.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_udavreg.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/usb_ethernet.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/net/usb_ethernet.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/quirk/usb_quirk.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/quirk/usb_quirk.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/u3g.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uark.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ubsa.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ubser.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uchcom.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ucycom.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ufoma.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uftdi.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ugensa.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uipaq.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ulpt.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/umct.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/umodem.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/umoscom.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uplcom.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/usb_serial.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/usb_serial.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uslcom.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uvisor.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uvscom.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/storage/umass.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/storage/urio.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/storage/ustorage_fs.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/template/usb_template.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/template/usb_template.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/template/usb_template_cdce.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/template/usb_template_msc.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/template/usb_template_mtp.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_bus.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_busdma.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_busdma.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_compat_linux.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_compat_linux.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_controller.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_core.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_debug.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_debug.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_defs.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_dev.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_dev.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_device.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_device.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_dynamic.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_dynamic.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_endian.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_error.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_error.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_generic.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_generic.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_handle_request.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_handle_request.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_hid.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_hid.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_hub.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_hub.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_ioctl.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_lookup.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_lookup.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_mbuf.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_mbuf.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_mfunc.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_msctest.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_msctest.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_parse.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_parse.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_pci.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_process.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_process.h#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_request.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_request.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_revision.h#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_transfer.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_transfer.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_util.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_util.h#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdevs#25 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/usbhid.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_rum.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_uath.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_upgt.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_ural.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_urtw.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_zyd.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/dev/xen/blkfront/blkfront.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/dev/xen/netfront/netfront.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfsclient/nfs_clstate.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/fs/nfsclient/nfs_clvfsops.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/fs/tmpfs/tmpfs_vnops.c#6 integrate .. //depot/projects/scottl-camlock/src/sys/geom/label/g_label.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/geom/label/g_label.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/geom/label/g_label_gpt.c#1 branch .. //depot/projects/scottl-camlock/src/sys/i386/conf/GENERIC#22 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/msi.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/pmap.c#27 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/cpufunc.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/in_cksum.h#6 integrate .. //depot/projects/scottl-camlock/src/sys/i386/include/pmap.h#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/init_sysent.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_descrip.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_exit.c#18 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_jail.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_mib.c#12 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_shutdown.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_sysctl.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/kern/kern_vimage.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/kern/syscalls.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/syscalls.master#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/systrace_args.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/kern/tty.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/kern/uipc_socket.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/kern/vfs_syscalls.c#23 integrate .. //depot/projects/scottl-camlock/src/sys/kgssapi/krb5/krb5_mech.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/mips/conf/ADM5120#3 integrate .. //depot/projects/scottl-camlock/src/sys/mips/idt/files.idt#2 integrate .. //depot/projects/scottl-camlock/src/sys/mips/malta/gt_pci.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/mips/mips/mainbus.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/modules/Makefile#28 integrate .. //depot/projects/scottl-camlock/src/sys/modules/cas/Makefile#1 branch .. //depot/projects/scottl-camlock/src/sys/modules/if_ppp/Makefile#8 delete .. //depot/projects/scottl-camlock/src/sys/modules/if_sl/Makefile#3 delete .. //depot/projects/scottl-camlock/src/sys/net/if.c#24 integrate .. //depot/projects/scottl-camlock/src/sys/net/if.h#15 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_tun.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/net/if_var.h#18 integrate .. //depot/projects/scottl-camlock/src/sys/net/netisr.c#9 integrate .. //depot/projects/scottl-camlock/src/sys/net/netisr.h#8 integrate .. //depot/projects/scottl-camlock/src/sys/net80211/ieee80211_ioctl.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#11 integrate .. //depot/projects/scottl-camlock/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#10 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/ipfw/ip_dummynet.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/netinet/tcp_subr.c#22 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/icmp6.c#15 integrate .. //depot/projects/scottl-camlock/src/sys/netinet6/in6_ifattach.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/bootp_subr.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/nfsclient/nfs_vfsops.c#19 integrate .. //depot/projects/scottl-camlock/src/sys/nlm/nlm_advlock.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/booke/pmap.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#2 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/conf/GENERIC#20 integrate .. //depot/projects/scottl-camlock/src/sys/sys/jail.h#10 integrate .. //depot/projects/scottl-camlock/src/sys/sys/param.h#23 integrate .. //depot/projects/scottl-camlock/src/sys/sys/priv.h#12 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sockio.h#9 integrate .. //depot/projects/scottl-camlock/src/sys/sys/syscall.h#16 integrate .. //depot/projects/scottl-camlock/src/sys/sys/syscall.mk#16 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sysctl.h#15 integrate .. //depot/projects/scottl-camlock/src/sys/sys/sysproto.h#16 integrate .. //depot/projects/scottl-camlock/src/sys/sys/vimage.h#5 integrate .. //depot/projects/scottl-camlock/src/sys/tools/sound/feeder_rate_mkfilter.awk#2 integrate .. //depot/projects/scottl-camlock/src/sys/vm/phys_pager.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_object.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_object.h#9 integrate Differences ... ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/msi.c#8 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.10 2009/01/29 09:22:56 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.11 2009/06/15 13:47:49 mav Exp $"); #include #include @@ -210,6 +210,8 @@ old_id = msi->msi_cpu; if (old_vector && old_id == apic_id) return; + if (old_vector && !msi->msi_msix && msi->msi_first->msi_count > 1) + return; /* Allocate IDT vector on this cpu. */ vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/pmap.c#26 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.660 2009/06/08 18:23:43 ed Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.661 2009/06/14 19:51:43 alc Exp $"); /* * Manages physical address maps. @@ -3322,78 +3322,74 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) { - vm_offset_t va; + pd_entry_t *pde; + vm_paddr_t pa, ptepa; vm_page_t p, pdpg; VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); KASSERT(object->type == OBJT_DEVICE, ("pmap_object_init_pt: non-device object")); - if (((addr & (NBPDR - 1)) == 0) && ((size & (NBPDR - 1)) == 0)) { - vm_page_t m[1]; - pd_entry_t ptepa, *pde; - - PMAP_LOCK(pmap); - pde = pmap_pde(pmap, addr); - if (pde != 0 && (*pde & PG_V) != 0) - goto out; - PMAP_UNLOCK(pmap); -retry: + if ((addr & (NBPDR - 1)) == 0 && (size & (NBPDR - 1)) == 0) { + if (!vm_object_populate(object, pindex, pindex + atop(size))) + return; p = vm_page_lookup(object, pindex); - if (p != NULL) { - if (vm_page_sleep_if_busy(p, FALSE, "init4p")) - goto retry; - } else { - p = vm_page_alloc(object, pindex, VM_ALLOC_NORMAL); - if (p == NULL) - return; - m[0] = p; + KASSERT(p->valid == VM_PAGE_BITS_ALL, + ("pmap_object_init_pt: invalid page %p", p)); - if (vm_pager_get_pages(object, m, 1, 0) != VM_PAGER_OK) { - vm_page_lock_queues(); - vm_page_free(p); - vm_page_unlock_queues(); - return; - } - - p = vm_page_lookup(object, pindex); - vm_page_wakeup(p); - } - + /* + * Abort the mapping if the first page is not physically + * aligned to a 2MB page boundary. + */ ptepa = VM_PAGE_TO_PHYS(p); if (ptepa & (NBPDR - 1)) return; - p->valid = VM_PAGE_BITS_ALL; + /* + * Skip the first page. Abort the mapping if the rest of + * the pages are not physically contiguous. + */ + p = TAILQ_NEXT(p, listq); + for (pa = ptepa + PAGE_SIZE; pa < ptepa + size; + pa += PAGE_SIZE) { + KASSERT(p->valid == VM_PAGE_BITS_ALL, + ("pmap_object_init_pt: invalid page %p", p)); + if (pa != VM_PAGE_TO_PHYS(p)) + return; + p = TAILQ_NEXT(p, listq); + } + /* Map using 2MB pages. */ PMAP_LOCK(pmap); - for (va = addr; va < addr + size; va += NBPDR) { - while ((pdpg = - pmap_allocpde(pmap, va, M_NOWAIT)) == NULL) { - PMAP_UNLOCK(pmap); - vm_page_busy(p); - VM_OBJECT_UNLOCK(object); - VM_WAIT; - VM_OBJECT_LOCK(object); - vm_page_wakeup(p); - PMAP_LOCK(pmap); + for (pa = ptepa; pa < ptepa + size; pa += NBPDR) { + pdpg = pmap_allocpde(pmap, addr, M_NOWAIT); + if (pdpg == NULL) { + /* + * The creation of mappings below is only an + * optimization. If a page directory page + * cannot be allocated without blocking, + * continue on to the next mapping rather than + * blocking. + */ + addr += NBPDR; + continue; } pde = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg)); - pde = &pde[pmap_pde_index(va)]; + pde = &pde[pmap_pde_index(addr)]; if ((*pde & PG_V) == 0) { - pde_store(pde, ptepa | PG_PS | PG_M | PG_A | + pde_store(pde, pa | PG_PS | PG_M | PG_A | PG_U | PG_RW | PG_V); - pmap->pm_stats.resident_count += - NBPDR / PAGE_SIZE; + pmap->pm_stats.resident_count += NBPDR / + PAGE_SIZE; + pmap_pde_mappings++; } else { + /* Continue on if the PDE is already valid. */ pdpg->wire_count--; KASSERT(pdpg->wire_count > 0, ("pmap_object_init_pt: missing reference " - "to page directory page, va: 0x%lx", va)); + "to page directory page, va: 0x%lx", addr)); } - ptepa += NBPDR; + addr += NBPDR; } - pmap_invalidate_all(pmap); -out: PMAP_UNLOCK(pmap); } } ==== //depot/projects/scottl-camlock/src/sys/amd64/conf/GENERIC#23 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.528 2009/06/10 02:07:58 yongari Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.529 2009/06/14 18:01:35 ed Exp $ cpu HAMMER ident GENERIC @@ -66,6 +66,7 @@ options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev options STOP_NMI # Stop CPUS using NMI instead of IPI options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) ==== //depot/projects/scottl-camlock/src/sys/amd64/conf/GENERIC.hints#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.20 2009/05/14 21:53:35 jhb Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.21 2009/06/15 21:55:29 ps Exp $ hint.fdc.0.at="isa" hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" @@ -24,3 +24,6 @@ hint.uart.1.irq="3" hint.ppc.0.at="isa" hint.ppc.0.irq="7" +hint.atrtc.0.at="isa" +hint.atrtc.0.port="0x70" +hint.atrtc.0.irq="8" ==== //depot/projects/scottl-camlock/src/sys/boot/forth/loader.conf#19 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.141 2009/06/10 02:07:58 yongari Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.142 2009/06/15 18:22:41 marius Exp $ ############################################################## ### Basic configuration options ############################ @@ -221,6 +221,7 @@ if_bce_load="NO" # Broadcom NetXtreme II Gigabit Ethernet if_bfe_load="NO" # Broadcom BCM4401 if_bge_load="NO" # Broadcom BCM570x PCI Gigabit Ethernet +if_cas_load="NO" # Sun Cassini/Cassini+ and NS DP83065 Saturn if_cm_load="NO" # SMC (90c26, 90c56, 90c66) if_cs_load="NO" # Crystal Semiconductor CS8920 if_cue_load="NO" # CATC USB-EL1210A USB Ethernet ==== //depot/projects/scottl-camlock/src/sys/cam/cam.c#8 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam.c,v 1.11 2007/05/23 13:27:37 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam.c,v 1.12 2009/06/14 12:46:34 ed Exp $"); #include #ifdef _KERNEL @@ -37,6 +37,7 @@ #else /* _KERNEL */ #include #include +#include #endif /* _KERNEL */ #include ==== //depot/projects/scottl-camlock/src/sys/cddl/compat/opensolaris/kern/opensolaris.c#4 (text+ko) ==== @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris.c,v 1.3 2009/05/29 21:27:12 jamie Exp $ + * $FreeBSD: src/sys/cddl/compat/opensolaris/kern/opensolaris.c,v 1.4 2009/06/13 15:39:12 jamie Exp $ * */ @@ -83,7 +83,7 @@ switch (type) { case MOD_LOAD: - utsname.nodename = prison0.pr_host; + utsname.nodename = prison0.pr_hostname; break; case MOD_UNLOAD: ==== //depot/projects/scottl-camlock/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#3 (text+ko) ==== @@ -179,9 +179,9 @@ spa_history_zone() { #ifdef _KERNEL - /* XXX: pr_host can be changed by default from within a jail! */ + /* XXX: pr_hostname can be changed by default from within a jail! */ if (jailed(curthread->td_ucred)) - return (curthread->td_ucred->cr_prison->pr_host); + return (curthread->td_ucred->cr_prison->pr_hostname); #endif return ("global"); } ==== //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_proto.h#19 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.101 2009/06/10 13:48:43 kib Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 193916 2009-06-10 13:48:13Z kib + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.102 2009/06/15 20:40:23 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb */ #ifndef _FREEBSD32_SYSPROTO_H_ ==== //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscall.h#19 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.100 2009/06/10 13:48:43 kib Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 193916 2009-06-10 13:48:13Z kib + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.101 2009/06/15 20:40:23 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb */ #define FREEBSD32_SYS_syscall 0 @@ -377,4 +377,5 @@ #define FREEBSD32_SYS_freebsd32_jail_get 506 #define FREEBSD32_SYS_freebsd32_jail_set 507 #define FREEBSD32_SYS_jail_remove 508 -#define FREEBSD32_SYS_MAXSYSCALL 509 +#define FREEBSD32_SYS_closefrom 509 +#define FREEBSD32_SYS_MAXSYSCALL 510 ==== //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_syscalls.c#19 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.91 2009/06/10 13:48:43 kib Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 193916 2009-06-10 13:48:13Z kib + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.92 2009/06/15 20:40:23 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb */ const char *freebsd32_syscallnames[] = { @@ -516,4 +516,5 @@ "freebsd32_jail_get", /* 506 = freebsd32_jail_get */ "freebsd32_jail_set", /* 507 = freebsd32_jail_set */ "jail_remove", /* 508 = jail_remove */ + "closefrom", /* 509 = closefrom */ }; ==== //depot/projects/scottl-camlock/src/sys/compat/freebsd32/freebsd32_sysent.c#19 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.102 2009/06/10 13:48:43 kib Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 193916 2009-06-10 13:48:13Z kib + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.103 2009/06/15 20:40:23 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb */ #include "opt_compat.h" @@ -547,4 +547,5 @@ { AS(freebsd32_jail_get_args), (sy_call_t *)freebsd32_jail_get, AUE_NULL, NULL, 0, 0, 0 }, /* 506 = freebsd32_jail_get */ { AS(freebsd32_jail_set_args), (sy_call_t *)freebsd32_jail_set, AUE_NULL, NULL, 0, 0, 0 }, /* 507 = freebsd32_jail_set */ { AS(jail_remove_args), (sy_call_t *)jail_remove, AUE_NULL, NULL, 0, 0, 0 }, /* 508 = jail_remove */ + { AS(closefrom_args), (sy_call_t *)closefrom, AUE_CLOSEFROM, NULL, 0, 0, 0 }, /* 509 = closefrom */ }; ==== //depot/projects/scottl-camlock/src/sys/compat/freebsd32/syscalls.master#20 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.116 2009/06/10 13:48:13 kib Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.117 2009/06/15 20:38:55 jhb Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; @@ -889,3 +889,4 @@ 507 AUE_NULL STD { int freebsd32_jail_set(struct iovec32 *iovp, \ unsigned int iovcnt, int flags); } 508 AUE_NULL NOPROTO { int jail_remove(int jid); } +509 AUE_CLOSEFROM NOPROTO { int closefrom(int lowfd); } ==== //depot/projects/scottl-camlock/src/sys/compat/linprocfs/linprocfs.c#23 (text+ko) ==== @@ -42,7 +42,7 @@ #include "opt_compat.h" #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.138 2009/06/08 19:57:35 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.139 2009/06/15 19:01:53 jamie Exp $"); #include #include @@ -1079,7 +1079,7 @@ static int linprocfs_donetdev(PFS_FILL_ARGS) { - INIT_VNET_NET(TD_TO_VNET(curthread)); + INIT_VNET_NET(TD_TO_VNET(td)); char ifname[16]; /* XXX LINUX_IFNAMSIZ */ struct ifnet *ifp; ==== //depot/projects/scottl-camlock/src/sys/compat/linux/linux_futex.c#10 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.22 2009/05/07 16:14:31 dchagin Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_futex.c,v 1.23 2009/06/14 17:53:55 dchagin Exp $"); #if 0 __KERNEL_RCSID(1, "$NetBSD: linux_futex.c,v 1.7 2006/07/24 19:01:49 manu Exp $"); #endif @@ -707,8 +707,10 @@ /* XXX: ptrace? */ if (priv_check(td, PRIV_CRED_SETUID) || priv_check(td, PRIV_CRED_SETEUID) || - p_candebug(td, p)) + p_candebug(td, p)) { + PROC_UNLOCK(p); return (EPERM); + } head = em->robust_futexes; PROC_UNLOCK(p); ==== //depot/projects/scottl-camlock/src/sys/compat/linux/linux_ioctl.c#15 (text+ko) ==== @@ -29,7 +29,7 @@ #include "opt_compat.h" #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.150 2009/06/08 19:57:35 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.151 2009/06/15 19:01:53 jamie Exp $"); #include #include @@ -2091,9 +2091,9 @@ */ static struct ifnet * -ifname_linux_to_bsd(const char *lxname, char *bsdname) +ifname_linux_to_bsd(struct thread *td, const char *lxname, char *bsdname) { - INIT_VNET_NET(TD_TO_VNET(curthread)); + INIT_VNET_NET(TD_TO_VNET(td)); struct ifnet *ifp; int len, unit; char *ep; @@ -2379,7 +2379,7 @@ printf("%s(): ioctl %d on %.*s\n", __func__, args->cmd & 0xffff, LINUX_IFNAMSIZ, lifname); #endif - ifp = ifname_linux_to_bsd(lifname, ifname); + ifp = ifname_linux_to_bsd(td, lifname, ifname); if (ifp == NULL) return (EINVAL); /* ==== //depot/projects/scottl-camlock/src/sys/compat/linux/linux_misc.c#20 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.238 2009/06/05 14:55:22 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.239 2009/06/13 00:12:02 jamie Exp $"); #include "opt_compat.h" @@ -716,7 +716,6 @@ struct l_new_utsname utsname; char osname[LINUX_MAX_UTSNAME]; char osrelease[LINUX_MAX_UTSNAME]; - struct prison *pr; char *p; #ifdef DEBUG @@ -730,6 +729,7 @@ bzero(&utsname, sizeof(utsname)); strlcpy(utsname.sysname, osname, LINUX_MAX_UTSNAME); getcredhostname(td->td_ucred, utsname.nodename, LINUX_MAX_UTSNAME); + getcreddomainname(td->td_ucred, utsname.domainname, LINUX_MAX_UTSNAME); strlcpy(utsname.release, osrelease, LINUX_MAX_UTSNAME); strlcpy(utsname.version, version, LINUX_MAX_UTSNAME); for (p = utsname.version; *p != '\0'; ++p) @@ -739,11 +739,6 @@ } strlcpy(utsname.machine, linux_platform, LINUX_MAX_UTSNAME); - pr = td->td_ucred->cr_prison; - mtx_lock(&pr->pr_mtx); - strlcpy(utsname.domainname, pr->pr_domain, LINUX_MAX_UTSNAME); - mtx_unlock(&pr->pr_mtx); - return (copyout(&utsname, args->buf, sizeof(utsname))); } ==== //depot/projects/scottl-camlock/src/sys/compat/ndis/subr_usbd.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_usbd.c,v 1.15 2009/06/07 19:41:11 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_usbd.c,v 1.16 2009/06/15 01:02:43 thompsa Exp $"); #include #include @@ -472,7 +472,7 @@ * The NDIS driver is not allowed to change the * config! There is only one choice! */ - cdp = usb2_get_config_descriptor(sc->ndisusb_dev); + cdp = usbd_get_config_descriptor(sc->ndisusb_dev); if (cdp == NULL) { status = USB_ERR_INVAL; goto exit; @@ -492,7 +492,7 @@ status = USB_ERR_NORMAL_COMPLETION; } else { NDISUSB_LOCK(sc); - status = usb2_req_get_desc(sc->ndisusb_dev, &sc->ndisusb_mtx, + status = usbd_req_get_desc(sc->ndisusb_dev, &sc->ndisusb_mtx, &actlen, ctldesc->ucd_trans_buf, 2, ctldesc->ucd_trans_buflen, ctldesc->ucd_langid, ctldesc->ucd_desctype, ctldesc->ucd_idx, @@ -540,16 +540,16 @@ intf = &selconf->usc_intf; for (i = 0; i < conf->bNumInterface && intf->uii_len > 0; i++) { - ret = usb2_set_alt_interface_index(udev, + ret = usbd_set_alt_interface_index(udev, intf->uii_intfnum, intf->uii_altset); if (ret != USB_ERR_NORMAL_COMPLETION && ret != USB_ERR_IN_USE) { device_printf(dev, "setting alternate interface failed: %s\n", - usb2_errstr(ret)); + usbd_errstr(ret)); return usbd_usb2urb(ret); } - for (j = 0; (ep = usb2_endpoint_foreach(udev, ep)); j++) { + for (j = 0; (ep = usb_endpoint_foreach(udev, ep)); j++) { if (j >= intf->uii_numeps) { device_printf(dev, "endpoint %d and above are ignored", @@ -608,11 +608,11 @@ InitializeListHead(&ne->ne_pending); KeInitializeSpinLock(&ne->ne_lock); - status = usb2_transfer_setup(sc->ndisusb_dev, &ifidx, ne->ne_xfer, + status = usbd_transfer_setup(sc->ndisusb_dev, &ifidx, ne->ne_xfer, epconf, 1, sc, &sc->ndisusb_mtx); if (status != USB_ERR_NORMAL_COMPLETION) { device_printf(dev, "couldn't setup xfer: %s\n", - usb2_errstr(status)); + usbd_errstr(status)); return (status); } xfer = ne->ne_xfer[0]; @@ -680,11 +680,11 @@ if (UE_GET_DIR(ep->bEndpointAddress) == UE_DIR_IN) cfg.flags.short_xfer_ok = 1; - status = usb2_transfer_setup(sc->ndisusb_dev, &ifidx, ne->ne_xfer, + status = usbd_transfer_setup(sc->ndisusb_dev, &ifidx, ne->ne_xfer, &cfg, 1, sc, &sc->ndisusb_mtx); if (status != USB_ERR_NORMAL_COMPLETION) { device_printf(dev, "couldn't setup xfer: %s\n", - usb2_errstr(status)); + usbd_errstr(status)); return (status); } xfer = ne->ne_xfer[0]; @@ -718,8 +718,8 @@ } NDISUSB_LOCK(sc); - usb2_transfer_stop(ne->ne_xfer[0]); - usb2_transfer_start(ne->ne_xfer[0]); + usbd_transfer_stop(ne->ne_xfer[0]); + usbd_transfer_start(ne->ne_xfer[0]); NDISUSB_UNLOCK(sc); return (USBD_STATUS_SUCCESS); @@ -800,8 +800,8 @@ * cancelled and then restarted. */ NDISUSB_LOCK(sc); - usb2_transfer_stop(ne->ne_xfer[0]); - usb2_transfer_start(ne->ne_xfer[0]); + usbd_transfer_stop(ne->ne_xfer[0]); + usbd_transfer_start(ne->ne_xfer[0]); NDISUSB_UNLOCK(sc); ip->irp_cancel = TRUE; @@ -873,7 +873,7 @@ /* copy in data with regard to the URB */ if (ne->ne_dirin != 0) - usb2_copy_out(xfer->frbuffers, 0, nx->nx_urbbuf, + usbd_copy_out(xfer->frbuffers, 0, nx->nx_urbbuf, xfer->frlengths[0]); nx->nx_urbbuf += xfer->frlengths[0]; nx->nx_urbactlen += xfer->frlengths[0]; @@ -929,10 +929,10 @@ extra: len = MIN(xfer->max_data_length, nx->nx_urblen); if (UE_GET_DIR(ep->bEndpointAddress) == UE_DIR_OUT) - usb2_copy_in(xfer->frbuffers, 0, nx->nx_urbbuf, len); + usbd_copy_in(xfer->frbuffers, 0, nx->nx_urbbuf, len); xfer->frlengths[0] = len; xfer->nframes = 1; - usb2_start_hardware(xfer); + usbd_transfer_submit(xfer); break; default: nx = usbd_aq_getfirst(sc, ne); @@ -941,7 +941,7 @@ if (xfer->error != USB_ERR_CANCELLED) { xfer->flags.stall_pipe = 1; device_printf(sc->ndis_dev, "usb xfer warning (%s)\n", - usb2_errstr(xfer->error)); + usbd_errstr(xfer->error)); } usbd_xfer_complete(sc, ne, nx, xfer->error); if (xfer->error != USB_ERR_CANCELLED) @@ -974,7 +974,7 @@ vcreq = &urb->uu_vcreq; if (vcreq->uvc_trans_flags & USBD_TRANSFER_DIRECTION_IN) { - usb2_copy_out(xfer->frbuffers + 1, 0, + usbd_copy_out(xfer->frbuffers + 1, 0, vcreq->uvc_trans_buf, xfer->frlengths[1]); nx->nx_urbactlen += xfer->frlengths[1]; } @@ -1044,7 +1044,7 @@ nx->nx_urblen = vcreq->uvc_trans_buflen; nx->nx_urbactlen = 0; - usb2_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); + usbd_copy_in(xfer->frbuffers, 0, &req, sizeof(req)); xfer->frlengths[0] = sizeof(req); xfer->nframes = 1; if (vcreq->uvc_trans_flags & USBD_TRANSFER_DIRECTION_IN) { @@ -1066,13 +1066,13 @@ * the future if it needs to be. */ if (nx->nx_urblen > 0) { - usb2_copy_in(xfer->frbuffers + 1 , 0, + usbd_copy_in(xfer->frbuffers + 1 , 0, nx->nx_urbbuf, nx->nx_urblen); xfer->frlengths[1] = nx->nx_urblen; xfer->nframes = 2; } } - usb2_start_hardware(xfer); + usbd_transfer_submit(xfer); break; default: nx = usbd_aq_getfirst(sc, ne); @@ -1081,7 +1081,7 @@ if (xfer->error != USB_ERR_CANCELLED) { xfer->flags.stall_pipe = 1; device_printf(sc->ndis_dev, "usb xfer warning (%s)\n", - usb2_errstr(xfer->error)); + usbd_errstr(xfer->error)); } usbd_xfer_complete(sc, ne, nx, xfer->error); if (xfer->error != USB_ERR_CANCELLED) @@ -1244,7 +1244,7 @@ ne = usbd_get_ndisep(ip, urb->uu_bulkintr.ubi_epdesc); if (ne == NULL) goto exit; - usb2_transfer_start(ne->ne_xfer[0]); + usbd_transfer_start(ne->ne_xfer[0]); break; case NDISUSB_TASK_IRPCANCEL: ne = usbd_get_ndisep(ip, @@ -1254,14 +1254,14 @@ if (ne == NULL) goto exit; - usb2_transfer_stop(ne->ne_xfer[0]); - usb2_transfer_start(ne->ne_xfer[0]); + usbd_transfer_stop(ne->ne_xfer[0]); + usbd_transfer_start(ne->ne_xfer[0]); break; case NDISUSB_TASK_VENDOR: ne = (urb->uu_vcreq.uvc_trans_flags & USBD_TRANSFER_DIRECTION_IN) ? &sc->ndisusb_dread_ep : &sc->ndisusb_dwrite_ep; - usb2_transfer_start(ne->ne_xfer[0]); + usbd_transfer_start(ne->ne_xfer[0]); break; default: break; @@ -1437,7 +1437,7 @@ struct usb_descriptor *next = NULL; usb_interface_descriptor_t *desc; - while ((next = usb2_desc_foreach(conf, next)) != NULL) { + while ((next = usb_desc_foreach(conf, next)) != NULL) { desc = (usb_interface_descriptor_t *)next; if (desc->bDescriptorType != UDESC_INTERFACE) continue; ==== //depot/projects/scottl-camlock/src/sys/compat/svr4/svr4_stat.c#8 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stat.c,v 1.31 2009/05/30 07:33:32 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stat.c,v 1.32 2009/06/13 00:12:02 jamie Exp $"); #include #include @@ -411,10 +411,10 @@ struct thread *td; struct svr4_sys_systeminfo_args *uap; { - struct prison *pr; char *str = NULL; int error = 0; register_t *retval = td->td_retval; + u_long hostid; size_t len = 0; char buf[MAXHOSTNAMELEN]; u_int rlen = uap->len; @@ -458,10 +458,8 @@ break; case SVR4_SI_HW_SERIAL: - pr = td->td_ucred->cr_prison; - mtx_lock(&pr->pr_mtx); - snprintf(buf, sizeof(buf), "%lu", pr->pr_hostid); - mtx_unlock(&pr->pr_mtx); + getcredhostid(td->td_ucred, &hostid); + snprintf(buf, sizeof(buf), "%lu", hostid); str = buf; break; @@ -470,10 +468,7 @@ break; case SVR4_SI_SRPC_DOMAIN: - pr = td->td_ucred->cr_prison; - mtx_lock(&pr->pr_mtx); - strlcpy(buf, pr->pr_domain, sizeof(buf)); - mtx_unlock(&pr->pr_mtx); + getcreddomainname(td->td_ucred, buf, sizeof(buf)); str = buf; break; ==== //depot/projects/scottl-camlock/src/sys/conf/NOTES#29 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1546 2009/06/12 15:44:35 vanhu Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1547 2009/06/15 18:22:41 marius Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1768,6 +1768,7 @@ # BCM570x family of controllers, including the 3Com 3c996-T, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 16 06:05:22 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 559B8106566B; Tue, 16 Jun 2009 06:05:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 152D11065672 for ; Tue, 16 Jun 2009 06:05:22 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 033898FC1D for ; Tue, 16 Jun 2009 06:05:22 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5G65LpE098546 for ; Tue, 16 Jun 2009 06:05:21 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5G65L6s098544 for perforce@freebsd.org; Tue, 16 Jun 2009 06:05:21 GMT (envelope-from dforsyth@FreeBSD.org) Date: Tue, 16 Jun 2009 06:05:21 GMT Message-Id: <200906160605.n5G65L6s098544@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164482 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 06:05:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=164482 Change 164482 by dforsyth@squirrel on 2009/06/16 06:04:24 Plist parse is working again (atleast the parts of it that are done). Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#19 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#11 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.c#7 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#19 (text+ko) ==== @@ -70,13 +70,21 @@ int pkg_set_comment(struct pkg *p, const char *comment) { + int c; + char *f; + if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - if (comment != NULL) + p->comment = NULL; + if (comment != NULL) { p->comment = strdup(comment); - else - p->comment = NULL; + /* Blot out trailing \n */ + c = (int)'\n'; + f = strrchr(p->comment, c); + if (f != NULL) + *f = '\0'; + } return (OK); } @@ -89,10 +97,13 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); + /* if (contents != NULL) p->contents = strdup(contents); else p->contents = NULL; + */ + p->contents = contents; return (OK); } @@ -235,9 +246,6 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - - if (pf == NULL) - arg_rage_quit(__func__, "Not a valid package file.", RAGE_AT_CLIENT); pf = pkg_plist_pkg_file_list_next(&p->plist); @@ -264,7 +272,7 @@ * called on pkgs that are not explicitly created by the client. */ void -pkg_free(struct pkg *p) +pkg_delete(struct pkg *p) { if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#11 (text+ko) ==== @@ -86,11 +86,12 @@ /* This function will parse text and create a pkg_plist */ if (text == NULL) return (NOT_OK); - + + /* pl = pkg_plist_new(); if (pl == NULL) return (MEMORY_ERR); - + */ /* Not sure if this is how I still want to do this, but for now, hold * a copy of the text. */ textp = strdup(text); @@ -115,11 +116,13 @@ * easier to deal with different types of data. */ /* Consider a dirty flag for these lists? */ +#if 0 if (s != 0) { /* bad parse. */ /* free a bunch of stuff. */ return (NOT_OK); } +#endif textp = p + 1; } } @@ -280,7 +283,7 @@ { if (pl == NULL) return (NULL); - + return (pl->name); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.c#7 (text+ko) ==== @@ -106,7 +106,7 @@ free(text); return (SUB_NO_FILE); /* Could be a lie, maybe check errno? */ } - text[sb.st_size] = '\0'; + text[sb.st_size] = '\0'; /* This is dumb. But I forgot how computers work and wrote this * function like a moron. So I'm stuck with it until I feel like From owner-p4-projects@FreeBSD.ORG Tue Jun 16 07:06:31 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 506A31065670; Tue, 16 Jun 2009 07:06:31 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0D7B1106564A for ; Tue, 16 Jun 2009 07:06:31 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id ED3AD8FC08 for ; Tue, 16 Jun 2009 07:06:30 +0000 (UTC) (envelope-from scottl@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5G76Uqa004622 for ; Tue, 16 Jun 2009 07:06:30 GMT (envelope-from scottl@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5G76Nhk004616 for perforce@freebsd.org; Tue, 16 Jun 2009 07:06:23 GMT (envelope-from scottl@freebsd.org) Date: Tue, 16 Jun 2009 07:06:23 GMT Message-Id: <200906160706.n5G76Nhk004616@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to scottl@freebsd.org using -f From: Scott Long To: Perforce Change Reviews Cc: Subject: PERFORCE change 164484 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 07:06:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=164484 Change 164484 by scottl@scottl-y1 on 2009/06/16 07:06:09 IFC userland Affected files ... .. //depot/projects/scottl-camlock/src/Makefile.inc1#4 integrate .. //depot/projects/scottl-camlock/src/ObsoleteFiles.inc#5 integrate .. //depot/projects/scottl-camlock/src/UPDATING#5 integrate .. //depot/projects/scottl-camlock/src/bin/cp/utils.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/df/df.1#3 integrate .. //depot/projects/scottl-camlock/src/bin/df/df.c#4 integrate .. //depot/projects/scottl-camlock/src/bin/rm/rm.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/sh/alias.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/sh/eval.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/sh/eval.h#2 integrate .. //depot/projects/scottl-camlock/src/bin/sh/exec.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/sh/histedit.c#2 integrate .. //depot/projects/scottl-camlock/src/bin/sh/input.c#2 integrate .. //depot/projects/scottl-camlock/src/bin/sh/input.h#2 integrate .. //depot/projects/scottl-camlock/src/bin/sh/main.c#2 integrate .. //depot/projects/scottl-camlock/src/bin/sh/memalloc.c#2 integrate .. //depot/projects/scottl-camlock/src/bin/sh/memalloc.h#2 integrate .. //depot/projects/scottl-camlock/src/bin/sh/miscbltin.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/sh/mkinit.c#2 integrate .. //depot/projects/scottl-camlock/src/bin/sh/mksyntax.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/sh/parser.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/sh/sh.1#3 integrate .. //depot/projects/scottl-camlock/src/bin/sh/trap.c#2 integrate .. //depot/projects/scottl-camlock/src/bin/sh/trap.h#2 integrate .. //depot/projects/scottl-camlock/src/bin/sh/var.c#3 integrate .. //depot/projects/scottl-camlock/src/bin/test/TEST.sh#2 integrate .. //depot/projects/scottl-camlock/src/bin/test/test.c#2 integrate .. //depot/projects/scottl-camlock/src/cddl/contrib/opensolaris/cmd/lockstat/lockstat.1#1 branch .. //depot/projects/scottl-camlock/src/cddl/contrib/opensolaris/cmd/lockstat/lockstat.c#1 branch .. //depot/projects/scottl-camlock/src/cddl/contrib/opensolaris/cmd/lockstat/sym.c#1 branch .. //depot/projects/scottl-camlock/src/cddl/usr.sbin/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/cddl/usr.sbin/lockstat/Makefile#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/CHANGES#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/COPYRIGHT#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/FAQ#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/FAQ.xml#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/NSEC3-NOTES#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/README#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/README.idnkit#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/README.pkcs11#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/acconfig.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/check/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/check/check-tool.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/check/check-tool.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/check/named-checkconf.8#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/check/named-checkconf.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/check/named-checkconf.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/check/named-checkconf.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/check/named-checkzone.8#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/check/named-checkzone.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/check/named-checkzone.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/check/named-checkzone.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/dig.1#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/dig.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/dig.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/dig.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/dighost.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/host.1#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/host.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/host.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/host.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/include/dig/dig.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/nslookup.1#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/nslookup.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/nslookup.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dig/nslookup.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-dsfromkey.8#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-dsfromkey.html#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.html#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-keygen.8#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-keygen.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-keygen.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-keygen.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-signzone.8#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-signzone.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssec-signzone.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssectool.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/dnssec/dnssectool.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/bind9.xsl#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/bind9.xsl.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/builtin.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/client.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/config.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/control.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/controlconf.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/convertxsl.pl#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/builtin.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/client.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/config.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/control.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/globals.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/interfacemgr.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/listenlist.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/log.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/logconf.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/lwaddr.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/lwdclient.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/lwresd.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/lwsearch.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/main.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/notify.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/ns_smf_globals.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/query.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/server.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/sortlist.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/statschannel.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/tkeyconf.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/tsigconf.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/types.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/update.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/xfrout.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/include/named/zoneconf.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/interfacemgr.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/listenlist.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/log.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/logconf.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/lwaddr.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/lwdclient.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/lwderror.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/lwdgabn.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/lwdgnba.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/lwdgrbn.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/lwdnoop.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/lwresd.8#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/lwresd.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/lwresd.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/lwresd.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/lwsearch.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/main.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/named.8#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/named.conf.5#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/named.conf.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/named.conf.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/named.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/named.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/notify.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/query.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/server.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/sortlist.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/statschannel.c#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/tkeyconf.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/tsigconf.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/unix/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/unix/include/named/os.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/unix/os.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/update.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/xfrout.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/named/zoneconf.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/nsupdate/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/nsupdate/nsupdate.1#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/nsupdate/nsupdate.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/nsupdate/nsupdate.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/nsupdate/nsupdate.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/include/rndc/os.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/rndc-confgen.8#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/rndc-confgen.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/rndc-confgen.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/rndc-confgen.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/rndc.8#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/rndc.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/rndc.conf#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/rndc.conf.5#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/rndc.conf.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/rndc.conf.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/rndc.docbook#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/rndc.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/unix/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/unix/os.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/util.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/bin/rndc/util.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/config.guess#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/config.h.in#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/configure.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch01.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch02.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch03.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch04.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch05.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch07.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch08.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch09.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.ch10.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.html#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Bv9ARM.pdf#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.dig.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.dnssec-keygen.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.dnssec-signzone.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.host.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.named-checkconf.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.named-checkzone.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.named.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.nsupdate.html#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.rndc-confgen.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.rndc.conf.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/arm/man.rndc.html#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-baba-dnsext-acl-reqts-01.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-daigle-napstr-04.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-danisch-dns-rr-smtp-03.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-dnsext-opcode-discover-02.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-durand-dnsop-dynreverse-00.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-2929bis-01.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-axfr-clarify-05.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dhcid-rr-12.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dns-name-p-s-00.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-2535typecode-change-06.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-bis-updates-01.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-experiments-01.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-online-signing-02.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-opt-in-07.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-rsasha256-00.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-trans-02.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-ds-sha256-05.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-ecc-key-07.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-interop3597-02.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-keyrr-key-signing-flag-12.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-mdns-43.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-nsec3-04.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-nsid-01.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2536bis-dsa-06.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2538bis-04.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2539bis-dhk-06.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-signed-nonexistence-requirements-01.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-tkey-renewal-mode-05.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-threshold-00.txt#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-timers-02.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-tsig-sha-06.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsext-wcard-clarify-10.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsop-bad-dns-res-05.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-08.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsop-inaddr-required-07.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-configuration-06.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-issues-11.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-transport-guidelines-01.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsop-key-rollover-requirements-02.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsop-respsize-02.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-dnsop-serverid-06.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-enum-e164-gstn-np-05.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-ipv6-node-requirements-08.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ietf-secsh-dns-05.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-ihren-dnsext-threshold-validation-00.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-kato-dnsop-local-zones-00.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/draft-park-ipv6-extensions-dns-pnp-00.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/draft/update#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/misc/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/misc/format-options.pl#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/misc/ipv6#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/misc/migration#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/misc/options#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/misc/sort-options.pl#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/index#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1032.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1033.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1034.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1035.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1101.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1122.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1123.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1183.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1348.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1535.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1536.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1537.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1591.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1611.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1612.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1706.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1712.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1750.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1876.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1886.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1982.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1995.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc1996.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2052.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2104.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2119.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2133.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2136.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2137.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2163.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2168.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2181.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2230.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2308.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2317.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2373.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2374.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2375.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2418.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2535.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2536.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2537.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2538.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2539.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2540.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2541.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2553.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2671.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2672.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2673.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2782.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2825.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2826.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2845.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2874.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2915.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2929.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2930.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc2931.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3007.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3008.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3071.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3090.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3110.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3123.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3152.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3197.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3225.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3226.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3258.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3363.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3364.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3425.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3445.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3467.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3490.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3491.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3492.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3493.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3513.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3596.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3597.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3645.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3655.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3658.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3757.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3833.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3845.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc3901.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4025.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4033.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4034.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4035.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4074.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4159.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4193.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4255.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4343.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4367.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4398.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4408.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4431.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4470.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4634.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4641.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4648.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc4701.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc5155.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/doc/rfc/rfc952.txt#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/isc-config.sh.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/Makefile.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/README#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/aclocal.m4#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/api#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/Makefile.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/daemon.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/ftruncate.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/gettimeofday.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/mktemp.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/putenv.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/readv.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/setenv.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/setitimer.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/strcasecmp.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/strdup.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/strerror.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/strpbrk.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/strsep.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/strtoul.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/utimes.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/bsd/writev.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/config.h.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/configure.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/dst/Makefile.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/dst/dst_api.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/dst/dst_internal.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/dst/hmac_link.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/dst/md5.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/dst/md5_dgst.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/dst/md5_locl.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/dst/support.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/Makefile.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/arpa/inet.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/arpa/nameser.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/arpa/nameser_compat.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/fd_setsize.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/hesiod.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/irp.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/irs.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/isc/assertions.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/isc/ctl.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/isc/dst.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/isc/eventlib.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/isc/heap.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/isc/irpmarshall.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/isc/list.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/isc/logging.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/isc/memcluster.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/isc/misc.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/isc/platform.h.in#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/isc/tree.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/netdb.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/netgroup.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/res_update.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/resolv.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/include/resolv_mt.h#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/Makefile.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_addr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_cidr_ntop.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_cidr_pton.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_data.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_lnaof.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_makeaddr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_net_ntop.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_net_pton.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_neta.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_netof.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_network.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_ntoa.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_ntop.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/inet_pton.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/inet/nsap_addr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/Makefile.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/dns.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/dns_gr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/dns_ho.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/dns_nw.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/dns_p.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/dns_pr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/dns_pw.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/dns_sv.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/gai_strerror.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/gen.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/gen_gr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/gen_ho.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/gen_ng.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/gen_nw.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/gen_p.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/gen_pr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/gen_pw.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/gen_sv.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getaddrinfo.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getgrent.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getgrent_r.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/gethostent.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/gethostent_r.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getnameinfo.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getnetent.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getnetent_r.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getnetgrent.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getnetgrent_r.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getprotoent.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getprotoent_r.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getpwent.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getpwent_r.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getservent.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/getservent_r.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/hesiod.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/hesiod_p.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/irp.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/irp_gr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/irp_ho.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/irp_ng.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/irp_nw.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/irp_p.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/irp_pr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/irp_pw.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/irp_sv.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/irpmarshall.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/irs_data.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/irs_data.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/irs_p.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/lcl.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/lcl_gr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/lcl_ho.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/lcl_ng.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/lcl_nw.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/lcl_p.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/lcl_pr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/lcl_pw.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/lcl_sv.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/nis.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/nis_gr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/nis_ho.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/nis_ng.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/nis_nw.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/nis_p.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/nis_pr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/nis_pw.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/nis_sv.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/nul_ng.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/pathnames.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/irs/util.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/Makefile.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/assertions.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/assertions.mdoc#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/base64.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/bitncmp.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/bitncmp.mdoc#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/ctl_clnt.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/ctl_p.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/ctl_p.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/ctl_srvr.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/ev_connects.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/ev_files.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/ev_streams.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/ev_timers.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/ev_waits.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/eventlib.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/eventlib.mdoc#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/eventlib_p.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/heap.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/heap.mdoc#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/hex.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/logging.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/logging.mdoc#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/logging_p.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/memcluster.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/memcluster.mdoc#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/movefile.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/tree.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/isc/tree.mdoc#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/make/includes.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/make/mkdep.in#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/make/rules.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/mkinstalldirs#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/nameser/Makefile.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/nameser/ns_date.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/nameser/ns_name.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/nameser/ns_netint.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/nameser/ns_parse.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/nameser/ns_print.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/nameser/ns_samedomain.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/nameser/ns_sign.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/nameser/ns_ttl.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/nameser/ns_verify.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/port/Makefile.in#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/port/freebsd/Makefile.in#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/port/freebsd/include/Makefile.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/port/freebsd/include/sys/bitypes.h#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/port_after.h.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/port_before.h.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/Makefile.in#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/herror.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/mtctxres.c#2 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_comp.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_data.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_debug.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_debug.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_findzonecut.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_init.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_mkquery.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_mkupdate.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_mkupdate.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_private.h#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_query.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_send.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_sendsigned.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind/resolv/res_update.c#3 delete .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind9/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind9/api#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind9/check.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind9/getaddresses.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind9/include/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind9/include/bind9/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind9/include/bind9/check.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind9/include/bind9/getaddresses.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind9/include/bind9/version.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/bind9/version.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/acache.c#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/acl.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/adb.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/api#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/byaddr.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/cache.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/callbacks.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/compress.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/db.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/dbiterator.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/dbtable.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/diff.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/dispatch.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/dlz.c#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/dnssec.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/ds.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/dst_api.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/dst_internal.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/dst_lib.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/dst_openssl.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/dst_parse.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/dst_parse.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/dst_result.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/forward.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/gen-unix.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/gen.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/gssapi_link.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/gssapictx.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/hmac_link.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/acache.h#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/acl.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/adb.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/bit.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/byaddr.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/cache.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/callbacks.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/cert.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/compress.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/db.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/dbiterator.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/dbtable.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/diff.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/dispatch.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/dlz.h#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/dnssec.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/ds.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/events.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/fixedname.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/forward.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/iptable.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/journal.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/keyflags.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/keytable.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/keyvalues.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/lib.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/log.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/lookup.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/master.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/masterdump.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/message.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/name.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/ncache.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/nsec.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/nsec3.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/opcode.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/order.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/peer.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/portlist.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/rbt.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/rcode.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/rdata.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/rdataclass.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/rdatalist.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/rdataset.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/rdatasetiter.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/rdataslab.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/rdatatype.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/request.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/resolver.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/result.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/rootns.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/sdb.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/sdlz.h#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/secalg.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/secproto.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/soa.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/ssu.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/stats.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/tcpmsg.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/time.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/timer.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/tkey.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/tsig.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/ttl.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/types.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/validator.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/version.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/view.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/xfrin.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/zone.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/zonekey.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dns/zt.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dst/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dst/dst.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dst/gssapi.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dst/lib.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/include/dst/result.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/iptable.c#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/journal.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/key.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/keytable.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/lib.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/log.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/lookup.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/master.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/masterdump.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/message.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/name.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/ncache.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/nsec.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/nsec3.c#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/openssl_link.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/openssldh_link.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/openssldsa_link.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/opensslrsa_link.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/order.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/peer.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/portlist.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rbt.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rbtdb.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rbtdb.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rbtdb64.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rbtdb64.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rcode.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/any_255/tsig_250.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/any_255/tsig_250.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/ch_3/a_1.c#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/ch_3/a_1.h#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/afsdb_18.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/afsdb_18.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/cert_37.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/cert_37.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/cname_5.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/cname_5.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/dlv_32769.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/dlv_32769.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/dname_39.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/dname_39.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/dnskey_48.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/dnskey_48.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/ds_43.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/ds_43.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/gpos_27.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/gpos_27.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/hinfo_13.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/hinfo_13.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.c#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.h#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/isdn_20.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/isdn_20.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/key_25.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/key_25.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/loc_29.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/loc_29.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/mb_7.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/mb_7.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/md_3.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/md_3.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/mf_4.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/mf_4.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/mg_8.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/mg_8.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/minfo_14.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/minfo_14.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/mr_9.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/mr_9.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/mx_15.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/mx_15.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/ns_2.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/ns_2.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/nsec3_50.c#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/nsec3_50.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/nsec3param_51.c#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/nsec3param_51.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/nsec_47.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/nsec_47.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/null_10.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/null_10.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/nxt_30.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/nxt_30.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/opt_41.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/opt_41.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/proforma.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/proforma.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/ptr_12.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/ptr_12.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/rp_17.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/rp_17.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/rrsig_46.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/rrsig_46.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/rt_21.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/rt_21.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/sig_24.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/sig_24.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/soa_6.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/soa_6.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/spf_99.c#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/spf_99.h#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/sshfp_44.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/sshfp_44.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/tkey_249.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/tkey_249.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/txt_16.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/txt_16.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/unspec_103.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/unspec_103.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/x25_19.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/generic/x25_19.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/hs_4/a_1.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/hs_4/a_1.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/a6_38.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/a6_38.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/a_1.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/a_1.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/apl_42.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/apl_42.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/dhcid_49.c#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/dhcid_49.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/kx_36.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/kx_36.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/naptr_35.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/naptr_35.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/nsap_22.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/nsap_22.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/px_26.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/px_26.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/srv_33.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/srv_33.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/wks_11.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/in_1/wks_11.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/rdatastructpre.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdata/rdatastructsuf.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdatalist.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdatalist_p.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdataset.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdatasetiter.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rdataslab.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/request.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/resolver.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/result.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/rootns.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/sdb.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/sdlz.c#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/soa.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/spnego.asn1#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/spnego.c#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/spnego.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/spnego_asn1.c#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/spnego_asn1.pl#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/ssu.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/stats.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/tcpmsg.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/time.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/timer.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/tkey.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/tsig.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/ttl.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/validator.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/version.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/view.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/xfrin.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/zone.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/zonekey.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/dns/zt.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/alpha/Makefile.in#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/alpha/include/Makefile.in#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/alpha/include/isc/Makefile.in#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/alpha/include/isc/atomic.h#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/api#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/assertions.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/base32.c#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/base64.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/bitstring.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/buffer.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/bufferlist.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/commandline.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/entropy.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/error.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/event.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/fsaccess.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/hash.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/heap.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/hex.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/hmacmd5.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/hmacsha.c#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/httpd.c#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/ia64/Makefile.in#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/ia64/include/Makefile.in#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/ia64/include/isc/Makefile.in#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/ia64/include/isc/atomic.h#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/Makefile.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/app.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/assertions.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/base32.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/base64.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/bitstring.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/boolean.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/buffer.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/bufferlist.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/commandline.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/entropy.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/error.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/event.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/eventclass.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/file.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/formatcheck.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/fsaccess.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/hash.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/heap.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/hex.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/hmacmd5.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/hmacsha.h#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/httpd.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/interfaceiter.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/ipv6.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/iterated_hash.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/lang.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/lex.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/lfsr.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/lib.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/list.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/log.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/magic.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/md5.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/mem.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/msgcat.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/msgs.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/mutexblock.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/netaddr.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/netscope.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/ondestroy.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/os.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/parseint.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/platform.h.in#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/portset.h#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/print.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/quota.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/radix.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/random.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/ratelimiter.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/refcount.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/region.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/resource.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/result.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/resultclass.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/rwlock.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/serial.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/sha1.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/sha2.h#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/sockaddr.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/socket.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/stats.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/stdio.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/stdlib.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/string.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/symtab.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/task.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/taskpool.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/timer.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/types.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/util.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/version.h#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/include/isc/xml.h#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/inet_aton.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/inet_ntop.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/inet_pton.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/iterated_hash.c#1 branch .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/lex.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/lfsr.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/lib.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/log.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/md5.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/mem.c#3 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/mips/Makefile.in#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/mips/include/Makefile.in#2 integrate .. //depot/projects/scottl-camlock/src/contrib/bind9/lib/isc/mips/include/isc/Makefile.in#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 16 08:59:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C88F71065672; Tue, 16 Jun 2009 08:59:26 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 664A11065674 for ; Tue, 16 Jun 2009 08:59:26 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0D2538FC21 for ; Tue, 16 Jun 2009 08:59:26 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5G8xP8q024168 for ; Tue, 16 Jun 2009 08:59:25 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5G8xPku024166 for perforce@freebsd.org; Tue, 16 Jun 2009 08:59:25 GMT (envelope-from anchie@FreeBSD.org) Date: Tue, 16 Jun 2009 08:59:25 GMT Message-Id: <200906160859.n5G8xPku024166@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164485 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 08:59:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=164485 Change 164485 by anchie@anchie_malimis on 2009/06/16 08:58:34 Minor changes. Affected files ... .. //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#8 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#5 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#8 edit Differences ... ==== //depot/projects/soc2009/anchie_send/send_0.2/sendd/net.c#8 (text+ko) ==== @@ -178,16 +178,21 @@ struct rt_msghdr *rtm; struct if_announcemsghdr *ifan; struct ip6_hdr *ip6; - struct mbuf *m; + struct sbuff *b; int in = -1; - n = read(sndsock, buf, sizeof(buf)); + if ((b = snd_get_buf()) == NULL) { + return; + } + + n = read(sndsock, b, sizeof(b)); if (n < 0) { applog(LOG_ERR, "%s: read: %s", __FUNCTION__, strerror(errno)); goto done; } + b->len = n; - rtm = (struct rt_msghdr *) buf; + rtm = (struct rt_msghdr *) b; if (rtm->rtm_version != RTM_VERSION) { applog(LOG_ERROR, "%s: Unsupported routing message version.", __FUNCTION__); goto done; @@ -205,19 +210,16 @@ /* n = RTM hdr + m as passed to nd6_ns_input() */ m = (struct rt_msghdr *) &ifan[1]; - /* ToDo: Extract ifidx. */ - snd_recv_pkt(m, ifidx, in); + snd_recv_pkt(b, ifidx, in); break; case RTM_SND_OUT: in = 0; - /* n = RTM hdr + ether_hdr + ip6_hdr + icmp6len == ND message (as sent to if_output()) */ + /* n = RTM hdr + ip6_hdr + icmp6len == ND message (as sent to if_output()) */ m = (struct rt_msghdr *) &ifan[1]; - /* ToDo: Extract ifidx. */ - snd_recv_pkt(m, ifidx, in); - + snd_recv_pkt(b, ifidx, in); break; } break; @@ -228,6 +230,7 @@ done: /* ToDo: Free memory! */ + snd_put_buf(b); } /* ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#5 (text+ko) ==== @@ -75,6 +75,7 @@ #include #include #include +#include #include @@ -1945,13 +1946,14 @@ * * if_output() routines together with previous chaining will be called from input hook. */ -/* + +#if 0 if ((ifp->if_flags & IFF_LOOPBACK) != 0) { return ((*ifp->if_output)(origifp, m, (struct sockaddr *)dst, NULL)); } error = (*ifp->if_output)(ifp, m, (struct sockaddr *)dst, NULL); -*/ +#endif return (error); bad: ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#8 (text+ko) ==== @@ -1,12 +1,15 @@ /* send.c */ -int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int, int); +#if 0 +extern int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int); +#endif +extern int (*send_input_hook)(void); /* Message formats for messages from ND to applications (sendd) via the * routing socket. These messages are appended to an if_announcemsghdr * structure. */ -struct snd_message_event { -} +#if 0 #define RTM_SND_OUT 0 /* outgoing traffic sent to sendd */ #define RTM_SND_IN 1 /* incoming traffic sent to sendd */ +#endif From owner-p4-projects@FreeBSD.ORG Tue Jun 16 09:01:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 796541065674; Tue, 16 Jun 2009 09:01:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 394A01065672 for ; Tue, 16 Jun 2009 09:01:28 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 249CD8FC08 for ; Tue, 16 Jun 2009 09:01:28 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5G91SQf024357 for ; Tue, 16 Jun 2009 09:01:28 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5G91RDL024355 for perforce@freebsd.org; Tue, 16 Jun 2009 09:01:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 16 Jun 2009 09:01:27 GMT Message-Id: <200906160901.n5G91RDL024355@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164486 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 09:01:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=164486 Change 164486 by rwatson@rwatson_freebsd_capabilities on 2009/06/16 09:01:21 Add a new libcapability host API function, lch_autosandbox_isenabled(), which allows self-compartmentalizing libraries and tools to query policy of an unspecified source for whether they should run in sandboxes or not. Implement one source of policy, the environmental variable LIBCAPABILITY_NOAUTOSANDBOX. Pass libbz2.so into sandboxes for experimentation purposes -- we'll teach rtld to do something more sensible in the future. Pass in libcapability rather than libcapabilitym -- still thinking about the best way to differentiate the link-time environments inside sandboxes from those outside, and one good reason to provide the extra-sandbox symbols in a sandbox is that then we can run the same binary in both environments avoiding the need for extra binaries. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#18 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#5 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#15 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#18 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#17 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#18 $ */ #ifndef _LIBCAPABILITY_H_ @@ -45,6 +45,12 @@ int lc_limitfd(int fd, cap_rights_t rights); /* + * Global policy interface to ask whether we should, in fact, sandbox a + * particular optionally sandboxed service, by name. + */ +int lch_autosandbox_isenabled(const char *servicename); + +/* * Interfaces to start and stop capability mode sandboxs. */ int lch_start(const char *sandbox, char *const argv[], ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#5 (text+ko) ==== @@ -55,6 +55,8 @@ .Ft void .Fn lch_stop "struct lc_sandbox *lcsp" .Ft int +.Fn lch_autosandbox_isenabled "const char *servicename" +.Ft int .Fn lch_getsock "struct lc_sandbox *lcsp" "int *fdp" .Ft int .Fn lch_getpid "struct lc_sandbox *lcsp" "pid_t *pidp" @@ -139,6 +141,13 @@ .Va lchp argument will no longer be valid. .Pp +Libraries and tools performing self-compartmentalization can use the +interface +.Nm lch_autosandbox_isenabled +along with a unique string identifying their service to determine whether or +not a global policy affecting the service requires sandboxing to be enabled +or not. +.Pp Properties of the sandbox, such as the socket used to communicate with it, the proces descriptor for the sandbox process, and the pid, may be queried using ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#15 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#14 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#15 $ */ #include @@ -61,14 +61,16 @@ #define LIBCAPABILITY_CAPMASK_SANDBOX LIBCAPABILITY_CAPMASK_BIN #define LIBCAPABILITY_CAPMASK_LDSO LIBCAPABILITY_CAPMASK_BIN #define LIBCAPABILITY_CAPMASK_LIBC LIBCAPABILITY_CAPMASK_BIN -#define LIBCAPABILITY_CAPMASK_LIBCAPABILITYM LIBCAPABILITY_CAPMASK_BIN +#define LIBCAPABILITY_CAPMASK_LIBCAPABILITY LIBCAPABILITY_CAPMASK_BIN #define LIBCAPABILITY_CAPMASK_LIBZ LIBCAPABILITY_CAPMASK_BIN +#define LIBCAPABILITY_CAPMASK_LIBBZ2 LIBCAPABILITY_CAPMASK_BIN #define _PATH_LIB "/lib" #define _PATH_USR_LIB "/usr/lib" #define LIBC_SO "libc.so.7" #define LIBZ_SO "libz.so.4" -#define LIBCAPABILITYM_SO "libcapabilitym.so.1" +#define LIBBZ2_SO "libbz2.so.3" +#define LIBCAPABILITY_SO "libcapability.so.1" extern char **environ; @@ -81,6 +83,15 @@ int closefrom(int lowfd); +int +lch_autosandbox_isenabled(__unused const char *servicename) +{ + + if (getenv("LIBCAPABILITY_NOAUTOSANDBOX") != NULL) + return (0); + return (1); +} + /* * Install an array of file descriptors using the array index of each * descriptor in the array as its destination file descriptor number. All @@ -141,11 +152,11 @@ static void lch_sandbox(int fd_sock, int fd_sandbox, int fd_ldso, int fd_libc, - int fd_libz, int fd_libcapabilitym, int fd_devnull, u_int flags, - const char *binname, char *const argv[]) + int fd_libz, int fd_libbz2, int fd_libcapability, int fd_devnull, + u_int flags, const char *binname, char *const argv[]) { char *env_caplibindex, *env_libcapability_sandbox_api; - int fd_array[10]; + int fd_array[11]; if (lc_limitfd(fd_devnull, LIBCAPABILITY_CAPMASK_DEVNULL) < 0) return; @@ -159,8 +170,10 @@ return; if (lc_limitfd(fd_libz, LIBCAPABILITY_CAPMASK_LIBZ) < 0) return; - if (lc_limitfd(fd_libcapabilitym, - LIBCAPABILITY_CAPMASK_LIBCAPABILITYM) < 0) + if (lc_limitfd(fd_libbz2, LIBCAPABILITY_CAPMASK_LIBBZ2) < 0) + return; + if (lc_limitfd(fd_libcapability, + LIBCAPABILITY_CAPMASK_LIBCAPABILITY) < 0) return; fd_array[0] = fd_devnull; @@ -176,18 +189,20 @@ fd_array[5] = fd_ldso; fd_array[6] = fd_libc; fd_array[7] = fd_libz; - fd_array[8] = fd_libcapabilitym; - fd_array[9] = fd_devnull; + fd_array[8] = fd_libbz2; + fd_array[9] = fd_libcapability; + fd_array[10] = fd_devnull; - if (lch_installfds(10, fd_array) < 0) + if (lch_installfds(11, fd_array) < 0) return; /* * Pass library list into rtld-elf-cap. */ - if (asprintf(&env_caplibindex, "%d:%s,%d:%s,%d:%s,%d:%s,%d:%s,%d:%s", + if (asprintf(&env_caplibindex, + "%d:%s,%d:%s,%d:%s,%d:%s,%d:%s,%d:%s,%d:%s", 3, binname, 5, LD_ELF_CAP_SO, 6, LIBC_SO, 7, LIBZ_SO, 8, - LIBCAPABILITYM_SO, 9, _PATH_DEVNULL) == -1) + LIBBZ2_SO, 9, LIBCAPABILITY_SO, 10, _PATH_DEVNULL) == -1) return; if (setenv("LD_CAPLIBINDEX", env_caplibindex, 1) == -1) return; @@ -216,13 +231,14 @@ u_int flags, struct lc_sandbox **lcspp) { struct lc_sandbox *lcsp; - int fd_devnull, fd_ldso, fd_libc, fd_libcapabilitym, fd_libz; - int fd_procdesc, fd_sockpair[2]; + int fd_devnull, fd_ldso, fd_libc, fd_libcapability, fd_libz; + int fd_libbz2, fd_procdesc, fd_sockpair[2]; int error, val; pid_t pid; - fd_devnull = fd_ldso = fd_libc = fd_libz = fd_libcapabilitym = - fd_procdesc = fd_sockpair[0] = fd_sockpair[1] = -1; + fd_devnull = fd_ldso = fd_libc = fd_libz = fd_libbz2 = + fd_libcapability = fd_procdesc = fd_sockpair[0] = + fd_sockpair[1] = -1; lcsp = malloc(sizeof(*lcsp)); if (lcsp == NULL) @@ -236,7 +252,9 @@ goto out_error; if (ld_caplibindex_lookup(LIBZ_SO, &fd_libz) < 0) goto out_error; - if (ld_caplibindex_lookup(LIBCAPABILITYM_SO, &fd_libcapabilitym) < 0) + if (ld_caplibindex_lookup(LIBBZ2_SO, &fd_libbz2) < 0) + goto out_error; + if (ld_caplibindex_lookup(LIBCAPABILITY_SO, &fd_libcapability) < 0) goto out_error; if (ld_caplibindex_lookup(_PATH_DEVNULL, &fd_devnull) < 0) goto out_error; @@ -253,9 +271,13 @@ if (fd_libz < 0) goto out_error; - fd_libcapabilitym = open(_PATH_USR_LIB "/" LIBCAPABILITYM_SO, + fd_libbz2 = open(_PATH_USR_LIB "/" LIBBZ2_SO, O_RDONLY); + if (fd_libbz2 < 0) + goto out_error; + + fd_libcapability = open(_PATH_USR_LIB "/" LIBCAPABILITY_SO, O_RDONLY); - if (fd_libcapabilitym < 0) + if (fd_libcapability < 0) goto out_error; fd_devnull = open(_PATH_DEVNULL, O_RDWR); @@ -280,14 +302,15 @@ } if (pid == 0) { lch_sandbox(fd_sockpair[1], fd_sandbox, fd_ldso, fd_libc, - fd_libz, fd_libcapabilitym, fd_devnull, flags, binname, - argv); + fd_libz, fd_libbz2, fd_libcapability, fd_devnull, flags, + binname, argv); exit(-1); } #ifndef IN_CAP_MODE close(fd_devnull); - close(fd_libcapabilitym); + close(fd_libcapability); close(fd_libz); + close(fd_libbz2); close(fd_libc); close(fd_ldso); #endif @@ -309,10 +332,12 @@ #ifndef IN_CAP_MODE if (fd_devnull != -1) close(fd_devnull); - if (fd_libcapabilitym != -1) - close(fd_libcapabilitym); + if (fd_libcapability != -1) + close(fd_libcapability); if (fd_libz != -1) close(fd_libz); + if (fd_libbz2 != -1) + close(fd_libbz2); if (fd_libc != -1) close(fd_libc); if (fd_ldso != -1) From owner-p4-projects@FreeBSD.ORG Tue Jun 16 09:16:46 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 841481065670; Tue, 16 Jun 2009 09:16:46 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 44075106564A for ; Tue, 16 Jun 2009 09:16:46 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EF69C8FC0C for ; Tue, 16 Jun 2009 09:16:45 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5G9GjGw026417 for ; Tue, 16 Jun 2009 09:16:45 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5G9GjnM026415 for perforce@freebsd.org; Tue, 16 Jun 2009 09:16:45 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 16 Jun 2009 09:16:45 GMT Message-Id: <200906160916.n5G9GjnM026415@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164487 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 09:16:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=164487 Change 164487 by rwatson@rwatson_freebsd_capabilities on 2009/06/16 09:15:55 Add man page symlink. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#13 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#13 (text+ko) ==== @@ -22,6 +22,7 @@ MAN+= libcapability_sandbox.3 MLINKS= libcapability.3 libcapabilitym.3 \ libcapability.3 lc_limitfd.3 \ + libcapability_host.3 lch_autosandbox_isenabled.3 \ libcapability_host.3 lch_start.3 \ libcapability_host.3 lch_start_flags.3 \ libcapability_host.3 lch_startfd.3 \ From owner-p4-projects@FreeBSD.ORG Tue Jun 16 10:00:31 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F4CE1065673; Tue, 16 Jun 2009 10:00:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4CDD1106566C for ; Tue, 16 Jun 2009 10:00:30 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3A8F18FC1E for ; Tue, 16 Jun 2009 10:00:30 +0000 (UTC) (envelope-from fangwang@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GA0U8L029809 for ; Tue, 16 Jun 2009 10:00:30 GMT (envelope-from fangwang@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GA0UMO029807 for perforce@freebsd.org; Tue, 16 Jun 2009 10:00:30 GMT (envelope-from fangwang@FreeBSD.org) Date: Tue, 16 Jun 2009 10:00:30 GMT Message-Id: <200906161000.n5GA0UMO029807@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to fangwang@FreeBSD.org using -f From: Fang Wang To: Perforce Change Reviews Cc: Subject: PERFORCE change 164488 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 10:00:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=164488 Change 164488 by fangwang@fangwang_utobsd on 2009/06/16 09:59:52 Fix panic problem. Affected files ... .. //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#6 edit Differences ... ==== //depot/projects/soc2009/tcputo/src/sys/netinet/tcp_syncache.c#6 (text+ko) ==== @@ -978,6 +978,8 @@ u_int32_t flowtmp; int win, sb_hiwat, ip_ttl, ip_tos, noopt; char *s; + u_int8_t uto_flags; + u_int16_t snd_uto; #ifdef INET6 int autoflowlabel = 0; #endif @@ -1011,6 +1013,9 @@ sb_hiwat = so->so_rcv.sb_hiwat; noopt = (tp->t_flags & TF_NOOPT); + uto_flags = tp->uto_flags; + snd_uto = tp->snd_uto; + /* By the time we drop the lock these should no longer be used. */ so = NULL; tp = NULL; @@ -1221,8 +1226,8 @@ sc->sc_peer_uto = to->to_uto; sc->sc_flags |= SCF_RCVD_UTO; } - if (tp->uto_flags & TCPUTO_NEED) { - sc->sc_uto = tp->snd_uto; + if (uto_flags & TCPUTO_NEED) { + sc->sc_uto = snd_uto; sc->sc_flags = SCF_UTO; } From owner-p4-projects@FreeBSD.ORG Tue Jun 16 10:15:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 76C18106568F; Tue, 16 Jun 2009 10:15:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 22671106566B for ; Tue, 16 Jun 2009 10:15:48 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0D3558FC0A for ; Tue, 16 Jun 2009 10:15:48 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GAFmM7031888 for ; Tue, 16 Jun 2009 10:15:48 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GAFjKV031882 for perforce@freebsd.org; Tue, 16 Jun 2009 10:15:45 GMT (envelope-from anchie@FreeBSD.org) Date: Tue, 16 Jun 2009 10:15:45 GMT Message-Id: <200906161015.n5GAFjKV031882@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164489 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 10:15:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=164489 Change 164489 by anchie@anchie_malimis on 2009/06/16 10:14:54 IFC @ 164483 Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/amd64/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/machdep.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/msi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/pmap.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/conf/DEFAULTS#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/conf/GENERIC#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/conf/GENERIC.hints#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/conf/MAC#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/amd64/conf/NOTES#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/include/param.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/isa/clock.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/linux32/linux.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/arm/intr.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/arm/locore.S#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/arm/pmap.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/at91/at91.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/at91/at91_cfata.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/at91/at91_mci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/at91/at91_twi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/at91/if_ate.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/include/intr.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/common.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/discovery/db78xxx.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/discovery/discovery.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/ic.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/kirkwood/db88f6xxx.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/kirkwood/kirkwood.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/mvreg.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/mvwin.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/orion/db88f5xxx.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/orion/orion.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/mv/twsi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/sa11x0/sa11x0_irqhandler.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/i8134x/i81342.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/avila_ata.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/avila_led.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/cambria_led.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/if_npe.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/arm/xscale/pxa/pxa_icu.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/boot/forth/loader.conf#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/boot/i386/libi386/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/boot/i386/libi386/biosacpi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/boot/i386/libi386/biosdisk.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/boot/i386/libi386/biospnp.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/boot/ia64/ski/acpi_stub.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/boot/uboot/lib/disk.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cam/cam.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cam/scsi/scsi_target.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/compat/opensolaris/kern/opensolaris.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/linprocfs/linprocfs.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/linux/linux_file.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/linux/linux_futex.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/linux/linux_ioctl.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/linux/linux_misc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/linux/linux_socket.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/linux/linux_stats.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/ndis/subr_usbd.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/svr4/svr4_fcntl.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/svr4/svr4_misc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/svr4/svr4_sockio.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/svr4/svr4_stat.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/compat/svr4/svr4_sysent.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/NOTES#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/files#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/files.powerpc#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/conf/options#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/altq/altq/altq_subr.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/CHANGES.txt#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acapps.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acconfig.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acdebug.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acdisasm.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acdispat.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acefi.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acenv.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acevents.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acexcep.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acfreebsd.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acgcc.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acglobal.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/achware.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acinterp.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/aclocal.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acmacros.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acnames.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acnamesp.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acobject.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acopcode.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acoutput.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acparser.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acpi.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acpica_prep.sh#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acpiosxf.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acpixf.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acresrc.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acstruct.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/actables.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/actbl.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/actbl1.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/actbl2.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/actypes.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/acutils.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/aecommon.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/amlcode.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/amlresrc.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/changes.txt#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/common/adfile.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/common/adisasm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/common/adwalk.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/common/dmrestag.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/common/dmtable.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/common/dmtbdump.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/common/dmtbinfo.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/common/getopt.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslanalyze.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslcodegen.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslcompile.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslcompiler.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslcompiler.l#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslcompiler.y#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/asldefine.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslerror.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslfiles.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslfold.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslglobal.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/asllength.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/asllisting.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslload.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/asllookup.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslmain.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslmap.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslopcodes.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/asloperands.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslopt.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslresource.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslrestype1.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslrestype2.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslstartup.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslstubs.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/asltransform.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/asltree.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/asltypes.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/compiler/aslutils.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dbcmds.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dbdisply.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dbexec.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dbfileio.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dbhistry.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dbinput.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dbstats.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dbutils.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dbxface.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/debugger/dbcmds.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/debugger/dbdisply.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/debugger/dbexec.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/debugger/dbfileio.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/debugger/dbhistry.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/debugger/dbinput.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/debugger/dbstats.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/debugger/dbutils.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/debugger/dbxface.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/disassembler/dmbuffer.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/disassembler/dmnames.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/disassembler/dmobject.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/disassembler/dmopcode.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/disassembler/dmresrc.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/disassembler/dmresrcl.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/disassembler/dmresrcs.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/disassembler/dmutils.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/disassembler/dmwalk.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dispatcher/dsfield.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dispatcher/dsinit.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dispatcher/dsmethod.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dispatcher/dsmthdat.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dispatcher/dsobject.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dispatcher/dsopcode.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dispatcher/dsutils.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dispatcher/dswexec.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dispatcher/dswload.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dispatcher/dswscope.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dispatcher/dswstate.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dmbuffer.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dmnames.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dmobject.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dmopcode.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dmresrc.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dmresrcl.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dmresrcs.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dmutils.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dmwalk.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dsfield.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dsinit.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dsmethod.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dsmthdat.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dsobject.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dsopcode.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dsutils.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dswexec.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dswload.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dswscope.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/dswstate.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/events/evevent.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/events/evgpe.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/events/evgpeblk.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/events/evmisc.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/events/evregion.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/events/evrgnini.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/events/evsci.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/events/evxface.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/events/evxfevnt.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/events/evxfregn.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/evevent.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/evgpe.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/evgpeblk.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/evmisc.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/evregion.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/evrgnini.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/evsci.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/evxface.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/evxfevnt.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/evxfregn.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exconfig.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exconvrt.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/excreate.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exdump.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exconfig.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exconvrt.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/excreate.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exdump.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exfield.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exfldio.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exmisc.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exmutex.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exnames.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exoparg1.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exoparg2.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exoparg3.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exoparg6.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exprep.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exregion.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exresnte.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exresolv.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exresop.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exstore.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exstoren.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exstorob.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exsystem.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/executer/exutils.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exfield.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exfldio.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exmisc.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exmutex.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exnames.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exoparg1.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exoparg2.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exoparg3.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exoparg6.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exprep.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exregion.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exresnte.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exresolv.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exresop.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exstore.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exstoren.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exstorob.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exsystem.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/exutils.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/hardware/hwacpi.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/hardware/hwgpe.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/hardware/hwregs.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/hardware/hwsleep.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/hardware/hwtimer.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/hardware/hwvalid.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/hardware/hwxface.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/hwacpi.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/hwgpe.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/hwregs.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/hwsleep.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/hwtimer.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acapps.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/accommon.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acconfig.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acdebug.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acdisasm.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acdispat.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acevents.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acexcep.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acglobal.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/achware.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acinterp.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/aclocal.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acmacros.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acnames.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acnamesp.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acobject.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acopcode.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acoutput.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acparser.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acpi.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acpiosxf.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acpixf.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acpredef.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acresrc.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acrestyp.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acstruct.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/actables.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/actbl.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/actbl1.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/actypes.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/acutils.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/amlcode.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/amlresrc.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/platform/acenv.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/platform/acfreebsd.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/include/platform/acgcc.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nsaccess.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nsalloc.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nsdump.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nsdumpdv.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nseval.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nsinit.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nsload.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nsnames.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nsobject.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nsparse.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nspredef.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nssearch.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nsutils.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nswalk.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nsxfeval.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nsxfname.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/namespace/nsxfobj.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nsaccess.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nsalloc.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nsdump.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nsdumpdv.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nseval.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nsinit.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nsload.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nsnames.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nsobject.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nsparse.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nssearch.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nsutils.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nswalk.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nsxfeval.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nsxfname.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/nsxfobj.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/osunixxf.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/parser/psargs.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/parser/psloop.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/parser/psopcode.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/parser/psparse.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/parser/psscope.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/parser/pstree.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/parser/psutils.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/parser/pswalk.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/parser/psxface.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/psargs.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/psloop.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/psopcode.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/psparse.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/psscope.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/pstree.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/psutils.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/pswalk.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/psxface.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/resources/rsaddr.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/resources/rscalc.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/resources/rscreate.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/resources/rsdump.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/resources/rsinfo.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/resources/rsio.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/resources/rsirq.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/resources/rslist.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/resources/rsmemory.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/resources/rsmisc.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/resources/rsutils.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/resources/rsxface.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/rsaddr.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/rscalc.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/rscreate.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/rsdump.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/rsinfo.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/rsio.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/rsirq.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/rslist.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/rsmemory.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/rsmisc.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/rsutils.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/rsxface.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/tables/tbfadt.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/tables/tbfind.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/tables/tbinstal.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/tables/tbutils.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/tables/tbxface.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/tables/tbxfroot.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/tbfadt.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/tbfind.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/tbinstal.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/tbutils.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/tbxface.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/tbxfroot.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/tools/acpiexec/aecommon.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utalloc.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utcache.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utclib.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utcopy.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utdebug.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utdelete.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/uteval.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utglobal.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utalloc.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utcache.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utcopy.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utdebug.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utdelete.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/uteval.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utglobal.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utinit.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utlock.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utmath.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utmisc.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utmutex.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utobject.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utresrc.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utstate.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/uttrack.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utilities/utxface.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utinit.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utmath.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utmisc.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utmutex.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utobject.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utresrc.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utstate.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/uttrack.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/acpica/utxface.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/mwl/LICENSE#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/mwl/Makefile#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/mwl/mw88W8363.fw.uu#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/dev/mwl/mwlboot.fw.uu#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/contrib/pf/net/if_pflog.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/pf/net/pf.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/pf/net/pf_if.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpi_support/acpi_aiboost.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpi_support/acpi_asus.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpi_support/acpi_fujitsu.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpi_support/acpi_ibm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpi_support/acpi_panasonic.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpi_support/acpi_sony.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpi_support/acpi_toshiba.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/Osd/OsdHardware.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/Osd/OsdInterrupt.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/Osd/OsdSchedule.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/Osd/OsdStream.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/Osd/OsdSynch.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/Osd/OsdTable.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_acad.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_battery.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_button.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_cmbat.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_dock.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_ec.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_hpet.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_if.m#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_isab.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_lid.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_package.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_pci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_pci_link.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_pcib.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_pcib_acpi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_pcib_pci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_perf.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_powerres.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_quirk.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_resource.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_smbat.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_throttle.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_timer.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpi_video.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/acpica/acpivar.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/agp/agp_ali.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/agp/agp_amd.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/agp/agp_ati.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/agp/agp_nvidia.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/agp/agp_sis.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/aic7xxx/aicasm/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/aic7xxx/aicasm/aicasm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/aic7xxx/aicasm/aicasm_gram.y#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/aic7xxx/aicasm/aicasm_macro_scan.l#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/aic7xxx/aicasm/aicasm_scan.l#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/aic7xxx/aicasm/aicasm_symbol.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/aic7xxx/aicasm/aicasm_symbol.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/alc/if_alc.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/alc/if_alcreg.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/alc/if_alcvar.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/asmc/asmc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ata/ata-usb.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ata/chipsets/ata-acerlabs.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ata/chipsets/ata-ahci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ata/chipsets/ata-nvidia.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ath/ath_hal/ah_desc.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ath/ath_rate/sample/sample.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/bwi/if_bwi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cas/if_cas.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/cas/if_casreg.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/cas/if_casvar.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/ce/if_ce.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cfi/cfi_core.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cp/if_cp.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/cxgb_multiq.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/cxgb_sge.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/e1000/if_igb.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/eisa/eisaconf.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/fdc/fdc_acpi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/firewire/firewire.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/fxp/if_fxp.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/if_ndis/if_ndis.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/if_ndis/if_ndis_usb.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/iir/iir.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/iir/iir_ctrl.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ipmi/ipmi_acpi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/kbd/kbd.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/kbdmux/kbdmux.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ksyms/ksyms.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mca/mca_bus.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mge/if_mge.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mii/e1000phy.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mii/e1000phyreg.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mii/miidevs#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mii/nsgphy.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/msk/if_msk.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mwl/if_mwl.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/mwl/if_mwl_pci.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/mwl/if_mwlioctl.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/mwl/if_mwlvar.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/mwl/mwldiag.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/mwl/mwlhal.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/mwl/mwlhal.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/mwl/mwlreg.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/mxge/if_mxge.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/mxge/if_mxge_var.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ncv/ncr53c500_pccard.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/nmdm/nmdm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/nsp/nsp_pccard.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ofw/ofw_bus_subr.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ofw/ofw_bus_subr.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ofw/ofw_disk.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ofw/ofw_if.m#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ofw/ofw_iicbus.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ofw/ofw_standard.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ofw/ofwvar.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ofw/openfirm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ofw/openfirm.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ofw/openfirmio.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/pcf/pcf.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/pcf/pcfvar.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/pci/pci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/pci/pcivar.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/pdq/if_fpa.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/puc/pucdata.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sec/sec.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/sec/sec.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/smc/if_smc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/smc/if_smcvar.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/snc/if_snc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/snc/if_sncvar.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/clone.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/driver.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/isa/ad1816.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/isa/ess.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/isa/gusc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/isa/mss.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/isa/sb16.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/isa/sb8.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/isa/sbc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/isa/sndbuf_dma.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/macio/aoa.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/macio/davbus.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/macio/i2s.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/macio/snapper.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/macio/tumbler.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/midi/midi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/midi/mpu401.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/midi/sequencer.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/midi/sequencer.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/als4000.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/atiixp.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/aureal.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/cmi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/cs4281.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/csa.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/csapcm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/ds1.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/emu10k1.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/emu10kx-midi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/emu10kx.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/envy24.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/envy24ht.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/es137x.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/fm801.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/hda/hdac.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/ich.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/maestro.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/maestro3.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/neomagic.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/solo.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/spicds.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/t4dwave.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/via8233.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/via82c686.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pci/vibes.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/ac97_patch.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/buffer.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/buffer.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/channel.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/channel.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/channel_if.m#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/dsp.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/dsp.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/fake.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/feeder.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/feeder.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/feeder_chain.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/feeder_eq.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/feeder_fmt.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/feeder_format.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/feeder_matrix.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/feeder_mixer.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/feeder_rate.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/feeder_volume.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/g711.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/intpcm.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/matrix.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/matrix_map.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/mixer.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/mixer.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/pcm.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/sndstat.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/sndstat.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/sound.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/sound.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/vchan.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/pcm/vchan.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/sbus/cs4231.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/unit.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/usb/uaudio.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/usb/uaudio.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/usb/uaudio_pcm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/sound/version.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/spibus/spibus.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/stg/tmc18c30.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/stg/tmc18c30_subr.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/daemon/daemon_saver.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/scterm-teken.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/teken_demo.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/syscons/teken/teken_stress.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/tsec/if_tsec.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/tsec/if_tsec.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/uart/uart_cpu_mv.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/ubsec/ubsec.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/at91dci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/at91dci_atmelarm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/atmegadci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/atmegadci_atmelarm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/avr32dci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/ehci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/ehci_ixp4xx.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/ehci_mbus.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/ehci_pci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/musb_otg.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/musb_otg_atmelarm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/ohci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/ohci_atmelarm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/ohci_pci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/uhci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/uhci_pci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/usb_controller.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/uss820dci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/controller/uss820dci_atmelarm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/input/uhid.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/input/ukbd.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/input/ums.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/misc/udbp.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/misc/ufm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/if_aue.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/if_auereg.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/if_axe.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/if_axereg.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/if_cdce.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/if_cue.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/if_kue.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/if_rue.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/if_ruereg.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/if_udav.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/if_udavreg.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/usb_ethernet.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/net/usb_ethernet.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/quirk/usb_quirk.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/quirk/usb_quirk.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/u3g.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/uark.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/ubsa.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/ubser.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/uchcom.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/ucycom.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/ufoma.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/uftdi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/ugensa.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/uipaq.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/ulpt.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/umct.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/umodem.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/umoscom.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/uplcom.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/usb_serial.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/usb_serial.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/uslcom.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/uvisor.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/serial/uvscom.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/storage/umass.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/storage/urio.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/storage/ustorage_fs.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/template/usb_template.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/template/usb_template.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/template/usb_template_cdce.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/template/usb_template_msc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/template/usb_template_mtp.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_bus.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_busdma.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_busdma.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_compat_linux.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_compat_linux.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_controller.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_core.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_debug.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_debug.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_defs.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_dev.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_dev.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_device.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_device.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_dynamic.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_dynamic.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_endian.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_error.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_error.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_generic.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_generic.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_handle_request.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_handle_request.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_hid.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_hid.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_hub.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_hub.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_if.m#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_ioctl.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_lookup.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_lookup.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_mbuf.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_mbuf.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_mfunc.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_msctest.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_msctest.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_parse.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_parse.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_pci.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_process.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_process.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_request.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_request.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_revision.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_transfer.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_transfer.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_util.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usb_util.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usbdevs#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/usbhid.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/wlan/if_rum.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/wlan/if_uath.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/wlan/if_upgt.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/wlan/if_ural.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/wlan/if_urtw.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/wlan/if_zyd.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/usb/wlan/if_zydreg.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/wb/if_wb.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/wi/if_wi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/wi/if_wivar.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/xen/blkfront/blkfront.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/dev/xen/netfront/netfront.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/cd9660/cd9660_lookup.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/cd9660/cd9660_vnops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/devfs/devfs_devs.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/devfs/devfs_vfsops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/devfs/devfs_vnops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfs/nfs_commonacl.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsclient/nfs_clbio.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsclient/nfs_clstate.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsclient/nfs_clvfsops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsclient/nfs_clvnops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/nfsserver/nfs_nfsdkrpc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/pseudofs/pseudofs_vncache.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/pseudofs/pseudofs_vnops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/tmpfs/tmpfs_vnops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/udf/osta.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/fs/unionfs/union_subr.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/geom/geom.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/geom/geom_io.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/geom/geom_subr.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/geom/label/g_label.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/geom/label/g_label.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/geom/label/g_label_gpt.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/gnu/fs/ext2fs/ext2_fs.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/gnu/fs/ext2fs/ext2_fs_sb.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/gnu/fs/ext2fs/ext2_lookup.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/gnu/fs/ext2fs/ext2_vnops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/gnu/fs/ext2fs/sparc64-bitops.h#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/acpica/acpi_machdep.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/acpica/madt.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/conf/DEFAULTS#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/conf/GENERIC#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/conf/MAC#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/i386/conf/NOTES#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/cpufreq/est.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/cpufreq/hwpstate.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/cpufreq/p4tcc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/i386/local_apic.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/i386/machdep.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/i386/msi.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/i386/pmap.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/i386/sys_machdep.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/ibcs2/ibcs2_misc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/ibcs2/ibcs2_sysent.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/include/apicvar.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/include/cpufunc.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/include/in_cksum.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/include/legacyvar.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/include/pmap.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/isa/clock.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/isa/vesa.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/linux/linux.h#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/linux/linux_sysent.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/pci/pci_bus.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/i386/xen/pmap.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ia64/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ia64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ia64/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ia64/acpica/madt.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ia64/conf/GENERIC#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/ia64/conf/MAC#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/ia64/ia64/nexus.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/bus_if.m#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/init_main.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/init_sysent.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_acct.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_alq.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_conf.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_descrip.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_environment.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_event.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_exec.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_exit.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_fork.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_jail.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_ktrace.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_linker.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_lock.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_lockf.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_malloc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_mbuf.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_mib.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_poll.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_priv.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_proc.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_prot.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_rwlock.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_shutdown.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_sx.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_sysctl.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_uuid.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/kern_vimage.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/link_elf.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/link_elf_obj.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/linker_if.m#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/makesyscalls.sh#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/subr_acl_nfs4.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/kern/subr_bus.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/subr_clist.c#2 delete .. //depot/projects/soc2009/anchie_send/src/sys/kern/subr_sglist.c#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/kern/subr_trap.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/sys_pipe.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/sys_socket.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/syscalls.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/syscalls.master#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/systrace_args.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/sysv_msg.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/sysv_sem.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/sysv_shm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/tty.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/tty_pts.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/uipc_domain.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/uipc_mbuf.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/uipc_mbuf2.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/uipc_mqueue.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/uipc_sem.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/uipc_shm.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/uipc_sockbuf.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/uipc_socket.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/uipc_syscalls.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/uipc_usrreq.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_acl.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_aio.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_cache.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_cluster.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_default.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_extattr.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_lookup.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_mount.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_subr.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_syscalls.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vfs_vnops.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kern/vnode_if.src#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/kgssapi/krb5/krb5_mech.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/libkern/jenkins.h#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/mips/conf/ADM5120#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/idt/files.idt#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/malta/gt_pci.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/mips/mips/mainbus.c#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/acpi/acpi/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/acpi/acpi_aiboost/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/acpi/acpi_asus/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/acpi/acpi_dock/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/acpi/acpi_fujitsu/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/acpi/acpi_ibm/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/acpi/acpi_panasonic/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/acpi/acpi_sony/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/acpi/acpi_toshiba/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/acpi/acpi_video/Makefile#2 integrate .. //depot/projects/soc2009/anchie_send/src/sys/modules/alc/Makefile#1 branch .. //depot/projects/soc2009/anchie_send/src/sys/modules/bridgestp/Makefile#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jun 16 10:27:00 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F2CDC1065673; Tue, 16 Jun 2009 10:26:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B2B7E1065670 for ; Tue, 16 Jun 2009 10:26:59 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 86A498FC14 for ; Tue, 16 Jun 2009 10:26:59 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GAQxEL032712 for ; Tue, 16 Jun 2009 10:26:59 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GAQxP6032710 for perforce@freebsd.org; Tue, 16 Jun 2009 10:26:59 GMT (envelope-from anchie@FreeBSD.org) Date: Tue, 16 Jun 2009 10:26:59 GMT Message-Id: <200906161026.n5GAQxP6032710@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164490 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 10:27:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=164490 Change 164490 by anchie@anchie_malimis on 2009/06/16 10:26:41 Borrow Julian Elischer's IFC + labelsync and diff against head scripts from vimage branch. Affected files ... .. //depot/projects/soc2009/anchie_send/makediff.pl#1 add .. //depot/projects/soc2009/anchie_send/update.sh#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue Jun 16 12:14:49 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 65F2C106566B; Tue, 16 Jun 2009 12:14:49 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0BF771065673 for ; Tue, 16 Jun 2009 12:14:49 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EDB798FC0C for ; Tue, 16 Jun 2009 12:14:48 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GCEmO9042771 for ; Tue, 16 Jun 2009 12:14:48 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GCEmQE042769 for perforce@freebsd.org; Tue, 16 Jun 2009 12:14:48 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Tue, 16 Jun 2009 12:14:48 GMT Message-Id: <200906161214.n5GCEmQE042769@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 164492 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 12:14:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=164492 Change 164492 by zhaoshuai@zhaoshuai on 2009/06/16 12:14:45 fix fifo_kqfilter_f() Affected files ... .. //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#15 edit .. //depot/projects/soc2009/fifo/sys/kern/subr_pipe.c#6 edit Differences ... ==== //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#15 (text+ko) ==== @@ -91,9 +91,16 @@ static vop_pathconf_t fifo_pathconf; static vop_advlock_t fifo_advlock; +static void filt_fifodetach(struct knote *kn); +static int filt_fiforead(struct knote *kn, long hint); +static int filt_fifowrite(struct knote *kn, long hint); static void filt_fifodetach_notsup(struct knote *kn); static int filt_fifo_notsup(struct knote *kn, long hint); +static struct filterops fiforead_filtops = + { 1, NULL, filt_fifodetach, filt_fiforead }; +static struct filterops fifowrite_filtops = + { 1, NULL, filt_fifodetach, filt_fifowrite }; static struct filterops fifo_notsup_filtops = { 1, NULL, filt_fifodetach_notsup, filt_fifo_notsup }; @@ -503,6 +510,7 @@ fifo_kqfilter_f(struct file *fp, struct knote *kn) { struct fifoinfo *fip = fp->f_data; + struct pipe *rpipe = fip->fi_rpipe; /* * If a filter is requested that is not supported by this file @@ -520,18 +528,86 @@ switch (kn->kn_filter) { case EVFILT_READ: - return (generic_pipe_kqfilter(fip->fi_rpipe, kn)); - + kn->kn_fop = &fiforead_filtops; + break; case EVFILT_WRITE: - return (generic_pipe_kqfilter(fip->fi_wpipe, kn)); - + kn->kn_fop = &fifowrite_filtops; + PIPE_LOCK(rpipe); + if (rpipe->pipe_present != PIPE_ACTIVE) { + /* other end of pipe has been closed */ + PIPE_UNLOCK(rpipe); + return (EPIPE); + } + PIPE_UNLOCK(rpipe); + break; default: return (EINVAL); } + kn->kn_hook = (void *)rpipe; + + PIPE_LOCK(rpipe); + knlist_add(&rpipe->pipe_sel.si_note, kn, 1); + PIPE_UNLOCK(rpipe); + return (0); } +static void +filt_fifodetach(struct knote *kn) +{ + struct pipe *pipe = (struct pipe *)kn->kn_hook; + + PIPE_LOCK(pipe); + knlist_remove(&pipe->pipe_sel.si_note, kn, 1); + PIPE_UNLOCK(pipe); +} + +static int +filt_fiforead(struct knote *kn, long hint) +{ + struct pipe *rpipe = (struct pipe *)kn->kn_hook; + struct pipe *wpipe = rpipe->pipe_peer; + int ret; + + PIPE_LOCK(rpipe); + kn->kn_data = rpipe->pipe_buffer.cnt; + if ((kn->kn_data == 0) && (rpipe->pipe_state & PIPE_DIRECTW)) + kn->kn_data = rpipe->pipe_map.cnt; + + if ((rpipe->pipe_state & PIPE_EOF) || + wpipe->pipe_present != PIPE_ACTIVE || + (wpipe->pipe_state & PIPE_EOF)) { + kn->kn_flags |= EV_EOF; + PIPE_UNLOCK(rpipe); + return (1); + } + ret = kn->kn_data > 0; + PIPE_UNLOCK(rpipe); + return ret; +} + +static int +filt_fifowrite(struct knote *kn, long hint) +{ + struct pipe *wpipe = (struct pipe *)kn->kn_hook; + + PIPE_LOCK(wpipe); + if (wpipe->pipe_present != PIPE_ACTIVE || + (wpipe->pipe_state & PIPE_EOF)) { + kn->kn_data = 0; + kn->kn_flags |= EV_EOF; + PIPE_UNLOCK(wpipe); + return (1); + } + kn->kn_data = wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt; + if (wpipe->pipe_state & PIPE_DIRECTW) + kn->kn_data = 0; + + PIPE_UNLOCK(wpipe); + return (kn->kn_data >= PIPE_BUF); +} + static void filt_fifodetach_notsup(struct knote *kn) { ==== //depot/projects/soc2009/fifo/sys/kern/subr_pipe.c#6 (text+ko) ==== @@ -1378,7 +1378,7 @@ cpipe->pipe_present = PIPE_FINALIZED; knlist_destroy(&cpipe->pipe_sel.si_note); - /* XXX: is it OK to put is here? */ + /* XXX: is it OK to put it here? */ funsetown(&cpipe->pipe_sigio); /* From owner-p4-projects@FreeBSD.ORG Tue Jun 16 12:16:52 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BBA1E1065694; Tue, 16 Jun 2009 12:16:51 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 708891065688 for ; Tue, 16 Jun 2009 12:16:51 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5D56F8FC30 for ; Tue, 16 Jun 2009 12:16:51 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GCGpek042956 for ; Tue, 16 Jun 2009 12:16:51 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GCGpsV042954 for perforce@freebsd.org; Tue, 16 Jun 2009 12:16:51 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Tue, 16 Jun 2009 12:16:51 GMT Message-Id: <200906161216.n5GCGpsV042954@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 164493 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 12:16:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=164493 Change 164493 by zhaoshuai@zhaoshuai on 2009/06/16 12:16:44 wrongly use #elif, replace it by #else Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/functionality/kqueue.c#2 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/poll.c#2 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/select.c#5 edit Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/functionality/kqueue.c#2 (text+ko) ==== @@ -11,34 +11,58 @@ #include #include "test.h" +#define TEST_READ 0 + int main() { int fd, kq, ret, n; - struct kevent rkev; - char rbuf[BUF_SIZE]; + struct kevent rkev, wkev; + char rbuf[BUF_SIZE], wbuf[BUF_SIZE]; kq = kqueue(); if (kq < 0) { perror("kqueue error"); return (1); } +#if TEST_READ fd = open(FIFO_PATH, O_RDONLY); +#else + fd = open(FIFO_PATH, O_WRONLY); +#endif if (fd < 0) { perror("open error"); return (2); } - +#if TEST_READ EV_SET(&rkev, fd, EVFILT_READ, EV_ADD, 0, 0, NULL); kevent(kq, &rkev, 1, NULL, 0, NULL); +#else + EV_SET(&wkev, fd, EVFILT_WRITE, EV_ADD, 0, 0, NULL); + kevent(kq, &wkev, 1, NULL, 0, NULL); +#endif + while (1) { + printf("wait on kevent...\n"); +#if TEST_READ ret = kevent(kq, NULL, 0, &rkev, 1, NULL); +#else + ret = kevent(kq, NULL, 0, &wkev, 1, NULL); +#endif + printf("kevent returned %d, fd = %d...\n", ret, rkev.ident); if (ret > 0 && rkev.ident == fd) { +#if TEST_READ n = read(fd, rbuf, BUF_SIZE); if (n == 0) break; printf("%s", rbuf); memset(rbuf, 0, n); +#else + n = read(0, wbuf, BUF_SIZE); + if (n == 0) + break; + write(fd, wbuf, n); +#endif } else if (ret < 0) { perror("kevent error"); break; ==== //depot/projects/soc2009/fifo/fifo_test/functionality/poll.c#2 (text+ko) ==== @@ -12,7 +12,7 @@ #include #include "test.h" -#define TEST_READ 1 +#define TEST_READ 0 int main() { @@ -23,7 +23,7 @@ #if TEST_READ fd = open(FIFO_PATH, O_RDONLY | O_NONBLOCK); #else - fd = open(FIFO_PATH, O_WRONLY | O_NONBLOCK); + fd = open(FIFO_PATH, O_WRONLY /* | O_NONBLOCK */); #endif if (fd < 0) { @@ -40,6 +40,7 @@ while (1) { ret = poll(&pfd, 1, INFTIM); if (ret > 0) { + printf("poll returned %d, revents = %d\n", ret, (int)pfd.revents); #if TEST_READ if (pfd.revents & POLLRDNORM) { n = read(fd, rbuf, BUF_SIZE); @@ -58,7 +59,7 @@ return (0); else { /* poll error */ perror("poll error"); - return (2); + return (ret); } } return (0); ==== //depot/projects/soc2009/fifo/fifo_test/functionality/select.c#5 (text+ko) ==== @@ -16,7 +16,7 @@ #include "test.h" /* set this value to 0 when testing write */ -#define TEST_READ 1 +#define TEST_READ 0 int main() { @@ -28,8 +28,8 @@ FD_ZERO(&wset); #if TEST_READ fd = open(FIFO_PATH, O_RDONLY | O_NONBLOCK); -#elif - fd = open(FIFO_PATH, O_WRONLY | O_NONBLOCK); +#else + fd = open(FIFO_PATH, O_WRONLY /* | O_NONBLOCK */); #endif if (fd < 0) { perror("open error"); @@ -40,7 +40,7 @@ FD_SET(fd, &wset); #if TEST_READ ret = select(fd+1, &rset, NULL, NULL, NULL); -#elif +#else ret = select(fd+1, NULL, &wset, NULL, NULL); #endif if (ret > 0) { @@ -52,7 +52,7 @@ printf("%s", buf); memset(buf, 0, n); } -#elif +#else if (FD_ISSET(fd, &wset)) { n = read(0, buf, BUF_SIZE); if (n <= 0) From owner-p4-projects@FreeBSD.ORG Tue Jun 16 12:45:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 38CBB1065675; Tue, 16 Jun 2009 12:45:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED6471065673 for ; Tue, 16 Jun 2009 12:45:20 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DB4388FC1A for ; Tue, 16 Jun 2009 12:45:20 +0000 (UTC) (envelope-from zhaoshuai@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GCjKAh045201 for ; Tue, 16 Jun 2009 12:45:20 GMT (envelope-from zhaoshuai@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GCjKK6045199 for perforce@freebsd.org; Tue, 16 Jun 2009 12:45:20 GMT (envelope-from zhaoshuai@FreeBSD.org) Date: Tue, 16 Jun 2009 12:45:20 GMT Message-Id: <200906161245.n5GCjKK6045199@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhaoshuai@FreeBSD.org using -f From: Zhao Shuai To: Perforce Change Reviews Cc: Subject: PERFORCE change 164496 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 12:45:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=164496 Change 164496 by zhaoshuai@zhaoshuai on 2009/06/16 12:44:34 select/poll() hang up is the right behavior. Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/functionality/poll.c#3 edit .. //depot/projects/soc2009/fifo/fifo_test/functionality/select.c#6 edit Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/functionality/poll.c#3 (text+ko) ==== @@ -1,7 +1,7 @@ /* * Basic FIFO poll test. * - * 1. poll on read descriptor - The same problem as select. + * 1. poll on read descriptor - OK. * 2. poll on write descriptor - OK. */ @@ -41,6 +41,11 @@ ret = poll(&pfd, 1, INFTIM); if (ret > 0) { printf("poll returned %d, revents = %d\n", ret, (int)pfd.revents); + + if (pfd.revents & POLLHUP) { + printf("peer disconnected\n"); + return (0); + } #if TEST_READ if (pfd.revents & POLLRDNORM) { n = read(fd, rbuf, BUF_SIZE); ==== //depot/projects/soc2009/fifo/fifo_test/functionality/select.c#6 (text+ko) ==== @@ -1,10 +1,7 @@ /* * Basic FIFO select test. * - * 1. select on read descriptor - XXX - * if writer exits before us, "top" shows that we are busy - * consuming CPU rather than sleep. - * + * 1. select on read descriptor - OK * 2. select on write descriptor - OK */ From owner-p4-projects@FreeBSD.ORG Tue Jun 16 15:45:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 97C051065674; Tue, 16 Jun 2009 15:45:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57AD2106566B for ; Tue, 16 Jun 2009 15:45:27 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2B88E8FC16 for ; Tue, 16 Jun 2009 15:45:27 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GFjRhb092025 for ; Tue, 16 Jun 2009 15:45:27 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GFjRhn092023 for perforce@freebsd.org; Tue, 16 Jun 2009 15:45:27 GMT (envelope-from truncs@FreeBSD.org) Date: Tue, 16 Jun 2009 15:45:27 GMT Message-Id: <200906161545.n5GFjRhn092023@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164509 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 15:45:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=164509 Change 164509 by truncs@aditya on 2009/06/16 15:45:15 First a check should be made for VNOVAL and then UF_* flag check should be made otherwise it won't allow mkdir to create a dir with a different attribute than the parent dir and it also gives random write errors. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_vnops.c#10 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_vnops.c#10 (text+ko) ==== @@ -243,7 +243,7 @@ if (ap->a_vp->v_type == VBLK || ap->a_vp->v_type == VCHR) return (EOPNOTSUPP); - + /* * Files marked append-only must be opened for appending. */ @@ -295,7 +295,7 @@ if (vp->v_type == VBLK || vp->v_type == VCHR) return (EOPNOTSUPP); - + /* * Disallow write attempts on read-only file systems; * unless the file is a socket, fifo, or a block or @@ -380,12 +380,6 @@ struct thread *td = curthread; int error; /* - * Deny setting of UF flags - */ - if(vap->va_flags & UF_SETTABLE) - return (EOPNOTSUPP); - - /* * Check for unsettable attributes. */ if ((vap->va_type != VNON) || (vap->va_nlink != VNOVAL) || @@ -397,7 +391,11 @@ if (vap->va_flags != VNOVAL) { if (vp->v_mount->mnt_flag & MNT_RDONLY) return (EROFS); - + /* + * Deny setting of UF flags + */ + if(vap->va_flags & UF_SETTABLE) + return(EOPNOTSUPP); /* * Callers may only modify the file flags on objects they * have VADMIN rights for. @@ -421,11 +419,9 @@ ip->i_flags = vap->va_flags; } else { if (ip->i_flags - & (SF_NOUNLINK | SF_IMMUTABLE | SF_APPEND) || - (vap->va_flags & UF_SETTABLE) != vap->va_flags) + & (SF_NOUNLINK | SF_IMMUTABLE | SF_APPEND)) return (EPERM); ip->i_flags &= SF_SETTABLE; - ip->i_flags |= (vap->va_flags & UF_SETTABLE); } ip->i_flag |= IN_CHANGE; if (vap->va_flags & (SF_IMMUTABLE | SF_APPEND)) @@ -1177,7 +1173,6 @@ if (cnp->cn_flags & ISWHITEOUT) ip->i_flags |= UF_OPAQUE; error = ext2_update(tvp, 1); - /* * Bump link count in parent directory * to reflect work done below. Should @@ -1189,7 +1184,6 @@ error = ext2_update(dvp, 1); if (error) goto bad; - /* Initialize directory with "." and ".." from static template. */ if (EXT2_HAS_INCOMPAT_FEATURE(ip->i_e2fs, EXT2F_INCOMPAT_FTYPE)) From owner-p4-projects@FreeBSD.ORG Tue Jun 16 16:04:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 50AB3106567B; Tue, 16 Jun 2009 16:04:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E425C1065674 for ; Tue, 16 Jun 2009 16:04:46 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C9DFE8FC18 for ; Tue, 16 Jun 2009 16:04:46 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GG4kKC097251 for ; Tue, 16 Jun 2009 16:04:46 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GG4kAR097249 for perforce@freebsd.org; Tue, 16 Jun 2009 16:04:46 GMT (envelope-from truncs@FreeBSD.org) Date: Tue, 16 Jun 2009 16:04:46 GMT Message-Id: <200906161604.n5GG4kAR097249@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164510 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 16:04:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=164510 Change 164510 by truncs@aditya on 2009/06/16 16:04:30 __KERNEL__ is used in linux to maintain the kernel namespace from the userland namespace. _KERNEL is used in FreeBSD for the same purpose. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#23 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#23 (text+ko) ==== @@ -132,18 +132,18 @@ #define EXT2_MIN_BLOCK_SIZE 1024 #define EXT2_MAX_BLOCK_SIZE 4096 #define EXT2_MIN_BLOCK_LOG_SIZE 10 -#if defined(__KERNEL__) || defined(_KERNEL) +#if defined(_KERNEL) # define EXT2_BLOCK_SIZE(s) ((s)->e2fs_bsize) #else # define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->e2fs_log_bsize) #endif #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32)) -#if defined(__KERNEL__) || defined(_KERNEL) +#if defined(_KERNEL) # define EXT2_BLOCK_SIZE_BITS(s) ((s)->e2fs_blocksize_bits) #else # define EXT2_BLOCK_SIZE_BITS(s) ((s)->e2fs_log_bsize + 10) #endif -#if defined(__KERNEL__) || defined(_KERNEL) +#if defined(_KERNEL) #define EXT2_ADDR_PER_BLOCK_BITS(s) (EXT2_SB(s)->s_addr_per_block_bits) #define EXT2_INODE_SIZE(s) (EXT2_SB(s)->e2fs_isize) #define EXT2_FIRST_INO(s) (EXT2_SB(s)->e2fs_first_inode) @@ -160,7 +160,7 @@ #define EXT2_MIN_FRAG_SIZE 1024 #define EXT2_MAX_FRAG_SIZE 4096 #define EXT2_MIN_FRAG_LOG_SIZE 10 -#if defined(__KERNEL__) || defined(_KERNEL) +#if defined(_KERNEL) # define EXT2_FRAG_SIZE(s) (EXT2_SB(s)->e2fs_fsize) # define EXT2_FRAGS_PER_BLOCK(s) (EXT2_SB(s)->e2fs_fpb) #else @@ -185,7 +185,7 @@ /* * Macro-instructions used to manage group descriptors */ -#if defined(__KERNEL__) || defined(_KERNEL) +#if defined(_KERNEL) # define EXT2_BLOCKS_PER_GROUP(s) (EXT2_SB(s)->e2fs_bpg) # define EXT2_DESC_PER_BLOCK(s) (EXT2_SB(s)->e2fs_descpb) # define EXT2_DESC_PER_BLOCK_BITS(s) (EXT2_SB(s)->s_desc_per_block_bits) From owner-p4-projects@FreeBSD.ORG Tue Jun 16 16:11:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 50E301065672; Tue, 16 Jun 2009 16:11:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ECDCB106564A for ; Tue, 16 Jun 2009 16:11:55 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DA5988FC08 for ; Tue, 16 Jun 2009 16:11:55 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GGBtpa097885 for ; Tue, 16 Jun 2009 16:11:55 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GGBs3b097882 for perforce@freebsd.org; Tue, 16 Jun 2009 16:11:54 GMT (envelope-from trasz@freebsd.org) Date: Tue, 16 Jun 2009 16:11:54 GMT Message-Id: <200906161611.n5GGBs3b097882@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 164512 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 16:11:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=164512 Change 164512 by trasz@trasz_victim on 2009/06/16 16:11:45 Support hierarchical jails (untested). Add debugging printfs. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#4 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#11 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_jail.c#4 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#8 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#4 (text+ko) ==== @@ -129,7 +129,7 @@ struct ucred *tracecred; #endif struct plimit *plim; - int locked; + int locked, i; mtx_assert(&Giant, MA_NOTOWNED); @@ -404,6 +404,12 @@ PROC_UNLOCK(p); lim_free(plim); + for (i = 0; i < HRL_RESOURCE_MAX; i++) { + if (p->p_accounting.ha_resources[i] != 0) + printf("exit1: exiting process: resource %d = %lld\n", + i, p->p_accounting.ha_resources[i]); + } + /* * Remove proc from allproc queue and pidhash chain. * Place onto zombproc. Unlink from parent's child list. ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_hrl.c#11 (text+ko) ==== @@ -106,6 +106,7 @@ { int i; struct ucred *cred; + struct prison *pr; KASSERT(amount > 0, ("invalid amount")); @@ -115,7 +116,8 @@ p->p_accounting.ha_resources[resource] += amount; cred = p->p_ucred; cred->cr_ruidinfo->ui_accounting.ha_resources[resource] += amount; - cred->cr_prison->pr_accounting.ha_resources[resource] += amount; + for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) + pr->pr_accounting.ha_resources[resource] += amount; for (i = 0; i < cred->cr_ngroups; i++) cred->cr_gidinfos[i]->gi_accounting.ha_resources[resource] += amount; @@ -132,12 +134,14 @@ int i; int64_t diff; struct ucred *cred; + struct prison *pr; diff = amount - p->p_accounting.ha_resources[resource]; p->p_accounting.ha_resources[resource] += diff; cred = p->p_ucred; cred->cr_ruidinfo->ui_accounting.ha_resources[resource] += diff; - cred->cr_prison->pr_accounting.ha_resources[resource] += diff; + for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) + pr->pr_accounting.ha_resources[resource] += diff; for (i = 0; i < cred->cr_ngroups; i++) cred->cr_gidinfos[i]->gi_accounting.ha_resources[resource] += diff; @@ -154,13 +158,15 @@ { int i; struct ucred *cred; + struct prison *pr; KASSERT(amount > 0, ("invalid amount")); p->p_accounting.ha_resources[resource] -= amount; cred = p->p_ucred; cred->cr_ruidinfo->ui_accounting.ha_resources[resource] -= amount; - cred->cr_prison->pr_accounting.ha_resources[resource] -= amount; + for (pr = cred->cr_prison; pr != NULL; pr = pr->pr_parent) + pr->pr_accounting.ha_resources[resource] -= amount; for (i = 0; i < cred->cr_ngroups; i++) cred->cr_gidinfos[i]->gi_accounting.ha_resources[resource] -= amount; } ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_jail.c#4 (text+ko) ==== @@ -2341,7 +2341,7 @@ prison_deref(struct prison *pr, int flags) { struct prison *ppr, *tpr; - int vfslocked; + int vfslocked, i; if (!(flags & PD_LOCKED)) mtx_lock(&pr->pr_mtx); @@ -2414,6 +2414,11 @@ if (pr->pr_cpuset != NULL) cpuset_rel(pr->pr_cpuset); osd_jail_exit(pr); + for (i = 0; i < HRL_RESOURCE_MAX; i++) { + if (pr->pr_accounting.ha_resources[i] != 0) + printf("prison_deref: resource %d = %lld\n", + i, pr->pr_accounting.ha_resources[i]); + } free(pr, M_PRISON); /* Removing a prison frees a reference on its parent. */ ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_resource.c#8 (text+ko) ==== @@ -1352,7 +1352,7 @@ uifree(uip) struct uidinfo *uip; { - int old; + int old, i; /* Prepare for optimal case. */ old = uip->ui_ref; @@ -1370,6 +1370,12 @@ if (uip->ui_proccnt != 0) printf("freeing uidinfo: uid = %d, proccnt = %ld\n", uip->ui_uid, uip->ui_proccnt); + for (i = 0; i < HRL_RESOURCE_MAX; i++) { + if (uip->ui_accounting.ha_resources[i] != 0) + printf("uifree: freeing uidinfo: uid = %d, " + "resource %d = %lld \n", uip->ui_uid, i, + uip->ui_accounting.ha_resources[i]); + } free(uip, M_UIDINFO); return; } @@ -1497,7 +1503,7 @@ gifree(gip) struct gidinfo *gip; { - int old; + int old, i; /* Prepare for optimal case. */ old = gip->gi_ref; @@ -1509,6 +1515,12 @@ if (refcount_release(&gip->gi_ref)) { LIST_REMOVE(gip, gi_hash); rw_wunlock(&gihashtbl_lock); + for (i = 0; i < HRL_RESOURCE_MAX; i++) { + if (gip->gi_accounting.ha_resources[i] != 0) + printf("gifree: freeing gidinfo: gid = %d, " + "resource %d = %lld \n", gip->gi_gid, i, + gip->gi_accounting.ha_resources[i]); + } free(gip, M_GIDINFO); return; } From owner-p4-projects@FreeBSD.ORG Tue Jun 16 16:13:58 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9CFB31065673; Tue, 16 Jun 2009 16:13:58 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5D4BD1065670 for ; Tue, 16 Jun 2009 16:13:58 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4B8928FC2D for ; Tue, 16 Jun 2009 16:13:58 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GGDvOb098011 for ; Tue, 16 Jun 2009 16:13:57 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GGDviL098009 for perforce@freebsd.org; Tue, 16 Jun 2009 16:13:57 GMT (envelope-from truncs@FreeBSD.org) Date: Tue, 16 Jun 2009 16:13:57 GMT Message-Id: <200906161613.n5GGDviL098009@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164513 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 16:13:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=164513 Change 164513 by truncs@aditya on 2009/06/16 16:13:05 More __KERNEL__ blocks. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#24 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/gnu/fs/ext2fs/ext2_fs.h#24 (text+ko) ==== @@ -314,14 +314,10 @@ -#ifdef __KERNEL__ -#define EXT2_SB(sb) (&((sb)->u.ext2_sb)) -#else /* Assume that user mode programs are passing in an ext2fs superblock, not * a kernel struct super_block. This will allow us to call the feature-test * macros from user land. */ #define EXT2_SB(sb) (sb) -#endif @@ -367,14 +363,6 @@ }; -#ifdef __KERNEL__ -#define EXT2_SB(sb) (&((sb)->u.ext2_sb)) -#else -/* Assume that user mode programs are passing in an ext2fs superblock, not - * a kernel struct super_block. This will allow us to call the feature-test - * macros from user land. */ -#define EXT2_SB(sb) (sb) -#endif /* From owner-p4-projects@FreeBSD.ORG Tue Jun 16 16:37:22 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6C4111065673; Tue, 16 Jun 2009 16:37:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 111F11065670 for ; Tue, 16 Jun 2009 16:37:22 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F10B28FC19 for ; Tue, 16 Jun 2009 16:37:21 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GGbL1a099846 for ; Tue, 16 Jun 2009 16:37:21 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GGbLjv099844 for perforce@freebsd.org; Tue, 16 Jun 2009 16:37:21 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 16 Jun 2009 16:37:21 GMT Message-Id: <200906161637.n5GGbLjv099844@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164515 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 16:37:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=164515 Change 164515 by rwatson@rwatson_freebsd_capabilities on 2009/06/16 16:36:55 When gzip(1) gzips and gunzips files (or streams), run that in a sandbox. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/Makefile#2 edit .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzip.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzsandbox.c#1 add Differences ... ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/Makefile#2 (text+ko) ==== @@ -5,9 +5,10 @@ PROG= gzip MAN= gzip.1 gzexe.1 zdiff.1 zforce.1 zmore.1 znew.1 +SRCS= gzip.c gzsandbox.c -DPADD= ${LIBZ} -LDADD= -lz +DPADD= ${LIBZ} ${LIBCAPABILITY} +LDADD= -lz -lcapability WARNS?= 6 .if ${MK_BZIP2_SUPPORT} != "no" @@ -27,6 +28,7 @@ LINKS+= ${BINDIR}/gzip ${BINDIR}/gunzip \ ${BINDIR}/gzip ${BINDIR}/gzcat \ ${BINDIR}/gzip ${BINDIR}/zcat \ - ${BINDIR}/zdiff ${BINDIR}/zcmp + ${BINDIR}/zdiff ${BINDIR}/zcmp \ + ${BINDIR}/gzip ${BINDIR}/gzip_sandbox .include ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzip.c#4 (text+ko) ==== @@ -66,6 +66,8 @@ #include #include +#include "gzip.h" + #ifndef PRIdOFF #define PRIdOFF PRId64 #endif @@ -209,8 +211,6 @@ #ifdef SMALL #define gz_compress(if, of, sz, fn, tm) gz_compress(if, of, sz) #endif -static off_t gz_compress(int, int, off_t *, const char *, uint32_t); -static off_t gz_uncompress(int, int, char *, size_t, off_t *, const char *); static off_t file_compress(char *, char *, size_t); static off_t file_uncompress(char *, char *, size_t); static void handle_pathname(char *); @@ -304,6 +304,8 @@ else if (strcmp(progname, "zcat") == 0 || strcmp(progname, "gzcat") == 0) dflag = cflag = 1; + else if (strcmp(progname, "gzip_sandbox") == 0) + sandbox_workloop(); #ifdef SMALL #define OPT_LIST "123456789cdhltV" @@ -529,7 +531,7 @@ #endif /* compress input to output. Return bytes read, -1 on error */ -static off_t +off_t gz_compress(int in, int out, off_t *gsizep, const char *origname, uint32_t mtime) { z_stream z; @@ -696,7 +698,7 @@ * uncompressed size written, and put the compressed sized read * into `*gsizep'. */ -static off_t +off_t gz_uncompress(int in, int out, char *pre, size_t prelen, off_t *gsizep, const char *filename) { @@ -1241,7 +1243,8 @@ } else out = STDOUT_FILENO; - insize = gz_compress(in, out, &size, basename(file), (uint32_t)isb.st_mtime); + insize = gz_compress_wrapper(in, out, &size, basename(file), + (uint32_t)isb.st_mtime); (void)close(in); @@ -1473,7 +1476,7 @@ return -1; /* XXX */ } - size = gz_uncompress(fd, zfd, NULL, 0, NULL, file); + size = gz_uncompress_wrapper(fd, zfd, NULL, 0, NULL, file); } if (close(fd) != 0) @@ -1630,8 +1633,8 @@ break; #endif case FT_GZIP: - usize = gz_uncompress(STDIN_FILENO, STDOUT_FILENO, - (char *)header1, sizeof header1, &gsize, "(stdin)"); + usize = gz_uncompress_wrapper(STDIN_FILENO, STDOUT_FILENO, + (char *)header1, sizeof header1, &gsize, "(stdin)"); break; #ifndef NO_BZIP2_SUPPORT case FT_BZIP2: @@ -1698,8 +1701,9 @@ #endif mtime = (uint32_t)systime; } - - usize = gz_compress(STDIN_FILENO, STDOUT_FILENO, &gsize, "", mtime); + + usize = gz_compress_wrapper(STDIN_FILENO, STDOUT_FILENO, &gsize, "", + mtime); #ifndef SMALL if (vflag && !tflag && usize != -1 && gsize != -1) print_verbage(NULL, NULL, usize, gsize); From owner-p4-projects@FreeBSD.ORG Tue Jun 16 16:50:36 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E32B61065674; Tue, 16 Jun 2009 16:50:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3407106566C for ; Tue, 16 Jun 2009 16:50:35 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8FC188FC18 for ; Tue, 16 Jun 2009 16:50:35 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GGoZEd066422 for ; Tue, 16 Jun 2009 16:50:35 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GGoZwg066414 for perforce@freebsd.org; Tue, 16 Jun 2009 16:50:35 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 16 Jun 2009 16:50:35 GMT Message-Id: <200906161650.n5GGoZwg066414@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164516 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 16:50:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=164516 Change 164516 by rwatson@rwatson_freebsd_capabilities on 2009/06/16 16:49:43 Update for filename change. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/rtld_caplibindex.h#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/rtld_caplibindex.h#2 (text+ko) ==== @@ -31,10 +31,10 @@ * SUCH DAMAGE. */ -#ifndef RTLD_LIBINDEX_H -#define RTLD_LIBINDEX_H +#ifndef RTLD_CAPLIBINDEX_H +#define RTLD_CAPLIBINDEX_H int ld_caplibindex_lookup(const char *libname, int *fdp); void ld_caplibindex_init(const char *caplibindex); -#endif /* !RTLD_LIBINDEX_H */ +#endif /* !RTLD_CAPLIBINDEX_H */ From owner-p4-projects@FreeBSD.ORG Tue Jun 16 16:55:41 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3BDB41065675; Tue, 16 Jun 2009 16:55:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EBF681065672 for ; Tue, 16 Jun 2009 16:55:40 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D89008FC22 for ; Tue, 16 Jun 2009 16:55:40 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GGteoU020783 for ; Tue, 16 Jun 2009 16:55:40 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GGtehK020778 for perforce@freebsd.org; Tue, 16 Jun 2009 16:55:40 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 16 Jun 2009 16:55:40 GMT Message-Id: <200906161655.n5GGtehK020778@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164517 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 16:55:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=164517 Change 164517 by rwatson@rwatson_freebsd_capabilities on 2009/06/16 16:55:26 When running in rtld-elf-cap, define ld_insandbox(), which returns 1. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/Makefile#17 edit .. //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/rtld_sandbox.c#1 add .. //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf/rtld.c#18 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/Makefile#17 (text+ko) ==== @@ -1,5 +1,5 @@ # $FreeBSD$ -# $P4: //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/Makefile#16 $ +# $P4: //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/Makefile#17 $ WITHOUT_SSP= @@ -9,7 +9,7 @@ SRCS= rtld_start.S \ reloc.c rtld.c rtld_lock.c map_object.c \ malloc.c xmalloc.c debug.c \ - crtbrand.c rtld_caplibindex.c + crtbrand.c rtld_caplibindex.c rtld_sandbox.c MAN= rtld-elf-cap.1 CSTD?= gnu99 CFLAGS+= -Wall -DFREEBSD_ELF -DIN_RTLD -DIN_RTLD_CAP -g ==== //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf/rtld.c#18 (text+ko) ==== @@ -61,6 +61,7 @@ #ifdef IN_RTLD_CAP #include "rtld_caplibindex.h" +#include "rtld_sandbox.h" #endif #ifndef COMPAT_32BIT @@ -244,6 +245,7 @@ (func_ptr_type) &_rtld_atfork_post, #ifdef IN_RTLD_CAP (func_ptr_type) &ld_caplibindex_lookup, + (func_ptr_type) &ld_insandbox, #endif NULL }; From owner-p4-projects@FreeBSD.ORG Tue Jun 16 17:45:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 89EA8106566B; Tue, 16 Jun 2009 17:45:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4A305106566C for ; Tue, 16 Jun 2009 17:45:32 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2D39E8FC1D for ; Tue, 16 Jun 2009 17:45:32 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GHjWjl076346 for ; Tue, 16 Jun 2009 17:45:32 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GHjWbY076344 for perforce@freebsd.org; Tue, 16 Jun 2009 17:45:32 GMT (envelope-from syl@FreeBSD.org) Date: Tue, 16 Jun 2009 17:45:32 GMT Message-Id: <200906161745.n5GHjWbY076344@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164519 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 17:45:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=164519 Change 164519 by syl@syl_atuin on 2009/06/16 17:45:06 Fix debug. Remove unintialised variable and possible bad derefence. Now all the test rework. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#36 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#16 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#36 (text+ko) ==== @@ -160,24 +160,29 @@ if (usb_backend == NULL) return (-1); + printf("1\n"); pdev = NULL; i = 0; while ((pdev = libusb20_be_device_foreach(usb_backend, pdev))) i++; + printf("2\n"); if (list == NULL) { libusb20_be_free(usb_backend); return (LIBUSB_ERROR_INVALID_PARAM); } *list = malloc((i + 1) * sizeof(void *)); + printf("3\n"); if (*list == NULL) { libusb20_be_free(usb_backend); return (LIBUSB_ERROR_NO_MEM); } + printf("4\n"); i = 0; while ((pdev = libusb20_be_device_foreach(usb_backend, NULL))) { /* get device into libUSB v1.0 list */ libusb20_be_dequeue_device(usb_backend, pdev); + printf("5\n"); ddesc = libusb20_dev_get_device_desc(pdev); dev = malloc(sizeof(*dev)); @@ -205,6 +210,7 @@ i++; } (*list)[i] = NULL; + printf("6\n"); libusb20_be_free(usb_backend); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list leave"); @@ -221,6 +227,7 @@ int i; libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_device_list enter"); @@ -240,6 +247,7 @@ { libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_bus_number enter"); @@ -254,6 +262,7 @@ { libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_address enter"); @@ -273,6 +282,7 @@ libusb_context *ctx; int i, j, k, ret; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_max_packet_size enter"); @@ -308,6 +318,7 @@ { libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_ref_device enter"); @@ -327,6 +338,7 @@ { libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unref_device enter"); @@ -510,6 +522,7 @@ { libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device enter"); @@ -525,6 +538,7 @@ { libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_configuration enter"); @@ -548,6 +562,7 @@ struct libusb20_device *pdev; libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_configuration enter"); @@ -568,6 +583,7 @@ libusb_context *ctx; int ret = 0; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_claim_interface enter"); @@ -595,6 +611,7 @@ libusb_context *ctx; int ret; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_release_interface enter"); @@ -624,6 +641,7 @@ libusb_context *ctx; int ret; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_interface_alt_setting enter"); @@ -655,6 +673,7 @@ libusb_context *ctx; int ret; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_clear_halt enter"); @@ -681,6 +700,7 @@ { libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_reset_device enter"); @@ -697,6 +717,7 @@ { libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_kernel_driver_active enter"); @@ -713,6 +734,7 @@ struct libusb20_device *pdev; libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_detach_kernel_driver enter"); @@ -736,6 +758,7 @@ { libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_attach_kernel_driver enter"); @@ -756,6 +779,7 @@ libusb_context *ctx; int len; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_alloc_transfer enter"); @@ -783,6 +807,7 @@ struct usb_transfer *bxfer; libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_transfer enter"); @@ -1086,6 +1111,7 @@ { libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_cancel_transfer enter"); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_desc.c#16 (text+ko) ==== @@ -44,6 +44,7 @@ struct libusb20_device *pdev; libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_descriptor enter"); @@ -80,6 +81,7 @@ libusb_context *ctx; uint8_t idx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_active_config_descriptor enter"); @@ -108,6 +110,7 @@ uint8_t nif, nend, nalt, i, j, k; uint32_t if_idx, endp_idx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor enter"); @@ -235,8 +238,10 @@ libusb_context *ctx; int i; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_config_descriptor_by_value enter"); + if (dev == NULL || config == NULL) return (LIBUSB_ERROR_INVALID_PARAM); @@ -262,6 +267,7 @@ { libusb_context *ctx; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_free_config_descriptor enter"); @@ -277,6 +283,7 @@ libusb_context *ctx; int ret; + ctx = NULL; GET_CONTEXT(ctx); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_string_descriptor_ascii enter"); From owner-p4-projects@FreeBSD.ORG Tue Jun 16 17:47:35 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E89AA1065672; Tue, 16 Jun 2009 17:47:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A78DE106564A for ; Tue, 16 Jun 2009 17:47:34 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 95DF58FC0A for ; Tue, 16 Jun 2009 17:47:34 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GHlYFU076463 for ; Tue, 16 Jun 2009 17:47:34 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GHlYtt076461 for perforce@freebsd.org; Tue, 16 Jun 2009 17:47:34 GMT (envelope-from syl@FreeBSD.org) Date: Tue, 16 Jun 2009 17:47:34 GMT Message-Id: <200906161747.n5GHlYtt076461@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164520 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 17:47:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=164520 Change 164520 by syl@syl_atuin on 2009/06/16 17:47:14 Remove debuging printf. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#37 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#37 (text+ko) ==== @@ -160,29 +160,24 @@ if (usb_backend == NULL) return (-1); - printf("1\n"); pdev = NULL; i = 0; while ((pdev = libusb20_be_device_foreach(usb_backend, pdev))) i++; - printf("2\n"); if (list == NULL) { libusb20_be_free(usb_backend); return (LIBUSB_ERROR_INVALID_PARAM); } *list = malloc((i + 1) * sizeof(void *)); - printf("3\n"); if (*list == NULL) { libusb20_be_free(usb_backend); return (LIBUSB_ERROR_NO_MEM); } - printf("4\n"); i = 0; while ((pdev = libusb20_be_device_foreach(usb_backend, NULL))) { /* get device into libUSB v1.0 list */ libusb20_be_dequeue_device(usb_backend, pdev); - printf("5\n"); ddesc = libusb20_dev_get_device_desc(pdev); dev = malloc(sizeof(*dev)); @@ -210,7 +205,6 @@ i++; } (*list)[i] = NULL; - printf("6\n"); libusb20_be_free(usb_backend); dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_device_list leave"); From owner-p4-projects@FreeBSD.ORG Tue Jun 16 18:10:58 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7DFE3106568F; Tue, 16 Jun 2009 18:10:58 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 38A8E1065686 for ; Tue, 16 Jun 2009 18:10:58 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 25C828FC1F for ; Tue, 16 Jun 2009 18:10:58 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GIAwvQ083519 for ; Tue, 16 Jun 2009 18:10:58 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GIAwdR083514 for perforce@freebsd.org; Tue, 16 Jun 2009 18:10:58 GMT (envelope-from syl@FreeBSD.org) Date: Tue, 16 Jun 2009 18:10:58 GMT Message-Id: <200906161810.n5GIAwdR083514@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164521 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 18:11:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=164521 Change 164521 by syl@syl_atuin on 2009/06/16 18:10:15 Add debug code in libusb10_io.c Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#12 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#12 (text+ko) ==== @@ -213,6 +213,8 @@ int ret; GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_try_lock_events enter"); + pthread_mutex_lock(&ctx->pollfd_modify_lock); ret = ctx->pollfd_modify; pthread_mutex_unlock(&ctx->pollfd_modify_lock); @@ -226,6 +228,8 @@ return (1); ctx->event_handler_active = 1; + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_try_lock_events leave"); return (0); } @@ -233,20 +237,28 @@ libusb_lock_events(libusb_context * ctx) { GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_events enter"); + pthread_mutex_lock(&ctx->events_lock); ctx->event_handler_active = 1; + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_events leave"); } void libusb_unlock_events(libusb_context * ctx) { GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_events enter"); + ctx->event_handler_active = 0; pthread_mutex_unlock(&ctx->events_lock); pthread_mutex_lock(&ctx->event_waiters_lock); pthread_cond_broadcast(&ctx->event_waiters_cond); pthread_mutex_unlock(&ctx->event_waiters_lock); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_events leave"); } int @@ -255,12 +267,16 @@ int ret; GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handling_ok enter"); + pthread_mutex_lock(&ctx->pollfd_modify_lock); ret = ctx->pollfd_modify; pthread_mutex_unlock(&ctx->pollfd_modify_lock); if (ret != 0) return (0); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handling_ok leave"); return (1); } @@ -270,12 +286,16 @@ int ret; GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handler_active enter"); + pthread_mutex_lock(&ctx->pollfd_modify_lock); ret = ctx->pollfd_modify; pthread_mutex_unlock(&ctx->pollfd_modify_lock); if (ret != 0) return (1); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_event_handler_active leave"); return (ctx->event_handler_active); } @@ -283,14 +303,22 @@ libusb_lock_event_waiters(libusb_context * ctx) { GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_event_waiters enter"); + pthread_mutex_lock(&ctx->event_waiters_lock); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_lock_event_waiters leave"); } void libusb_unlock_event_waiters(libusb_context * ctx) { GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_event_waiters enter"); + pthread_mutex_unlock(&ctx->event_waiters_lock); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_unlock_event_waiters leave"); } int @@ -300,6 +328,8 @@ struct timespec ts; GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_wait_for_event enter"); + if (tv == NULL) { pthread_cond_wait(&ctx->event_waiters_cond, &ctx->event_waiters_lock); @@ -322,6 +352,8 @@ if (ret == ETIMEDOUT) return (1); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_wait_for_event leave"); return (0); } @@ -333,6 +365,8 @@ int ret; GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events_timeout enter"); + ret = get_next_timeout(ctx, tv, &poll_timeout); if (ret != 0) { return handle_timeouts(ctx); @@ -357,6 +391,8 @@ return ret; else if (ret == 1) return (handle_timeouts(ctx)); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events_timeout leave"); return (0); } @@ -364,10 +400,17 @@ libusb_handle_events(libusb_context * ctx) { struct timeval tv; + int ret; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events enter"); + tv.tv_sec = 2; tv.tv_usec = 0; - return (libusb_handle_events_timeout(ctx, &tv)); + ret = libusb_handle_events_timeout(ctx, &tv); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events leave"); + return (ret); } int @@ -377,12 +420,17 @@ struct timeval poll_tv; GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events_locked enter"); + ret = get_next_timeout(ctx, tv, &poll_tv); if (ret != 0) { return handle_timeouts(ctx); } - return (handle_events(ctx, &poll_tv)); + ret = handle_events(ctx, &poll_tv); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_handle_events_locked leave"); + return (ret); } int @@ -396,6 +444,8 @@ int ret; GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_next_timeout enter"); + found = 0; pthread_mutex_lock(&ctx->flying_transfers_lock); if (USB_LIST_EMPTY(&ctx->flying_transfers)) { @@ -429,6 +479,7 @@ else timersub(next_tv, &cur_tv, tv); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_next_timeout leave"); return (1); } @@ -438,9 +489,13 @@ void *user_data) { GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_pollfd_notifiers enter"); + ctx->fd_added_cb = added_cb; ctx->fd_removed_cb = removed_cb; ctx->fd_cb_user_data = user_data; + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_set_pollfd_notifiers leave"); } struct libusb_pollfd ** @@ -451,6 +506,8 @@ int i; GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_pollfds enter"); + i = 0; pthread_mutex_lock(&ctx->pollfds_lock); LIST_FOREACH_ENTRY(pollfd, &ctx->pollfds, list) @@ -467,6 +524,7 @@ ret[i++] = (struct libusb_pollfd *) pollfd; ret[i] = NULL; + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_get_pollfds leave"); return (ret); } @@ -487,10 +545,15 @@ { struct libusb_transfer *xfer; struct libusb_control_setup *ctr; + libusb_context *ctx; unsigned char *buff; int complet; int ret; + ctx = NULL; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_control_transfer enter"); + if (devh == NULL || data == NULL) return (LIBUSB_ERROR_NO_MEM); @@ -555,6 +618,8 @@ ret = LIBUSB_ERROR_OTHER; } libusb_free_transfer(xfer); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_control_transfer leave"); return (ret); } @@ -628,8 +693,18 @@ unsigned char endpoint, unsigned char *data, int length, int *transferred, unsigned int timeout) { - return (do_transfer(devh, endpoint, data, length, transferred, - timeout, LIBUSB_TRANSFER_TYPE_BULK)); + libusb_context *ctx; + int ret; + + ctx = NULL; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_bulk_transfer enter"); + + ret = do_transfer(devh, endpoint, data, length, transferred, + timeout, LIBUSB_TRANSFER_TYPE_BULK); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_bulk_transfer leave"); + return (ret); } /* @@ -640,6 +715,16 @@ unsigned char endpoint, unsigned char *data, int length, int *transferred, unsigned int timeout) { - return (do_transfer(devh, endpoint, data, length, transferred, - timeout, LIBUSB_TRANSFER_TYPE_INTERRUPT)); + libusb_context *ctx; + int ret; + + ctx = NULL; + GET_CONTEXT(ctx); + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_interrupt_transfer enter"); + + ret = do_transfer(devh, endpoint, data, length, transferred, + timeout, LIBUSB_TRANSFER_TYPE_INTERRUPT); + + dprintf(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_interrupt_transfer leave"); + return (ret); } From owner-p4-projects@FreeBSD.ORG Tue Jun 16 18:54:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 380C210656D7; Tue, 16 Jun 2009 18:54:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB20210656A5 for ; Tue, 16 Jun 2009 18:54:42 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C7B568FC13 for ; Tue, 16 Jun 2009 18:54:42 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GIsg01069345 for ; Tue, 16 Jun 2009 18:54:42 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GIsgdD069343 for perforce@freebsd.org; Tue, 16 Jun 2009 18:54:42 GMT (envelope-from trasz@freebsd.org) Date: Tue, 16 Jun 2009 18:54:42 GMT Message-Id: <200906161854.n5GIsgdD069343@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 164523 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 18:54:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=164523 Change 164523 by trasz@trasz_victim on 2009/06/16 18:54:14 Fix a LOR, few more to go. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exec.c#2 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#5 edit .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#7 edit .. //depot/projects/soc2009/trasz_limits/sys/sys/ucred.h#4 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_exec.c#2 (text+ko) ==== @@ -321,6 +321,7 @@ struct nameidata nd; struct ucred *newcred = NULL, *oldcred; struct uidinfo *euip; + struct gidinfo *egip; register_t *stack_base; int error, len = 0, i; struct image_params image_params, *imgp; @@ -559,6 +560,7 @@ */ newcred = crget(); euip = uifind(attr.va_uid); + egip = gifind(attr.va_gid); i = imgp->args->begin_envv - imgp->args->begin_argv; /* Cache arguments if they fit inside our allowance */ if (ps_arg_cache_limit >= i + sizeof(struct pargs)) { @@ -688,7 +690,7 @@ if (attr.va_mode & S_ISUID) change_euid(newcred, euip); if (attr.va_mode & S_ISGID) - change_egid(newcred, attr.va_gid); + change_egid(newcred, egip); #ifdef MAC if (will_transition) { mac_vnode_execve_transition(oldcred, newcred, imgp->vp, @@ -816,6 +818,7 @@ * Free any resources malloc'd earlier that we didn't use. */ uifree(euip); + gifree(egip); if (newcred == NULL) crfree(oldcred); else ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_exit.c#5 (text+ko) ==== @@ -406,8 +406,12 @@ for (i = 0; i < HRL_RESOURCE_MAX; i++) { if (p->p_accounting.ha_resources[i] != 0) +#ifdef notyet printf("exit1: exiting process: resource %d = %lld\n", i, p->p_accounting.ha_resources[i]); +#else + ; +#endif } /* ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#7 (text+ko) ==== @@ -647,11 +647,13 @@ struct proc *p = td->td_proc; struct ucred *newcred, *oldcred; gid_t gid; + struct gidinfo *gip; int error; gid = uap->gid; AUDIT_ARG(gid, gid); newcred = crget(); + gip = gifind(gid); PROC_LOCK(p); oldcred = p->p_ucred; @@ -720,11 +722,12 @@ * Copy credentials so other references do not see our changes. */ if (oldcred->cr_groups[0] != gid) { - change_egid(newcred, gid); + change_egid(newcred, gip); setsugid(p); } p->p_ucred = newcred; PROC_UNLOCK(p); + gifree(gip); crfree(oldcred); return (0); @@ -746,11 +749,13 @@ struct proc *p = td->td_proc; struct ucred *newcred, *oldcred; gid_t egid; + struct gidinfo *egip; int error; egid = uap->egid; AUDIT_ARG(egid, egid); newcred = crget(); + egip = gifind(egid); PROC_LOCK(p); oldcred = p->p_ucred; @@ -767,11 +772,12 @@ crcopy(newcred, oldcred); if (oldcred->cr_groups[0] != egid) { - change_egid(newcred, egid); + change_egid(newcred, egip); setsugid(p); } p->p_ucred = newcred; PROC_UNLOCK(p); + gifree(egip); crfree(oldcred); return (0); @@ -942,6 +948,7 @@ struct proc *p = td->td_proc; struct ucred *newcred, *oldcred; gid_t egid, rgid; + struct gidinfo *egip; int error; egid = uap->egid; @@ -949,6 +956,7 @@ AUDIT_ARG(egid, egid); AUDIT_ARG(rgid, rgid); newcred = crget(); + egip = gifind(egid); PROC_LOCK(p); oldcred = p->p_ucred; @@ -967,7 +975,7 @@ crcopy(newcred, oldcred); if (egid != (gid_t)-1 && oldcred->cr_groups[0] != egid) { - change_egid(newcred, egid); + change_egid(newcred, egip); setsugid(p); } if (rgid != (gid_t)-1 && oldcred->cr_rgid != rgid) { @@ -981,6 +989,7 @@ } p->p_ucred = newcred; PROC_UNLOCK(p); + gifree(egip); crfree(oldcred); return (0); @@ -1088,6 +1097,7 @@ struct proc *p = td->td_proc; struct ucred *newcred, *oldcred; gid_t egid, rgid, sgid; + struct gidinfo *egip; int error; egid = uap->egid; @@ -1097,6 +1107,7 @@ AUDIT_ARG(rgid, rgid); AUDIT_ARG(sgid, sgid); newcred = crget(); + egip = gifind(egid); PROC_LOCK(p); oldcred = p->p_ucred; @@ -1120,7 +1131,7 @@ crcopy(newcred, oldcred); if (egid != (gid_t)-1 && oldcred->cr_groups[0] != egid) { - change_egid(newcred, egid); + change_egid(newcred, egip); setsugid(p); } if (rgid != (gid_t)-1 && oldcred->cr_rgid != rgid) { @@ -1133,6 +1144,7 @@ } p->p_ucred = newcred; PROC_UNLOCK(p); + gifree(egip); crfree(oldcred); return (0); @@ -2000,6 +2012,9 @@ p->p_stops = 0; } +/* + * XXX: All of these need to somehow fixup the resource accounting. + */ /*- * Change a process's effective uid. * Side effects: newcred->cr_uid and newcred->cr_uidinfo will be modified. @@ -2023,12 +2038,13 @@ * duration of the call. */ void -change_egid(struct ucred *newcred, gid_t egid) +change_egid(struct ucred *newcred, struct gidinfo *egip) { + newcred->cr_groups[0] = egip->gi_gid; + gihold(egip); gifree(newcred->cr_gidinfos[0]); - newcred->cr_groups[0] = egid; - newcred->cr_gidinfos[0] = gifind(egid); + newcred->cr_gidinfos[0] = egip; } /*- ==== //depot/projects/soc2009/trasz_limits/sys/sys/ucred.h#4 (text+ko) ==== @@ -85,7 +85,7 @@ #ifdef _KERNEL struct thread; -void change_egid(struct ucred *newcred, gid_t egid); +void change_egid(struct ucred *newcred, struct gidinfo *egip); void change_euid(struct ucred *newcred, struct uidinfo *euip); void change_rgid(struct ucred *newcred, gid_t rgid); void change_ruid(struct ucred *newcred, struct uidinfo *ruip); From owner-p4-projects@FreeBSD.ORG Tue Jun 16 19:33:23 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E747106568E; Tue, 16 Jun 2009 19:33:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D9210106568A for ; Tue, 16 Jun 2009 19:33:22 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AC5A98FC18 for ; Tue, 16 Jun 2009 19:33:22 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GJXMdv074022 for ; Tue, 16 Jun 2009 19:33:22 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GJXMpb074020 for perforce@freebsd.org; Tue, 16 Jun 2009 19:33:22 GMT (envelope-from trasz@freebsd.org) Date: Tue, 16 Jun 2009 19:33:22 GMT Message-Id: <200906161933.n5GJXMpb074020@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 164527 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 19:33:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=164527 Change 164527 by trasz@trasz_victim on 2009/06/16 19:32:38 Plug a memory ('struct gidinfo') leak introduced in a previous commit and fix another LOR. Affected files ... .. //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#8 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/sys/kern/kern_prot.c#8 (text+ko) ==== @@ -733,6 +733,7 @@ fail: PROC_UNLOCK(p); + gifree(gip); crfree(newcred); return (error); } @@ -783,6 +784,7 @@ fail: PROC_UNLOCK(p); + gifree(egip); crfree(newcred); return (error); } @@ -813,12 +815,15 @@ { struct proc *p = td->td_proc; struct ucred *newcred, *oldcred; - int i, error; + struct gidinfo *gidinfos[NGROUPS], *oldgidinfos[NGROUPS]; + int i, error, oldngroups = 0; if (ngrp > NGROUPS) return (EINVAL); AUDIT_ARG(groupset, groups, ngrp); newcred = crget(); + for (i = 0; i < ngrp; i++) + gidinfos[i] = gifind(groups[i]); PROC_LOCK(p); oldcred = p->p_ucred; @@ -844,26 +849,39 @@ * have the egid in the groups[0]). We risk security holes * when running non-BSD software if we do not do the same. */ + oldngroups = newcred->cr_ngroups - 1; + for (i = 0; i < oldngroups; i++) + oldgidinfos[i] = newcred->cr_gidinfos[i + 1]; newcred->cr_ngroups = 1; - for (i = 1; i < newcred->cr_ngroups; i++) - gifree(newcred->cr_gidinfos[i]); } else { - for (i = 0; i < newcred->cr_ngroups; i++) - gifree(newcred->cr_gidinfos[i]); + oldngroups = newcred->cr_ngroups; + for (i = 0; i < oldngroups; i++) + oldgidinfos[i] = newcred->cr_gidinfos[i]; bcopy(groups, newcred->cr_groups, ngrp * sizeof(gid_t)); newcred->cr_ngroups = ngrp; for (i = 0; i < newcred->cr_ngroups; i++) - newcred->cr_gidinfos[i] = gifind(newcred->cr_groups[i]); + newcred->cr_gidinfos[i] = gidinfos[i]; } setsugid(p); p->p_ucred = newcred; PROC_UNLOCK(p); + for (i = 0; i < oldngroups; i++) + gifree(oldgidinfos[i]); + /* Don't free gidinfos[]. */ crfree(oldcred); + for (i = 0; i < newcred->cr_ngroups; i++) + KASSERT(newcred->cr_gidinfos[i]->gi_gid == newcred->cr_groups[i], ("Whoops.")); return (0); fail: PROC_UNLOCK(p); + for (i = 0; i < oldngroups; i++) + gifree(oldgidinfos[i]); + for (i = 0; i < ngrp; i++) + gifree(gidinfos[i]); crfree(newcred); + for (i = 0; i < newcred->cr_ngroups; i++) + KASSERT(newcred->cr_gidinfos[i]->gi_gid == newcred->cr_groups[i], ("Whoops.")); return (error); } @@ -995,6 +1013,7 @@ fail: PROC_UNLOCK(p); + gifree(egip); crfree(newcred); return (error); } @@ -1150,6 +1169,7 @@ fail: PROC_UNLOCK(p); + gifree(egip); crfree(newcred); return (error); } From owner-p4-projects@FreeBSD.ORG Tue Jun 16 19:38:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F40710656A4; Tue, 16 Jun 2009 19:38:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 436151065693 for ; Tue, 16 Jun 2009 19:38:28 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 311108FC27 for ; Tue, 16 Jun 2009 19:38:28 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GJcRPi074489 for ; Tue, 16 Jun 2009 19:38:27 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GJcRYl074487 for perforce@freebsd.org; Tue, 16 Jun 2009 19:38:27 GMT (envelope-from trasz@freebsd.org) Date: Tue, 16 Jun 2009 19:38:27 GMT Message-Id: <200906161938.n5GJcRYl074487@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 164528 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 19:38:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=164528 Change 164528 by trasz@trasz_victim on 2009/06/16 19:38:01 Update TODO. Affected files ... .. //depot/projects/soc2009/trasz_limits/TODO#2 edit Differences ... ==== //depot/projects/soc2009/trasz_limits/TODO#2 (text+ko) ==== @@ -1,3 +1,14 @@ + + - Make sure we have all the gidinfos we need in the 'struct ucred'. + - Fix up (add/remove resource counters) when: + - Adding a group to a process, + - Removing a group from a process, + - Moving a process into a jail. + - Changing [re]uid; + + - Some things need to be accounted for per-euid, and some per-egid. Geez. + + Limits to do: - HRL_RESOURCE_CPUTIME From owner-p4-projects@FreeBSD.ORG Tue Jun 16 20:01:53 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7BAB4106568C; Tue, 16 Jun 2009 20:01:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 350371065686 for ; Tue, 16 Jun 2009 20:01:52 +0000 (UTC) (envelope-from marinosi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2230B8FC1F for ; Tue, 16 Jun 2009 20:01:52 +0000 (UTC) (envelope-from marinosi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GK1qB1029452 for ; Tue, 16 Jun 2009 20:01:52 GMT (envelope-from marinosi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GK1p4H029445 for perforce@freebsd.org; Tue, 16 Jun 2009 20:01:52 GMT (envelope-from marinosi@FreeBSD.org) Date: Tue, 16 Jun 2009 20:01:52 GMT Message-Id: <200906162001.n5GK1p4H029445@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marinosi@FreeBSD.org using -f From: Ilias Marinos To: Perforce Change Reviews Cc: Subject: PERFORCE change 164530 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 20:01:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=164530 Change 164530 by marinosi@marinosi_redrum on 2009/06/16 20:01:39 Dynamic slice creation upon request implemented. Initialization system implemented too. The whole thing builds but remains untested and incomplete. Affected files ... .. //depot/projects/soc2009/marinosi_appaudit/src/sys/bsm/audit.h#3 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#4 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_private.h#4 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.h#2 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_syscalls.c#3 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_worker.c#3 edit Differences ... ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/bsm/audit.h#3 (text) ==== @@ -128,7 +128,8 @@ #define A_SETCOND 38 #define A_CREATESLICE 39 #define A_UPDATESLICE 40 -#define A_REMOVESLICE 41 +#define A_GETSLICE 41 +#define A_REMOVESLICE 42 /* * Audit policy controls. ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#4 (text) ==== @@ -84,8 +84,14 @@ SYSCTL_NODE(_security, OID_AUTO, audit, CTLFLAG_RW, 0, "TrustedBSD audit controls"); +/* + * The base audit slice statically declared. + */ struct audit_slice *audit_base_slice = NULL; +/* Audit slices queue */ +struct audit_slice_queue audit_slice_q; + /* * Kernel audit information. This will store the current audit address * or host information that the kernel will use when it's generating @@ -189,17 +195,35 @@ * synchronization primitives, worker thread, and trigger device node. Also * call into the BSM assembly code to initialize it. */ -static void +void audit_init(void *arg) { - if ( audit_base_slice == NULL ) + struct audit_slice *as; + + /* + * Initialize the slice queue and add every slice in it except the + * base(no reason to be in the queue). + */ + TAILQ_INIT(&audit_slice_q); + if ( audit_base_slice == NULL && arg == NULL ) { audit_base_slice = malloc(sizeof(*audit_base_slice), M_AUDITSLICE, M_WAITOK | M_ZERO); + /* + * If base slice is null allocate and then initialize the base + * slice first of all. + */ + as = audit_base_slice; + } else { + //as = (struct audit_slice *) arg; + as = malloc(sizeof(*as), M_AUDITSLICE, M_WAITOK | M_ZERO); + TAILQ_INSERT_TAIL(&audit_slice_q, as, as_q); + } - struct audit_slice *as = (struct audit_slice *) arg; - as = audit_base_slice; - + /* + * XXX: As M_ZERO flag is used during allocation, we may remove some + * of the following initialization is useless. + */ as->audit_enabled = 0; as->audit_suspended = 0; as->audit_panic_on_write_fail = 0; @@ -634,3 +658,16 @@ ret = 1; audit_commit(ar, errcode, ret); } + +/* + * audit_slice_destroy() is called through A_REMOVESLICE command of auditon() + * syscall to remove an existing slice ( except the base one!) + */ +void +audit_slice_destroy(struct audit_slice *as) +{ + if (as != NULL) { + TAILQ_REMOVE(&audit_slice_q, as, as_q); + free(as, M_AUDITSLICE); + } +} ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_private.h#4 (text) ==== @@ -132,6 +132,46 @@ }; typedef struct au_qctrl64 au_qctrl64_t; +#define AUDIT_SLICE_NAME_LEN 20 +#define AUDIT_DEV_NAME_LEN 20 +/* + * Helper data structure that keeps the data that are needed for new audit + * slice creation/modification/removal.This structure will be used with the + * auditon() syscall for all the audit slices except the base. + */ +struct au_slice_data { + char as_name[AUDIT_SLICE_NAME_LEN]; + int audit_enabled; + int audit_suspended; + int audit_q_len; + int audit_pre_q_len; + int audit_panic_on_write_fail; + int audit_fail_stop; + int audit_argv; + int audit_arge; + int audit_in_failure; + struct audit_fstat audit_fstat; + struct au_mask audit_nae_mask; + struct au_qctrl audit_qctrl; + + int audit_file_rotate_wait; + struct ucred *audit_cred; + struct vnode *audit_vp; + + + + /* + * Applications need their slice device to submit their audit records. + * Device specific variables here. + */ + char as_dev_name[AUDIT_DEV_NAME_LEN]; + int as_dev_isopen; + uid_t uid; + gid_t gid; + int perms; +}; +typedef struct au_slice_data au_slice_data_t; + union auditon_udata { char *au_path; int au_cond; @@ -150,6 +190,7 @@ au_stat_t au_stat; au_fstat_t au_fstat; auditinfo_addr_t au_kau_info; + au_slice_data_t au_slice; /* Data used for audit slices, except the base*/ }; struct posix_ipc_perm { @@ -229,6 +270,7 @@ struct sockaddr_storage ar_arg_sockaddr; }; + /* * Arguments in the audit record are initially not defined; flags are set to * indicate if they are present so they can be included in the audit log ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.h#2 (text+ko) ==== @@ -152,18 +152,29 @@ uid_t uid; gid_t gid; int perms; + + /* + * Keep the several audit slices in a list + */ + TAILQ_ENTRY(audit_slice) as_q; }; +typedef struct audit_slice audit_slice_t; -typedef struct audit_slice audit_slice_t; +TAILQ_HEAD(audit_slice_queue, audit_slice); /* Static allocation of the base slice */ extern struct audit_slice *audit_base_slice; +/* Audit slices queue */ +extern struct audit_slice_queue audit_slice_q; + /* * Audit related functions prototypes */ -void audit_rotate_vnode(struct ucred *cred, - struct vnode *vp); -void audit_worker_init(void *arg); +void audit_init(void *arg); +void audit_rotate_vnode(struct ucred *cred, + struct vnode *vp); +void audit_worker_init(void *arg); +void audit_slice_destroy(struct audit_slice *as); ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_syscalls.c#3 (text) ==== @@ -541,19 +541,31 @@ return (audit_send_trigger(udata.au_trigger)); case A_CREATESLICE: - //if (uap->length != sizeof(udata.au_slice)) - // return (EINVAL); + if (uap->length != sizeof(udata.au_slice)) + return (EINVAL); + /* Check if slice exists? */ + if ((udata.au_slice.as_name == NULL)) + return (EINVAL); + /* Passing null for testing purposes. TO be changed */ + audit_init(NULL); + break; + + case A_UPDATESLICE: + if (uap->length != sizeof(udata.au_slice)) + return (EINVAL); return (0); - case A_UPDATESLICE: - //if (uap->length != sizeof(udata.au_slice)) - // return (EINVAL); + case A_GETSLICE: + if (uap->length != sizeof(udata.au_slice)) + return (EINVAL); return (0); case A_REMOVESLICE: - //if (uap->length != sizeof(udata.au_slice)) - // return (EINVAL); - return (0); + if (uap->length != sizeof(udata.au_slice)) + return (EINVAL); + /* Passing null for testing purposes. TO be changed */ + audit_slice_destroy(NULL); + break; default: return (EINVAL); ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_worker.c#3 (text) ==== @@ -384,9 +384,9 @@ struct kaudit_queue ar_worklist; struct kaudit_record *ar; int lowater_signal; - - struct audit_slice *as = (struct audit_slice * ) arg; - + struct audit_slice *as; + + as = (struct audit_slice * ) arg; TAILQ_INIT(&ar_worklist); mtx_lock(&(as->audit_mtx)); while (1) { From owner-p4-projects@FreeBSD.ORG Tue Jun 16 20:15:06 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 435191065676; Tue, 16 Jun 2009 20:15:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C1F921065670 for ; Tue, 16 Jun 2009 20:15:05 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B09358FC13 for ; Tue, 16 Jun 2009 20:15:05 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GKF5IV040039 for ; Tue, 16 Jun 2009 20:15:05 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GKF5He040033 for perforce@freebsd.org; Tue, 16 Jun 2009 20:15:05 GMT (envelope-from rene@FreeBSD.org) Date: Tue, 16 Jun 2009 20:15:05 GMT Message-Id: <200906162015.n5GKF5He040033@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 164531 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 20:15:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=164531 Change 164531 by rene@rene_self on 2009/06/16 20:14:57 [website] * remove two superfluous &base; definitions * wording fix Affected files ... .. //depot/projects/docproj_nl/www/nl/news/news.sgml#3 edit .. //depot/projects/docproj_nl/www/nl/news/pressreleases.sgml#3 edit Differences ... ==== //depot/projects/docproj_nl/www/nl/news/news.sgml#3 (text+ko) ==== @@ -1,5 +1,4 @@ @@ -18,7 +17,7 @@
    • -

      Nieuwsflash: Nieuwe uitgaven, +

      Nieuwsflits: Nieuwe uitgaven, stuurprogramma's, committers, beveiligingsadviezen, en ander nieuws.

    • ==== //depot/projects/docproj_nl/www/nl/news/pressreleases.sgml#3 (text+ko) ==== @@ -1,5 +1,4 @@ From owner-p4-projects@FreeBSD.ORG Tue Jun 16 20:43:35 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 86A0A1065675; Tue, 16 Jun 2009 20:43:35 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 469D2106566C for ; Tue, 16 Jun 2009 20:43:35 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 349C48FC12 for ; Tue, 16 Jun 2009 20:43:35 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GKhYIq013490 for ; Tue, 16 Jun 2009 20:43:34 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GKhYbC013483 for perforce@freebsd.org; Tue, 16 Jun 2009 20:43:34 GMT (envelope-from truncs@FreeBSD.org) Date: Tue, 16 Jun 2009 20:43:34 GMT Message-Id: <200906162043.n5GKhYbC013483@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Cc: Subject: PERFORCE change 164534 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 20:43:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=164534 Change 164534 by truncs@aditya on 2009/06/16 20:43:34 Updated Schedule. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/Milestones#2 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/Milestones#2 (text+ko) ==== @@ -13,20 +13,22 @@ Sat, May 16 - Wed, May 20 : Phase 2 planning and research Thu, May 21 - Thu, May 28 : Rewriting ext2fs.h and ext2fs_sb.h +######################################################################## + -Fri, May 29 - Wed, June 3 : Researching NetBSD's block and inode allocation policy +Tue, June 16 - Fri, June 19 : Researching NetBSD's block and inode allocation policy -Thu, June 4 - Sat, June 20 : Rewriting ext2_linux_balloc.c and ext2_linux_ialloc.c +Sat, June 20 - Mon, July 6 : Rewriting ext2_linux_balloc.c and ext2_linux_ialloc.c -Sun, June 21 - Wed, June 24 : Interval for gaining on lost schedule, reviewing code, updating blog, wiki +Tue, July 7 - Fri, July 10 : Interval for gaining on lost schedule, reviewing code, updating blog, wiki etc. -Thu, June 25 - Fri, July 10 : Rewriting ext2_vfops.c and i386_bitops.h +Sat, July 11 - Sun, July 26 : Rewriting parts of ext2_vfops.c and i386_bitops.h -Sat, July 11 - Mon, July 20 : Benchmarking +Mon, July 27 - Wed, August 5 : Benchmarking -Tue, July 21 - Sat, July 25 : Interval for gaining on schedule, additional bechmarking, uploading results +Thu, August 6 - Mon, August 10 : Interval for gaining on schedule, additional bechmarking, uploading results on the web etc. -Sun, July 26 - Mon, August 17, 2009 : Reviewing code, Bug Fixing, Documentation and adding new features +Tue, August 11 - Mon, August 17 : Reviewing code, Bug Fixing, Documentation and adding new features (if possible) From owner-p4-projects@FreeBSD.ORG Tue Jun 16 21:43:37 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C0D621065673; Tue, 16 Jun 2009 21:43:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8129E106566B for ; Tue, 16 Jun 2009 21:43:36 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6DFAF8FC13 for ; Tue, 16 Jun 2009 21:43:36 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GLhaOS025175 for ; Tue, 16 Jun 2009 21:43:36 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GLha0w025173 for perforce@freebsd.org; Tue, 16 Jun 2009 21:43:36 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 16 Jun 2009 21:43:36 GMT Message-Id: <200906162143.n5GLha0w025173@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164535 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 21:43:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=164535 Change 164535 by rwatson@rwatson_freebsd_capabilities on 2009/06/16 21:42:51 Implement ld_insandbox() which always returns false in libc, but as a weak symbol that rtld-elf-cap will override. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/Makefile.inc#9 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/Symbol.map#9 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/ld_sandbox.c#1 add Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/Makefile.inc#9 (text+ko) ==== @@ -19,7 +19,7 @@ getpeereid.c getprogname.c getpwent.c getttyent.c \ getusershell.c getvfsbyname.c glob.c \ initgroups.c isatty.c isinf.c isnan.c jrand48.c lcong48.c \ - ld_caplibindex.c \ + ld_caplibindex.c ld_sandbox.c \ lockf.c lrand48.c mrand48.c nftw.c nice.c \ nlist.c nrand48.c opendir.c \ pause.c pmadvise.c popen.c posix_spawn.c pselect.c \ ==== //depot/projects/trustedbsd/capabilities/src/lib/libc/gen/Symbol.map#9 (text) ==== @@ -343,6 +343,7 @@ fts_set; fts_set_clientptr; ld_caplibindex_lookup; + ld_insandbox; posix_spawn; posix_spawn_file_actions_addclose; posix_spawn_file_actions_adddup2; From owner-p4-projects@FreeBSD.ORG Tue Jun 16 21:43:38 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EAA5B106570B; Tue, 16 Jun 2009 21:43:37 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AE605106566C for ; Tue, 16 Jun 2009 21:43:36 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 811BB8FC15 for ; Tue, 16 Jun 2009 21:43:36 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GLhaKs025200 for ; Tue, 16 Jun 2009 21:43:36 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GLhaEt025194 for perforce@freebsd.org; Tue, 16 Jun 2009 21:43:36 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 16 Jun 2009 21:43:36 GMT Message-Id: <200906162143.n5GLhaEt025194@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164536 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 21:43:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=164536 Change 164536 by rwatson@rwatson_freebsd_capabilities on 2009/06/16 21:43:15 Do export ld_insandbox() from rtld-elf-cap as a public symbol. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/Symbol.map#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/Symbol.map#4 (text+ko) ==== @@ -4,4 +4,5 @@ FBSD_1.1 { ld_caplibindex_lookup; + ld_insandbox; }; From owner-p4-projects@FreeBSD.ORG Tue Jun 16 21:45:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 01603106568C; Tue, 16 Jun 2009 21:45:39 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 988C6106568F for ; Tue, 16 Jun 2009 21:45:38 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 850558FC08 for ; Tue, 16 Jun 2009 21:45:38 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GLjc61034519 for ; Tue, 16 Jun 2009 21:45:38 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GLjc57034517 for perforce@freebsd.org; Tue, 16 Jun 2009 21:45:38 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 16 Jun 2009 21:45:38 GMT Message-Id: <200906162145.n5GLjc57034517@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164537 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 21:45:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=164537 Change 164537 by rwatson@rwatson_freebsd_capabilities on 2009/06/16 21:45:19 Rather than a compile-time decision about the use of sandbox vs. non-sandbox API use in libcapability for starting sandboxes, use ld_insandbox() to check whether we're in a sandbox. Now we're back to needing only a single libcapability compile, rather than two versions. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#19 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#16 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#19 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#18 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#19 $ */ #ifndef _LIBCAPABILITY_H_ @@ -133,5 +133,6 @@ * applications. */ int ld_caplibindex_lookup(const char *libname, int *fdp); +int ld_insandbox(void); #endif /* !_LIBCAPABILITY_H_ */ ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#16 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#15 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#16 $ */ #include @@ -245,46 +245,43 @@ return (-1); bzero(lcsp, sizeof(*lcsp)); -#ifdef IN_CAP_MODE - if (ld_caplibindex_lookup(LD_ELF_CAP_SO, &fd_ldso) < 0) - goto out_error; - if (ld_caplibindex_lookup(LIBC_SO, &fd_libc) < 0) - goto out_error; - if (ld_caplibindex_lookup(LIBZ_SO, &fd_libz) < 0) - goto out_error; - if (ld_caplibindex_lookup(LIBBZ2_SO, &fd_libbz2) < 0) - goto out_error; - if (ld_caplibindex_lookup(LIBCAPABILITY_SO, &fd_libcapability) < 0) - goto out_error; - if (ld_caplibindex_lookup(_PATH_DEVNULL, &fd_devnull) < 0) - goto out_error; -#else - fd_ldso = open(PATH_LD_ELF_CAP_SO "/" LD_ELF_CAP_SO, O_RDONLY); - if (fd_ldso < 0) - goto out_error; + if (ld_insandbox()) { + if (ld_caplibindex_lookup(LD_ELF_CAP_SO, &fd_ldso) < 0) + goto out_error; + if (ld_caplibindex_lookup(LIBC_SO, &fd_libc) < 0) + goto out_error; + if (ld_caplibindex_lookup(LIBZ_SO, &fd_libz) < 0) + goto out_error; + if (ld_caplibindex_lookup(LIBBZ2_SO, &fd_libbz2) < 0) + goto out_error; + if (ld_caplibindex_lookup(LIBCAPABILITY_SO, + &fd_libcapability) < 0) + goto out_error; + if (ld_caplibindex_lookup(_PATH_DEVNULL, &fd_devnull) < 0) + goto out_error; + } else { + fd_ldso = open(PATH_LD_ELF_CAP_SO "/" LD_ELF_CAP_SO, + O_RDONLY); + if (fd_ldso < 0) + goto out_error; + fd_libc = open(_PATH_LIB "/" LIBC_SO, O_RDONLY); + if (fd_libc < 0) + goto out_error; + fd_libz = open(_PATH_LIB "/" LIBZ_SO, O_RDONLY); + if (fd_libz < 0) + goto out_error; + fd_libbz2 = open(_PATH_USR_LIB "/" LIBBZ2_SO, O_RDONLY); + if (fd_libbz2 < 0) + goto out_error; + fd_libcapability = open(_PATH_USR_LIB "/" LIBCAPABILITY_SO, + O_RDONLY); + if (fd_libcapability < 0) + goto out_error; + fd_devnull = open(_PATH_DEVNULL, O_RDWR); + if (fd_devnull < 0) + goto out_error; + } - fd_libc = open(_PATH_LIB "/" LIBC_SO, O_RDONLY); - if (fd_libc < 0) - goto out_error; - - fd_libz = open(_PATH_LIB "/" LIBZ_SO, O_RDONLY); - if (fd_libz < 0) - goto out_error; - - fd_libbz2 = open(_PATH_USR_LIB "/" LIBBZ2_SO, O_RDONLY); - if (fd_libbz2 < 0) - goto out_error; - - fd_libcapability = open(_PATH_USR_LIB "/" LIBCAPABILITY_SO, - O_RDONLY); - if (fd_libcapability < 0) - goto out_error; - - fd_devnull = open(_PATH_DEVNULL, O_RDWR); - if (fd_devnull < 0) - goto out_error; -#endif - if (socketpair(PF_LOCAL, SOCK_STREAM, 0, fd_sockpair) < 0) goto out_error; @@ -357,7 +354,6 @@ return (lch_startfd_flags(fd_sandbox, binname, argv, 0, lcspp)); } -#ifndef IN_CAP_MODE int lch_start_flags(const char *sandbox, char *const argv[], u_int flags, struct lc_sandbox **lcspp) @@ -385,7 +381,6 @@ return (lch_start_flags(sandbox, argv, 0, lcspp)); } -#endif void lch_stop(struct lc_sandbox *lcsp) From owner-p4-projects@FreeBSD.ORG Tue Jun 16 21:48:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3638F1065673; Tue, 16 Jun 2009 21:48:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EACF9106566B for ; Tue, 16 Jun 2009 21:48:41 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BD4F18FC1B for ; Tue, 16 Jun 2009 21:48:41 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GLmfgT050541 for ; Tue, 16 Jun 2009 21:48:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GLmfGY050536 for perforce@freebsd.org; Tue, 16 Jun 2009 21:48:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 16 Jun 2009 21:48:41 GMT Message-Id: <200906162148.n5GLmfGY050536@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164538 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 21:48:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=164538 Change 164538 by rwatson@rwatson_freebsd_capabilities on 2009/06/16 21:47:52 libcapabilitym is no longer required. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/Makefile#8 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#14 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.3#20 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapabilitym/Makefile#3 delete Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/Makefile#8 (text+ko) ==== @@ -32,7 +32,7 @@ ncurses ${_libnetgraph} libradius librpcsvc libsbuf \ libtacplus libutil ${_libypclnt} libalias libarchive ${_libatm} \ libbegemot ${_libbluetooth} ${_libbsnmp} libbz2 \ - libcalendar libcam libcapability libcapabilitym libcompat \ + libcalendar libcam libcapability libcompat \ libdevinfo libdevstat \ libdisk \ libdwarf libedit libexpat libfetch libftpio libgeom ${_libgpib} \ ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#14 (text+ko) ==== @@ -20,8 +20,7 @@ MAN= libcapability.3 MAN+= libcapability_host.3 MAN+= libcapability_sandbox.3 -MLINKS= libcapability.3 libcapabilitym.3 \ - libcapability.3 lc_limitfd.3 \ +MLINKS= libcapability.3 lc_limitfd.3 \ libcapability_host.3 lch_autosandbox_isenabled.3 \ libcapability_host.3 lch_start.3 \ libcapability_host.3 lch_start_flags.3 \ ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.3#20 (text+ko) ==== @@ -78,20 +78,6 @@ .Xr libcapability_sandbox 3 . Sandboxed processes themselves may launch software components in further sandboxes, so a single program may use both host and sandbox APIs. -.Pp -Applications will link against one of two versions of the library: -.Pp -.Nm libcapability -is intended to run in an unsandboxed environment, and is appropriate for use -by application running with full user privileges. -It relies on the UNIX file system namespace to load software components that -will be executed in sandboxes. -.Pp -.Nm libcapabilitym -is intended to run in a sandboxed environment, and loads binaries and -supporting libraries for sandboxes from the library descriptor cache -maintained by -.Xr rtld-elf-cap 1 . .Sh CAPABILITY API .Fn lc_limitfd is a wrapper around From owner-p4-projects@FreeBSD.ORG Tue Jun 16 21:49:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 48D421065674; Tue, 16 Jun 2009 21:49:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 094911065672 for ; Tue, 16 Jun 2009 21:49:43 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EA6878FC13 for ; Tue, 16 Jun 2009 21:49:42 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5GLngAv058313 for ; Tue, 16 Jun 2009 21:49:42 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5GLnggQ058311 for perforce@freebsd.org; Tue, 16 Jun 2009 21:49:42 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 16 Jun 2009 21:49:42 GMT Message-Id: <200906162149.n5GLnggQ058311@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164539 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jun 2009 21:49:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=164539 Change 164539 by rwatson@rwatson_freebsd_capabilities on 2009/06/16 21:49:08 libcapabilitym -> libcapability Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc_sandbox/Makefile#2 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv_sandbox/Makefile#2 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_echo/Makefile#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc_sandbox/Makefile#2 (text+ko) ==== @@ -2,7 +2,7 @@ NO_MAN= CFLAGS=-Wall -g -DPADD= ${LIBCAPABILITYM} -LDADD= -lcapabilitym +DPADD= ${LIBCAPABILITY} +LDADD= -lcapability .include ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv_sandbox/Makefile#2 (text+ko) ==== @@ -2,7 +2,7 @@ NO_MAN= CFLAGS=-Wall -g -DPADD= ${LIBCAPABILITYM} -LDADD= -lcapabilitym +DPADD= ${LIBCAPABILITY} +LDADD= -lcapability .include ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_echo/Makefile#3 (text+ko) ==== @@ -2,7 +2,7 @@ NO_MAN= CFLAGS=-Wall -g -DPADD= ${LIBCAPABILITYM} -LDADD= -lcapabilitym +DPADD= ${LIBCAPABILITY} +LDADD= -lcapability .include From owner-p4-projects@FreeBSD.ORG Wed Jun 17 07:30:38 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF1FD1065675; Wed, 17 Jun 2009 07:30:37 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9F4EB1065672 for ; Wed, 17 Jun 2009 07:30:37 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8DE568FC19 for ; Wed, 17 Jun 2009 07:30:37 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5H7Ubja023050 for ; Wed, 17 Jun 2009 07:30:37 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5H7UbdD023048 for perforce@freebsd.org; Wed, 17 Jun 2009 07:30:37 GMT (envelope-from syl@FreeBSD.org) Date: Wed, 17 Jun 2009 07:30:37 GMT Message-Id: <200906170730.n5H7UbdD023048@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164557 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 07:30:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=164557 Change 164557 by syl@syl_pablo on 2009/06/17 07:29:43 Add transfer tests skeleton. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/Makefile#3 edit .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/Makefile#1 add .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/Makefile#1 add .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#1 add .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test2/Makefile#1 add .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test2/test2.c#1 add .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/Makefile#1 add .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#1 add .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test4/Makefile#1 add .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test4/test4.c#1 add Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/Makefile#3 (text+ko) ==== @@ -1,5 +1,6 @@ -SUBDIR= descriptors \ - basic +SUBDIR= basic \ + descriptors \ + transfers test: .for dir in ${SUBDIR} From owner-p4-projects@FreeBSD.ORG Wed Jun 17 11:02:14 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C81001065673; Wed, 17 Jun 2009 11:02:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88331106566C for ; Wed, 17 Jun 2009 11:02:13 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7499C8FC13 for ; Wed, 17 Jun 2009 11:02:13 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HB2D1A065636 for ; Wed, 17 Jun 2009 11:02:13 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HB2Dc9065634 for perforce@freebsd.org; Wed, 17 Jun 2009 11:02:13 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 11:02:13 GMT Message-Id: <200906171102.n5HB2Dc9065634@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164563 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 11:02:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=164563 Change 164563 by rwatson@rwatson_freebsd_capabilities on 2009/06/17 11:01:36 Provide cap_main prototype. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#20 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#20 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#19 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#20 $ */ #ifndef _LIBCAPABILITY_H_ @@ -135,4 +135,11 @@ int ld_caplibindex_lookup(const char *libname, int *fdp); int ld_insandbox(void); +/* + * Applications may declare an alternative entry point to the default ELF + * entry point for their binary, which will be used in preference to 'main' + * in the sandbox environment. + */ +int cap_main(int argc, char *argv[]); + #endif /* !_LIBCAPABILITY_H_ */ From owner-p4-projects@FreeBSD.ORG Wed Jun 17 11:03:15 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B8541065670; Wed, 17 Jun 2009 11:03:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF8B8106566B for ; Wed, 17 Jun 2009 11:03:14 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A167B8FC1D for ; Wed, 17 Jun 2009 11:03:14 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HB3EgN073696 for ; Wed, 17 Jun 2009 11:03:14 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HB3EmP073686 for perforce@freebsd.org; Wed, 17 Jun 2009 11:03:14 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 11:03:14 GMT Message-Id: <200906171103.n5HB3EmP073686@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164564 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 11:03:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=164564 Change 164564 by rwatson@rwatson_freebsd_capabilities on 2009/06/17 11:02:49 In capability mode, prefer 'cap_main' to the normal ELF entry point, if the symbol is dynamic/defined. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf/rtld.c#19 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf/rtld.c#19 (text+ko) ==== @@ -105,7 +105,9 @@ static bool donelist_check(DoneList *, const Obj_Entry *); static void errmsg_restore(char *); static char *errmsg_save(void); -#ifndef IN_RTLD_CAP +#ifdef IN_RTLD_CAP +static void *find_cap_main(const Obj_Entry *); +#else static void *fill_search_info(const char *, size_t, void *); static char *find_library(const char *, const Obj_Entry *); static const char *gethints(void); @@ -346,6 +348,7 @@ #ifdef IN_RTLD_CAP struct stat sb; Elf_Auxinfo aux_execfd; + void *cap_main_ptr; #endif Elf_Auxinfo *aux_info[AT_COUNT]; int i; @@ -646,6 +649,17 @@ /* Return the exit procedure and the program entry point. */ *exit_proc = rtld_exit; *objp = obj_main; + +#ifdef IN_RTLD_CAP + /* + * If the object provides an alternative capability-mode specific entry + * point, prefer that to the ELF default entry point. Otherwise, use the + * ELF default. + */ + cap_main_ptr = find_cap_main(obj_main); + if (cap_main_ptr != NULL) + return (func_ptr_type) cap_main_ptr; +#endif return (func_ptr_type) obj_main->entry; } @@ -813,6 +827,26 @@ return (res4); } +#ifdef IN_RTLD_CAP +static void * +find_cap_main(const Obj_Entry *obj) +{ + const char *cap_main_str = "cap_main"; + const Elf_Sym *def; + const Obj_Entry *defobj; + unsigned long hash; + + hash = elf_hash(cap_main_str); + def = symlook_default(cap_main_str, hash, obj, &defobj, NULL, + SYMLOOK_IN_PLT); + if (def == NULL) + return (NULL); + if (ELF_ST_TYPE(def->st_info) != STT_FUNC) + return (NULL); + return (make_function_pointer(def, defobj)); +} +#endif + static void die(void) { From owner-p4-projects@FreeBSD.ORG Wed Jun 17 11:04:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 492BD1065672; Wed, 17 Jun 2009 11:04:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 099A3106566B for ; Wed, 17 Jun 2009 11:04:16 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CE7788FC1E for ; Wed, 17 Jun 2009 11:04:15 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HB4F5I081176 for ; Wed, 17 Jun 2009 11:04:15 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HB4FnC081170 for perforce@freebsd.org; Wed, 17 Jun 2009 11:04:15 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 11:04:15 GMT Message-Id: <200906171104.n5HB4FnC081170@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164565 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 11:04:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=164565 Change 164565 by rwatson@rwatson_freebsd_capabilities on 2009/06/17 11:04:03 Rather than using a special binary name to get to the sandbox workloop when gzip runs, define 'cap_main' as the work loop function, and compile with -rdynamic so that the symbol is visible to rtld. This means that the sandbox component of the gzip binary is the only thing that runs in sandbox mode, but that the same binary is used for both environments. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/Makefile#3 edit .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzip.c#5 edit .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzip.h#1 add .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzsandbox.c#2 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/Makefile#3 (text+ko) ==== @@ -10,6 +10,7 @@ DPADD= ${LIBZ} ${LIBCAPABILITY} LDADD= -lz -lcapability WARNS?= 6 +CFLAGS+= -rdynamic # For sandbox cap_main .if ${MK_BZIP2_SUPPORT} != "no" DPADD+= ${LIBBZ2} ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzip.c#5 (text+ko) ==== @@ -304,8 +304,6 @@ else if (strcmp(progname, "zcat") == 0 || strcmp(progname, "gzcat") == 0) dflag = cflag = 1; - else if (strcmp(progname, "gzip_sandbox") == 0) - sandbox_workloop(); #ifdef SMALL #define OPT_LIST "123456789cdhltV" ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzsandbox.c#2 (text+ko) ==== @@ -48,7 +48,7 @@ #include "gzip.h" -#define LC_USR_BIN_GZIP_SANDBOX "/usr/bin/gzip_sandbox" +#define LC_USR_BIN_GZIP_SANDBOX "/usr/bin/gzip" static char *lc_sandbox_argv[] = { __DECONST(char *, LC_USR_BIN_GZIP_SANDBOX), NULL }; @@ -243,8 +243,9 @@ filename)); } + int -sandbox_workloop(void) +cap_main(__unused int argc, __unused char *argv[]) { int fdarray[2], fdcount; struct lc_host *lchp; From owner-p4-projects@FreeBSD.ORG Wed Jun 17 11:14:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BCAD51065679; Wed, 17 Jun 2009 11:14:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D5761065676 for ; Wed, 17 Jun 2009 11:14:26 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4FDB68FC18 for ; Wed, 17 Jun 2009 11:14:26 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HBEQFq060392 for ; Wed, 17 Jun 2009 11:14:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HBEQV9060382 for perforce@freebsd.org; Wed, 17 Jun 2009 11:14:26 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 11:14:26 GMT Message-Id: <200906171114.n5HBEQV9060382@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164566 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 11:14:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=164566 Change 164566 by rwatson@rwatson_freebsd_capabilities on 2009/06/17 11:14:10 Update rtld-elf-cap.1 to reflect recent changes. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/rtld-elf-cap.1#5 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/rtld-elf-cap.1#5 (text+ko) ==== @@ -45,34 +45,51 @@ is a version of .Xr ld-elf.so.1 1 specific to the sandbox environment created using +.Xr libcapability 3 , +which provides certain extended or modified linker services for that +environment: +.Bl -bullet +.It +Will not attempt to use global file system namespaces that are not available +when running under .Xr cap_enter 2 . -.Nm -is intended to be directly executed using the -.Xr fexeve 2 -system call, and expects the binary to be passed as file descriptor -.Dv 3 , -as well as additional libraries described by the +.It +Expects to be directly executed using +.Xr fexecve 2 , +with the desired binary to run passed as file descriptor 3. +.It +Recognizes the addition symbol +.Dv cap_main , +which will be used in preference to the normal ELF entry point for a binary +when in sandbox mode. +This makes it easy a single binary to select different behavior when run in +the different environments. +.It Interprets the .Dv LD_CAPLIBINDEX -environmental variable. +environmental variable set by sandbox start touines, and implements +.Fn ld_capibindex_lookup , +allowing file descriptors for binaries and libraries passed across +.Xr fexecve 2 +to be used by +.Xr libcapability 3 , +as well as applications. +.It +Implements a version of +.Fn ld_insandbox +that returns true, overriding the libc function that returns false. +.El .Pp -Binaries for the sandbox environment are normal, dynamically linked binaries -as created by -.Xr gcc 1 . -As with traditional -.Fx -binaries, the C run-time expects to begin execution with a -.Dv main -function which will be passed execution-time arguments explicitly, as well -as having access to inherited environmental variables. +Applications using +.Dv cap_main +will need to export it as a dynamic symbol, perhaps using +.Xr gcc 1 's +.Dv -rdynamic +command line flag. .Pp Most capability-mode applications will be started using the APIs defined in .Xr libcapability 3 , which properly set up the run-time environment for .Nm . -.Sh IMPLEMENTATION NOTES -Linking sandbox binaries as relocatable shared objects rather than linking -them with a fixed virtual address allows them to be directly linked into -consumers, if desired, for debugging or performance analysis purposes. .Sh SEE ALSO .Xr gcc 1 , .Xr ld-elf.so.1 1 , From owner-p4-projects@FreeBSD.ORG Wed Jun 17 11:19:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EBFF31065672; Wed, 17 Jun 2009 11:19:31 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC522106564A for ; Wed, 17 Jun 2009 11:19:31 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 98C2F8FC13 for ; Wed, 17 Jun 2009 11:19:31 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HBJVwu099488 for ; Wed, 17 Jun 2009 11:19:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HBJVkC099482 for perforce@freebsd.org; Wed, 17 Jun 2009 11:19:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 11:19:31 GMT Message-Id: <200906171119.n5HBJVkC099482@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164567 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 11:19:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=164567 Change 164567 by rwatson@rwatson_freebsd_capabilities on 2009/06/17 11:19:09 Now that we've unified libcapability/libcapabilitym, provided cap_main, and taught libcapability how to tell if it's in a sandbox and vary it's behavior, we can unify our sample applications to use a single binary inside and outside the sandbox environment. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc/Makefile#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc/fdrpc.c#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc_host/Makefile#2 delete .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc_host/fdrpc_host.c#2 delete .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc_sandbox/Makefile#3 delete .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc_sandbox/fdrpc_sandbox.c#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Wed Jun 17 11:22:35 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3322B1065675; Wed, 17 Jun 2009 11:22:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E40AE106566B for ; Wed, 17 Jun 2009 11:22:34 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D0B268FC3C for ; Wed, 17 Jun 2009 11:22:34 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HBMYEH020115 for ; Wed, 17 Jun 2009 11:22:34 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HBMYZN020113 for perforce@freebsd.org; Wed, 17 Jun 2009 11:22:34 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 11:22:34 GMT Message-Id: <200906171122.n5HBMYZN020113@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164568 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 11:22:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=164568 Change 164568 by rwatson@rwatson_freebsd_capabilities on 2009/06/17 11:22:18 Unify fdsendrecv's host and sandbox binaries. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv/Makefile#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv/fdsendrecv.c#1 add .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv_host/Makefile#2 delete .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv_host/fdsendrecv_host.c#2 delete .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv_sandbox/Makefile#3 delete .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv_sandbox/fdsendrecv_sandbox.c#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Wed Jun 17 11:26:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 777021065698; Wed, 17 Jun 2009 11:26:39 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 31A3F1065688 for ; Wed, 17 Jun 2009 11:26:39 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1E1C48FC20 for ; Wed, 17 Jun 2009 11:26:39 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HBQdtT043513 for ; Wed, 17 Jun 2009 11:26:39 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HBQchv043503 for perforce@freebsd.org; Wed, 17 Jun 2009 11:26:38 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 11:26:38 GMT Message-Id: <200906171126.n5HBQchv043503@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164569 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 11:26:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=164569 Change 164569 by rwatson@rwatson_freebsd_capabilities on 2009/06/17 11:25:40 Unify libcapability_exec/sandbox_echo. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/libcapability_exec/Makefile#2 delete .. //depot/projects/trustedbsd/capabilities/src/tools/cap/libcapability_exec/libcapability_exec.c#4 delete .. //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_echo/Makefile#4 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_echo/sandbox_echo.c#6 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_echo/Makefile#4 (text+ko) ==== @@ -1,6 +1,6 @@ PROG=sandbox_echo NO_MAN= -CFLAGS=-Wall -g +CFLAGS=-Wall -g -rdynamic DPADD= ${LIBCAPABILITY} LDADD= -lcapability ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_echo/sandbox_echo.c#6 (text+ko) ==== @@ -50,6 +50,42 @@ int main(int argc, char *argv[]) { + struct lc_sandbox *lcsp; + char *sandbox_argv[3] = { argv[1], "nested", NULL }; + struct iovec iov; + size_t len; + char ch; + int i; + + if (argc != 1) + errx(-1, "usage: sandbox_echo"); + + if (lch_start_flags(MYNAME, sandbox_argv, LCH_PERMIT_STDERR, &lcsp) + < 0) + err(-1, "lch_start %s", argv[1]); + + for (i = 0; i < 10; i++) { + ch = i; + iov.iov_base = &ch; + iov.iov_len = sizeof(ch); + if (lch_rpc(lcsp, 0, &iov, 1, &iov, 1, &len) < 0) + err(-1, "lch_rpc"); + if (len != sizeof(ch)) + errx(-1, "lch_rpc returned size %d not %d", len, + sizeof(ch)); + if (ch != i) + errx(-1, "lch_recv: expected %d and got %d", i, ch); + printf("."); + fflush(stdout); + } + printf(" OK\n"); + + lch_stop(lcsp); +} + +int +cap_main(int argc, char *argv[]) +{ char *sandbox_argv[3] = { MYNAME, NULL }; struct lc_sandbox *lcsp; struct lc_host *lchp; From owner-p4-projects@FreeBSD.ORG Wed Jun 17 11:29:42 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A9708106566C; Wed, 17 Jun 2009 11:29:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 697F11065673 for ; Wed, 17 Jun 2009 11:29:42 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 562438FC15 for ; Wed, 17 Jun 2009 11:29:42 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HBTgUO053206 for ; Wed, 17 Jun 2009 11:29:42 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HBTgLx053203 for perforce@freebsd.org; Wed, 17 Jun 2009 11:29:42 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 11:29:42 GMT Message-Id: <200906171129.n5HBTgLx053203@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164570 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 11:29:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=164570 Change 164570 by rwatson@rwatson_freebsd_capabilities on 2009/06/17 11:29:06 Make lcs_get() error reporting cleaner -- now that people can't run sandboxed binaries by mistake, we report it in a programmer-centric way. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc/fdrpc.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv/fdsendrecv.c#2 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_echo/sandbox_echo.c#7 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc/fdrpc.c#2 (text+ko) ==== @@ -97,7 +97,7 @@ size_t len; if (lcs_get(&lchp) < 0) - errx(-1, "libcapability sandbox binary"); + err(-1, "lcs_get"); while (1) { fdcount = 2; ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv/fdsendrecv.c#2 (text+ko) ==== @@ -93,7 +93,7 @@ int fdarray[2], fdcount; if (lcs_get(&lchp) < 0) - errx(-1, "libcapability sandbox binary"); + err(-1, "lcs_get"); while (1) { fdcount = 2; ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_echo/sandbox_echo.c#7 (text+ko) ==== @@ -96,7 +96,7 @@ int fd; if (lcs_get(&lchp) < 0) - errx(-1, "libcapability sandbox binary"); + err(-1, "lcs_get"); /* * If 'nested mode is requested, launch a further sandbox and proxy From owner-p4-projects@FreeBSD.ORG Wed Jun 17 12:03:17 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D9DAF106570C; Wed, 17 Jun 2009 12:03:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 952A51065709 for ; Wed, 17 Jun 2009 12:03:16 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7839F8FC1B for ; Wed, 17 Jun 2009 12:03:16 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HC3GfQ018583 for ; Wed, 17 Jun 2009 12:03:16 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HC3GQ4018574 for perforce@freebsd.org; Wed, 17 Jun 2009 12:03:16 GMT (envelope-from anchie@FreeBSD.org) Date: Wed, 17 Jun 2009 12:03:16 GMT Message-Id: <200906171203.n5HC3GQ4018574@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164571 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 12:03:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=164571 Change 164571 by anchie@anchie_malimis on 2009/06/17 12:03:13 Minor changes - attempt to unbreak kernel build. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#4 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet/icmp6.h#7 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#9 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#7 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_rtr.c#4 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#9 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#9 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/net/rtsock.c#4 (text+ko) ==== @@ -60,6 +60,8 @@ #include #include +#include + #include #ifdef INET6 #include ==== //depot/projects/soc2009/anchie_send/src/sys/netinet/icmp6.h#7 (text+ko) ==== @@ -125,6 +125,7 @@ #define ICMP6_FQDN_REPLY 140 /* FQDN reply */ #define ICMP6_NI_QUERY 139 /* node information request */ #define ICMP6_NI_REPLY 140 /* node information reply */ +#define MLDV2_LISTENER_REPORT 143 /* RFC3810 listener report */ #define SEND_CERT_PATH_SOLICIT 148 /* cert path solicitation */ #define SEND_CERT_PATH_ADVERT 149 /* cert path advertisement */ @@ -197,6 +198,8 @@ #define mld_cksum mld_icmp6_hdr.icmp6_cksum #define mld_maxdelay mld_icmp6_hdr.icmp6_data16[0] #define mld_reserved mld_icmp6_hdr.icmp6_data16[1] +#define mld_v2_reserved mld_icmp6_hdr.icmp6_data16[0] +#define mld_v2_numrecs mld_icmp6_hdr.icmp6_data16[1] /* * Neighbor Discovery @@ -599,6 +602,12 @@ u_quad_t icp6s_badredirect; /* bad redirect message */ }; +#ifdef _KERNEL +#define ICMP6STAT_ADD(name, val) V_icmp6stat.name += (val) +#define ICMP6STAT_INC(name) ICMP6STAT_ADD(name, 1) +#endif + + /* * Names for ICMP sysctl objects */ @@ -642,6 +651,7 @@ void icmp6_error2(struct mbuf *, int, int, int, struct ifnet *); int icmp6_input(struct mbuf **, int *, int); void icmp6_fasttimo(void); +void icmp6_slowtimo(void); void icmp6_reflect(struct mbuf *, size_t); void icmp6_prepare(struct mbuf *); void icmp6_redirect_input(struct mbuf *, int); @@ -710,8 +720,10 @@ } \ } while (/*CONSTCOND*/ 0) +#ifdef VIMAGE_GLOBALS extern int icmp6_rediraccept; /* accept/process redirects */ extern int icmp6_redirtimeout; /* cache time for redirect routes */ +#endif #define ICMP6_NODEINFO_FQDNOK 0x1 #define ICMP6_NODEINFO_NODEADDROK 0x2 ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#9 (text+ko) ==== @@ -1,4 +1,4 @@ -/*- +/* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. * All rights reserved. * @@ -107,6 +107,7 @@ #include #include #include +#include #ifdef IPSEC #include @@ -140,6 +141,8 @@ struct ifnet *, int)); static int icmp6_notify_error(struct mbuf **, int, int, int); +int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int); + void icmp6_init(void) @@ -810,7 +813,9 @@ send_output_hook(in, ifp, m, ip6len); /* give up local */ /* nd6_ns_input() will be called in X_send_input_hook() */ +#if 0 nd6_ns_input(in, m, off, icmp6len); +#endif m = NULL; goto freeit; } @@ -859,7 +864,7 @@ /* m stays. */ break; -#ifndef +#if 0 case SEND_CERT_PATH_SOLICIT: /* send CPS packet to sendd */ send6_cps_input(); ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#7 (text+ko) ==== ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_rtr.c#4 (text+ko) ==== @@ -425,7 +425,7 @@ m_freem(m); } -#ifndef +#if 0 /* * Receive Certification Path Solicitation [rfc3971]. */ ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#9 (text+ko) ==== @@ -5,15 +5,14 @@ #include #include -#include +#include +#include -#include +#include static int X_send_input_hook(void); static int X_send_output_hook(int, struct ifnet *, struct mbuf *, int); - - static int X_send_input_hook(void) { @@ -40,13 +39,17 @@ { int err = 0; + /* Add locking? icmp6.c and nd6.c are maybe using hooks.. */ + switch (type) { case MOD_LOAD: send_output_hook = X_send_output_hook; + send_input_hook = X_send_input_hook; break; case MOD_UNLOAD: send_input_hook = NULL; + send_output_hook = NULL; break; default: ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#9 (text+ko) ==== @@ -1,7 +1,5 @@ /* send.c */ -#if 0 extern int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int); -#endif extern int (*send_input_hook)(void); /* Message formats for messages from ND to applications (sendd) via the @@ -9,7 +7,5 @@ * structure. */ -#if 0 #define RTM_SND_OUT 0 /* outgoing traffic sent to sendd */ #define RTM_SND_IN 1 /* incoming traffic sent to sendd */ -#endif From owner-p4-projects@FreeBSD.ORG Wed Jun 17 12:34:49 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 641931065691; Wed, 17 Jun 2009 12:34:49 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 23E7C1065686 for ; Wed, 17 Jun 2009 12:34:49 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EC81C8FC1C for ; Wed, 17 Jun 2009 12:34:48 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HCYmOT053519 for ; Wed, 17 Jun 2009 12:34:48 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HCYmHA053517 for perforce@freebsd.org; Wed, 17 Jun 2009 12:34:48 GMT (envelope-from jona@FreeBSD.org) Date: Wed, 17 Jun 2009 12:34:48 GMT Message-Id: <200906171234.n5HCYmHA053517@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164573 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 12:34:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=164573 Change 164573 by jona@jona-trustedbsd-kentvm on 2009/06/17 12:34:04 KDE4 includes on FreeBSD are in an unusual place Affected files ... .. //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/CMakeLists.txt#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/CMakeLists.txt#4 (text+ko) ==== @@ -6,6 +6,7 @@ find_package(Qt4 REQUIRED) include(${QT_USE_FILE}) +include_directories(${KDE4_INCLUDES}) set(server_SRC main.cpp kpowerboxserver.cpp) set(server_MOC_HDRS kpowerboxserver.h) From owner-p4-projects@FreeBSD.ORG Wed Jun 17 14:16:34 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7EE2C106568F; Wed, 17 Jun 2009 14:16:34 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3C2871065688 for ; Wed, 17 Jun 2009 14:16:34 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 282938FC1B for ; Wed, 17 Jun 2009 14:16:34 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HEGYqK050594 for ; Wed, 17 Jun 2009 14:16:34 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HEGX3c050592 for perforce@freebsd.org; Wed, 17 Jun 2009 14:16:33 GMT (envelope-from jhb@freebsd.org) Date: Wed, 17 Jun 2009 14:16:33 GMT Message-Id: <200906171416.n5HEGX3c050592@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164580 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 14:16:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=164580 Change 164580 by jhb@jhb_jhbbsd on 2009/06/17 14:15:45 IFC @164577 Affected files ... .. //depot/projects/smpng/share/man/man9/lock.9#2 integrate .. //depot/projects/smpng/share/man/man9/netisr.9#2 integrate .. //depot/projects/smpng/sys/amd64/amd64/msi.c#11 integrate .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#95 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#80 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC.hints#8 integrate .. //depot/projects/smpng/sys/arm/mv/common.c#5 integrate .. //depot/projects/smpng/sys/arm/mv/discovery/db78xxx.c#4 integrate .. //depot/projects/smpng/sys/arm/mv/discovery/discovery.c#4 integrate .. //depot/projects/smpng/sys/arm/mv/kirkwood/db88f6xxx.c#4 integrate .. //depot/projects/smpng/sys/arm/mv/kirkwood/kirkwood.c#4 integrate .. //depot/projects/smpng/sys/arm/mv/mvreg.h#5 integrate .. //depot/projects/smpng/sys/arm/mv/mvwin.h#1 branch .. //depot/projects/smpng/sys/arm/mv/orion/db88f5xxx.c#4 integrate .. //depot/projects/smpng/sys/arm/mv/orion/orion.c#4 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/if_npe.c#14 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425.c#12 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_npe.c#7 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_npereg.h#2 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425var.h#5 integrate .. //depot/projects/smpng/sys/boot/forth/loader.conf#63 integrate .. //depot/projects/smpng/sys/cam/cam.c#9 integrate .. //depot/projects/smpng/sys/cddl/compat/opensolaris/kern/opensolaris.c#4 integrate .. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#3 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#54 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#54 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#54 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#55 integrate .. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#58 integrate .. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#77 integrate .. //depot/projects/smpng/sys/compat/linux/linux_futex.c#13 integrate .. //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#59 integrate .. //depot/projects/smpng/sys/compat/linux/linux_misc.c#100 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_usbd.c#13 integrate .. //depot/projects/smpng/sys/compat/svr4/svr4_stat.c#23 integrate .. //depot/projects/smpng/sys/conf/NOTES#172 integrate .. //depot/projects/smpng/sys/conf/files#244 integrate .. //depot/projects/smpng/sys/conf/options#171 integrate .. //depot/projects/smpng/sys/dev/ata/ata-usb.c#14 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_desc.h#2 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#3 integrate .. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#3 integrate .. //depot/projects/smpng/sys/dev/ath/ath_rate/sample/sample.c#16 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath.c#78 integrate .. //depot/projects/smpng/sys/dev/cas/if_cas.c#1 branch .. //depot/projects/smpng/sys/dev/cas/if_casreg.h#1 branch .. //depot/projects/smpng/sys/dev/cas/if_casvar.h#1 branch .. //depot/projects/smpng/sys/dev/cxgb/cxgb_sge.c#19 integrate .. //depot/projects/smpng/sys/dev/firewire/firewire.c#51 integrate .. //depot/projects/smpng/sys/dev/if_ndis/if_ndis_usb.c#11 integrate .. //depot/projects/smpng/sys/dev/mii/miidevs#36 integrate .. //depot/projects/smpng/sys/dev/mii/nsgphy.c#18 integrate .. //depot/projects/smpng/sys/dev/ofw/ofw_bus_subr.c#3 integrate .. //depot/projects/smpng/sys/dev/ofw/ofw_bus_subr.h#3 integrate .. //depot/projects/smpng/sys/dev/ofw/ofw_disk.c#18 integrate .. //depot/projects/smpng/sys/dev/ofw/ofw_if.m#2 integrate .. //depot/projects/smpng/sys/dev/ofw/ofw_iicbus.c#4 integrate .. //depot/projects/smpng/sys/dev/ofw/ofw_standard.c#4 integrate .. //depot/projects/smpng/sys/dev/ofw/ofwvar.h#2 integrate .. //depot/projects/smpng/sys/dev/ofw/openfirm.c#15 integrate .. //depot/projects/smpng/sys/dev/ofw/openfirm.h#11 integrate .. //depot/projects/smpng/sys/dev/ofw/openfirmio.c#14 integrate .. //depot/projects/smpng/sys/dev/sec/sec.c#2 integrate .. //depot/projects/smpng/sys/dev/sound/pci/hda/hdac.c#34 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/feeder_rate.c#17 integrate .. //depot/projects/smpng/sys/dev/sound/usb/uaudio.c#28 integrate .. //depot/projects/smpng/sys/dev/sound/version.h#3 integrate .. //depot/projects/smpng/sys/dev/syscons/daemon/daemon_saver.c#8 integrate .. //depot/projects/smpng/sys/dev/syscons/scterm-teken.c#6 integrate .. //depot/projects/smpng/sys/dev/syscons/teken/teken.c#7 integrate .. //depot/projects/smpng/sys/dev/tsec/if_tsec.c#5 integrate .. //depot/projects/smpng/sys/dev/tsec/if_tsec.h#4 integrate .. //depot/projects/smpng/sys/dev/uart/uart_cpu_mv.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/controller/at91dci.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/controller/at91dci_atmelarm.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/controller/atmegadci.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/controller/atmegadci_atmelarm.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/controller/avr32dci.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci_ixp4xx.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci_mbus.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ehci_pci.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/controller/musb_otg.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/controller/musb_otg_atmelarm.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ohci.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ohci_atmelarm.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/controller/ohci_pci.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uhci.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uhci_pci.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/controller/usb_controller.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uss820dci.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/controller/uss820dci_atmelarm.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/input/uhid.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/input/ukbd.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/input/ums.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/misc/udbp.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/misc/ufm.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_aue.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_auereg.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_axe.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_axereg.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_cdce.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_cue.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_kue.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_rue.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_ruereg.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_udav.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/net/if_udavreg.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/net/usb_ethernet.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/net/usb_ethernet.h#6 integrate .. //depot/projects/smpng/sys/dev/usb/quirk/usb_quirk.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/quirk/usb_quirk.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/serial/u3g.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uark.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ubsa.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ubser.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uchcom.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ucycom.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ufoma.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uftdi.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ugensa.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uipaq.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/serial/ulpt.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/serial/umct.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/serial/umodem.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/serial/umoscom.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uplcom.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/serial/usb_serial.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/serial/usb_serial.h#4 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uslcom.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uvisor.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/serial/uvscom.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/storage/umass.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/storage/urio.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/storage/ustorage_fs.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/template/usb_template.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/template/usb_template.h#4 integrate .. //depot/projects/smpng/sys/dev/usb/template/usb_template_cdce.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/template/usb_template_msc.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/template/usb_template_mtp.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/usb.h#20 integrate .. //depot/projects/smpng/sys/dev/usb/usb_bus.h#8 integrate .. //depot/projects/smpng/sys/dev/usb/usb_busdma.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_busdma.h#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_compat_linux.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/usb_compat_linux.h#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_controller.h#9 integrate .. //depot/projects/smpng/sys/dev/usb/usb_core.h#12 integrate .. //depot/projects/smpng/sys/dev/usb/usb_debug.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_debug.h#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_defs.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/usb_dev.c#12 integrate .. //depot/projects/smpng/sys/dev/usb/usb_dev.h#9 integrate .. //depot/projects/smpng/sys/dev/usb/usb_device.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/usb_device.h#12 integrate .. //depot/projects/smpng/sys/dev/usb/usb_dynamic.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_dynamic.h#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_endian.h#4 integrate .. //depot/projects/smpng/sys/dev/usb/usb_error.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/usb_error.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_generic.c#11 integrate .. //depot/projects/smpng/sys/dev/usb/usb_generic.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/usb_handle_request.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/usb_handle_request.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_hid.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/usb_hid.h#8 integrate .. //depot/projects/smpng/sys/dev/usb/usb_hub.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/usb_hub.h#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_if.m#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_ioctl.h#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_lookup.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_lookup.h#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_mbuf.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_mbuf.h#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_mfunc.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_msctest.c#6 integrate .. //depot/projects/smpng/sys/dev/usb/usb_msctest.h#4 integrate .. //depot/projects/smpng/sys/dev/usb/usb_parse.c#4 integrate .. //depot/projects/smpng/sys/dev/usb/usb_parse.h#4 integrate .. //depot/projects/smpng/sys/dev/usb/usb_pci.h#2 integrate .. //depot/projects/smpng/sys/dev/usb/usb_process.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_process.h#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_request.c#9 integrate .. //depot/projects/smpng/sys/dev/usb/usb_request.h#8 integrate .. //depot/projects/smpng/sys/dev/usb/usb_revision.h#4 integrate .. //depot/projects/smpng/sys/dev/usb/usb_transfer.c#10 integrate .. //depot/projects/smpng/sys/dev/usb/usb_transfer.h#7 integrate .. //depot/projects/smpng/sys/dev/usb/usb_util.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/usb_util.h#3 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#139 integrate .. //depot/projects/smpng/sys/dev/usb/usbhid.h#8 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_rum.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_uath.c#7 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_upgt.c#5 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_ural.c#8 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_urtw.c#3 integrate .. //depot/projects/smpng/sys/dev/usb/wlan/if_zyd.c#8 integrate .. //depot/projects/smpng/sys/dev/xen/blkfront/blkfront.c#6 integrate .. //depot/projects/smpng/sys/dev/xen/netfront/netfront.c#11 integrate .. //depot/projects/smpng/sys/fs/cd9660/cd9660_lookup.c#4 integrate .. //depot/projects/smpng/sys/fs/nfs/nfsport.h#6 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clstate.c#5 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clvfsops.c#6 integrate .. //depot/projects/smpng/sys/fs/nfsserver/nfs_nfsdstate.c#4 integrate .. //depot/projects/smpng/sys/fs/tmpfs/tmpfs_vnops.c#13 integrate .. //depot/projects/smpng/sys/geom/label/g_label.c#16 integrate .. //depot/projects/smpng/sys/geom/label/g_label.h#9 integrate .. //depot/projects/smpng/sys/geom/label/g_label_gpt.c#1 branch .. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_lookup.c#7 integrate .. //depot/projects/smpng/sys/gnu/fs/ext2fs/ext2_vnops.c#15 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#111 integrate .. //depot/projects/smpng/sys/i386/i386/msi.c#11 integrate .. //depot/projects/smpng/sys/i386/i386/pmap.c#135 integrate .. //depot/projects/smpng/sys/i386/include/cpufunc.h#40 integrate .. //depot/projects/smpng/sys/i386/include/in_cksum.h#10 integrate .. //depot/projects/smpng/sys/i386/include/pmap.h#43 integrate .. //depot/projects/smpng/sys/i386/include/specialreg.h#26 integrate .. //depot/projects/smpng/sys/kern/init_sysent.c#91 integrate .. //depot/projects/smpng/sys/kern/kern_acct.c#57 integrate .. //depot/projects/smpng/sys/kern/kern_descrip.c#127 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#141 integrate .. //depot/projects/smpng/sys/kern/kern_jail.c#72 integrate .. //depot/projects/smpng/sys/kern/kern_lock.c#77 integrate .. //depot/projects/smpng/sys/kern/kern_lockf.c#29 integrate .. //depot/projects/smpng/sys/kern/kern_mib.c#45 integrate .. //depot/projects/smpng/sys/kern/kern_shutdown.c#78 integrate .. //depot/projects/smpng/sys/kern/kern_sysctl.c#65 integrate .. //depot/projects/smpng/sys/kern/kern_vimage.c#8 integrate .. //depot/projects/smpng/sys/kern/syscalls.c#90 integrate .. //depot/projects/smpng/sys/kern/syscalls.master#96 integrate .. //depot/projects/smpng/sys/kern/systrace_args.c#17 integrate .. //depot/projects/smpng/sys/kern/tty.c#94 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#126 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#149 integrate .. //depot/projects/smpng/sys/kgssapi/krb5/krb5_mech.c#2 integrate .. //depot/projects/smpng/sys/mips/adm5120/if_admsw.c#4 integrate .. //depot/projects/smpng/sys/mips/conf/.cvsignore#1 branch .. //depot/projects/smpng/sys/mips/conf/ADM5120#5 integrate .. //depot/projects/smpng/sys/mips/idt/files.idt#2 integrate .. //depot/projects/smpng/sys/mips/idt/idtpci.c#4 integrate .. //depot/projects/smpng/sys/mips/idt/if_kr.c#4 integrate .. //depot/projects/smpng/sys/mips/malta/gt_pci.c#5 integrate .. //depot/projects/smpng/sys/mips/mips/mainbus.c#2 integrate .. //depot/projects/smpng/sys/modules/Makefile#164 integrate .. //depot/projects/smpng/sys/modules/acpi/acpi/Makefile#18 integrate .. //depot/projects/smpng/sys/modules/cas/Makefile#1 branch .. //depot/projects/smpng/sys/modules/if_ppp/Makefile#11 delete .. //depot/projects/smpng/sys/modules/if_sl/Makefile#4 delete .. //depot/projects/smpng/sys/modules/wlan/Makefile#13 integrate .. //depot/projects/smpng/sys/net/flowtable.h#4 integrate .. //depot/projects/smpng/sys/net/if.c#122 integrate .. //depot/projects/smpng/sys/net/if.h#42 integrate .. //depot/projects/smpng/sys/net/if_enc.c#12 integrate .. //depot/projects/smpng/sys/net/if_gre.c#40 integrate .. //depot/projects/smpng/sys/net/if_tun.c#62 integrate .. //depot/projects/smpng/sys/net/if_var.h#66 integrate .. //depot/projects/smpng/sys/net/netisr.c#18 integrate .. //depot/projects/smpng/sys/net/netisr.h#15 integrate .. //depot/projects/smpng/sys/net/pfkeyv2.h#10 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ioctl.h#23 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#26 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#13 integrate .. //depot/projects/smpng/sys/netinet/in_proto.c#34 integrate .. //depot/projects/smpng/sys/netinet/ip_input.c#102 integrate .. //depot/projects/smpng/sys/netinet/ip_output.c#110 integrate .. //depot/projects/smpng/sys/netinet/ip_var.h#42 integrate .. //depot/projects/smpng/sys/netinet/ipfw/ip_dummynet.c#3 integrate .. //depot/projects/smpng/sys/netinet/sctp.h#12 integrate .. //depot/projects/smpng/sys/netinet/sctp_indata.c#25 integrate .. //depot/projects/smpng/sys/netinet/sctp_input.c#26 integrate .. //depot/projects/smpng/sys/netinet/sctp_output.c#30 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#128 integrate .. //depot/projects/smpng/sys/netinet/tcp_output.c#62 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#115 integrate .. //depot/projects/smpng/sys/netinet/tcp_timer.c#47 integrate .. //depot/projects/smpng/sys/netinet/tcp_usrreq.c#79 integrate .. //depot/projects/smpng/sys/netinet/tcp_var.h#70 integrate .. //depot/projects/smpng/sys/netinet/udp.h#5 integrate .. //depot/projects/smpng/sys/netinet/udp_usrreq.c#94 integrate .. //depot/projects/smpng/sys/netinet/udp_var.h#15 integrate .. //depot/projects/smpng/sys/netinet6/icmp6.c#56 integrate .. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#36 integrate .. //depot/projects/smpng/sys/netipsec/ipsec_input.c#21 integrate .. //depot/projects/smpng/sys/netipsec/ipsec_output.c#19 integrate .. //depot/projects/smpng/sys/netipsec/key.c#37 integrate .. //depot/projects/smpng/sys/netipsec/key.h#7 integrate .. //depot/projects/smpng/sys/netipsec/keydb.h#7 integrate .. //depot/projects/smpng/sys/netipsec/xform_tcp.c#7 integrate .. //depot/projects/smpng/sys/nfsclient/bootp_subr.c#43 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vfsops.c#73 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#89 integrate .. //depot/projects/smpng/sys/nfsserver/nfs_srvkrpc.c#8 integrate .. //depot/projects/smpng/sys/nlm/nlm_advlock.c#7 integrate .. //depot/projects/smpng/sys/powerpc/booke/pmap.c#12 integrate .. //depot/projects/smpng/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#2 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#95 integrate .. //depot/projects/smpng/sys/sys/jail.h#28 integrate .. //depot/projects/smpng/sys/sys/lockmgr.h#28 integrate .. //depot/projects/smpng/sys/sys/mbuf.h#83 integrate .. //depot/projects/smpng/sys/sys/param.h#148 integrate .. //depot/projects/smpng/sys/sys/priv.h#20 integrate .. //depot/projects/smpng/sys/sys/sockio.h#15 integrate .. //depot/projects/smpng/sys/sys/syscall.h#89 integrate .. //depot/projects/smpng/sys/sys/syscall.mk#89 integrate .. //depot/projects/smpng/sys/sys/sysctl.h#59 integrate .. //depot/projects/smpng/sys/sys/sysproto.h#93 integrate .. //depot/projects/smpng/sys/sys/vimage.h#15 integrate .. //depot/projects/smpng/sys/tools/sound/feeder_rate_mkfilter.awk#2 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_lookup.c#36 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_vnops.c#77 integrate .. //depot/projects/smpng/sys/vm/phys_pager.c#18 integrate .. //depot/projects/smpng/sys/vm/vm_object.c#108 integrate .. //depot/projects/smpng/sys/vm/vm_object.h#37 integrate Differences ... ==== //depot/projects/smpng/share/man/man9/lock.9#2 (text+ko) ==== @@ -24,9 +24,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/lock.9,v 1.34 2009/02/05 15:09:04 attilio Exp $ +.\" $FreeBSD: src/share/man/man9/lock.9,v 1.35 2009/06/17 01:55:42 attilio Exp $ .\" -.Dd February 05, 2009 +.Dd June 16, 2009 .Dt LOCK 9 .Os .Sh NAME @@ -96,6 +96,9 @@ .It Fa flags The flags the lock is to be initialized with: .Bl -tag -width ".Dv LK_CANRECURSE" +.It Dv LK_ADAPTIVE +Enable adaptive spinning for this lock if the kernel is compiled with the +ADAPTIVE_LOCKMGRS option. .It Dv LK_CANRECURSE Allow recursive exclusive locks. .It Dv LK_NOPROFILE ==== //depot/projects/smpng/share/man/man9/netisr.9#2 (text+ko) ==== @@ -25,9 +25,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/netisr.9,v 1.1 2009/06/07 21:32:01 rwatson Exp $ +.\" $FreeBSD: src/share/man/man9/netisr.9,v 1.3 2009/06/14 17:15:18 bz Exp $ .\" -.Dd June 7, 2009 +.Dd June 14, 2009 .Dt NETISR 9 .Os .Sh NAME @@ -51,8 +51,7 @@ .Fn netisr_clearqdrops "const struct netisr_handler *nhp" .Ft void .Fn netisr_getqdrops "const struct netisr_handler *nhp" "u_int64_t *qdropsp" -.Ft -void +.Ft void .Fn netisr_getqlimit "const struct netisr_handler *nhp" "u_int *qlimitp" .Ft int .Fn netisr_setqlimit "const struct netisr_handler *nhp" "u_int qlimit" @@ -138,6 +137,13 @@ Protocol function to determine what CPU a packet should be processed on. Will be used only with .Dv NETISR_POLICY_CPU . +.It Vt netisr_drainedcpu_t Va nh_drainedcpu +Optional callback function that will be invoked when a per-CPU queue +was drained. +It will never fire for directly dispatched packets. +Unless fully understood, this special-purpose function should not be used. +.\" In case you intend to use this please send 50 chocolate bars to each +.\" of rwatson and bz and wait for an answer. .It Vt u_int Va nh_proto Protocol number used by both protocols to identify themselves to .Nm , ==== //depot/projects/smpng/sys/amd64/amd64/msi.c#11 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.10 2009/01/29 09:22:56 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.11 2009/06/15 13:47:49 mav Exp $"); #include #include @@ -210,6 +210,8 @@ old_id = msi->msi_cpu; if (old_vector && old_id == apic_id) return; + if (old_vector && !msi->msi_msix && msi->msi_first->msi_count > 1) + return; /* Allocate IDT vector on this cpu. */ vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) ==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#95 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.660 2009/06/08 18:23:43 ed Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.661 2009/06/14 19:51:43 alc Exp $"); /* * Manages physical address maps. @@ -3322,78 +3322,74 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) { - vm_offset_t va; + pd_entry_t *pde; + vm_paddr_t pa, ptepa; vm_page_t p, pdpg; VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); KASSERT(object->type == OBJT_DEVICE, ("pmap_object_init_pt: non-device object")); - if (((addr & (NBPDR - 1)) == 0) && ((size & (NBPDR - 1)) == 0)) { - vm_page_t m[1]; - pd_entry_t ptepa, *pde; - - PMAP_LOCK(pmap); - pde = pmap_pde(pmap, addr); - if (pde != 0 && (*pde & PG_V) != 0) - goto out; - PMAP_UNLOCK(pmap); -retry: + if ((addr & (NBPDR - 1)) == 0 && (size & (NBPDR - 1)) == 0) { + if (!vm_object_populate(object, pindex, pindex + atop(size))) + return; p = vm_page_lookup(object, pindex); - if (p != NULL) { - if (vm_page_sleep_if_busy(p, FALSE, "init4p")) - goto retry; - } else { - p = vm_page_alloc(object, pindex, VM_ALLOC_NORMAL); - if (p == NULL) - return; - m[0] = p; + KASSERT(p->valid == VM_PAGE_BITS_ALL, + ("pmap_object_init_pt: invalid page %p", p)); - if (vm_pager_get_pages(object, m, 1, 0) != VM_PAGER_OK) { - vm_page_lock_queues(); - vm_page_free(p); - vm_page_unlock_queues(); - return; - } - - p = vm_page_lookup(object, pindex); - vm_page_wakeup(p); - } - + /* + * Abort the mapping if the first page is not physically + * aligned to a 2MB page boundary. + */ ptepa = VM_PAGE_TO_PHYS(p); if (ptepa & (NBPDR - 1)) return; - p->valid = VM_PAGE_BITS_ALL; + /* + * Skip the first page. Abort the mapping if the rest of + * the pages are not physically contiguous. + */ + p = TAILQ_NEXT(p, listq); + for (pa = ptepa + PAGE_SIZE; pa < ptepa + size; + pa += PAGE_SIZE) { + KASSERT(p->valid == VM_PAGE_BITS_ALL, + ("pmap_object_init_pt: invalid page %p", p)); + if (pa != VM_PAGE_TO_PHYS(p)) + return; + p = TAILQ_NEXT(p, listq); + } + /* Map using 2MB pages. */ PMAP_LOCK(pmap); - for (va = addr; va < addr + size; va += NBPDR) { - while ((pdpg = - pmap_allocpde(pmap, va, M_NOWAIT)) == NULL) { - PMAP_UNLOCK(pmap); - vm_page_busy(p); - VM_OBJECT_UNLOCK(object); - VM_WAIT; - VM_OBJECT_LOCK(object); - vm_page_wakeup(p); - PMAP_LOCK(pmap); + for (pa = ptepa; pa < ptepa + size; pa += NBPDR) { + pdpg = pmap_allocpde(pmap, addr, M_NOWAIT); + if (pdpg == NULL) { + /* + * The creation of mappings below is only an + * optimization. If a page directory page + * cannot be allocated without blocking, + * continue on to the next mapping rather than + * blocking. + */ + addr += NBPDR; + continue; } pde = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg)); - pde = &pde[pmap_pde_index(va)]; + pde = &pde[pmap_pde_index(addr)]; if ((*pde & PG_V) == 0) { - pde_store(pde, ptepa | PG_PS | PG_M | PG_A | + pde_store(pde, pa | PG_PS | PG_M | PG_A | PG_U | PG_RW | PG_V); - pmap->pm_stats.resident_count += - NBPDR / PAGE_SIZE; + pmap->pm_stats.resident_count += NBPDR / + PAGE_SIZE; + pmap_pde_mappings++; } else { + /* Continue on if the PDE is already valid. */ pdpg->wire_count--; KASSERT(pdpg->wire_count > 0, ("pmap_object_init_pt: missing reference " - "to page directory page, va: 0x%lx", va)); + "to page directory page, va: 0x%lx", addr)); } - ptepa += NBPDR; + addr += NBPDR; } - pmap_invalidate_all(pmap); -out: PMAP_UNLOCK(pmap); } } ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#80 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.528 2009/06/10 02:07:58 yongari Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.529 2009/06/14 18:01:35 ed Exp $ cpu HAMMER ident GENERIC @@ -66,6 +66,7 @@ options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev options STOP_NMI # Stop CPUS using NMI instead of IPI options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) ==== //depot/projects/smpng/sys/amd64/conf/GENERIC.hints#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.20 2009/05/14 21:53:35 jhb Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.21 2009/06/15 21:55:29 ps Exp $ hint.fdc.0.at="isa" hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" @@ -24,3 +24,6 @@ hint.uart.1.irq="3" hint.ppc.0.at="isa" hint.ppc.0.irq="7" +hint.atrtc.0.at="isa" +hint.atrtc.0.port="0x70" +hint.atrtc.0.irq="8" ==== //depot/projects/smpng/sys/arm/mv/common.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/common.c,v 1.6 2009/04/16 11:20:18 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/common.c,v 1.7 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -39,6 +39,7 @@ #include #include +#include static int win_eth_can_remap(int i); ==== //depot/projects/smpng/sys/arm/mv/discovery/db78xxx.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/db78xxx.c,v 1.3 2009/01/08 18:31:43 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/db78xxx.c,v 1.4 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -47,6 +47,7 @@ #include #include +#include /* * Virtual address space layout: ==== //depot/projects/smpng/sys/arm/mv/discovery/discovery.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/discovery.c,v 1.4 2009/01/08 18:31:43 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/discovery.c,v 1.5 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -40,6 +40,7 @@ #include #include +#include #define _MV_PCIE_MAX_PORT 8 ==== //depot/projects/smpng/sys/arm/mv/kirkwood/db88f6xxx.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/db88f6xxx.c,v 1.3 2009/01/08 18:31:43 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/db88f6xxx.c,v 1.4 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -47,6 +47,7 @@ #include #include +#include /* * Virtual address space layout: ==== //depot/projects/smpng/sys/arm/mv/kirkwood/kirkwood.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/kirkwood.c,v 1.4 2009/01/08 18:31:43 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/kirkwood.c,v 1.5 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -40,6 +40,7 @@ #include #include +#include struct obio_device obio_devices[] = { { "ic", MV_IC_BASE, MV_IC_SIZE, ==== //depot/projects/smpng/sys/arm/mv/mvreg.h#5 (text+ko) ==== @@ -28,126 +28,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/mv/mvreg.h,v 1.5 2009/04/16 11:20:18 raj Exp $ + * $FreeBSD: src/sys/arm/mv/mvreg.h,v 1.6 2009/06/12 20:00:38 marcel Exp $ */ #ifndef _MVREG_H_ #define _MVREG_H_ -#include - -/* - * Physical addresses of integrated SoC peripherals - */ -#define MV_PHYS_BASE 0xF1000000 -#define MV_SIZE 0x100000 - -/* - * Decode windows addresses (physical) - */ -#define MV_PCIE_IO_PHYS_BASE (MV_PHYS_BASE + MV_SIZE) -#define MV_PCIE_IO_BASE MV_PCIE_IO_PHYS_BASE -#define MV_PCIE_IO_SIZE (1024 * 1024) -#define MV_PCI_IO_PHYS_BASE (MV_PCIE_IO_PHYS_BASE + MV_PCIE_IO_SIZE) -#define MV_PCI_IO_BASE MV_PCI_IO_PHYS_BASE -#define MV_PCI_IO_SIZE (1024 * 1024) - -#define MV_PCIE_MEM_PHYS_BASE (MV_PCI_IO_PHYS_BASE + MV_PCI_IO_SIZE) -#define MV_PCIE_MEM_BASE MV_PCIE_MEM_PHYS_BASE -#define MV_PCIE_MEM_SIZE (64 * 1024 * 1024) -#define MV_PCI_MEM_PHYS_BASE (MV_PCIE_MEM_PHYS_BASE + MV_PCIE_MEM_SIZE) -#define MV_PCI_MEM_BASE MV_PCI_MEM_PHYS_BASE -#define MV_PCI_MEM_SIZE (64 * 1024 * 1024) - -/* XXX DEV_BOOT, CSx are board specific, should be defined per platform */ - -/* 512KB NOR FLASH */ -#define MV_DEV_BOOT_PHYS_BASE (MV_PCI_MEM_PHYS_BASE + MV_PCI_MEM_SIZE) -#define MV_DEV_BOOT_SIZE (512 * 1024) -/* CS0: 7-seg LED */ -#define MV_DEV_CS0_PHYS_BASE 0xFA000000 -#define MV_DEV_CS0_SIZE (1024 * 1024) /* XXX u-boot has 2MB */ -/* CS1: 32MB NOR FLASH */ -#define MV_DEV_CS1_PHYS_BASE (MV_DEV_CS0_PHYS_BASE + MV_DEV_CS0_SIZE) -#define MV_DEV_CS1_SIZE (32 * 1024 * 1024) -/* CS2: 32MB NAND FLASH */ -#define MV_DEV_CS2_PHYS_BASE (MV_DEV_CS1_PHYS_BASE + MV_DEV_CS1_SIZE) -#define MV_DEV_CS2_SIZE 1024 /* XXX u-boot has 1MB */ - -#define MV_CESA_SRAM_PHYS_BASE 0xFD000000 -#define MV_CESA_SRAM_BASE MV_CESA_SRAM_PHYS_BASE /* VA == PA mapping */ -#define MV_CESA_SRAM_SIZE (1024 * 1024) - -/* XXX this is probably not robust against wraparounds... */ -#if ((MV_CESA_SRAM_PHYS_BASE + MV_CESA_SRAM_SIZE) > 0xFFFEFFFF) -#error Devices memory layout overlaps reset vectors range! -#endif - -/* - * Integrated SoC peripherals addresses - */ -#define MV_BASE MV_PHYS_BASE /* VA == PA mapping */ -#define MV_DDR_CADR_BASE (MV_BASE + 0x1500) -#define MV_MPP_BASE (MV_BASE + 0x10000) -#define MV_GPIO_BASE (MV_BASE + 0x10100) -#define MV_GPIO_SIZE 0x20 -#define MV_RTC_BASE (MV_BASE + 0x10300) -#define MV_RTC_SIZE 0x08 -#define MV_TWSI_BASE (MV_BASE + 0x11000) -#define MV_TWSI_SIZE 0x20 -#define MV_UART0_BASE (MV_BASE + 0x12000) -#define MV_UART1_BASE (MV_BASE + 0x12100) -#define MV_UART_SIZE 0x20 -#define MV_MBUS_BRIDGE_BASE (MV_BASE + 0x20000) -#define MV_INTREGS_BASE (MV_MBUS_BRIDGE_BASE + 0x80) -#define MV_CPU_CONTROL_BASE (MV_MBUS_BRIDGE_BASE + 0x100) -#define MV_IC_BASE (MV_MBUS_BRIDGE_BASE + 0x200) -#define MV_IC_SIZE 0x3C -#define MV_TIMERS_BASE (MV_MBUS_BRIDGE_BASE + 0x300) -#define MV_TIMERS_SIZE 0x30 -#define MV_PCI_BASE (MV_BASE + 0x30000) -#define MV_PCI_SIZE 0x2000 -#if defined (SOC_MV_KIRKWOOD) -#define MV_CESA_BASE (MV_BASE + 0x30000) /* CESA,PCI don't coexist */ -#elif defined (SOC_MV_ORION) || defined(SOC_MV_DISCOVERY) -#define MV_CESA_BASE (MV_BASE + 0x90000) -#endif -#define MV_CESA_SIZE 0x10000 -#define MV_PCIE_BASE (MV_BASE + 0x40000) -#define MV_PCIE_SIZE 0x2000 - -#define MV_PCIE00_BASE (MV_PCIE_BASE + 0x00000) -#define MV_PCIE01_BASE (MV_PCIE_BASE + 0x04000) -#define MV_PCIE02_BASE (MV_PCIE_BASE + 0x08000) -#define MV_PCIE03_BASE (MV_PCIE_BASE + 0x0C000) -#define MV_PCIE10_BASE (MV_PCIE_BASE + 0x40000) -#define MV_PCIE11_BASE (MV_PCIE_BASE + 0x44000) -#define MV_PCIE12_BASE (MV_PCIE_BASE + 0x48000) -#define MV_PCIE13_BASE (MV_PCIE_BASE + 0x4C000) - -#define MV_USB0_BASE (MV_BASE + 0x50000) -#define MV_USB1_BASE (MV_USB0_BASE + 0x1000) -#define MV_USB2_BASE (MV_USB0_BASE + 0x2000) -#define MV_USB_SIZE 0x1000 -#define MV_USB_HOST_OFST 0x0100 /* EHCI HC regs start at this offset within USB range */ -#define MV_USB_AWR_BASE (MV_USB0_BASE + 0x320) -#define MV_IDMA_BASE (MV_BASE + 0x60000) -#define MV_IDMA_SIZE 0x1000 -#define MV_XOR_BASE (MV_BASE + 0x60000) -#define MV_XOR_SIZE 0x1000 -#define MV_ETH0_BASE (MV_BASE + 0x72000) -#define MV_ETH1_BASE (MV_BASE + 0x76000) -#define MV_ETH_SIZE 0x2000 -#if defined(SOC_MV_ORION) || defined(SOC_MV_KIRKWOOD) -#define MV_SATAHC_BASE (MV_BASE + 0x80000) -#define MV_SATAHC_SIZE 0x6000 -#elif defined(SOC_MV_DISCOVERY) -#define MV_SATAHC_BASE (MV_BASE + 0xA0000) -#define MV_SATAHC_SIZE 0x6000 -#endif - -#define MV_DEV_CS0_BASE MV_DEV_CS0_PHYS_BASE - /* * Interrupt sources */ @@ -478,135 +364,4 @@ #define MV_DEV_MV78100_Z0 0x6381 #define MV_DEV_MV78100 0x7810 -/* - * Decode windows definitions and macros - */ -#define MV_WIN_CPU_CTRL(n) (0x10 * (n) + (((n) < 8) ? 0x000 : 0x880)) -#define MV_WIN_CPU_BASE(n) (0x10 * (n) + (((n) < 8) ? 0x004 : 0x884)) -#define MV_WIN_CPU_REMAP_LO(n) (0x10 * (n) + (((n) < 8) ? 0x008 : 0x888)) -#define MV_WIN_CPU_REMAP_HI(n) (0x10 * (n) + (((n) < 8) ? 0x00C : 0x88C)) -#if defined(SOC_MV_DISCOVERY) -#define MV_WIN_CPU_MAX 14 -#else -#define MV_WIN_CPU_MAX 8 -#endif - -#define MV_WIN_DDR_BASE(n) (0x8 * (n) + 0x0) -#define MV_WIN_DDR_SIZE(n) (0x8 * (n) + 0x4) -#define MV_WIN_DDR_MAX 4 - -#define MV_WIN_CESA_CTRL(n) (0x8 * (n) + 0xa04) -#define MV_WIN_CESA_BASE(n) (0x8 * (n) + 0xa00) -#define MV_WIN_CESA_MAX 4 - -#define MV_WIN_USB_CTRL(n, m) (0x10 * (n) + (m) * 0x1000 + 0x0) -#define MV_WIN_USB_BASE(n, m) (0x10 * (n) + (m) * 0x1000 + 0x4) -#define MV_WIN_USB_MAX 4 - -#define MV_WIN_ETH_BASE(n) (0x8 * (n) + 0x200) -#define MV_WIN_ETH_SIZE(n) (0x8 * (n) + 0x204) -#define MV_WIN_ETH_REMAP(n) (0x4 * (n) + 0x280) -#define MV_WIN_ETH_MAX 6 - -#define MV_WIN_IDMA_BASE(n) (0x8 * (n) + 0xa00) -#define MV_WIN_IDMA_SIZE(n) (0x8 * (n) + 0xa04) -#define MV_WIN_IDMA_REMAP(n) (0x4 * (n) + 0xa60) -#define MV_WIN_IDMA_CAP(n) (0x4 * (n) + 0xa70) -#define MV_WIN_IDMA_MAX 8 -#define MV_IDMA_CHAN_MAX 4 - -#define MV_WIN_XOR_BASE(n, m) (0x4 * (n) + 0xa50 + (m) * 0x100) -#define MV_WIN_XOR_SIZE(n, m) (0x4 * (n) + 0xa70 + (m) * 0x100) -#define MV_WIN_XOR_REMAP(n, m) (0x4 * (n) + 0xa90 + (m) * 0x100) -#define MV_WIN_XOR_CTRL(n, m) (0x4 * (n) + 0xa40 + (m) * 0x100) -#define MV_WIN_XOR_OVERR(n, m) (0x4 * (n) + 0xaa0 + (m) * 0x100) -#define MV_WIN_XOR_MAX 8 -#define MV_XOR_CHAN_MAX 2 -#define MV_XOR_NON_REMAP 4 - -#define MV_WIN_PCIE_CTRL(n) (0x10 * (((n) < 5) ? (n) : \ - (n) + 1) + 0x1820) -#define MV_WIN_PCIE_BASE(n) (0x10 * (((n) < 5) ? (n) : \ - (n) + 1) + 0x1824) -#define MV_WIN_PCIE_REMAP(n) (0x10 * (((n) < 5) ? (n) : \ - (n) + 1) + 0x182C) -#define MV_WIN_PCIE_MAX 6 - -#define MV_PCIE_BAR(n) (0x04 * (n) + 0x1804) -#define MV_PCIE_BAR_MAX 3 - -#define MV_WIN_SATA_CTRL(n) (0x10 * (n) + 0x30) -#define MV_WIN_SATA_BASE(n) (0x10 * (n) + 0x34) -#define MV_WIN_SATA_MAX 4 - -#define WIN_REG_IDX_RD(pre,reg,off,base) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(int i) \ - { \ - return (bus_space_read_4(obio_tag, base, off(i))); \ - } - -#define WIN_REG_IDX_RD2(pre,reg,off,base) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(int i, int j) \ - { \ - return (bus_space_read_4(obio_tag, base, off(i, j))); \ - } \ - -#define WIN_REG_BASE_IDX_RD(pre,reg,off) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(uint32_t base, int i) \ - { \ - return (bus_space_read_4(obio_tag, base, off(i))); \ - } - -#define WIN_REG_IDX_WR(pre,reg,off,base) \ - static __inline void \ - pre ## _ ## reg ## _write(int i, uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off(i), val); \ - } - -#define WIN_REG_IDX_WR2(pre,reg,off,base) \ - static __inline void \ - pre ## _ ## reg ## _write(int i, int j, uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off(i, j), val); \ - } - -#define WIN_REG_BASE_IDX_WR(pre,reg,off) \ - static __inline void \ - pre ## _ ## reg ## _write(uint32_t base, int i, uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off(i), val); \ - } - -#define WIN_REG_RD(pre,reg,off,base) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(void) \ - { \ - return (bus_space_read_4(obio_tag, base, off)); \ - } - -#define WIN_REG_BASE_RD(pre,reg,off) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(uint32_t base) \ - { \ - return (bus_space_read_4(obio_tag, base, off)); \ - } - -#define WIN_REG_WR(pre,reg,off,base) \ - static __inline void \ - pre ## _ ## reg ## _write(uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off, val); \ - } - -#define WIN_REG_BASE_WR(pre,reg,off) \ - static __inline void \ - pre ## _ ## reg ## _write(uint32_t base, uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off, val); \ - } - #endif /* _MVREG_H_ */ ==== //depot/projects/smpng/sys/arm/mv/orion/db88f5xxx.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/orion/db88f5xxx.c,v 1.4 2009/01/09 10:20:51 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/orion/db88f5xxx.c,v 1.5 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -41,12 +41,14 @@ #include #include +#include #include #include #include #include #include +#include /* * Virtual address space layout: ==== //depot/projects/smpng/sys/arm/mv/orion/orion.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/orion/orion.c,v 1.5 2009/01/09 10:20:51 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/orion/orion.c,v 1.6 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -40,6 +40,7 @@ #include #include +#include extern const struct obio_pci_irq_map pci_irq_map[]; ==== //depot/projects/smpng/sys/arm/xscale/ixp425/if_npe.c#14 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.18 2009/06/11 17:05:13 avg Exp $"); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jun 17 14:16:35 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F02C106579E; Wed, 17 Jun 2009 14:16:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 845391065690 for ; Wed, 17 Jun 2009 14:16:34 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 709678FC21 for ; Wed, 17 Jun 2009 14:16:34 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HEGYpq050604 for ; Wed, 17 Jun 2009 14:16:34 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HEGY2Q050602 for perforce@freebsd.org; Wed, 17 Jun 2009 14:16:34 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 14:16:34 GMT Message-Id: <200906171416.n5HEGY2Q050602@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164582 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 14:16:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=164582 Change 164582 by rwatson@rwatson_freebsd_capabilities on 2009/06/17 14:16:06 Simplify. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc/Makefile#2 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc/fdrpc.c#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc/Makefile#2 (text+ko) ==== ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc/fdrpc.c#3 (text+ko) ==== @@ -45,6 +45,11 @@ #include #include +/* + * This test program creates a sandbox, passes it a file descriptor by RPC, + * and then expects it back in the reply. + */ + #define FDRPC_SANDBOX "./fdrpc" int @@ -64,10 +69,7 @@ &lcsp) < 0) err(-1, "lch_start %s", FDRPC_SANDBOX); - /* - * Send a file descriptor to the sandbox, then get it back. - */ - ch = 'X'; + ch = 'X'; /* RPC data. */ fdcount = 1; fd_send = STDIN_FILENO; iov.iov_base = &ch; @@ -89,7 +91,7 @@ int cap_main(int argc, char *argv[]) { - int fdarray[2], fdcount; + int fd, fdcount; struct lc_host *lchp; struct iovec iov; uint32_t opno, seqno; @@ -100,23 +102,24 @@ err(-1, "lcs_get"); while (1) { - fdcount = 2; - + fdcount = 1; if (lcs_recvrpc_rights(lchp, &opno, &seqno, &buffer, &len, - fdarray, &fdcount) < 0) { + &fd, &fdcount) < 0) { if (errno == EPIPE) exit(-1); else err(-1, "lcs_recvrpc_rights"); } + if (opno != 0) + errx(-1, "lcs_recvrpc_rights: opno %d", opno); if (fdcount != 1) errx(-1, "lcs_recvrpc_rights: fdcount %d", fdcount); iov.iov_len = len; iov.iov_base = buffer; - if (lcs_sendrpc_rights(lchp, opno, seqno, &iov, 1, fdarray, + if (lcs_sendrpc_rights(lchp, opno, seqno, &iov, 1, &fd, fdcount) < 0) err(-1, "lcs_sendrpc_rights"); - close(fdarray[0]); + close(fd); free(buffer); } } From owner-p4-projects@FreeBSD.ORG Wed Jun 17 14:20:39 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 33587106566B; Wed, 17 Jun 2009 14:20:39 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E7C191065675 for ; Wed, 17 Jun 2009 14:20:38 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D4AF18FC0C for ; Wed, 17 Jun 2009 14:20:38 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HEKcB8078613 for ; Wed, 17 Jun 2009 14:20:38 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HEKc3O078611 for perforce@freebsd.org; Wed, 17 Jun 2009 14:20:38 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 14:20:38 GMT Message-Id: <200906171420.n5HEKc3O078611@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164584 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 14:20:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=164584 Change 164584 by rwatson@rwatson_freebsd_capabilities on 2009/06/17 14:20:16 Mention rtld-elf interactions of libcapability. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.3#21 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.3#21 (text+ko) ==== @@ -55,6 +55,11 @@ .Nm will use one or both of "host" and "sandbox" APIs, depending on whether they consume or produce sandboxed services. +.Nm +will start sandboxed components using a sandbox-specific run-time linker, +.Xr rtld-elf-cap 1 , +rather than the standard +.Xr rtld-elf 1 . .Pp Host processes use the .Nm @@ -67,7 +72,6 @@ to communication with the sandboxed service based on socket I/O or remote procedure call (RPC). .Pp -.Pp Sandbox processes run in capability mode, and are only able to use resources either assigned to the sandbox during creation, or later explicitly passed to the process. @@ -89,6 +93,8 @@ with the requested rights mask. .Sh SEE ALSO .Xr rpcgen 1 , +.Xr rtld-elf 1 , +.Xr rtld-elf-cap 1 , .Xr cap_enter 2 , .Xr cap_new 2 , .Xr close 2 , From owner-p4-projects@FreeBSD.ORG Wed Jun 17 14:22:41 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9D88A106567A; Wed, 17 Jun 2009 14:22:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 599E41065670 for ; Wed, 17 Jun 2009 14:22:41 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 466318FC15 for ; Wed, 17 Jun 2009 14:22:41 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HEMf0M093502 for ; Wed, 17 Jun 2009 14:22:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HEMf8e093496 for perforce@freebsd.org; Wed, 17 Jun 2009 14:22:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 14:22:41 GMT Message-Id: <200906171422.n5HEMf8e093496@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164585 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 14:22:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=164585 Change 164585 by rwatson@rwatson_freebsd_capabilities on 2009/06/17 14:21:44 Before looking for the sandbox environmental variable, check that the run-time linker is running in sandbox mode. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.c#8 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.c#8 (text+ko) ==== @@ -63,6 +63,11 @@ return (0); } + if (!ld_insandbox()) { + errno = EINVAL; + return (-1); + } + env = getenv(LIBCAPABILITY_SANDBOX_API_ENV); if (env == NULL) { errno = EINVAL; /* XXXRW: Better errno? */ From owner-p4-projects@FreeBSD.ORG Wed Jun 17 14:30:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 089A51065670; Wed, 17 Jun 2009 14:30:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BAF81106566B for ; Wed, 17 Jun 2009 14:30:49 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A7C578FC25 for ; Wed, 17 Jun 2009 14:30:49 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HEUn2Y053798 for ; Wed, 17 Jun 2009 14:30:49 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HEUnIx053787 for perforce@freebsd.org; Wed, 17 Jun 2009 14:30:49 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 14:30:49 GMT Message-Id: <200906171430.n5HEUnIx053787@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164586 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 14:30:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=164586 Change 164586 by rwatson@rwatson_freebsd_capabilities on 2009/06/17 14:30:45 Fix mdoc. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/rtld-elf-cap.1#6 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/rtld-elf-cap.1#6 (text+ko) ==== @@ -64,7 +64,8 @@ when in sandbox mode. This makes it easy a single binary to select different behavior when run in the different environments. -.It Interprets the +.It +Interprets the .Dv LD_CAPLIBINDEX environmental variable set by sandbox start touines, and implements .Fn ld_capibindex_lookup , From owner-p4-projects@FreeBSD.ORG Wed Jun 17 15:43:05 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8545D106566C; Wed, 17 Jun 2009 15:43:05 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 45E73106564A for ; Wed, 17 Jun 2009 15:43:05 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 32DAD8FC24 for ; Wed, 17 Jun 2009 15:43:05 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HFh50c088480 for ; Wed, 17 Jun 2009 15:43:05 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HFh5jg088470 for perforce@freebsd.org; Wed, 17 Jun 2009 15:43:05 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 15:43:05 GMT Message-Id: <200906171543.n5HFh5jg088470@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164592 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 15:43:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=164592 Change 164592 by rwatson@rwatson_fledge on 2009/06/17 15:42:07 Update sys_capability.c comments. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#25 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#25 (text+ko) ==== @@ -36,21 +36,21 @@ * * Each capability is represented as a file descriptor, but unlike * traditional file descriptors, capabilities include a fine-grained and - * monotonically decreasing mask of rights associated with them. + * constant mask of rights associated with them. * - * Capabilities wrap other actual object file descriptors, forwarding the - * implementation of operations to underlying object if they are permitted by - * the mask. When one capability is created from another, rather than - * nesting, we directly reference the underlying object but with a new mask, - * rather than referencing the previous capability. + * Capabilities wrap other actual object file descriptors -- system calls + * declare the rights they require when looking up file descriptors. * - * XXXRW: See the global TODO for things that need to be done. + * When one capability is created from another, rather than nesting, we + * directly reference the underlying object but with a new mask, rather than + * referencing the previous capability. New capabilities will have the same + * set or a subset of rights of the capability they are derived from. */ #include "opt_capabilities.h" #include -__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#24 $"); +__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#25 $"); #include #include From owner-p4-projects@FreeBSD.ORG Wed Jun 17 15:53:23 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5735E1065673; Wed, 17 Jun 2009 15:53:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1132B1065670 for ; Wed, 17 Jun 2009 15:53:23 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F22808FC15 for ; Wed, 17 Jun 2009 15:53:22 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HFrM0v060093 for ; Wed, 17 Jun 2009 15:53:22 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HFrMsG060083 for perforce@freebsd.org; Wed, 17 Jun 2009 15:53:22 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 15:53:22 GMT Message-Id: <200906171553.n5HFrMsG060083@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164594 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 15:53:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=164594 Change 164594 by rwatson@rwatson_fledge on 2009/06/17 15:53:00 Syntax fixes. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#6 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.3#6 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#6 (text+ko) ==== @@ -92,7 +92,7 @@ General information on .Nm may be found in -.Xr libcapability 3. +.Xr libcapability 3 . Information on the sandbox API may be found in .Xr libcapability_sandbox 3 . .Sh HOST API ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_sandbox.3#6 (text+ko) ==== @@ -82,7 +82,7 @@ General information on .Nm may be found in -.Xr libcapability 3. +.Xr libcapability 3 . .Sh SANDBOX API The .Nm From owner-p4-projects@FreeBSD.ORG Wed Jun 17 15:59:29 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A18831065676; Wed, 17 Jun 2009 15:59:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 60D3B1065675 for ; Wed, 17 Jun 2009 15:59:29 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4E1238FC13 for ; Wed, 17 Jun 2009 15:59:29 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HFxTLF006299 for ; Wed, 17 Jun 2009 15:59:29 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HFxTYH006294 for perforce@freebsd.org; Wed, 17 Jun 2009 15:59:29 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 17 Jun 2009 15:59:29 GMT Message-Id: <200906171559.n5HFxTYH006294@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164595 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 15:59:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=164595 Change 164595 by rwatson@rwatson_fledge on 2009/06/17 15:58:36 Syntax fix. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#7 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#7 (text+ko) ==== @@ -186,7 +186,7 @@ Callers to .Fn lch_send_rights will pass in the number of file descriptors in the array via -Va fdcount . +.Va fdcount . .Pp .Fn lch_rpc provides a simple synchronous RPC facility, and is intended to be used in From owner-p4-projects@FreeBSD.ORG Wed Jun 17 18:23:06 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD436106567D; Wed, 17 Jun 2009 18:23:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8739A1065676 for ; Wed, 17 Jun 2009 18:23:05 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 736FE8FC24 for ; Wed, 17 Jun 2009 18:23:05 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HIN5xt067678 for ; Wed, 17 Jun 2009 18:23:05 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HIN5xq067665 for perforce@freebsd.org; Wed, 17 Jun 2009 18:23:05 GMT (envelope-from rene@FreeBSD.org) Date: Wed, 17 Jun 2009 18:23:05 GMT Message-Id: <200906171823.n5HIN5xq067665@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 164604 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 18:23:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=164604 Change 164604 by rene@rene_self on 2009/06/17 18:22:19 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#11 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml#4 integrate .. //depot/projects/docproj_nl/share/sgml/man-refs.ent#19 integrate .. //depot/projects/docproj_nl/www/en/gnome/docs/faq2.sgml#5 integrate .. //depot/projects/docproj_nl/www/share/sgml/events.xml#19 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#11 (text+ko) ==== @@ -11,7 +11,7 @@ The &os; Ports Management Team - $FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.37 2009/05/14 15:33:07 erwin Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.39 2009/06/14 06:02:09 linimon Exp $ 2003 @@ -20,6 +20,7 @@ 2006 2007 2008 + 2009 The &os; Ports Management Team @@ -69,7 +70,8 @@ right after release time, for the -STABLE branches - every month or so, for -CURRENT + periodically to test changes to + -CURRENT for experimental builds @@ -79,16 +81,15 @@ Build Client Management - The &i386; clients currently - netboot from pointyhat; the other clients - are self-hosted. In all cases they set themselves + The &i386; clients co-located with pointyhat + netboot from it (connected nodes); all + other clients (disconnected nodes) + are either self-hosted or netboot from some other + pxe host. + In all cases they set themselves up at boot-time to prepare to build packages. - Although connected nodes are supported, - disconnected cluster node support has - been added. A disconnected node is - one that does not mount the cluster master via NFS. It could be - a remote node, for example. The cluster master rsync's the + The cluster master rsyncs the interesting data (ports and src trees, bindist tarballs, scripts, etc.) to disconnected nodes during the node-setup phase. Then, the disconnected portbuild directory is @@ -140,6 +141,7 @@ /var/portbuild&prompt.root; scripts/mkbindist ${arch} ${branch} ${buildid} + The per-machine tarballs are located in ${arch}/clients. @@ -453,6 +455,9 @@ dopackages.7 sparc64 -finish + + Hint: it us usually best to run the dopackages + command inside of screen(1). @@ -583,6 +588,7 @@ [+] If any of these steps fail, the build will stop cold in its tracks. + [++] Status of these steps can be found in ${arch}/${branch}/make.[0|1], where make.0 is the log file used by @@ -676,7 +682,8 @@ dopackages will simply exit. - If you have to do a cvs update before + + If you have to do a ports tree update before restarting, you may have to rebuild either duds, INDEX, or both. If you are doing the latter manually, you will also have to rebuild @@ -839,6 +846,7 @@ &prompt.user; cd ${arch}/${branch} &prompt.user; find distfiles > distfiles-${release} + This inventory file typically lives in i386/${branch} on the cluster master. @@ -901,7 +909,7 @@ - packages-6.3-release + packages-6.4-release @@ -909,7 +917,7 @@ - packages-7.0-release + packages-7.2-release @@ -990,9 +998,9 @@ Experimental patches builds are run from time to time to new features or bugfixes to the ports infrastructure (i.e. - bsd.port.mk), or to test large sweeping + bsd.port.mk), or to test large sweeping upgrades. The current experimental patches branch is - 7-exp on the &i386; + 7-exp on the amd64 architecture. In general, an experimental patches build is run the same @@ -1026,33 +1034,35 @@ In order to have a good control case with which to compare failures, you should first do a package build of the branch on which the experimental patches branch is based for the &i386; - architecture (currently this is 6). Then, when + architecture (currently this is 7). Then, when preparing for the experimental patches build, checkout a ports tree and a src tree with the same date as was used for the control build. This will ensure an apples-to-apples comparison later. + Once the build finishes, compare the control build failures to those of the experimental patches build. Use the following - commands to facilitate this (this assumes the 6 - branch is the control branch, and the 6-exp + commands to facilitate this (this assumes the 7 + branch is the control branch, and the 7-exp branch is the experimental patches branch): - &prompt.user; cd /var/portbuild/i386/6-exp/errors -&prompt.user; find . -name \*.log\* | sort > /tmp/6-exp-errs -&prompt.user; cd /var/portbuild/i386/6/errors -&prompt.user; find . -name \*.log\* | sort > /tmp/6-errs + &prompt.user; cd /var/portbuild/i386/7-exp/errors +&prompt.user; find . -name \*.log\* | sort > /tmp/7-exp-errs +&prompt.user; cd /var/portbuild/i386/7/errors +&prompt.user; find . -name \*.log\* | sort > /tmp/7-errs If it has been a long time since one of the builds finished, the logs may have been automatically compressed with bzip2. In that case, you must use sort | sed 's,\.bz2,,g' instead. - &prompt.user; comm -3 /tmp/6-errs /tmp/6-exp-errs | less + &prompt.user; comm -3 /tmp/7-errs /tmp/7-exp-errs | less This last command will produce a two-column report. The first column is ports that failed on the control build but not in @@ -1107,7 +1117,7 @@ To differentiate between [1] and [2] above, you can do a rebuild of the affected packages under the control branch: - &prompt.user; cd /var/portbuild/i386/6/ports + &prompt.user; cd /var/portbuild/i386/7/ports Be sure to cvs update this tree to the same date as the experimental patches tree. @@ -1115,14 +1125,14 @@ The following command will set up the control branch for the partial build: - &prompt.user; /var/portbuild/scripts/dopackages.6 -noportscvs -nobuild -nocvs -nofinish + &prompt.user; /var/portbuild/scripts/dopackages.7 -noportscvs -nobuild -nocvs -nofinish The builds must be performed from the packages/All directory. This directory should initially be empty except for the Makefile symlink. If this symlink does not exist, it must be created: - &prompt.user; cd /var/portbuild/i386/6/packages/All + &prompt.user; cd /var/portbuild/i386/7/packages/All &prompt.user; ln -sf ../../Makefile . &prompt.user; make -k -j<#> <list of packages to build> @@ -1154,6 +1164,601 @@ /usr/ports/CHANGES. + + How to configure a new package building node + + Before following these steps, please coordinate with + portmgr. + + + + Node requirements + + portmgr is still working on characterizing + what a node needs to be generally useful. + + + + CPU capacity: TBA. However, we have several dual-CPU + P-III &i386; 1.0GHz machines available, so anything with + less horsepower than that is not as likely to be useful. + (However, many of our &sparc64;s are single-CPU, 500MHz + machines, so our requirements are lower.) + + + We are able to adjust the number of jobs + dispatched to each machine, and we generally tune + the number to use 100% of CPU. + + + + + RAM: TBA. Again, we have been tuning to one job + per 512M of RAM. (Anything less than 512M is very + unlikely to be useful.) + + + + disk: at least 20G is needed for filesystem; 32G is + needed for swap. Best performance will be if multiple + disks are used, and configured as geom + stripes. Performance numbers are also TBA. + + + Package building will test disk drives to destruction. + Be aware of what you are signing up for! + + + + + network bandwidth: TBA. However, an 8-job machine + has been shown to saturate a cable modem line. + + + + + + + Preparation + + + + Pick a unique hostname. It does not have to be + a publicly resolvable hostname (it can be a name on + your internal network). + + + + By default, package building requires the following TCP + ports to be accessible: 22 (ssh), 414 + (infoseek), and 8649 + (ganglia). If these are not accessible, + pick others and ensure that an ssh tunnel + is set up (see below). + + (Note: if you have more than one machine at your site, + you will need an individual TCP port for each service on + each machine, and thus ssh tunnels + will be necessary. As such, you will probably need to + configure port forwarding on your firewall.) + + + + Decide if you will be booting natively or via + pxeboot. You will find that it is + easier to keep up with changes to -current + with the latter, especially if you have multiple machines + at your site. + + + + Pick a directory to hold ports configuration and + chroot subdirectories. It may be + best to put it this on its own partition. (Example: + /usr2/.) + + + + + + + Configuring <literal>src</literal> + + + + Create a directory to contain the latest + -current source tree and check it + out. (Since your machine will likely be asked to build + packages for -current, the kernel it + runs should be reasonably up-to-date with the + bindist that will be exported + by our scripts.) + + + + If you are using pxeboot: create a + directory to contain the install bits. You will probably + want to use a subdirectory of /pxeroot, + e.g., + /pxeroot/${arch}-${branch}. + Export that as DESTDIR. + + + + If you are cross-building, export + TARGET_ARCH=${arch}. + + + The procedure for cross-building ports is not yet + defined. + + + + + Generate a kernel config file. Include + GENERIC (or, if you are using more than + 3.5G on &i386;, PAE). + Suggested options: +options GEOM_CONCAT +options GEOM_STRIPE +options NULLFS +options TMPFS +options SHMMAXPGS=65536 +options SEMMNI=40 +options SEMMNS=240 +options SEMUME=40 +options SEMMNU=120 + +options ALT_BREAK_TO_DEBUGGER +options PRINTF_BUFR_SIZE=128 + + + For PAE, it is not currently possible + to load modules. Therefore, you will need to add: +options COMPAT_LINUX +options LINPROCFS + + + + + As root, do the usual build steps, e.g.: +make -j4 buildworld +make buildkernel KERNCONF=${kernconf} +make installkernel KERNCONF=${kernconf} +make installworld + The install steps use DESTDIR. + + + + + Customize files in etc/. + Whether you do this on the client itself, or another + machine, will depend on whether you are using + pxeboot. + + If you are using pxeboot: create + a subdirectory of + ${DESTDIR} + called conf/. Create one subdirectory + default/etc/, and (if your site will host + multiple nodes), subdirectories + ${ip-address}/etc/ + to contain override files for individual hosts. (You may find + it handy to symlink each of those directories to a hostname.) + Copy the entire contents of + ${DESTDIR}/etc/ + to default/etc/; that is where you will + edit your files. The by-ip-address + etc/ directories will probably only need + customized rc.conf files. + + In either case, apply the following steps: + + + + Create a + ports-${arch} + user and group. Add it to the wheel + group. It can have the '*' password. + + Create + /home/ports-${arch}/.ssh/ + and populate authorized_keys. + + + + Also add the following users: +squid:*:100:100::0:0:User &:/usr/local/squid:/bin/sh +ganglia:*:102:102::0:0:User &:/usr/local/ganglia:/bin/sh + + Add them to etc/group as well. + + + + Create the appropriate files in + etc/.ssh/. + + + + In etc/crontab: add + * * * * * root /var/portbuild/scripts/client-metrics + + + + + Create the appropriate + etc/fstab. (If you have multiple, + different, machines, you will need to put those in + the override directories.) + + + + In etc/inetd.conf: add + infoseek stream tcp nowait nobody /var/portbuild/scripts/reportload reportload ${arch} + + + + + Create the appropriate + etc/rc.conf. (If you have multiple, + different, machines, you will need to put those in + the override directories.) + + Recommended entries: +hostname="${hostname} +inetd_enable="YES" +linux_enable="YES" +nfs_client_enable="YES" +sendmail_enable="NONE" +sshd_enable="YES" +sshd_program="/usr/local/sbin/sshd" + +squid_enable="YES" +gmond_enable="YES" + + + + + + Create etc/resolv.conf, if + necessary. + + + + Modify etc/sysctl.conf: +9a10,30 +> kern.corefile=/tmp/%N.core +> kern.sugid_coredump=1 +> #debug.witness_ddb=0 +> #debug.witness_watch=0 +> +> # squid needs a lot of fds (leak?) +> kern.maxfiles=40000 +> kern.maxfilesperproc=30000 +> +> # Since the NFS root is static we don't need to check frequently for file changes +> # This saves >75% of NFS traffic +> vfs.nfs.access_cache_timeout=300 +> debug.debugger_on_panic=1 +> +> # For jailing +> security.jail.sysvipc_allowed=1 +> security.jail.allow_raw_sockets=1 +> security.jail.chflags_allowed=1 +> security.jail.enforce_statfs=1 +> +> vfs.lookup_shared=1 + + + + + If desired, modify etc/syslog.conf + to change the logging destinations to + @pointyhat.freebsd.org. + + + + + + + + + + + Configuring <literal>ports</literal> + + + + Install the following ports: +net/rsync +security/openssh-portable +security/sudo +sysutils/ganglia-monitor-core (with GMETAD off) +www/squid + + + There is a WIP to create a meta-port, but it is not yet + complete. + + + + + Customize files in usr/local/etc/. + Whether you do this on the client itself, or another + machine, will depend on whether you are using + pxeboot. + + + The trick of using conf + override subdirectories is less effective here, because + you would need to copy over all subdirectories of + usr/. This is an implementation + detail of how the pxeboot works. + + + Apply the following steps: + + + + Modify + usr/local/etc/gmond.conf: +21,22c21,22 +< name = "unspecified" +< owner = "unspecified" +--- +> name = "${arch} package build cluster" +> owner = "portmgr@FreeBSD.org" +24c24 +< url = "unspecified" +--- +> url = "http://pointyhat.freebsd.org" + + + + If there are machines from more than one cluster in the + same multicast domain (basically = LAN) then change the + multicast groups to different values (.71, .72, etc). + + + + Create + usr/local/etc/rc.d/portbuild.sh: +#!/bin/sh +# +# Configure the system post-boot + +ln -sf /usr2/portbuild /var/portbuild + +# Identify builds ready for use +cd /var/portbuild/${arch} +for i in */builds/*; do + if [ -f ${i}/.ready ]; then + mkdir /tmp/.setup-${i##*/} + fi +done + +# Flag that we are ready to accept jobs +touch /tmp/.boot_finished + + + + If there are machines from more than one cluster in the + same multicast domain (basically = LAN) then change the + multicast groups to different values (.71, .72, etc). + + + + Modify + usr/local/etc/squid/squid.conf: +288,290c288,290 +< #auth_param basic children 5 +< #auth_param basic realm Squid proxy-caching web server +< #auth_param basic credentialsttl 2 hours +--- +> auth_param basic children 5 +> auth_param basic realm Squid proxy-caching web server +> auth_param basic credentialsttl 2 hours +611a612 +> acl localnet src 127.0.0.0/255.0.0.0 +655a657 +> http_access allow localnet +2007a2011 +> maximum_object_size 400 MB +2828a2838 +> negative_ttl 0 minutes + + + Also, change usr/local + to usr2 in the definitions of + cache_dir, + access_log, + cache_log, + cache_store_log, + pid_filename, + netdb_filename, + coredump_dir. + + + + + + Configure ssh: copy + /etc/ssh to + /usr/local/etc/ssh and add + NoneEnabled=yes to + sshd_config. + + + + Modify + usr/local/etc/sudoers: +38a39,42 +> +> # local changes for package building +> %wheel ALL=(ALL) ALL +> ports-${arch} ALL=(ALL) NOPASSWD: ALL + + + + + + + + + + Configuration on the client itself + + + + Change into the port/package directory you picked + above, e.g., cd /usr2. + + + + As root: +mkdir portbuild +chown ports-${arch}:ports-${arch} portbuild +mkdir pkgbuild +chown ports-${arch}:ports-${arch} pkgbuild +mkdir squid +mkdir squid/cache +mkdir squid/logs +chown -R squid:squid squid + + + + + If clients preserve /var/portbuild + between boots then they must either preserve their + /tmp, or revalidate their available + builds at boot time (see the script on the amd64 + machines). They must also clean up stale chroots from previous + builds before creating /tmp/.boot_finished. + + + + + Boot the client. + + + + As root, initialize the squid + directories: + squid -z + + + + Test each of the TCP ports by executing + telnet hostname portnumber. + 414 (or its tunnel) should give you a few lines of status + information; 8649 should give you an + XML response. + + + + + + + Enabling the node + + These steps need to be taken by a portmgr + acting as root on pointyhat. + + + + + If any of the default TCP ports is not available (see + above), you will need to create an ssh + tunnel for it and include it in the appropriate + crontab. + + + + Add an entry to + /home/ports-${arch}/.ssh/config + to specify the public IP address, TCP port for + ssh, username, and any other necessary + information. + + + + Test each of the TCP ports by executing + telnet hostname portnumber, + where portnumber is either the native + portnumber or its tunnelled equivalent. + + + + Add the public IP address to + /etc/hosts.allow. (Remember, multiple + machines can be on the same IP address.) + + + + Create +/var/portbuild/${arch}/clients/bindist-${hostname}.tar. + + + + + Copy one of the existing ones as a template and unpack it + in a temporary directory. + + + Customize etc/resolv.conf and + etc/make.conf for the local site. + + + tar it up and move it to the right + location. + + + + Hint: you will need one of these for each machine; + however, if you have multiple machines at one site, you may + be able to create a site-specific one and symlink to it. + + + + Create +/var/portbuild/${arch}/portbuild-${hostname} + using one of the existing ones as a guide. This + file contains overrides to +/var/portbuild/${arch}/portbuild.conf. + + Suggested values: +disconnected=1 +http_proxy="http://localhost:3128/" +squid_dir=/usr2/squid +scratchdir=/usr2/pkgbuild +client_user=ports-${arch} +sudo_cmd="sudo -H" +rsync_gzip=-z + +infoseek_host=localhost +infoseek_port=${tunelled-tcp-port} + + + Possible other values: +use_md_swap=1 +md_size=9g +use_zfs=1 +scp_cmd="/usr/local/bin/scp" +ssh_cmd="/usr/local/bin/ssh" + + + + + + Add an appropriate entry to + /usr/local/etc/gmetad.conf. + + + + + + + Procedures for dealing with disk failures @@ -1216,7 +1821,7 @@ remapping). - When a disk has failed, please inform &a.kris; so he can try to get it - replaced. + When a disk has failed, please inform the cluster administrators + so we can try to get it replaced. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -480,10 +480,12 @@ command-line MP3 player. mpg123 can be run by specifying - the sound device and the MP3 file on the command line, as - shown below: + the sound device and the MP3 file on the command line. Assuming your + audio device is /dev/dsp1.0 and you want + to play the MP3 file Foobar-GreatestHits.mp3 + you would enter the following: - &prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3 + &prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3 High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3. Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp. Uses code from various people. See 'README' for more! @@ -496,10 +498,6 @@ Playing MPEG stream from Foobar-GreatestHits.mp3 ... MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo - - /dev/dsp1.0 should be replaced with the - dsp device entry on your system. - ==== //depot/projects/docproj_nl/share/sgml/man-refs.ent#19 (text+ko) ==== @@ -20,7 +20,7 @@ lexicographical order by the entity (i.e., the dots used in place of special characters should not be expanded when comparing). - $FreeBSD: doc/share/sgml/man-refs.ent,v 1.487 2009/06/02 01:34:15 gabor Exp $ + $FreeBSD: doc/share/sgml/man-refs.ent,v 1.488 2009/06/16 10:28:11 hrs Exp $ --> @@ -3315,6 +3315,7 @@ + ==== //depot/projects/docproj_nl/www/en/gnome/docs/faq2.sgml#5 (text+ko) ==== @@ -1,6 +1,6 @@ - + @@ -137,7 +137,7 @@

      This will enable services such as GDM, HAL, D-BUS, and Avahi on system startup. If you do not want to run all - of these services, you should forgo the + of these services, you should forget the gnome_enable property, and manually enable the services you want.

      ==== //depot/projects/docproj_nl/www/share/sgml/events.xml#19 (text+ko) ==== @@ -10,10 +10,107 @@ - $FreeBSD: www/share/sgml/events.xml,v 1.73 2009/06/08 17:56:30 delphij Exp $ + $FreeBSD: www/share/sgml/events.xml,v 1.74 2009/06/16 22:23:24 jkois Exp $ + + OpenRheinRuhr 2009 + http://www.openrheinruhr.de/ + + 2009 + 11 + 7 + + + 2009 + 11 + 8 + + + Germany + Bottrop + Saalbau + + This new event in the middle of Europe will + see a huge audience and an impressive list of exhibitors. + FreeBSD will have a booth as well as the other major + BSDs. + + + + discuss & discover 2009 + http://en.discuss-discover.com/ + + 2009 + 10 + 20 + + + 2009 + 10 + 22 + + + Germany + Munich + Messe München + + Discuss & discover is the successor of + Systems. FreeBSD will have a booth as well as the + other major BSDs and will try to repeat the great + success of past years. There will be an Open Source + conference with workshops, talks and a theme park for + various projects. + + + + IT Security Expo 2009 + http://www.it-sa.de/en/ + + 2009 + 9 + 23 + + + 2009 + 9 + 24 + + + Germany + Nuremberg + + Starting in 2009, Nuremberg will be staging + the leading IT security event in a new venue: Although + SYSTEMS has closed its doors, the IT SecurityExpo with + its track record of ten successful years is to be + continued and its scope expanded. There will be a + FreeBSD booth and talks likely. + + + + OpenExpo 2009 + http://www.openexpo.ch/ + + 2009 + 9 + 23 + + + 2009 + 9 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jun 17 18:32:15 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C29E1065674; Wed, 17 Jun 2009 18:32:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0D651065672 for ; Wed, 17 Jun 2009 18:32:14 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A411D8FC1E for ; Wed, 17 Jun 2009 18:32:14 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HIWEDx023539 for ; Wed, 17 Jun 2009 18:32:14 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HIWErT023533 for perforce@freebsd.org; Wed, 17 Jun 2009 18:32:14 GMT (envelope-from rene@FreeBSD.org) Date: Wed, 17 Jun 2009 18:32:14 GMT Message-Id: <200906171832.n5HIWErT023533@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Cc: Subject: PERFORCE change 164605 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 18:32:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=164605 Change 164605 by rene@rene_self on 2009/06/17 18:32:13 MFen 1.131 -> 1.132 (plus local fixes) Also remove stale $FreeBSDnl$ Affected files ... .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml#9 edit Differences ... ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml#9 (text+ko) ==== @@ -2,10 +2,9 @@ The FreeBSD Dutch Documentation Project $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml,v 1.15 2009/05/10 15:17:55 rene Exp $ - $FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml,v 1.27 2005/12/10 23:40:57 siebrand Exp $ %SOURCE% en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml - %SRCID% 1.131 + %SRCID% 1.132 --> @@ -539,14 +538,17 @@ gebruiken. De port audio/mpg123 is - een alternatieve MP3 speler die gebruik maakt van de + een alternatieve MP3-speler die gebruik maakt van de commandoregel. mpg123 werkt door het - geluidsapparaat en het MP3 bestand aan te geven op de - commandoregel, zoals hieronder wordt aangegeven: + geluidsapparaat en het MP3-bestand aan te geven op de + commandoregel. Aangenomen dat uw audio-apparaat + /dev/dsp1.0 is en u het MP3-bestand + Foobar-GreatestHits.mp3 wilt afspelen, + zou u het volgende opgeven: - &prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3 + &prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3 High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3. Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp. Uses code from various people. See 'README' for more! @@ -558,9 +560,6 @@ Playing MPEG stream from Foobar-GreatestHits.mp3 ... MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo - - /dev/dsp1.0 - dient gewijzigd te worden in de apparaatingang dsp op uw systeem.
      From owner-p4-projects@FreeBSD.ORG Wed Jun 17 19:20:05 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B8A1A1065677; Wed, 17 Jun 2009 19:20:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 78C3B1065672 for ; Wed, 17 Jun 2009 19:20:04 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 66CA18FC1D for ; Wed, 17 Jun 2009 19:20:04 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HJK4q9088388 for ; Wed, 17 Jun 2009 19:20:04 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HJK4YA088382 for perforce@freebsd.org; Wed, 17 Jun 2009 19:20:04 GMT (envelope-from syl@FreeBSD.org) Date: Wed, 17 Jun 2009 19:20:04 GMT Message-Id: <200906171920.n5HJK4YA088382@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164612 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 19:20:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=164612 Change 164612 by syl@syl_atuin on 2009/06/17 19:19:17 Implement test to perform GET_STATUS control request. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#2 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#2 (text+ko) ==== @@ -1,0 +1,36 @@ +#include +#include +#include +#include + +#define PID_TEST 0x2303 +#define VID_TEST 0x067b + +libusb_context *ctx; + +int main(int ac, char *av[]) +{ + libusb_device *dev; + libusb_device_handle *devh; + uint8_t data[2] = {0,0}; + + printf("This program will try to issue a GET_STATUS" + "on the PID_TEST VID_TEST device control endpoint"); + + + if (libusb_init(&ctx) != 0) { + fprintf(stderr, "libusb_init_failed\n"); + return (EXIT_FAILURE); + } + + if ((devh = libusb_open_device_with_vid_pid(ctx, VID_TEST, PID_TEST)) != NULL) { + libusb_detach_kernel_driver(devh, 1); + dev = libusb_get_device(devh); + libusb_control_transfer(devh, 0x80, 0x01, 0x00, 0x00, data, 2, 10); + printf("data = 0x%.2x 0x%.2x\n", data[0], data[1]); + } else { + fprintf(stderr, "\nNo device match or lack of permissions.\n"); + } + + return (EXIT_SUCCESS); +} From owner-p4-projects@FreeBSD.ORG Wed Jun 17 19:29:14 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2ED281065670; Wed, 17 Jun 2009 19:29:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E3364106564A for ; Wed, 17 Jun 2009 19:29:13 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D08EB8FC1B for ; Wed, 17 Jun 2009 19:29:13 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HJTDns079483 for ; Wed, 17 Jun 2009 19:29:13 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HJTDlG079476 for perforce@freebsd.org; Wed, 17 Jun 2009 19:29:13 GMT (envelope-from syl@FreeBSD.org) Date: Wed, 17 Jun 2009 19:29:13 GMT Message-Id: <200906171929.n5HJTDlG079476@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164613 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 19:29:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=164613 Change 164613 by syl@syl_atuin on 2009/06/17 19:29:13 - Add skeleton to transfers unimplemented test to allow them to compile. - Implement transfer debug. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test2/test2.c#2 edit .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#2 edit .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test4/test4.c#2 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#12 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#38 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#8 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#13 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test2/test2.c#2 (text+ko) ==== @@ -1,0 +1,14 @@ +#include +#include +#include +#include + +#define PID_TEST 0x8300 +#define VID_TEST 0x05ac + +libusb_context *ctx; + +int main(int ac, char *av[]) +{ + return (EXIT_SUCCESS); +} ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test3/test3.c#2 (text+ko) ==== @@ -1,0 +1,14 @@ +#include +#include +#include +#include + +#define PID_TEST 0x8300 +#define VID_TEST 0x05ac + +libusb_context *ctx; + +int main(int ac, char *av[]) +{ + return (EXIT_SUCCESS); +} ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test4/test4.c#2 (text+ko) ==== @@ -1,0 +1,14 @@ +#include +#include +#include +#include + +#define PID_TEST 0x8300 +#define VID_TEST 0x05ac + +libusb_context *ctx; + +int main(int ac, char *av[]) +{ + return (EXIT_SUCCESS); +} ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb.h#12 (text+ko) ==== @@ -179,6 +179,7 @@ enum libusb_debug_level { LIBUSB_DEBUG_NO=0, LIBUSB_DEBUG_FUNCTION=1, + LIBUSB_DEBUG_TRANSFER=2, }; /* libusb structures */ ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#38 (text+ko) ==== @@ -38,11 +38,6 @@ #include "libusb.h" #include "libusb10.h" -/* - * XXX TODO - * - implement debug messages. - */ - static pthread_mutex_t default_context_lock = PTHREAD_MUTEX_INITIALIZER; struct libusb_context *usbi_default_context = NULL; pthread_mutex_t libusb20_lock = PTHREAD_MUTEX_INITIALIZER; @@ -839,9 +834,11 @@ status = libusb20_tr_get_status(xfer); usb_xfer = libusb20_tr_get_priv_sc0(xfer); ctx = usb_xfer->dev_handle->dev->ctx; + GET_CONTEXT(ctx); switch (status) { case LIBUSB20_TRANSFER_COMPLETED: + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMIT"); usb_xfer->actual_length += libusb20_tr_get_actual_length(xfer); usb_xfer->callback(usb_xfer); @@ -850,6 +847,7 @@ pthread_mutex_unlock(&ctx->flying_transfers_lock); break ; case LIBUSB20_TRANSFER_START: + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 START"); usb_xfer->actual_length = 0; switch (usb_xfer->type) { case LIBUSB_TRANSFER_TYPE_CONTROL: @@ -887,21 +885,27 @@ switch (status) { case LIBUSB20_TRANSFER_COMPLETED: + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS COMPLETED"); xfer->status = LIBUSB_TRANSFER_COMPLETED; break ; case LIBUSB20_TRANSFER_OVERFLOW: + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR OVERFLOW"); xfer->status = LIBUSB_TRANSFER_OVERFLOW; break ; case LIBUSB20_TRANSFER_NO_DEVICE: + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR NO DEVICE"); xfer->status = LIBUSB_TRANSFER_NO_DEVICE; break ; case LIBUSB20_TRANSFER_STALL: + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR STALL"); xfer->status = LIBUSB_TRANSFER_STALL; break ; case LIBUSB20_TRANSFER_CANCELLED: + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR CANCELLED"); xfer->status = LIBUSB_TRANSFER_CANCELLED; break ; case LIBUSB20_TRANSFER_TIMED_OUT: + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR TIMEOUT"); xfer->status = LIBUSB_TRANSFER_TIMED_OUT; break ; default: ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#8 (text+ko) ==== @@ -92,6 +92,9 @@ case LIBUSB_DEBUG_FUNCTION: printf("LIBUSB FUNCTION : %s\n", str); break ; + case LIBUSB_DEBUG_TRANSFER: + printf("LIBUSB TRANSFER : %s\n", str); + break ; default: printf("LIBUSB UNKNOW DEBUG\n"); break ; ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#13 (text+ko) ==== @@ -533,8 +533,13 @@ static void ctrl_tr_cb(struct libusb_transfer *transfer) { - int *complet = transfer->user_data; + libusb_context *ctx; + int *complet; + + ctx = NULL; + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "CALLBACK ENTER"); + complet = transfer->user_data; *complet = 1; } From owner-p4-projects@FreeBSD.ORG Wed Jun 17 19:35:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0890E1065674; Wed, 17 Jun 2009 19:35:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE3FB106566B for ; Wed, 17 Jun 2009 19:35:20 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 91E828FC21 for ; Wed, 17 Jun 2009 19:35:20 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HJZKqA093529 for ; Wed, 17 Jun 2009 19:35:20 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HJZKvh093527 for perforce@freebsd.org; Wed, 17 Jun 2009 19:35:20 GMT (envelope-from syl@FreeBSD.org) Date: Wed, 17 Jun 2009 19:35:20 GMT Message-Id: <200906171935.n5HJZKvh093527@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164617 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 19:35:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=164617 Change 164617 by syl@syl_atuin on 2009/06/17 19:35:01 Update debug printf code to output trace only on the good debug flag. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#9 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.h#9 (text+ko) ==== @@ -86,6 +86,9 @@ static inline void dprintf(libusb_context *ctx, int debug, char *str) { + if (ctx->debug != debug) + return ; + switch (ctx->debug) { case LIBUSB_DEBUG_NO: break ; From owner-p4-projects@FreeBSD.ORG Wed Jun 17 20:03:51 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B5D911065673; Wed, 17 Jun 2009 20:03:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C351106566B for ; Wed, 17 Jun 2009 20:03:50 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 485128FC14 for ; Wed, 17 Jun 2009 20:03:50 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HK3nLo096772 for ; Wed, 17 Jun 2009 20:03:49 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HK3nBR096770 for perforce@freebsd.org; Wed, 17 Jun 2009 20:03:49 GMT (envelope-from jhb@freebsd.org) Date: Wed, 17 Jun 2009 20:03:49 GMT Message-Id: <200906172003.n5HK3nBR096770@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 164620 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 20:03:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=164620 Change 164620 by jhb@jhb_jhbbsd on 2009/06/17 20:03:33 IFC @164619 Affected files ... .. //depot/projects/smpng/sys/arm/conf/CAMBRIA.hints#4 integrate .. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_npe.c#8 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#55 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#55 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#55 integrate .. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#56 integrate .. //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#59 integrate .. //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#60 integrate .. //depot/projects/smpng/sys/fs/nfsclient/nfs_clvnops.c#6 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_isc_sysent.c#12 integrate .. //depot/projects/smpng/sys/i386/ibcs2/ibcs2_xenix_sysent.c#14 integrate .. //depot/projects/smpng/sys/kern/init_sysent.c#92 integrate .. //depot/projects/smpng/sys/kern/kern_sysctl.c#66 integrate .. //depot/projects/smpng/sys/kern/makesyscalls.sh#28 integrate .. //depot/projects/smpng/sys/kern/syscalls.c#91 integrate .. //depot/projects/smpng/sys/kern/syscalls.master#97 integrate .. //depot/projects/smpng/sys/kern/systrace_args.c#18 integrate .. //depot/projects/smpng/sys/net/bpf.c#88 integrate .. //depot/projects/smpng/sys/net/if_tun.c#63 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#116 integrate .. //depot/projects/smpng/sys/netinet6/in6_proto.c#31 integrate .. //depot/projects/smpng/sys/powerpc/include/spr.h#16 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/cpu.c#15 integrate .. //depot/projects/smpng/sys/sys/syscall.h#90 integrate .. //depot/projects/smpng/sys/sys/syscall.mk#90 integrate .. //depot/projects/smpng/sys/sys/sysproto.h#94 integrate .. //depot/projects/smpng/sys/sys/vimage.h#16 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_dirhash.c#32 integrate Differences ... ==== //depot/projects/smpng/sys/arm/conf/CAMBRIA.hints#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.4 2009/04/21 22:48:12 stas Exp $ +# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.5 2009/06/17 17:58:18 sam Exp $ # # Device wiring for the Gateworks Cambria 2358. @@ -21,11 +21,11 @@ hint.npe.0.mac="C" hint.npe.0.mii="C" hint.npe.0.phy=1 -#hint.npe.1.at="ixp0" -#hint.npe.1.npeid="A" -#hint.npe.1.mac="A" -#hint.npe.1.mii="C" -#hint.npe.1.phy=2 +hint.npe.1.at="ixp0" +hint.npe.1.npeid="A" +hint.npe.1.mac="A" +hint.npe.1.mii="C" +hint.npe.1.phy=2 # FLASH hint.cfi.0.at="ixp0" ==== //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425_npe.c#8 (text+ko) ==== @@ -57,7 +57,7 @@ * SUCH DAMAGE. */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npe.c,v 1.11 2009/06/17 03:09:13 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_npe.c,v 1.12 2009/06/17 17:57:52 sam Exp $"); /* * Intel XScale Network Processing Engine (NPE) support. @@ -804,20 +804,34 @@ IX_NPEDL_CTXT_REG_RESET_CINDEX, }; -#define IX_NPEDL_RESET_NPE_PARITY 0x0800 #define IX_NPEDL_PARITY_BIT_MASK 0x3F00FFFF #define IX_NPEDL_CONFIG_CTRL_REG_MASK 0x3F3FFFFF +#if 0 +/* + * Reset the NPE and its coprocessor using the + * fuse bits in the feature control register. + */ +static void +npe_reset(int npeid) +{ + uint32_t mask = EXP_FCTRL_NPEA << npeid; + uint32_t v; + + v = ixp4xx_read_feature_bits(); + ixp4xx_write_feature_bits(v &~ mask); + /* un-fuse and un-reset the NPE & coprocessor */ + ixp4xx_write_feature_bits(v | mask); +} +#endif + static int npe_cpu_reset(struct ixpnpe_softc *sc) { #define N(a) (sizeof(a) / sizeof(a[0])) - struct ixp425_softc *sa = - device_get_softc(device_get_parent(sc->sc_dev)); uint32_t ctxtReg; /* identifies Context Store reg (0-3) */ uint32_t regAddr; uint32_t regVal; - uint32_t resetNpeParity; uint32_t ixNpeConfigCtrlRegVal; int i, error = 0; @@ -935,33 +949,15 @@ /* Reset the Watch-count register */ npe_reg_write(sc, IX_NPEDL_REG_OFFSET_WC, 0); - +#if 0 /* * WR IXA00055043 - Remove IMEM Parity Introduced by NPE Reset Operation + * XXX Removed because it breaks IXP435 operation; e.g. on Gateworks + * XXX 2358 boards reseting NPE-A after NPE-C is running causes both + * XXX npe's to stop working */ - - /* - * Reset the NPE and its coprocessor - to reset internal - * states and remove parity error. Note this makes no - * sense based on the documentation. The feature control - * register always reads back as 0 on the ixp425 and further - * the bit definition of NPEA/NPEB is off by 1 according to - * the Intel documention--so we're blindly following the - * Intel code w/o any real understanding. - */ - regVal = EXP_BUS_READ_4(sa, EXP_FCTRL_OFFSET); - DPRINTFn(2, sc->sc_dev, "%s: FCTRL 0x%x\n", __func__, regVal); - resetNpeParity = - IX_NPEDL_RESET_NPE_PARITY << (1 + device_get_unit(sc->sc_dev)); - DPRINTFn(2, sc->sc_dev, "%s: FCTRL fuse parity, write 0x%x\n", - __func__, regVal | resetNpeParity); - EXP_BUS_WRITE_4(sa, EXP_FCTRL_OFFSET, regVal | resetNpeParity); - - /* un-fuse and un-reset the NPE & coprocessor */ - DPRINTFn(2, sc->sc_dev, "%s: FCTRL unfuse parity, write 0x%x\n", - __func__, regVal & resetNpeParity); - EXP_BUS_WRITE_4(sa, EXP_FCTRL_OFFSET, regVal &~ resetNpeParity); - + npe_reset(sc->sc_npeid); +#endif /* * Call NpeMgr function to stop the NPE again after the Feature Control * has unfused and Un-Reset the NPE and its associated Coprocessors. ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_proto.h#55 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.102 2009/06/15 20:40:23 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.103 2009/06/17 19:53:47 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb */ #ifndef _FREEBSD32_SYSPROTO_H_ ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscall.h#55 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.101 2009/06/15 20:40:23 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.102 2009/06/17 19:53:47 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb */ #define FREEBSD32_SYS_syscall 0 ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_syscalls.c#55 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.92 2009/06/15 20:40:23 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.93 2009/06/17 19:53:47 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb */ const char *freebsd32_syscallnames[] = { @@ -25,7 +25,7 @@ "chmod", /* 15 = chmod */ "chown", /* 16 = chown */ "break", /* 17 = break */ - "compat4.freebsd32_getfsstat", /* 18 = old freebsd32_getfsstat */ + "compat4.freebsd32_getfsstat", /* 18 = freebsd4 freebsd32_getfsstat */ "obs_olseek", /* 19 = obsolete olseek */ "getpid", /* 20 = getpid */ "mount", /* 21 = mount */ @@ -164,8 +164,8 @@ "#154", /* 154 = nlm_syscall */ "#155", /* 155 = nfssvc */ "obs_ogetdirentries", /* 156 = obsolete ogetdirentries */ - "compat4.freebsd32_statfs", /* 157 = old freebsd32_statfs */ - "compat4.freebsd32_fstatfs", /* 158 = old freebsd32_fstatfs */ + "compat4.freebsd32_statfs", /* 157 = freebsd4 freebsd32_statfs */ + "compat4.freebsd32_fstatfs", /* 158 = freebsd4 freebsd32_fstatfs */ "#159", /* 159 = nosys */ "#160", /* 160 = lgetfh */ "getfh", /* 161 = getfh */ @@ -180,8 +180,8 @@ "freebsd32_msgsys", /* 170 = freebsd32_msgsys */ "freebsd32_shmsys", /* 171 = freebsd32_shmsys */ "#172", /* 172 = nosys */ - "compat6.freebsd32_pread", /* 173 = old freebsd32_pread */ - "compat6.freebsd32_pwrite", /* 174 = old freebsd32_pwrite */ + "compat6.freebsd32_pread", /* 173 = freebsd6 freebsd32_pread */ + "compat6.freebsd32_pwrite", /* 174 = freebsd6 freebsd32_pwrite */ "#175", /* 175 = nosys */ "ntp_adjtime", /* 176 = ntp_adjtime */ "#177", /* 177 = sfork */ @@ -204,11 +204,11 @@ "getrlimit", /* 194 = getrlimit */ "setrlimit", /* 195 = setrlimit */ "freebsd32_getdirentries", /* 196 = freebsd32_getdirentries */ - "compat6.freebsd32_mmap", /* 197 = old freebsd32_mmap */ + "compat6.freebsd32_mmap", /* 197 = freebsd6 freebsd32_mmap */ "__syscall", /* 198 = __syscall */ - "compat6.freebsd32_lseek", /* 199 = old freebsd32_lseek */ - "compat6.freebsd32_truncate", /* 200 = old freebsd32_truncate */ - "compat6.freebsd32_ftruncate", /* 201 = old freebsd32_ftruncate */ + "compat6.freebsd32_lseek", /* 199 = freebsd6 freebsd32_lseek */ + "compat6.freebsd32_truncate", /* 200 = freebsd6 freebsd32_truncate */ + "compat6.freebsd32_ftruncate", /* 201 = freebsd6 freebsd32_ftruncate */ "freebsd32_sysctl", /* 202 = freebsd32_sysctl */ "mlock", /* 203 = mlock */ "munlock", /* 204 = munlock */ @@ -304,7 +304,7 @@ "#294", /* 294 = nosys */ "#295", /* 295 = nosys */ "#296", /* 296 = nosys */ - "compat4.freebsd32_fhstatfs", /* 297 = old freebsd32_fhstatfs */ + "compat4.freebsd32_fhstatfs", /* 297 = freebsd4 freebsd32_fhstatfs */ "fhopen", /* 298 = fhopen */ "fhstat", /* 299 = fhstat */ "modnext", /* 300 = modnext */ @@ -343,15 +343,15 @@ "sched_get_priority_min", /* 333 = sched_get_priority_min */ "sched_rr_get_interval", /* 334 = sched_rr_get_interval */ "utrace", /* 335 = utrace */ - "compat4.freebsd32_sendfile", /* 336 = old freebsd32_sendfile */ + "compat4.freebsd32_sendfile", /* 336 = freebsd4 freebsd32_sendfile */ "kldsym", /* 337 = kldsym */ "freebsd32_jail", /* 338 = freebsd32_jail */ "#339", /* 339 = pioctl */ "sigprocmask", /* 340 = sigprocmask */ "sigsuspend", /* 341 = sigsuspend */ - "compat4.freebsd32_sigaction", /* 342 = old freebsd32_sigaction */ + "compat4.freebsd32_sigaction", /* 342 = freebsd4 freebsd32_sigaction */ "sigpending", /* 343 = sigpending */ - "compat4.freebsd32_sigreturn", /* 344 = old freebsd32_sigreturn */ + "compat4.freebsd32_sigreturn", /* 344 = freebsd4 freebsd32_sigreturn */ "freebsd32_sigtimedwait", /* 345 = freebsd32_sigtimedwait */ "freebsd32_sigwaitinfo", /* 346 = freebsd32_sigwaitinfo */ "__acl_get_file", /* 347 = __acl_get_file */ ==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_sysent.c#56 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.103 2009/06/15 20:40:23 jhb Exp $ - * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194262 2009-06-15 20:38:55Z jhb + * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.104 2009/06/17 19:53:47 jhb Exp $ + * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194390 2009-06-17 19:50:38Z jhb */ #include "opt_compat.h" @@ -56,7 +56,7 @@ { AS(chmod_args), (sy_call_t *)chmod, AUE_CHMOD, NULL, 0, 0, 0 }, /* 15 = chmod */ { AS(chown_args), (sy_call_t *)chown, AUE_CHOWN, NULL, 0, 0, 0 }, /* 16 = chown */ { AS(obreak_args), (sy_call_t *)obreak, AUE_NULL, NULL, 0, 0, 0 }, /* 17 = break */ - { compat4(AS(freebsd4_freebsd32_getfsstat_args),freebsd32_getfsstat), AUE_GETFSSTAT, NULL, 0, 0, 0 }, /* 18 = old freebsd32_getfsstat */ + { compat4(AS(freebsd4_freebsd32_getfsstat_args),freebsd32_getfsstat), AUE_GETFSSTAT, NULL, 0, 0, 0 }, /* 18 = freebsd4 freebsd32_getfsstat */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 19 = obsolete olseek */ { 0, (sy_call_t *)getpid, AUE_GETPID, NULL, 0, 0, 0 }, /* 20 = getpid */ { AS(mount_args), (sy_call_t *)mount, AUE_MOUNT, NULL, 0, 0, 0 }, /* 21 = mount */ @@ -195,8 +195,8 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 154 = nlm_syscall */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 155 = nfssvc */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 156 = obsolete ogetdirentries */ - { compat4(AS(freebsd4_freebsd32_statfs_args),freebsd32_statfs), AUE_STATFS, NULL, 0, 0, 0 }, /* 157 = old freebsd32_statfs */ - { compat4(AS(freebsd4_freebsd32_fstatfs_args),freebsd32_fstatfs), AUE_FSTATFS, NULL, 0, 0, 0 }, /* 158 = old freebsd32_fstatfs */ + { compat4(AS(freebsd4_freebsd32_statfs_args),freebsd32_statfs), AUE_STATFS, NULL, 0, 0, 0 }, /* 157 = freebsd4 freebsd32_statfs */ + { compat4(AS(freebsd4_freebsd32_fstatfs_args),freebsd32_fstatfs), AUE_FSTATFS, NULL, 0, 0, 0 }, /* 158 = freebsd4 freebsd32_fstatfs */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 159 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 160 = lgetfh */ { AS(getfh_args), (sy_call_t *)getfh, AUE_NFS_GETFH, NULL, 0, 0, 0 }, /* 161 = getfh */ @@ -211,8 +211,8 @@ { AS(freebsd32_msgsys_args), (sy_call_t *)freebsd32_msgsys, AUE_MSGSYS, NULL, 0, 0, 0 }, /* 170 = freebsd32_msgsys */ { AS(freebsd32_shmsys_args), (sy_call_t *)freebsd32_shmsys, AUE_SHMSYS, NULL, 0, 0, 0 }, /* 171 = freebsd32_shmsys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 172 = nosys */ - { compat6(AS(freebsd6_freebsd32_pread_args),freebsd32_pread), AUE_PREAD, NULL, 0, 0, 0 }, /* 173 = old freebsd32_pread */ - { compat6(AS(freebsd6_freebsd32_pwrite_args),freebsd32_pwrite), AUE_PWRITE, NULL, 0, 0, 0 }, /* 174 = old freebsd32_pwrite */ + { compat6(AS(freebsd6_freebsd32_pread_args),freebsd32_pread), AUE_PREAD, NULL, 0, 0, 0 }, /* 173 = freebsd6 freebsd32_pread */ + { compat6(AS(freebsd6_freebsd32_pwrite_args),freebsd32_pwrite), AUE_PWRITE, NULL, 0, 0, 0 }, /* 174 = freebsd6 freebsd32_pwrite */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 175 = nosys */ { AS(ntp_adjtime_args), (sy_call_t *)ntp_adjtime, AUE_NTP_ADJTIME, NULL, 0, 0, 0 }, /* 176 = ntp_adjtime */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 177 = sfork */ @@ -235,11 +235,11 @@ { AS(__getrlimit_args), (sy_call_t *)getrlimit, AUE_GETRLIMIT, NULL, 0, 0, 0 }, /* 194 = getrlimit */ { AS(__setrlimit_args), (sy_call_t *)setrlimit, AUE_SETRLIMIT, NULL, 0, 0, 0 }, /* 195 = setrlimit */ { AS(freebsd32_getdirentries_args), (sy_call_t *)freebsd32_getdirentries, AUE_GETDIRENTRIES, NULL, 0, 0, 0 }, /* 196 = freebsd32_getdirentries */ - { compat6(AS(freebsd6_freebsd32_mmap_args),freebsd32_mmap), AUE_MMAP, NULL, 0, 0, 0 }, /* 197 = old freebsd32_mmap */ + { compat6(AS(freebsd6_freebsd32_mmap_args),freebsd32_mmap), AUE_MMAP, NULL, 0, 0, 0 }, /* 197 = freebsd6 freebsd32_mmap */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 198 = __syscall */ - { compat6(AS(freebsd6_freebsd32_lseek_args),freebsd32_lseek), AUE_LSEEK, NULL, 0, 0, 0 }, /* 199 = old freebsd32_lseek */ - { compat6(AS(freebsd6_freebsd32_truncate_args),freebsd32_truncate), AUE_TRUNCATE, NULL, 0, 0, 0 }, /* 200 = old freebsd32_truncate */ - { compat6(AS(freebsd6_freebsd32_ftruncate_args),freebsd32_ftruncate), AUE_FTRUNCATE, NULL, 0, 0, 0 }, /* 201 = old freebsd32_ftruncate */ + { compat6(AS(freebsd6_freebsd32_lseek_args),freebsd32_lseek), AUE_LSEEK, NULL, 0, 0, 0 }, /* 199 = freebsd6 freebsd32_lseek */ + { compat6(AS(freebsd6_freebsd32_truncate_args),freebsd32_truncate), AUE_TRUNCATE, NULL, 0, 0, 0 }, /* 200 = freebsd6 freebsd32_truncate */ + { compat6(AS(freebsd6_freebsd32_ftruncate_args),freebsd32_ftruncate), AUE_FTRUNCATE, NULL, 0, 0, 0 }, /* 201 = freebsd6 freebsd32_ftruncate */ { AS(freebsd32_sysctl_args), (sy_call_t *)freebsd32_sysctl, AUE_SYSCTL, NULL, 0, 0, 0 }, /* 202 = freebsd32_sysctl */ { AS(mlock_args), (sy_call_t *)mlock, AUE_MLOCK, NULL, 0, 0, 0 }, /* 203 = mlock */ { AS(munlock_args), (sy_call_t *)munlock, AUE_MUNLOCK, NULL, 0, 0, 0 }, /* 204 = munlock */ @@ -335,7 +335,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 294 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 295 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 296 = nosys */ - { compat4(AS(freebsd4_freebsd32_fhstatfs_args),freebsd32_fhstatfs), AUE_FHSTATFS, NULL, 0, 0, 0 }, /* 297 = old freebsd32_fhstatfs */ + { compat4(AS(freebsd4_freebsd32_fhstatfs_args),freebsd32_fhstatfs), AUE_FHSTATFS, NULL, 0, 0, 0 }, /* 297 = freebsd4 freebsd32_fhstatfs */ { AS(fhopen_args), (sy_call_t *)fhopen, AUE_FHOPEN, NULL, 0, 0, 0 }, /* 298 = fhopen */ { AS(fhstat_args), (sy_call_t *)fhstat, AUE_FHSTAT, NULL, 0, 0, 0 }, /* 299 = fhstat */ { AS(modnext_args), (sy_call_t *)modnext, AUE_NULL, NULL, 0, 0, 0 }, /* 300 = modnext */ @@ -374,15 +374,15 @@ { AS(sched_get_priority_min_args), (sy_call_t *)sched_get_priority_min, AUE_NULL, NULL, 0, 0, 0 }, /* 333 = sched_get_priority_min */ { AS(sched_rr_get_interval_args), (sy_call_t *)sched_rr_get_interval, AUE_NULL, NULL, 0, 0, 0 }, /* 334 = sched_rr_get_interval */ { AS(utrace_args), (sy_call_t *)utrace, AUE_NULL, NULL, 0, 0, 0 }, /* 335 = utrace */ - { compat4(AS(freebsd4_freebsd32_sendfile_args),freebsd32_sendfile), AUE_SENDFILE, NULL, 0, 0, 0 }, /* 336 = old freebsd32_sendfile */ + { compat4(AS(freebsd4_freebsd32_sendfile_args),freebsd32_sendfile), AUE_SENDFILE, NULL, 0, 0, 0 }, /* 336 = freebsd4 freebsd32_sendfile */ { AS(kldsym_args), (sy_call_t *)kldsym, AUE_NULL, NULL, 0, 0, 0 }, /* 337 = kldsym */ { AS(freebsd32_jail_args), (sy_call_t *)freebsd32_jail, AUE_JAIL, NULL, 0, 0, 0 }, /* 338 = freebsd32_jail */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 339 = pioctl */ { AS(sigprocmask_args), (sy_call_t *)sigprocmask, AUE_SIGPROCMASK, NULL, 0, 0, 0 }, /* 340 = sigprocmask */ { AS(sigsuspend_args), (sy_call_t *)sigsuspend, AUE_SIGSUSPEND, NULL, 0, 0, 0 }, /* 341 = sigsuspend */ - { compat4(AS(freebsd4_freebsd32_sigaction_args),freebsd32_sigaction), AUE_SIGACTION, NULL, 0, 0, 0 }, /* 342 = old freebsd32_sigaction */ + { compat4(AS(freebsd4_freebsd32_sigaction_args),freebsd32_sigaction), AUE_SIGACTION, NULL, 0, 0, 0 }, /* 342 = freebsd4 freebsd32_sigaction */ { AS(sigpending_args), (sy_call_t *)sigpending, AUE_SIGPENDING, NULL, 0, 0, 0 }, /* 343 = sigpending */ - { compat4(AS(freebsd4_freebsd32_sigreturn_args),freebsd32_sigreturn), AUE_SIGRETURN, NULL, 0, 0, 0 }, /* 344 = old freebsd32_sigreturn */ + { compat4(AS(freebsd4_freebsd32_sigreturn_args),freebsd32_sigreturn), AUE_SIGRETURN, NULL, 0, 0, 0 }, /* 344 = freebsd4 freebsd32_sigreturn */ { AS(freebsd32_sigtimedwait_args), (sy_call_t *)freebsd32_sigtimedwait, AUE_SIGWAIT, NULL, 0, 0, 0 }, /* 345 = freebsd32_sigtimedwait */ { AS(freebsd32_sigwaitinfo_args), (sy_call_t *)freebsd32_sigwaitinfo, AUE_NULL, NULL, 0, 0, 0 }, /* 346 = freebsd32_sigwaitinfo */ { AS(__acl_get_file_args), (sy_call_t *)__acl_get_file, AUE_NULL, NULL, 0, 0, 0 }, /* 347 = __acl_get_file */ ==== //depot/projects/smpng/sys/compat/freebsd32/syscalls.master#59 (text+ko) ==== @@ -1,19 +1,21 @@ - $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.117 2009/06/15 20:38:55 jhb Exp $ + $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.118 2009/06/17 19:50:38 jhb Exp $ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; from: src/sys/kern/syscalls.master 1.107 ; ; System call name/number master file. ; Processed to created init_sysent.c, syscalls.c and syscall.h. -; Columns: number audit type nargs name alt{name,tag,rtyp}/comments +; Columns: number audit type name alt{name,tag,rtyp}/comments ; number system call number, must be in order ; audit the audit event associated with the system call ; A value of AUE_NULL means no auditing, but it also means that ; there is no audit event for the call at this time. For the ; case where the event exists, but we don't want auditing, the ; event should be #defined to AUE_NULL in audit_kevents.h. -; type one of STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT, -; NODEF, NOARGS, NOPROTO, NOIMPL, NOSTD, COMPAT4 +; type one of STD, OBSOL, UNIMPL, COMPAT, COMPAT4, COMPAT6, +; LIBCOMPAT, NODEF, NOARGS, NOPROTO, NOSTD +; The COMPAT* options may be combined with one or more NO* +; options separated by '|' with no spaces (e.g. COMPAT|NOARGS) ; name psuedo-prototype of syscall routine ; If one of the following alts is different, then all appear: ; altname name of system call if different @@ -25,11 +27,12 @@ ; STD always included ; COMPAT included on COMPAT #ifdef ; COMPAT4 included on COMPAT4 #ifdef (FreeBSD 4 compat) +; COMPAT6 included on COMPAT4 #ifdef (FreeBSD 6 compat) ; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h ; OBSOL obsolete, not included in system, only specifies name ; UNIMPL not implemented, placeholder only ; NOSTD implemented but as a lkm that can be statically -; compiled in; sysent entry will be filled with lkmsys +; compiled in; sysent entry will be filled with lkmressys ; so the SYSCALL_MODULE macro works ; NOARGS same as STD except do not create structure in sys/sysproto.h ; NODEF same as STD except only have the entry in the syscall table ==== //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#60 (text+ko) ==== @@ -29,7 +29,7 @@ #include "opt_compat.h" #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.151 2009/06/15 19:01:53 jamie Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.152 2009/06/17 15:01:01 bz Exp $"); #include #include @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include ==== //depot/projects/smpng/sys/fs/nfsclient/nfs_clvnops.c#6 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/fs/nfsclient/nfs_clvnops.c,v 1.5 2009/06/09 15:18:01 rmacklem Exp $"); +__FBSDID("$FreeBSD: src/sys/fs/nfsclient/nfs_clvnops.c,v 1.7 2009/06/17 15:01:01 bz Exp $"); /* * vnode op calls for Sun NFS version 2, 3 and 4 @@ -49,6 +49,7 @@ #include #include #include +#include #include #include #include @@ -992,22 +993,23 @@ struct componentname *cnp = ap->a_cnp; struct vnode *dvp = ap->a_dvp; struct vnode **vpp = ap->a_vpp; + struct mount *mp = dvp->v_mount; int flags = cnp->cn_flags; struct vnode *newvp; struct nfsmount *nmp; struct nfsnode *np; - int error = 0, attrflag, dattrflag; + int error = 0, attrflag, dattrflag, ltype; struct thread *td = cnp->cn_thread; struct nfsfh *nfhp; struct nfsvattr dnfsva, nfsva; *vpp = NULLVP; - if ((flags & ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && + if ((flags & ISLASTCN) && (mp->mnt_flag & MNT_RDONLY) && (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) return (EROFS); if (dvp->v_type != VDIR) return (ENOTDIR); - nmp = VFSTONFS(dvp->v_mount); + nmp = VFSTONFS(mp); np = VTONFS(dvp); /* For NFSv4, wait until any remove is done. */ @@ -1073,7 +1075,7 @@ } if ((cnp->cn_nameiop == CREATE || cnp->cn_nameiop == RENAME) && (flags & ISLASTCN) && error == ENOENT) { - if (dvp->v_mount->mnt_flag & MNT_RDONLY) + if (mp->mnt_flag & MNT_RDONLY) error = EROFS; else error = EJUSTRETURN; @@ -1093,8 +1095,7 @@ FREE((caddr_t)nfhp, M_NFSFH); return (EISDIR); } - error = nfscl_nget(dvp->v_mount, dvp, nfhp, cnp, td, &np, - NULL); + error = nfscl_nget(mp, dvp, nfhp, cnp, td, &np, NULL); if (error) return (error); newvp = NFSTOV(np); @@ -1106,14 +1107,37 @@ return (0); } - if ((flags & ISDOTDOT)) { + if (flags & ISDOTDOT) { + ltype = VOP_ISLOCKED(dvp); + error = vfs_busy(mp, MBF_NOWAIT); + if (error != 0) { + VOP_UNLOCK(dvp, 0); + error = vfs_busy(mp, 0); + vn_lock(dvp, ltype | LK_RETRY); + if (error == 0 && (dvp->v_iflag & VI_DOOMED)) { + vfs_unbusy(mp); + error = ENOENT; + } + if (error != 0) + return (error); + } VOP_UNLOCK(dvp, 0); - error = nfscl_nget(dvp->v_mount, dvp, nfhp, cnp, td, &np, - NULL); - vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY); - if (error) + error = nfscl_nget(mp, dvp, nfhp, cnp, td, &np, NULL); + if (error == 0) + newvp = NFSTOV(np); + vfs_unbusy(mp); + vn_lock(dvp, ltype | LK_RETRY); + if (dvp->v_iflag & VI_DOOMED) { + if (error == 0) { + if (newvp == dvp) + vrele(newvp); + else + vput(newvp); + } + error = ENOENT; + } + if (error != 0) return (error); - newvp = NFSTOV(np); if (attrflag) (void) nfscl_loadattrcache(&newvp, &nfsva, NULL, NULL, 0, 1); @@ -1125,8 +1149,7 @@ (void) nfscl_loadattrcache(&newvp, &nfsva, NULL, NULL, 0, 1); } else { - error = nfscl_nget(dvp->v_mount, dvp, nfhp, cnp, td, &np, - NULL); + error = nfscl_nget(mp, dvp, nfhp, cnp, td, &np, NULL); if (error) return (error); newvp = NFSTOV(np); ==== //depot/projects/smpng/sys/i386/ibcs2/ibcs2_isc_sysent.c#12 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/ibcs2/ibcs2_isc_sysent.c,v 1.19 2009/05/08 20:16:04 ed Exp $ + * $FreeBSD: src/sys/i386/ibcs2/ibcs2_isc_sysent.c,v 1.20 2009/06/17 19:53:20 jhb Exp $ * created from FreeBSD: head/sys/i386/ibcs2/syscalls.isc 160798 2006-07-28 19:05:28Z jhb */ @@ -18,25 +18,25 @@ /* The casts are bogus but will do for now. */ struct sysent isc_sysent[] = { - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 0 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 1 = isc_setostype */ - { AS(ibcs2_rename_args), (sy_call_t *)ibcs2_rename, AUE_RENAME, NULL, 0, 0 }, /* 2 = ibcs2_rename */ - { AS(ibcs2_sigaction_args), (sy_call_t *)ibcs2_sigaction, AUE_NULL, NULL, 0, 0 }, /* 3 = ibcs2_sigaction */ - { AS(ibcs2_sigprocmask_args), (sy_call_t *)ibcs2_sigprocmask, AUE_NULL, NULL, 0, 0 }, /* 4 = ibcs2_sigprocmask */ - { AS(ibcs2_sigpending_args), (sy_call_t *)ibcs2_sigpending, AUE_NULL, NULL, 0, 0 }, /* 5 = ibcs2_sigpending */ - { AS(getgroups_args), (sy_call_t *)getgroups, AUE_GETGROUPS, NULL, 0, 0 }, /* 6 = getgroups */ - { AS(setgroups_args), (sy_call_t *)setgroups, AUE_SETGROUPS, NULL, 0, 0 }, /* 7 = setgroups */ - { AS(ibcs2_pathconf_args), (sy_call_t *)ibcs2_pathconf, AUE_PATHCONF, NULL, 0, 0 }, /* 8 = ibcs2_pathconf */ - { AS(ibcs2_fpathconf_args), (sy_call_t *)ibcs2_fpathconf, AUE_FPATHCONF, NULL, 0, 0 }, /* 9 = ibcs2_fpathconf */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 10 = nosys */ - { AS(ibcs2_wait_args), (sy_call_t *)ibcs2_wait, AUE_WAIT4, NULL, 0, 0 }, /* 11 = ibcs2_wait */ - { 0, (sy_call_t *)setsid, AUE_SETSID, NULL, 0, 0 }, /* 12 = setsid */ - { 0, (sy_call_t *)getpid, AUE_GETPID, NULL, 0, 0 }, /* 13 = getpid */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 14 = isc_adduser */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 15 = isc_setuser */ - { AS(ibcs2_sysconf_args), (sy_call_t *)ibcs2_sysconf, AUE_NULL, NULL, 0, 0 }, /* 16 = ibcs2_sysconf */ - { AS(ibcs2_sigsuspend_args), (sy_call_t *)ibcs2_sigsuspend, AUE_NULL, NULL, 0, 0 }, /* 17 = ibcs2_sigsuspend */ - { AS(ibcs2_symlink_args), (sy_call_t *)ibcs2_symlink, AUE_SYMLINK, NULL, 0, 0 }, /* 18 = ibcs2_symlink */ - { AS(ibcs2_readlink_args), (sy_call_t *)ibcs2_readlink, AUE_READLINK, NULL, 0, 0 }, /* 19 = ibcs2_readlink */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 20 = isc_getmajor */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 0 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 1 = isc_setostype */ + { AS(ibcs2_rename_args), (sy_call_t *)ibcs2_rename, AUE_RENAME, NULL, 0, 0, 0 }, /* 2 = ibcs2_rename */ + { AS(ibcs2_sigaction_args), (sy_call_t *)ibcs2_sigaction, AUE_NULL, NULL, 0, 0, 0 }, /* 3 = ibcs2_sigaction */ + { AS(ibcs2_sigprocmask_args), (sy_call_t *)ibcs2_sigprocmask, AUE_NULL, NULL, 0, 0, 0 }, /* 4 = ibcs2_sigprocmask */ + { AS(ibcs2_sigpending_args), (sy_call_t *)ibcs2_sigpending, AUE_NULL, NULL, 0, 0, 0 }, /* 5 = ibcs2_sigpending */ + { AS(getgroups_args), (sy_call_t *)getgroups, AUE_GETGROUPS, NULL, 0, 0, 0 }, /* 6 = getgroups */ + { AS(setgroups_args), (sy_call_t *)setgroups, AUE_SETGROUPS, NULL, 0, 0, 0 }, /* 7 = setgroups */ + { AS(ibcs2_pathconf_args), (sy_call_t *)ibcs2_pathconf, AUE_PATHCONF, NULL, 0, 0, 0 }, /* 8 = ibcs2_pathconf */ + { AS(ibcs2_fpathconf_args), (sy_call_t *)ibcs2_fpathconf, AUE_FPATHCONF, NULL, 0, 0, 0 }, /* 9 = ibcs2_fpathconf */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 10 = nosys */ + { AS(ibcs2_wait_args), (sy_call_t *)ibcs2_wait, AUE_WAIT4, NULL, 0, 0, 0 }, /* 11 = ibcs2_wait */ + { 0, (sy_call_t *)setsid, AUE_SETSID, NULL, 0, 0, 0 }, /* 12 = setsid */ + { 0, (sy_call_t *)getpid, AUE_GETPID, NULL, 0, 0, 0 }, /* 13 = getpid */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 14 = isc_adduser */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 15 = isc_setuser */ + { AS(ibcs2_sysconf_args), (sy_call_t *)ibcs2_sysconf, AUE_NULL, NULL, 0, 0, 0 }, /* 16 = ibcs2_sysconf */ + { AS(ibcs2_sigsuspend_args), (sy_call_t *)ibcs2_sigsuspend, AUE_NULL, NULL, 0, 0, 0 }, /* 17 = ibcs2_sigsuspend */ + { AS(ibcs2_symlink_args), (sy_call_t *)ibcs2_symlink, AUE_SYMLINK, NULL, 0, 0, 0 }, /* 18 = ibcs2_symlink */ + { AS(ibcs2_readlink_args), (sy_call_t *)ibcs2_readlink, AUE_READLINK, NULL, 0, 0, 0 }, /* 19 = ibcs2_readlink */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 20 = isc_getmajor */ }; ==== //depot/projects/smpng/sys/i386/ibcs2/ibcs2_xenix_sysent.c#14 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/ibcs2/ibcs2_xenix_sysent.c,v 1.20 2009/05/08 20:16:04 ed Exp $ + * $FreeBSD: src/sys/i386/ibcs2/ibcs2_xenix_sysent.c,v 1.21 2009/06/17 19:53:20 jhb Exp $ * created from FreeBSD: head/sys/i386/ibcs2/syscalls.xenix 160798 2006-07-28 19:05:28Z jhb */ @@ -17,61 +17,61 @@ /* The casts are bogus but will do for now. */ struct sysent xenix_sysent[] = { - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 0 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 1 = xenix_xlocking */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 2 = xenix_creatsem */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 3 = xenix_opensem */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 4 = xenix_sigsem */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 5 = xenix_waitsem */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 6 = xenix_nbwaitsem */ - { AS(xenix_rdchk_args), (sy_call_t *)xenix_rdchk, AUE_NULL, NULL, 0, 0 }, /* 7 = xenix_rdchk */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 8 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 9 = nosys */ - { AS(xenix_chsize_args), (sy_call_t *)xenix_chsize, AUE_FTRUNCATE, NULL, 0, 0 }, /* 10 = xenix_chsize */ - { AS(xenix_ftime_args), (sy_call_t *)xenix_ftime, AUE_NULL, NULL, 0, 0 }, /* 11 = xenix_ftime */ - { AS(xenix_nap_args), (sy_call_t *)xenix_nap, AUE_NULL, NULL, 0, 0 }, /* 12 = xenix_nap */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 13 = xenix_sdget */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 14 = xenix_sdfree */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 15 = xenix_sdenter */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 16 = xenix_sdleave */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 17 = xenix_sdgetv */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 18 = xenix_sdwaitv */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 19 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 20 = nosys */ - { 0, (sy_call_t *)xenix_scoinfo, AUE_NULL, NULL, 0, 0 }, /* 21 = xenix_scoinfo */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 22 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 23 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 24 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 25 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 26 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 27 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 28 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 29 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 30 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 31 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 32 = xenix_proctl */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 33 = xenix_execseg */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 34 = xenix_unexecseg */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 35 = nosys */ - { AS(select_args), (sy_call_t *)select, AUE_SELECT, NULL, 0, 0 }, /* 36 = select */ - { AS(xenix_eaccess_args), (sy_call_t *)xenix_eaccess, AUE_EACCESS, NULL, 0, 0 }, /* 37 = xenix_eaccess */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 38 = xenix_paccess */ - { AS(ibcs2_sigaction_args), (sy_call_t *)ibcs2_sigaction, AUE_NULL, NULL, 0, 0 }, /* 39 = ibcs2_sigaction */ - { AS(ibcs2_sigprocmask_args), (sy_call_t *)ibcs2_sigprocmask, AUE_NULL, NULL, 0, 0 }, /* 40 = ibcs2_sigprocmask */ - { AS(ibcs2_sigpending_args), (sy_call_t *)ibcs2_sigpending, AUE_NULL, NULL, 0, 0 }, /* 41 = ibcs2_sigpending */ - { AS(ibcs2_sigsuspend_args), (sy_call_t *)ibcs2_sigsuspend, AUE_NULL, NULL, 0, 0 }, /* 42 = ibcs2_sigsuspend */ - { AS(ibcs2_getgroups_args), (sy_call_t *)ibcs2_getgroups, AUE_GETGROUPS, NULL, 0, 0 }, /* 43 = ibcs2_getgroups */ - { AS(ibcs2_setgroups_args), (sy_call_t *)ibcs2_setgroups, AUE_SETGROUPS, NULL, 0, 0 }, /* 44 = ibcs2_setgroups */ - { AS(ibcs2_sysconf_args), (sy_call_t *)ibcs2_sysconf, AUE_NULL, NULL, 0, 0 }, /* 45 = ibcs2_sysconf */ - { AS(ibcs2_pathconf_args), (sy_call_t *)ibcs2_pathconf, AUE_PATHCONF, NULL, 0, 0 }, /* 46 = ibcs2_pathconf */ - { AS(ibcs2_fpathconf_args), (sy_call_t *)ibcs2_fpathconf, AUE_FPATHCONF, NULL, 0, 0 }, /* 47 = ibcs2_fpathconf */ - { AS(ibcs2_rename_args), (sy_call_t *)ibcs2_rename, AUE_RENAME, NULL, 0, 0 }, /* 48 = ibcs2_rename */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 49 = nosys */ - { AS(xenix_utsname_args), (sy_call_t *)xenix_utsname, AUE_NULL, NULL, 0, 0 }, /* 50 = xenix_utsname */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 51 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 52 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 53 = nosys */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 54 = nosys */ - { AS(getitimer_args), (sy_call_t *)getitimer, AUE_GETITIMER, NULL, 0, 0 }, /* 55 = getitimer */ - { AS(setitimer_args), (sy_call_t *)setitimer, AUE_SETITIMER, NULL, 0, 0 }, /* 56 = setitimer */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 0 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 1 = xenix_xlocking */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 2 = xenix_creatsem */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 3 = xenix_opensem */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 4 = xenix_sigsem */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 5 = xenix_waitsem */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 6 = xenix_nbwaitsem */ + { AS(xenix_rdchk_args), (sy_call_t *)xenix_rdchk, AUE_NULL, NULL, 0, 0, 0 }, /* 7 = xenix_rdchk */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 8 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 9 = nosys */ + { AS(xenix_chsize_args), (sy_call_t *)xenix_chsize, AUE_FTRUNCATE, NULL, 0, 0, 0 }, /* 10 = xenix_chsize */ + { AS(xenix_ftime_args), (sy_call_t *)xenix_ftime, AUE_NULL, NULL, 0, 0, 0 }, /* 11 = xenix_ftime */ + { AS(xenix_nap_args), (sy_call_t *)xenix_nap, AUE_NULL, NULL, 0, 0, 0 }, /* 12 = xenix_nap */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 13 = xenix_sdget */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 14 = xenix_sdfree */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 15 = xenix_sdenter */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 16 = xenix_sdleave */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 17 = xenix_sdgetv */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 18 = xenix_sdwaitv */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 19 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 20 = nosys */ + { 0, (sy_call_t *)xenix_scoinfo, AUE_NULL, NULL, 0, 0, 0 }, /* 21 = xenix_scoinfo */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 22 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 23 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 24 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 25 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 26 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 27 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 28 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 29 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 30 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 31 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 32 = xenix_proctl */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 33 = xenix_execseg */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 34 = xenix_unexecseg */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 35 = nosys */ + { AS(select_args), (sy_call_t *)select, AUE_SELECT, NULL, 0, 0, 0 }, /* 36 = select */ + { AS(xenix_eaccess_args), (sy_call_t *)xenix_eaccess, AUE_EACCESS, NULL, 0, 0, 0 }, /* 37 = xenix_eaccess */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 38 = xenix_paccess */ + { AS(ibcs2_sigaction_args), (sy_call_t *)ibcs2_sigaction, AUE_NULL, NULL, 0, 0, 0 }, /* 39 = ibcs2_sigaction */ + { AS(ibcs2_sigprocmask_args), (sy_call_t *)ibcs2_sigprocmask, AUE_NULL, NULL, 0, 0, 0 }, /* 40 = ibcs2_sigprocmask */ + { AS(ibcs2_sigpending_args), (sy_call_t *)ibcs2_sigpending, AUE_NULL, NULL, 0, 0, 0 }, /* 41 = ibcs2_sigpending */ + { AS(ibcs2_sigsuspend_args), (sy_call_t *)ibcs2_sigsuspend, AUE_NULL, NULL, 0, 0, 0 }, /* 42 = ibcs2_sigsuspend */ + { AS(ibcs2_getgroups_args), (sy_call_t *)ibcs2_getgroups, AUE_GETGROUPS, NULL, 0, 0, 0 }, /* 43 = ibcs2_getgroups */ + { AS(ibcs2_setgroups_args), (sy_call_t *)ibcs2_setgroups, AUE_SETGROUPS, NULL, 0, 0, 0 }, /* 44 = ibcs2_setgroups */ + { AS(ibcs2_sysconf_args), (sy_call_t *)ibcs2_sysconf, AUE_NULL, NULL, 0, 0, 0 }, /* 45 = ibcs2_sysconf */ + { AS(ibcs2_pathconf_args), (sy_call_t *)ibcs2_pathconf, AUE_PATHCONF, NULL, 0, 0, 0 }, /* 46 = ibcs2_pathconf */ + { AS(ibcs2_fpathconf_args), (sy_call_t *)ibcs2_fpathconf, AUE_FPATHCONF, NULL, 0, 0, 0 }, /* 47 = ibcs2_fpathconf */ + { AS(ibcs2_rename_args), (sy_call_t *)ibcs2_rename, AUE_RENAME, NULL, 0, 0, 0 }, /* 48 = ibcs2_rename */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 49 = nosys */ + { AS(xenix_utsname_args), (sy_call_t *)xenix_utsname, AUE_NULL, NULL, 0, 0, 0 }, /* 50 = xenix_utsname */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 51 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 52 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 53 = nosys */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 54 = nosys */ + { AS(getitimer_args), (sy_call_t *)getitimer, AUE_GETITIMER, NULL, 0, 0, 0 }, /* 55 = getitimer */ + { AS(setitimer_args), (sy_call_t *)setitimer, AUE_SETITIMER, NULL, 0, 0, 0 }, /* 56 = setitimer */ }; ==== //depot/projects/smpng/sys/kern/init_sysent.c#92 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.249 2009/06/15 20:40:23 jhb Exp $ - * created from FreeBSD: head/sys/kern/syscalls.master 194262 2009-06-15 20:38:55Z jhb + * $FreeBSD: src/sys/kern/init_sysent.c,v 1.250 2009/06/17 19:53:47 jhb Exp $ + * created from FreeBSD: head/sys/kern/syscalls.master 194390 2009-06-17 19:50:38Z jhb */ #include "opt_compat.h" @@ -46,7 +46,7 @@ { AS(chmod_args), (sy_call_t *)chmod, AUE_CHMOD, NULL, 0, 0, 0 }, /* 15 = chmod */ { AS(chown_args), (sy_call_t *)chown, AUE_CHOWN, NULL, 0, 0, 0 }, /* 16 = chown */ { AS(obreak_args), (sy_call_t *)obreak, AUE_NULL, NULL, 0, 0, 0 }, /* 17 = break */ - { compat4(AS(freebsd4_getfsstat_args),getfsstat), AUE_GETFSSTAT, NULL, 0, 0, 0 }, /* 18 = old getfsstat */ + { compat4(AS(freebsd4_getfsstat_args),getfsstat), AUE_GETFSSTAT, NULL, 0, 0, 0 }, /* 18 = freebsd4 getfsstat */ { compat(AS(olseek_args),lseek), AUE_LSEEK, NULL, 0, 0, 0 }, /* 19 = old lseek */ { 0, (sy_call_t *)getpid, AUE_GETPID, NULL, 0, 0, 0 }, /* 20 = getpid */ { AS(mount_args), (sy_call_t *)mount, AUE_MOUNT, NULL, 0, 0, 0 }, /* 21 = mount */ @@ -185,14 +185,14 @@ { AS(nlm_syscall_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 154 = nlm_syscall */ { AS(nfssvc_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 155 = nfssvc */ { compat(AS(ogetdirentries_args),getdirentries), AUE_GETDIRENTRIES, NULL, 0, 0, 0 }, /* 156 = old getdirentries */ - { compat4(AS(freebsd4_statfs_args),statfs), AUE_STATFS, NULL, 0, 0, 0 }, /* 157 = old statfs */ - { compat4(AS(freebsd4_fstatfs_args),fstatfs), AUE_FSTATFS, NULL, 0, 0, 0 }, /* 158 = old fstatfs */ + { compat4(AS(freebsd4_statfs_args),statfs), AUE_STATFS, NULL, 0, 0, 0 }, /* 157 = freebsd4 statfs */ + { compat4(AS(freebsd4_fstatfs_args),fstatfs), AUE_FSTATFS, NULL, 0, 0, 0 }, /* 158 = freebsd4 fstatfs */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 159 = nosys */ { AS(lgetfh_args), (sy_call_t *)lgetfh, AUE_LGETFH, NULL, 0, 0, 0 }, /* 160 = lgetfh */ { AS(getfh_args), (sy_call_t *)getfh, AUE_NFS_GETFH, NULL, 0, 0, 0 }, /* 161 = getfh */ - { compat4(AS(freebsd4_getdomainname_args),getdomainname), AUE_SYSCTL, NULL, 0, 0, 0 }, /* 162 = old getdomainname */ - { compat4(AS(freebsd4_setdomainname_args),setdomainname), AUE_SYSCTL, NULL, 0, 0, 0 }, /* 163 = old setdomainname */ - { compat4(AS(freebsd4_uname_args),uname), AUE_NULL, NULL, 0, 0, 0 }, /* 164 = old uname */ + { compat4(AS(freebsd4_getdomainname_args),getdomainname), AUE_SYSCTL, NULL, 0, 0, 0 }, /* 162 = freebsd4 getdomainname */ + { compat4(AS(freebsd4_setdomainname_args),setdomainname), AUE_SYSCTL, NULL, 0, 0, 0 }, /* 163 = freebsd4 setdomainname */ + { compat4(AS(freebsd4_uname_args),uname), AUE_NULL, NULL, 0, 0, 0 }, /* 164 = freebsd4 uname */ { AS(sysarch_args), (sy_call_t *)sysarch, AUE_SYSARCH, NULL, 0, 0, 0 }, /* 165 = sysarch */ { AS(rtprio_args), (sy_call_t *)rtprio, AUE_RTPRIO, NULL, 0, 0, 0 }, /* 166 = rtprio */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 167 = nosys */ @@ -325,7 +325,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 294 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 295 = nosys */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 296 = nosys */ - { compat4(AS(freebsd4_fhstatfs_args),fhstatfs), AUE_FHSTATFS, NULL, 0, 0, 0 }, /* 297 = old fhstatfs */ + { compat4(AS(freebsd4_fhstatfs_args),fhstatfs), AUE_FHSTATFS, NULL, 0, 0, 0 }, /* 297 = freebsd4 fhstatfs */ { AS(fhopen_args), (sy_call_t *)fhopen, AUE_FHOPEN, NULL, 0, 0, 0 }, /* 298 = fhopen */ { AS(fhstat_args), (sy_call_t *)fhstat, AUE_FHSTAT, NULL, 0, 0, 0 }, /* 299 = fhstat */ { AS(modnext_args), (sy_call_t *)modnext, AUE_NULL, NULL, 0, 0, 0 }, /* 300 = modnext */ @@ -364,15 +364,15 @@ { AS(sched_get_priority_min_args), (sy_call_t *)sched_get_priority_min, AUE_NULL, NULL, 0, 0, 0 }, /* 333 = sched_get_priority_min */ { AS(sched_rr_get_interval_args), (sy_call_t *)sched_rr_get_interval, AUE_NULL, NULL, 0, 0, 0 }, /* 334 = sched_rr_get_interval */ { AS(utrace_args), (sy_call_t *)utrace, AUE_NULL, NULL, 0, 0, 0 }, /* 335 = utrace */ - { compat4(AS(freebsd4_sendfile_args),sendfile), AUE_SENDFILE, NULL, 0, 0, 0 }, /* 336 = old sendfile */ + { compat4(AS(freebsd4_sendfile_args),sendfile), AUE_SENDFILE, NULL, 0, 0, 0 }, /* 336 = freebsd4 sendfile */ { AS(kldsym_args), (sy_call_t *)kldsym, AUE_NULL, NULL, 0, 0, 0 }, /* 337 = kldsym */ { AS(jail_args), (sy_call_t *)jail, AUE_JAIL, NULL, 0, 0, 0 }, /* 338 = jail */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 339 = pioctl */ { AS(sigprocmask_args), (sy_call_t *)sigprocmask, AUE_SIGPROCMASK, NULL, 0, 0, 0 }, /* 340 = sigprocmask */ { AS(sigsuspend_args), (sy_call_t *)sigsuspend, AUE_SIGSUSPEND, NULL, 0, 0, 0 }, /* 341 = sigsuspend */ - { compat4(AS(freebsd4_sigaction_args),sigaction), AUE_SIGACTION, NULL, 0, 0, 0 }, /* 342 = old sigaction */ + { compat4(AS(freebsd4_sigaction_args),sigaction), AUE_SIGACTION, NULL, 0, 0, 0 }, /* 342 = freebsd4 sigaction */ { AS(sigpending_args), (sy_call_t *)sigpending, AUE_SIGPENDING, NULL, 0, 0, 0 }, /* 343 = sigpending */ - { compat4(AS(freebsd4_sigreturn_args),sigreturn), AUE_SIGRETURN, NULL, 0, 0, 0 }, /* 344 = old sigreturn */ + { compat4(AS(freebsd4_sigreturn_args),sigreturn), AUE_SIGRETURN, NULL, 0, 0, 0 }, /* 344 = freebsd4 sigreturn */ { AS(sigtimedwait_args), (sy_call_t *)sigtimedwait, AUE_SIGWAIT, NULL, 0, 0, 0 }, /* 345 = sigtimedwait */ { AS(sigwaitinfo_args), (sy_call_t *)sigwaitinfo, AUE_NULL, NULL, 0, 0, 0 }, /* 346 = sigwaitinfo */ { AS(__acl_get_file_args), (sy_call_t *)__acl_get_file, AUE_NULL, NULL, 0, 0, 0 }, /* 347 = __acl_get_file */ @@ -403,7 +403,7 @@ { AS(extattr_get_fd_args), (sy_call_t *)extattr_get_fd, AUE_EXTATTR_GET_FD, NULL, 0, 0, 0 }, /* 372 = extattr_get_fd */ { AS(extattr_delete_fd_args), (sy_call_t *)extattr_delete_fd, AUE_EXTATTR_DELETE_FD, NULL, 0, 0, 0 }, /* 373 = extattr_delete_fd */ { AS(__setugid_args), (sy_call_t *)__setugid, AUE_NULL, NULL, 0, 0, 0 }, /* 374 = __setugid */ - { AS(nfsclnt_args), (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 375 = nfsclnt */ + { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 375 = nfsclnt */ { AS(eaccess_args), (sy_call_t *)eaccess, AUE_EACCESS, NULL, 0, 0, 0 }, /* 376 = eaccess */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 377 = afs_syscall */ { AS(nmount_args), (sy_call_t *)nmount, AUE_NMOUNT, NULL, 0, 0, 0 }, /* 378 = nmount */ ==== //depot/projects/smpng/sys/kern/kern_sysctl.c#66 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sysctl.c,v 1.197 2009/06/15 19:01:53 jamie Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sysctl.c,v 1.198 2009/06/17 15:01:01 bz Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include ==== //depot/projects/smpng/sys/kern/makesyscalls.sh#28 (text+ko) ==== @@ -1,6 +1,6 @@ #! /bin/sh - # @(#)makesyscalls.sh 8.1 (Berkeley) 6/10/93 -# $FreeBSD: src/sys/kern/makesyscalls.sh,v 1.72 2009/06/01 16:13:06 rwatson Exp $ +# $FreeBSD: src/sys/kern/makesyscalls.sh,v 1.74 2009/06/17 19:50:38 jhb Exp $ set -e @@ -213,6 +213,19 @@ print exit 1 } + # Returns true if the type "name" is the first flag in the type field + function type(name, flags, n) { + n = split($3, flags, /\|/) + return (n > 0 && flags[1] == name) + } + # Returns true if the flag "name" is set in the type field + function flag(name, flags, i, n) { + n = split($3, flags, /\|/) + for (i = 1; i <= n; i++) + if (flags[i] == name) + return 1 + return 0 + } function align_sysent_comment(column) { printf("\t") > sysent column = column + 8 - column % 8 @@ -241,7 +254,7 @@ rettype="int" end=NF } - if ($3 == "NODEF") { + if (flag("NODEF")) { auditev="AUE_NULL" funcname=$4 argssize = "AS(" $6 ")" @@ -267,11 +280,11 @@ funcalias = funcname if (argalias == "") { argalias = funcname "_args" - if ($3 == "COMPAT") + if (flag("COMPAT")) argalias = "o" argalias - if ($3 == "COMPAT4") + if (flag("COMPAT4")) argalias = "freebsd4_" argalias - if ($3 == "COMPAT6") + if (flag("COMPAT6")) argalias = "freebsd6_" argalias } f++ @@ -325,8 +338,8 @@ flags = "0"; } - $3 == "STD" || $3 == "NODEF" || $3 == "NOARGS" || $3 == "NOPROTO" \ - || $3 == "NOIMPL" || $3 == "NOSTD" { + type("STD") || type("NODEF") || type("NOARGS") || type("NOPROTO") \ + || type("NOSTD") { parseline() printf("\t/* %s */\n\tcase %d: {\n", funcname, syscall) > systrace printf("\t/* %s */\n\tcase %d:\n", funcname, syscall) > systracetmp @@ -352,8 +365,8 @@ } printf("\t\t*n_args = %d;\n\t\tbreak;\n\t}\n", argc) > systrace printf("\t\tbreak;\n") > systracetmp - if (argc != 0 && $3 != "NOARGS" && $3 != "NOPROTO" && \ - $3 != "NODEF") { + if (argc != 0 && !flag("NOARGS") && !flag("NOPROTO") && \ + !flag("NODEF")) { printf("struct %s {\n", argalias) > sysarg for (i = 1; i <= argc; i++) printf("\tchar %s_l_[PADL_(%s)]; " \ @@ -363,10 +376,10 @@ argname[i], argtype[i]) > sysarg printf("};\n") > sysarg } - else if ($3 != "NOARGS" && $3 != "NOPROTO" && $3 != "NODEF") + else if (!flag("NOARGS") && !flag("NOPROTO") && !flag("NODEF")) printf("struct %s {\n\tregister_t dummy;\n};\n", argalias) > sysarg - if ($3 != "NOPROTO" && $3 != "NODEF") { + if (!flag("NOPROTO") && !flag("NODEF")) { printf("%s\t%s(struct thread *, struct %s *)", rettype, funcname, argalias) > sysdcl printf(";\n") > sysdcl @@ -375,10 +388,7 @@ } printf("\t{ %s, (sy_call_t *)", argssize) > sysent column = 8 + 2 + length(argssize) + 15 - if ($3 == "NOIMPL") { - printf("%s },", "nosys, AUE_NULL, NULL, 0, 0, 0") > sysent - column = column + length("nosys") + length("AUE_NULL") + 3 - } else if ($3 == "NOSTD") { + if (flag("NOSTD")) { printf("%s },", "lkmressys, AUE_NULL, NULL, 0, 0, 0") > sysent column = column + length("lkmressys") + length("AUE_NULL") + 3 } else { @@ -389,7 +399,7 @@ printf("/* %d = %s */\n", syscall, funcalias) > sysent printf("\t\"%s\",\t\t\t/* %d = %s */\n", funcalias, syscall, funcalias) > sysnames - if ($3 != "NODEF") { + if (!flag("NODEF")) { printf("#define\t%s%s\t%d\n", syscallprefix, funcalias, syscall) > syshdr printf(" \\\n\t%s.o", funcalias) > sysmk @@ -397,28 +407,32 @@ syscall++ next } - $3 == "COMPAT" || $3 == "COMPAT4" || $3 == "COMPAT6" || $3 == "CPT_NOA" { - if ($3 == "COMPAT" || $3 == "CPT_NOA") { + type("COMPAT") || type("COMPAT4") || type("COMPAT6") { + if (flag("COMPAT")) { ncompat++ out = syscompat outdcl = syscompatdcl wrap = "compat" prefix = "o" - } else if ($3 == "COMPAT4") { + descr = "old" + } else if (flag("COMPAT4")) { ncompat4++ out = syscompat4 outdcl = syscompat4dcl wrap = "compat4" prefix = "freebsd4_" - } else if ($3 == "COMPAT6") { + descr = "freebsd4" + } else if (flag("COMPAT6")) { ncompat6++ out = syscompat6 outdcl = syscompat6dcl wrap = "compat6" prefix = "freebsd6_" + descr = "freebsd6" } parseline() - if (argc != 0 && $3 != "CPT_NOA") { + if (argc != 0 && !flag("NOARGS") && !flag("NOPROTO") && \ + !flag("NODEF")) { printf("struct %s {\n", argalias) > out for (i = 1; i <= argc; i++) printf("\tchar %s_l_[PADL_(%s)]; %s %s; " \ @@ -428,22 +442,32 @@ argname[i], argtype[i]) > out printf("};\n") > out } - else if($3 != "CPT_NOA") + else if (!flag("NOARGS") && !flag("NOPROTO") && !flag("NODEF")) printf("struct %s {\n\tregister_t dummy;\n};\n", argalias) > sysarg - printf("%s\t%s%s(struct thread *, struct %s *);\n", - rettype, prefix, funcname, argalias) > outdcl - printf("\t{ %s(%s,%s), %s, NULL, 0, 0, %s },", - wrap, argssize, funcname, auditev, flags) > sysent - align_sysent_comment(8 + 9 + \ - length(argssize) + 1 + length(funcname) + length(auditev) + length(flags) + 4) - printf("/* %d = old %s */\n", syscall, funcalias) > sysent - printf("\t\"%s.%s\",\t\t/* %d = old %s */\n", - wrap, funcalias, syscall, funcalias) > sysnames - if ($3 == "COMPAT" || $3 == "CPT_NOA") { + if (!flag("NOPROTO") && !flag("NODEF")) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jun 17 20:23:11 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2155F1065698; Wed, 17 Jun 2009 20:23:11 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1125106568A for ; Wed, 17 Jun 2009 20:23:10 +0000 (UTC) (envelope-from marinosi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BDA9D8FC08 for ; Wed, 17 Jun 2009 20:23:10 +0000 (UTC) (envelope-from marinosi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HKNAO1098261 for ; Wed, 17 Jun 2009 20:23:10 GMT (envelope-from marinosi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HKNA3M098259 for perforce@freebsd.org; Wed, 17 Jun 2009 20:23:10 GMT (envelope-from marinosi@FreeBSD.org) Date: Wed, 17 Jun 2009 20:23:10 GMT Message-Id: <200906172023.n5HKNA3M098259@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marinosi@FreeBSD.org using -f From: Ilias Marinos To: Perforce Change Reviews Cc: Subject: PERFORCE change 164622 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 20:23:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=164622 Change 164622 by marinosi@marinosi_redrum on 2009/06/17 20:23:07 Create audit_slice_create(), audit_slice_init(), audit_slice_destroy() functions to smoothly handle slice management. Affected files ... .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#5 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.h#3 edit .. //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_syscalls.c#4 edit Differences ... ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit.c#5 (text) ==== @@ -195,67 +195,31 @@ * synchronization primitives, worker thread, and trigger device node. Also * call into the BSM assembly code to initialize it. */ -void -audit_init(void *arg) +static void +audit_init(void) { - struct audit_slice *as; + struct audit_slice *as = NULL; /* * Initialize the slice queue and add every slice in it except the - * base(no reason to be in the queue). + * base(no reason to be in the queue). We want the queue initialized + * once, even if there are no other slices except the base one and + * thus this is happening in audit_init(). */ TAILQ_INIT(&audit_slice_q); - if ( audit_base_slice == NULL && arg == NULL ) { + if ( audit_base_slice == NULL ) { + /* + * If base slice is null, allocate the base slice. + */ audit_base_slice = malloc(sizeof(*audit_base_slice), M_AUDITSLICE, M_WAITOK | M_ZERO); - /* - * If base slice is null allocate and then initialize the base - * slice first of all. - */ as = audit_base_slice; - } else { - //as = (struct audit_slice *) arg; - as = malloc(sizeof(*as), M_AUDITSLICE, M_WAITOK | M_ZERO); - TAILQ_INSERT_TAIL(&audit_slice_q, as, as_q); } - /* - * XXX: As M_ZERO flag is used during allocation, we may remove some - * of the following initialization is useless. - */ - as->audit_enabled = 0; - as->audit_suspended = 0; - as->audit_panic_on_write_fail = 0; - as->audit_fail_stop = 0; - as->audit_in_failure = 0; - as->audit_argv = 0; - as->audit_arge = 0; - - - - as->audit_fstat.af_filesz = 0; /* '0' means unset, unbounded. */ - as->audit_fstat.af_currsz = 0; - as->audit_nae_mask.am_success = 0; - as->audit_nae_mask.am_failure = 0; - - TAILQ_INIT(&(as->audit_q)); - as->audit_q_len = 0; - as->audit_pre_q_len = 0; - as->audit_qctrl.aq_hiwater = AQ_HIWATER; - as->audit_qctrl.aq_lowater = AQ_LOWATER; - as->audit_qctrl.aq_bufsz = AQ_BUFSZ; - as->audit_qctrl.aq_minfree = AU_FS_MINFREE; + if ( as != NULL ) + audit_slice_init(as, "base_slice"); - audit_kinfo.ai_termid.at_type = AU_IPv4; - audit_kinfo.ai_termid.at_addr[0] = INADDR_ANY; - - mtx_init(&(as->audit_mtx), "audit_mtx", NULL, MTX_DEF); - KINFO_LOCK_INIT(); - cv_init(&(as->audit_worker_cv), "audit_worker_cv"); - cv_init(&(as->audit_watermark_cv), "audit_watermark_cv"); - cv_init(&(as->audit_fail_cv), "audit_fail_cv"); - audit_record_zone = uma_zcreate("audit_record", sizeof(struct kaudit_record), audit_record_ctor, audit_record_dtor, NULL, NULL, UMA_ALIGN_PTR, 0); @@ -660,6 +624,80 @@ } /* + * audit_slice_create() is called through A_CREATESLICE command of auditon() + * syscall to create a new slice.(except the base one!) + */ +void +audit_slice_create(char *name) +{ + struct audit_slice *as = NULL; + int ret; + + ret = 0; + as = malloc(sizeof(*as), M_AUDITSLICE, M_WAITOK | M_ZERO); + if ( as == NULL ) + ret = 1; /* Failed to allocate slice */ + + TAILQ_INSERT_TAIL(&audit_slice_q, as, as_q); + + /* Initialize the base slice */ + audit_slice_init(as, name); + + /* Start audit worker thread. */ + audit_worker_init(as); +} + +/* + * audit_slice_init() function is the initialization routine used for ALL + * slices (including the base one). + */ +void +audit_slice_init(struct audit_slice *as, char *name) +{ + strcpy(as->as_name, name); + + /* + * XXX: As M_ZERO flag is used during allocation, some of the + * following initilization is pointless and should be removed. + */ + as->audit_enabled = 0; + as->audit_suspended = 0; + as->audit_panic_on_write_fail = 0; + as->audit_fail_stop = 0; + as->audit_in_failure = 0; + as->audit_argv = 0; + as->audit_arge = 0; + + + + as->audit_fstat.af_filesz = 0; /* '0' means unset, unbounded. */ + as->audit_fstat.af_currsz = 0; + as->audit_nae_mask.am_success = 0; + as->audit_nae_mask.am_failure = 0; + + TAILQ_INIT(&(as->audit_q)); + as->audit_q_len = 0; + as->audit_pre_q_len = 0; + as->audit_qctrl.aq_hiwater = AQ_HIWATER; + as->audit_qctrl.aq_lowater = AQ_LOWATER; + as->audit_qctrl.aq_bufsz = AQ_BUFSZ; + as->audit_qctrl.aq_minfree = AU_FS_MINFREE; + + audit_kinfo.ai_termid.at_type = AU_IPv4; + audit_kinfo.ai_termid.at_addr[0] = INADDR_ANY; + + mtx_init(&(as->audit_mtx), "audit_mtx", NULL, MTX_DEF); + if ( as == audit_base_slice ) + KINFO_LOCK_INIT(); + + cv_init(&(as->audit_worker_cv), "audit_worker_cv"); + cv_init(&(as->audit_watermark_cv), "audit_watermark_cv"); + cv_init(&(as->audit_fail_cv), "audit_fail_cv"); + +} + + +/* * audit_slice_destroy() is called through A_REMOVESLICE command of auditon() * syscall to remove an existing slice ( except the base one!) */ ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_slice.h#3 (text+ko) ==== @@ -172,9 +172,9 @@ /* * Audit related functions prototypes */ - -void audit_init(void *arg); void audit_rotate_vnode(struct ucred *cred, struct vnode *vp); void audit_worker_init(void *arg); +void audit_slice_init(struct audit_slice *as, char *name); +void audit_slice_create(char *name); void audit_slice_destroy(struct audit_slice *as); ==== //depot/projects/soc2009/marinosi_appaudit/src/sys/security/audit/audit_syscalls.c#4 (text) ==== @@ -546,8 +546,7 @@ /* Check if slice exists? */ if ((udata.au_slice.as_name == NULL)) return (EINVAL); - /* Passing null for testing purposes. TO be changed */ - audit_init(NULL); + audit_slice_create(udata.au_slice.as_name); break; case A_UPDATESLICE: From owner-p4-projects@FreeBSD.ORG Wed Jun 17 20:44:33 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C34F1065673; Wed, 17 Jun 2009 20:44:33 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA73F106566C for ; Wed, 17 Jun 2009 20:44:32 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9D9A28FC16 for ; Wed, 17 Jun 2009 20:44:32 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5HKiWFQ000678 for ; Wed, 17 Jun 2009 20:44:32 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5HKiWPO000675 for perforce@freebsd.org; Wed, 17 Jun 2009 20:44:32 GMT (envelope-from syl@FreeBSD.org) Date: Wed, 17 Jun 2009 20:44:32 GMT Message-Id: <200906172044.n5HKiWPO000675@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164624 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jun 2009 20:44:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=164624 Change 164624 by syl@syl_atuin on 2009/06/17 20:43:34 Get closer from first control transfer : - Add more transfer debug. - only LIBUSB20_TRANSFER_ERROR equals to LIBUSB_TRANSFER_ERROR. - make test1 output sexier. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#3 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#39 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#14 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#3 (text+ko) ==== @@ -15,7 +15,7 @@ uint8_t data[2] = {0,0}; printf("This program will try to issue a GET_STATUS" - "on the PID_TEST VID_TEST device control endpoint"); + " request on the PID_TEST VID_TEST device control endpoint\n"); if (libusb_init(&ctx) != 0) { ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#39 (text+ko) ==== @@ -851,12 +851,14 @@ usb_xfer->actual_length = 0; switch (usb_xfer->type) { case LIBUSB_TRANSFER_TYPE_CONTROL: + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE CTR"); libusb20_tr_setup_control(xfer, usb_xfer->buffer, (void *)(((uint8_t *) usb_xfer->buffer) + sizeof(libusb_control_setup)), usb_xfer->timeout); break ; case LIBUSB_TRANSFER_TYPE_ISOCHRONOUS: + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE ISO"); iso_packets = libusb20_tr_get_max_frames(xfer); if (usb_xfer->num_iso_packets > iso_packets) usb_xfer->num_iso_packets = iso_packets; @@ -867,15 +869,18 @@ libusb20_tr_set_total_frames(xfer, i); break ; case LIBUSB_TRANSFER_TYPE_BULK: + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE BULK"); libusb20_tr_setup_bulk(xfer, usb_xfer->buffer, usb_xfer->length, usb_xfer->timeout); break ; case LIBUSB_TRANSFER_TYPE_INTERRUPT: + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "TYPE INTR"); libusb20_tr_setup_intr(xfer, usb_xfer->buffer, usb_xfer->length, usb_xfer->timeout); break ; } libusb20_tr_submit(xfer); + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20 SUBMITED"); break ; default: usb_xfer->actual_length = 0; @@ -908,8 +913,12 @@ dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR TIMEOUT"); xfer->status = LIBUSB_TRANSFER_TIMED_OUT; break ; + case LIBUSB20_TRANSFER_ERROR: + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "ERROR"); + xfer->status = LIBUSB_TRANSFER_ERROR; + break ; default: - xfer->status = LIBUSB_TRANSFER_ERROR; + printf("other status : %i\n", status); } pthread_mutex_unlock(&libusb20_lock); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#14 (text+ko) ==== @@ -189,6 +189,7 @@ } pthread_mutex_lock(&libusb20_lock); + dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "LIBUSB20_PROCESS"); ret = libusb20_dev_process(devh->os_priv); pthread_mutex_unlock(&libusb20_lock); From owner-p4-projects@FreeBSD.ORG Thu Jun 18 00:08:04 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0F3AB106570D; Thu, 18 Jun 2009 00:08:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A89E910656AD for ; Thu, 18 Jun 2009 00:08:03 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9229A8FC14 for ; Thu, 18 Jun 2009 00:08:03 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5I083IQ031489 for ; Thu, 18 Jun 2009 00:08:03 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5I083iQ031487 for perforce@freebsd.org; Thu, 18 Jun 2009 00:08:03 GMT (envelope-from pgj@FreeBSD.org) Date: Thu, 18 Jun 2009 00:08:03 GMT Message-Id: <200906180008.n5I083iQ031487@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164634 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 00:08:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=164634 Change 164634 by pgj@beehive on 2009/06/18 00:07:38 IFC Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#50 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#27 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/jails/chapter.sgml#11 integrate .. //depot/projects/docproj_hu/doc/share/sgml/man-refs.ent#20 integrate .. //depot/projects/docproj_hu/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#15 integrate .. //depot/projects/docproj_hu/www/en/gnome/docs/faq2.sgml#6 integrate .. //depot/projects/docproj_hu/www/en/releng/index.sgml#28 integrate .. //depot/projects/docproj_hu/www/hu/share/sgml/events.xml#10 integrate .. //depot/projects/docproj_hu/www/hu/share/sgml/news.xml#37 integrate .. //depot/projects/docproj_hu/www/share/sgml/events.xml#18 integrate Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/faq/book.sgml#50 (text+ko) ==== @@ -20,7 +20,7 @@ A &os; Dokumentációs Projekt - $FreeBSD: doc/hu_HU.ISO8859-2/books/faq/book.sgml,v 1.13 2009/05/10 10:04:08 pgj Exp $ + $FreeBSD: doc/hu_HU.ISO8859-2/books/faq/book.sgml,v 1.14 2009/06/14 22:28:17 pgj Exp $ 1995 ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/eresources/chapter.sgml#27 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -3315,6 +3315,7 @@ + ==== //depot/projects/docproj_hu/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#15 (text+ko) ==== @@ -17,7 +17,7 @@ The &os; Documentation Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.354 2009/05/16 12:12:31 brueffer Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.355 2009/06/15 18:25:10 marius Exp $ 2000 @@ -756,6 +756,8 @@ &hwlist.bge; + &hwlist.cas; + &hwlist.cdce; [&arch.amd64;, &arch.i386;] Crystal Semiconductor ==== //depot/projects/docproj_hu/www/en/gnome/docs/faq2.sgml#6 (text+ko) ==== @@ -1,6 +1,6 @@ - + @@ -137,7 +137,7 @@

      This will enable services such as GDM, HAL, D-BUS, and Avahi on system startup. If you do not want to run all - of these services, you should forgo the + of these services, you should forget the gnome_enable property, and manually enable the services you want.

      ==== //depot/projects/docproj_hu/www/en/releng/index.sgml#28 (text+ko) ==== @@ -1,6 +1,6 @@ - + @@ -94,7 +94,7 @@ RELENG_7_2 Frozen - &contact.re; + &contact.so; FreeBSD 7.2 supported errata fix branch. ==== //depot/projects/docproj_hu/www/hu/share/sgml/events.xml#10 (text+ko) ==== @@ -17,7 +17,7 @@ - $FreeBSD: www/hu/share/sgml/events.xml,v 1.3 2009/05/24 11:27:09 pgj Exp $ + $FreeBSD: www/hu/share/sgml/events.xml,v 1.4 2009/06/10 22:33:34 pgj Exp $ ==== //depot/projects/docproj_hu/www/hu/share/sgml/news.xml#37 (text+ko) ==== @@ -11,7 +11,7 @@ - $FreeBSD: www/hu/share/sgml/news.xml,v 1.13 2009/06/05 12:12:54 pgj Exp $ + $FreeBSD: www/hu/share/sgml/news.xml,v 1.14 2009/06/10 22:33:34 pgj Exp $ ==== //depot/projects/docproj_hu/www/share/sgml/events.xml#18 (text+ko) ==== @@ -10,10 +10,107 @@ - $FreeBSD: www/share/sgml/events.xml,v 1.73 2009/06/08 17:56:30 delphij Exp $ + $FreeBSD: www/share/sgml/events.xml,v 1.74 2009/06/16 22:23:24 jkois Exp $ + + OpenRheinRuhr 2009 + http://www.openrheinruhr.de/ + + 2009 + 11 + 7 + + + 2009 + 11 + 8 + + + Germany + Bottrop + Saalbau + + This new event in the middle of Europe will + see a huge audience and an impressive list of exhibitors. + FreeBSD will have a booth as well as the other major + BSDs. + + + + discuss & discover 2009 + http://en.discuss-discover.com/ + + 2009 + 10 + 20 + + + 2009 + 10 + 22 + + + Germany + Munich + Messe München + + Discuss & discover is the successor of + Systems. FreeBSD will have a booth as well as the + other major BSDs and will try to repeat the great + success of past years. There will be an Open Source + conference with workshops, talks and a theme park for + various projects. + + + + IT Security Expo 2009 + http://www.it-sa.de/en/ + + 2009 + 9 + 23 + + + 2009 + 9 + 24 + + + Germany + Nuremberg + + Starting in 2009, Nuremberg will be staging + the leading IT security event in a new venue: Although + SYSTEMS has closed its doors, the IT SecurityExpo with + its track record of ten successful years is to be + continued and its scope expanded. There will be a + FreeBSD booth and talks likely. + + + + OpenExpo 2009 + http://www.openexpo.ch/ + + 2009 + 9 + 23 + + + 2009 + 9 + 24 + + + Switzerland + Winterthur + + The goal of OpenExpo is the promotion of Open Source + software in the business environment. Among many others, there + will be a FreeBSD booth. + + EuroBSDCon 2009 http://2009.eurobsdcon.org/ @@ -111,6 +208,30 @@ since July 2000. This year there will again be a FreeBSD boot camp to introduce new users to the Operating System. + + + LinuxTag 2009 + http://www.linuxtag.org/2009/en/ + + 2009 + 6 + 24 + + + 2009 + 6 + 27 + + + Germany + Berlin + Messe Berlin + + LinuxTag is Europe's largest event for Free + Software, Linux and Open Source. This year there will be + the traditional FreeBSD booth as well as booths from NetBSD, + OpenBSD and MirBSD and several BSD talks. + BSDday Argentina 2009 From owner-p4-projects@FreeBSD.ORG Thu Jun 18 01:54:53 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A829E1065674; Thu, 18 Jun 2009 01:54:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 680891065672 for ; Thu, 18 Jun 2009 01:54:52 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 55C7B8FC1E for ; Thu, 18 Jun 2009 01:54:52 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5I1sqqS025414 for ; Thu, 18 Jun 2009 01:54:52 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5I1sq9H025412 for perforce@freebsd.org; Thu, 18 Jun 2009 01:54:52 GMT (envelope-from pgj@FreeBSD.org) Date: Thu, 18 Jun 2009 01:54:52 GMT Message-Id: <200906180154.n5I1sq9H025412@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164636 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 01:54:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=164636 Change 164636 by pgj@beehive on 2009/06/18 01:54:21 MFen (www): 1.73 -> 1.74 hu/share/sgml/events.xml Affected files ... .. //depot/projects/docproj_hu/www/hu/share/sgml/events.xml#11 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/share/sgml/events.xml#11 (text+ko) ==== @@ -11,7 +11,7 @@ @@ -21,9 +21,64 @@ - - EuroBSDCon 2009 - http://2009.eurobsdcon.org/ + + OpenReinRuhr 2009 + http://www.openrheinruhr.de/ + + 2009 + 11 + 7 + + + 2009 + 11 + 8 + + + Németország + Bottrop + Saalbau + + + Nagy közönségre és rangos + elõadókra számíthat ez az Európa + közepén rendezett új esemény. A + többi más nagyobb BSD terjesztés mellett a &os; + is saját pavilonnal várja az + érdeklõdõket. + + + + discuss & discover 2009 + http://en.discuss-discover.com/ + + 2009 + 10 + 20 + + + 2009 + 10 + 22 + + + Németország + Nuremberg + + + 2009-tõl kezdõdõen Nuremberg veszi + át a IT biztonsággal foglalkozó egyik + legkomolyabb rendezvény szervezését: noha a + SYSTEMS bezárta ajtajait, az IT SecurityExpo tíz + év után is folytatódik és + tovább bõvíti témáit. Nagyon + valószínû, hogy ezek között + elõkerül a &os; is. + + + + OpenExpo 2009 + http://www.openexpo.ch/ 2009 9 @@ -48,6 +103,31 @@ és egy fejlesztõi gyûlés. + + EuroBSDCon 2009 + http://2009.eurobsdcon.org/ + + 2009 + 9 + 23 + + + 2009 + 9 + 24 + + + Svájc + Winterthur + + + Az OpenExpo célja a nyílt + forráskódú szoftverek + népszerûsítése üzleti + környezetben. Sok más hirdetõ között a + &os; is megjelenik itt. + + FrOSCon 2009 http://www.froscon.org/ @@ -135,6 +215,35 @@ operációs rendszer rejtelmeibe. + + LinuxTag 2009 + http://www.linuxtag.org/2009/en/ + + 2009 + 6 + 24 + + + 2009 + 6 + 27 + + + Németország + Berlin + Messe Berlin + + + A LinuxTag Európa egyik legnagyobb szabad + szoftverekkel, Linux-szal és nyílt + forráskóddal foglalkozó rendezvénye. + Hasonlóan a NetBSD, OpenBSD és MirBSD + terjesztésekhez, a &os; is már megszokott + vendég lesz, valamint számos BSD + témájú elõadásra is + számítani lehet. + + BSDday Argentina 2009 http://www.bsdday.com.ar/ From owner-p4-projects@FreeBSD.ORG Thu Jun 18 03:56:57 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D4E31065675; Thu, 18 Jun 2009 03:56:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B1AA5106566C for ; Thu, 18 Jun 2009 03:56:56 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9EC2F8FC1E for ; Thu, 18 Jun 2009 03:56:56 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5I3uufo036789 for ; Thu, 18 Jun 2009 03:56:56 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5I3uuvL036787 for perforce@freebsd.org; Thu, 18 Jun 2009 03:56:56 GMT (envelope-from dforsyth@FreeBSD.org) Date: Thu, 18 Jun 2009 03:56:56 GMT Message-Id: <200906180356.n5I3uuvL036787@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164639 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 03:56:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=164639 Change 164639 by dforsyth@squirrel on 2009/06/18 03:56:50 Did a bit of cleaning. Getting ready to ditch queue. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#20 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#19 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_error.h#1 add .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#4 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#12 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#9 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#7 edit .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.c#8 edit .. //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#13 edit Differences ... ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.c#20 (text+ko) ==== @@ -97,13 +97,12 @@ if (p == NULL) arg_rage_quit(__func__, "Not a valid package.", RAGE_AT_CLIENT); - /* + /* Yes this makes for 3 copies of the text in memory at once, but just + * until I decide how I want to handle 'dirty' packages. */ if (contents != NULL) p->contents = strdup(contents); else p->contents = NULL; - */ - p->contents = contents; return (OK); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg.h#19 (text+ko) ==== @@ -19,22 +19,34 @@ /* PKGDB Errors. */ -#define DB_BAD_ROOT 0x10000000 -#define DB_NOT_OPEN 0x20000000 -#define DB_OPEN 0x40000000 +#define DB_OK 0x00000000 +#define DB_NOT_OK 0x00000001 +#define DB_BAD_ROOT 0x00000002 +#define DB_NOT_OPEN 0x00000004 +#define DB_OPEN 0x00000008 +#define DB_NO_PKG 0x00000010 -#define SUB_NO_COMMENT 0x80000000 -#define SUB_NO_CONTENTS 0x01000000 -#define SUB_NO_DESC 0x02000000 -#define SUB_NO_DISPLAY 0x04000000 -#define SUB_NO_MTREE_DIRS 0x08000000 -#define SUB_NO_REQUIRED_BY 0x00100000 -#define SUB_NO_FILE 0x00200000 -#define SUB_EMPTY_FILE 0x00400000 +/* These should probably go to _private */ +#define SUB_OK 0x00000000 +#define SUB_NO_COMMENT 0x00000001 +#define SUB_NO_CONTENTS 0x00000002 +#define SUB_NO_DESC 0x00000004 +#define SUB_NO_DISPLAY 0x00000008 +#define SUB_NO_MTREE_DIRS 0x00000010 +#define SUB_NO_REQUIRED_BY 0x00000020 +#define SUB_NO_FILE 0x00000040 +#define SUB_EMPTY_FILE 0x00000080 /* PKG Errors. */ -#define NO_PKG 0x00800000 +#define PKG_OK 0x00000000 +#define PKG_NOT_OK 0x00000001 +#define PKG_PARSE_NOT_OK 0x00000002 +#define PKG_NO_COMMENT 0x00000004 +#define PKG_NO_DESC 0x00000008 +#define PKG_NO_DISPLAY 0x00000010 +#define PKG_NO_MTREE_DIRS 0x00000020 +#define PKG_NO_REQUIRED_BY 0x00000040 /* pkg_file */ ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_file.c#4 (text+ko) ==== @@ -57,38 +57,38 @@ pkg_file_set_md5(struct pkg_file *pf, const char *md5) { if (pf == NULL) - return (NULL); + return (NOT_OK); pf->md5 = md5; - return (pf); + return (OK); } int pkg_file_set_path(struct pkg_file *pf, const char *path) { if (pf == NULL) - return (NULL); + return (NOT_OK); pf->path = path; - return (pf); + return (OK); } int pkg_file_set_owner(struct pkg_file *pf, const char *owner) { if (pf == NULL) - return (NULL); + return (NOT_OK); pf->owner = owner; - return (pf); + return (OK); } int pkg_file_set_group(struct pkg_file *pf, const char *group) { if (pf == NULL) - return (NULL); + return (NOT_OK); pf->group = group; - return (pf); + return (OK); } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.c#12 (text+ko) ==== @@ -87,11 +87,9 @@ if (text == NULL) return (NOT_OK); - /* - pl = pkg_plist_new(); if (pl == NULL) - return (MEMORY_ERR); - */ + return (NOT_OK); + /* Not sure if this is how I still want to do this, but for now, hold * a copy of the text. */ textp = strdup(text); @@ -376,6 +374,8 @@ void pkg_plist_free(struct pkg_plist *pl) { + /* TODO: Write this function. */ + free(pl); return; } ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkg_plist.h#9 (text+ko) ==== @@ -77,7 +77,7 @@ TAILQ_HEAD(pf_head, pkg_file) pf_head; /* pkg_file list. */ TAILQ_HEAD(pd_head, pkg_dep) pd_head; /* pkg_dep list. */ - int parsed; + short parsed; }; struct pkg_plist *pkg_plist_new(void); ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb.c#7 (text+ko) ==== @@ -110,9 +110,7 @@ pkgdb_hierdb_read_pkgdb_sub(struct pkgdb *db, struct pkgdb_sub *sub, const char *ident) { - int s; int status; - struct stat sb; #if 0 /* The client doesn't know about the functions in this file. */ if (!VALID_DB(x)) arg_rage_quit(__func__, "Not a valid database.", RAGE_AT_CLIENT); @@ -123,6 +121,7 @@ pkgdb_sub_reset(sub); status = OK; status |= pkgdb_sub_set_ident(sub, ident); + /* Directory is verified here. */ status |= pkgdb_sub_set_assign_db(db, sub); if ((MEMORY_ERR & status) || (BAD_IDENT & status)) ==== //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb_hierdb_pkgdb_sub.c#8 (text+ko) ==== @@ -36,6 +36,8 @@ return (OK); } + +/* This function checks the validity of the sub directory. */ int pkgdb_sub_set_assign_db(struct pkgdb *owner, struct pkgdb_sub *dbs) { ==== //depot/projects/soc2009/dforsyth_libpkg/pkg_info/main.c#13 (text+ko) ==== @@ -105,7 +105,7 @@ exit(EXIT_FAILURE); } - while ((status = pkgdb_pkg_next(db, p)) != NO_PKG) { + while ((status = pkgdb_pkg_next(db, p)) != DB_NO_PKG) { if (!opt_all) { /* Wont happen at this point. */ /* Do some matching magic that I haven't written yet. */ print_pkg_information(p); From owner-p4-projects@FreeBSD.ORG Thu Jun 18 04:05:10 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5ED191065675; Thu, 18 Jun 2009 04:05:10 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C6131065670 for ; Thu, 18 Jun 2009 04:05:10 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E42DD8FC0C for ; Thu, 18 Jun 2009 04:05:09 +0000 (UTC) (envelope-from dforsyth@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5I459aq038433 for ; Thu, 18 Jun 2009 04:05:09 GMT (envelope-from dforsyth@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5I459ke038431 for perforce@freebsd.org; Thu, 18 Jun 2009 04:05:09 GMT (envelope-from dforsyth@FreeBSD.org) Date: Thu, 18 Jun 2009 04:05:09 GMT Message-Id: <200906180405.n5I459ke038431@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to dforsyth@FreeBSD.org using -f From: David Forsythe To: Perforce Change Reviews Cc: Subject: PERFORCE change 164640 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 04:05:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=164640 Change 164640 by dforsyth@squirrel on 2009/06/18 04:04:37 pkgdb.c got dropped from the client some how. Affected files ... .. //depot/projects/soc2009/dforsyth_libpkg/libpkg/pkgdb.c#15 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jun 18 06:14:30 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C26101065673; Thu, 18 Jun 2009 06:14:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7F5D9106564A for ; Thu, 18 Jun 2009 06:14:29 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6B7B68FC1B for ; Thu, 18 Jun 2009 06:14:29 +0000 (UTC) (envelope-from trasz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5I6ERQl060746 for ; Thu, 18 Jun 2009 06:14:27 GMT (envelope-from trasz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5I6ELRo060740 for perforce@freebsd.org; Thu, 18 Jun 2009 06:14:21 GMT (envelope-from trasz@freebsd.org) Date: Thu, 18 Jun 2009 06:14:21 GMT Message-Id: <200906180614.n5I6ELRo060740@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to trasz@freebsd.org using -f From: Edward Tomasz Napierala To: Perforce Change Reviews Cc: Subject: PERFORCE change 164646 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 06:14:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=164646 Change 164646 by trasz@trasz_victim on 2009/06/18 06:13:50 IFC. Affected files ... .. //depot/projects/soc2009/trasz_limits/Makefile.inc1#2 integrate .. //depot/projects/soc2009/trasz_limits/ObsoleteFiles.inc#6 integrate .. //depot/projects/soc2009/trasz_limits/UPDATING#6 integrate .. //depot/projects/soc2009/trasz_limits/bin/df/df.1#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/df/df.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/eval.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/eval.h#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/input.c#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/input.h#2 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/main.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/sh.1#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/trap.c#3 integrate .. //depot/projects/soc2009/trasz_limits/bin/sh/trap.h#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/csup/rcsfile.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/gdb/gdb/stack.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/ipfilter/tools/ipfcomp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/contrib/ntp/ntpd/ntp_crypto.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssh/config.h#3 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssh/ssh_namespace.h#3 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/CHANGES#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ChangeLog.0_9_7-stable_not-in-head#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ChangeLog.0_9_7-stable_not-in-head_FIPS#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/Configure#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/FAQ#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/INSTALL#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/LICENSE#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/Makefile.org#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/Makefile.shared#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/NEWS#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/README#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/apps.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/apps.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/asn1pars.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/ca.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/cms.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/crl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/dgst.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/dsa.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/ec.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/enc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/engine.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/gendsa.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/genpkey.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/genrsa.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/md4.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/nseq.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/ocsp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/openssl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/pkcs12.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/pkcs8.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/pkey.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/pkeyparam.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/pkeyutl.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/progs.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/progs.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/rand.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/req.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/rsa.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/rsautl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/s_apps.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/s_cb.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/s_client.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/s_server.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/smime.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/speed.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/spkac.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/ts.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/tsget#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/version.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/apps/x509.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/README.RootCerts#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/RegTP-5R.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/RegTP-6R.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/aol1.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/aol2.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/aoltw1.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/aoltw2.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/argena.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/argeng.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/demo/nortelCA.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/demo/timCA.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/demo/tjhCA.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/demo/vsigntca.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/eng1.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/eng2.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/eng3.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/eng4.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/eng5.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/expired/ICE-CA.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/expired/ICE-root.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/expired/ICE-user.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/expired/RegTP-4R.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/expired/factory.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/expired/rsa-cca.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/expired/rsa-ssca.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/expired/vsign2.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/expired/vsign3.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/thawteCb.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/thawteCp.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/vsign1.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/vsign3.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/vsignss.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/certs/wellsfgo.pem#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/config#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/aes.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/aes_cbc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/aes_core.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/aes_ige.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/aes_wrap.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/aes_x86core.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/asm/aes-586.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/asm/aes-armv4.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/asm/aes-ia64.S#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/asm/aes-ppc.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/asm/aes-s390x.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/asm/aes-sparcv9.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/aes/asm/aes-x86_64.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/a_bytes.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/a_mbstr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/a_object.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/a_sign.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/a_strex.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/a_strnid.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/a_type.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/a_verify.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/ameth_lib.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/asn1.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/asn1_err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/asn1_gen.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/asn1_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/asn1_locl.h#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/asn1_par.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/asn1t.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/asn_mime.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/asn_moid.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/asn_pack.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/bio_asn1.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/bio_ndef.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/nsseq.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/p5_pbe.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/p5_pbev2.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/p8_pkey.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/t_bitst.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/t_crl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/t_req.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/t_spki.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/t_x509.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/t_x509a.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/tasn_dec.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/tasn_enc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/tasn_fre.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/tasn_new.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/tasn_prn.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/tasn_typ.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/tasn_utl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/x_algor.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/x_bignum.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/x_crl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/x_exten.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/x_long.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/x_name.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/x_nx509.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/asn1/x_x509a.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bf/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bf/bf_skey.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bf/blowfish.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bio/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bio/b_print.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bio/b_sock.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bio/bio.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bio/bss_bio.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bio/bss_dgram.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bio/bss_file.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bio/bss_mem.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bio/bss_sock.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/alpha-mont.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/armv4-mont.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/ia64.S#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/mips3-mont.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/mo-586.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/ppc-mont.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/ppc64-mont.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/s390x-mont.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/s390x.S#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/sparcv9-mont.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/sparcv9a-mont.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/via-mont.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/x86-mont.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/asm/x86_64-mont.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_blind.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_div.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_exp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_gcd.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_gf2m.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_lcl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_mont.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_mul.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_nist.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_opt.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_prime.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_prime.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_prime.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_rand.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_shift.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bn_x931p.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/bn/bntest.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/buffer/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/buffer/buf_str.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/buffer/buffer.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/camellia/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/camellia/asm/cmll-x86.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/camellia/asm/cmll-x86_64.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/camellia/camellia.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/camellia/cmll_misc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cast/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cast/c_skey.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cast/cast.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms.h#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms_asn1.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms_att.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms_cd.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms_dd.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms_enc.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms_env.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms_err.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms_ess.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms_io.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms_lcl.h#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms_lib.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms_sd.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cms/cms_smime.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/comp/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/comp/c_zlib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/comp/comp.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/comp/comp_err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/conf/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/conf/conf.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/conf/conf_api.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/conf/conf_mall.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/conf/conf_mod.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/conf/conf_sap.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cryptlib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/cryptlib.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/crypto.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/des/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/des/asm/des_enc.m4#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/des/des.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/des/des_enc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/des/des_lib.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/des/des_old.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/des/des_old.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/des/ecb_enc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/des/enc_read.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/des/enc_writ.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/des/set_key.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/des/times/usparc.cc#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/des/xcbc_enc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dh/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dh/dh.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dh/dh_asn1.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dh/dh_check.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dh/dh_err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dh/dh_gen.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dh/dh_key.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dsa/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dsa/dsa.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dsa/dsa_asn1.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dsa/dsa_err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dsa/dsa_gen.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dsa/dsa_key.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dsa/dsa_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dsa/dsa_ossl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dsa/dsa_sign.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dsa/dsa_utl.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dsa/dsa_vrf.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dso/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/dyn_lck.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ec/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ec/ec.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ec/ec_err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ec/ec_key.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ec/ec_mult.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ec/ectest.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ecdh/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ecdh/ecdhtest.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ecdsa/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ecdsa/ecdsatest.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ecdsa/ecs_ossl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/engine/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/engine/eng_all.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/engine/eng_cnf.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/engine/eng_err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/engine/eng_int.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/engine/eng_padlock.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/engine/eng_pkey.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/engine/eng_table.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/engine/engine.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/engine/enginetest.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/err/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/err/err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/err/err.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/err/err_all.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/err/err_bio.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/err/err_def.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/err/err_prn.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/err/err_str.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/err/openssl.ec#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/bio_md.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/c_allc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/dig_eng.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/digest.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/e_aes.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/e_camellia.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/e_des.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/e_des3.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/e_null.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/e_rc4.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/e_seed.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/enc_min.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/evp.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/evp_acnf.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/evp_cnf.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/evp_enc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/evp_err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/evp_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/evp_locl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/evp_pbe.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/evp_pkey.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/evp_test.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/evptests.txt#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/m_dss.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/m_dss1.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/m_md2.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/m_md4.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/m_md5.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/m_mdc2.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/m_sha.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/m_sha1.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/names.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/p5_crpt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/p5_crpt2.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/p_sign.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/evp/p_verify.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ex_data.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/fips_err.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/fips_err.h#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/hmac/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/hmac/hmac.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/hmac/hmac.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/idea/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/idea/i_skey.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/idea/idea.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/jpake/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/jpake/jpake.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/jpake/jpake.h#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/jpake/jpake_err.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/jpake/jpaketest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/krb5/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/lhash/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md2/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md2/md2.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md2/md2_dgst.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md32_common.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md4/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md4/md4.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md4/md4_dgst.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md4/md4_locl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md4/md4test.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md5/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md5/asm/md5-586.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md5/asm/md5-sparcv9.S#2 delete .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md5/asm/md5-x86_64.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md5/md5.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md5/md5_dgst.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md5/md5_locl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/md5/md5test.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/mdc2/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/mdc2/mdc2.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/mdc2/mdc2dgst.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/mem.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/mem_clr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/mem_dbg.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/o_init.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/o_str.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/objects/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/objects/obj_dat.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/objects/obj_dat.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/objects/obj_dat.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/objects/obj_mac.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/objects/obj_mac.num#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/objects/objects.txt#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ocsp/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ocsp/ocsp.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ocsp/ocsp_asn.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ocsp/ocsp_err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ocsp/ocsp_ht.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ocsp/ocsp_srv.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ocsp/ocsp_vfy.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/opensslconf.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/opensslconf.h.in#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/opensslv.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ossl_typ.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pem/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pem/pem.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pem/pem_all.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pem/pem_info.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pem/pem_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pem/pem_x509.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pem/pem_xaux.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/perlasm/x86_64-xlate.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/perlasm/x86ms.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/perlasm/x86nasm.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/perlasm/x86unix.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_add.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_asn.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_attr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_crpt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_crt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_decr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_init.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_key.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_kiss.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_mutl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_npas.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_p8d.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_p8e.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/p12_utl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs12/pkcs12.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs7/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs7/pk7_asn1.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs7/pk7_attr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs7/pk7_mime.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pkcs7/pk7_smime.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ppccpuid.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pqueue/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/pqueue/pq_compat.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rand/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rand/md_rand.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rand/rand.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rand/rand_eng.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rand/rand_err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rand/rand_lcl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rand/rand_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rand/rand_nw.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rand/rand_unix.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rand/randfile.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rc2/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rc2/rc2.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rc2/rc2_skey.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rc4/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rc4/asm/rc4-586.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rc4/asm/rc4-ia64.S#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rc4/rc4.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rc4/rc4_fblk.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rc4/rc4_skey.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rc5/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rc5/rc5.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rc5/rc5_skey.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ripemd/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ripemd/README#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ripemd/asm/rmd-586.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ripemd/ripemd.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ripemd/rmd_dgst.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ripemd/rmd_locl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ripemd/rmdtest.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_asn1.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_eay.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_eng.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_gen.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_null.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_oaep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_pss.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_sign.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_ssl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_test.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_x931.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/rsa/rsa_x931g.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/s390xcpuid.S#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/seed/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/seed/seed.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/seed/seed.h#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/seed/seed_cbc.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/seed/seed_cfb.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/seed/seed_ecb.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/seed/seed_locl.h#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/seed/seed_ofb.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/asm/sha1-586.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/asm/sha1-ia64.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/asm/sha512-ia64.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/sha.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/sha1_one.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/sha1dgst.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/sha1test.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/sha256.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/sha512.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/sha_dgst.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/sha_locl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sha/shatest.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/sparcv9cap.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/stack/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/stack/safestack.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/store/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/store/str_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/symhacks.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/txt_db/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ui/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ui/ui_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/ui/ui_openssl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509/by_dir.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509/x509.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509/x509_att.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509/x509_cmp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509/x509_trs.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509/x509_txt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509/x509_vfy.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509/x509_vpm.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509/x509cset.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509/x509spki.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/ext_dat.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/pcy_cache.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/pcy_data.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/pcy_int.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/pcy_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/pcy_map.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/pcy_node.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/pcy_tree.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/tabtest.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_addr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_akey.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_akeya.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_alt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_asid.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_bcons.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_bitst.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_conf.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_cpols.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_crld.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_enum.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_extku.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_genn.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_ia5.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_info.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_int.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_ncons.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_ocsp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_pci.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_pcons.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_pku.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_pmaps.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_prn.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_purp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_skey.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_sxnet.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3_utl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3conf.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/v3prin.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x509v3/x509v3.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x86_64cpuid.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/crypto/x86cpuid.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/demos/asn1/ocsp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs_err.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/demos/engines/ibmca/hw_ibmca_err.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/demos/engines/zencod/hw_zencod_err.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/demos/jpake/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/demos/jpake/jpakedemo.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/apps/ciphers.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/apps/dgst.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/apps/enc.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/apps/ocsp.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/apps/openssl.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/apps/rand.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/apps/rsautl.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/apps/s_client.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/apps/s_server.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/apps/verify.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/apps/x509.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/c-indentation.el#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/crypto/ASN1_generate_nconf.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/crypto/DH_set_method.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/crypto/DSA_set_method.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/crypto/OPENSSL_ia32cap.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/crypto/RAND_bytes.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/crypto/RAND_egd.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/crypto/RAND_set_rand_method.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/crypto/RSA_set_method.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/crypto/X509_NAME_print_ex.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/crypto/des_modes.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/crypto/engine.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/ssl/SSL_CIPHER_get_name.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/ssl/SSL_CTX_set_verify.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/ssl/SSL_SESSION_free.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/ssl/SSL_free.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/ssl/SSL_read.pod#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/ssleay.txt#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/doc/standards.txt#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/e_os.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_4758cca_err.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_aep.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_aep_err.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_atalla_err.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_capi.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_capi.ec#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_capi_err.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_capi_err.h#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_chil.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_chil_err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_chil_err.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_cswift_err.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_gmp.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_gmp_err.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_nuron_err.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_sureware_err.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_ubsec.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/engines/e_ubsec_err.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/aes/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/aes/fips_aes_selftest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/aes/fips_aesavs.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/des/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/des/fips_des_selftest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/des/fips_desmovs.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dh/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dh/dh_gen.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dh/fips_dh_check.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dh/fips_dh_gen.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dh/fips_dh_key.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dh/fips_dh_lib.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dsa/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dsa/fips_dsa_gen.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dsa/fips_dsa_key.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dsa/fips_dsa_lib.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dsa/fips_dsa_ossl.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dsa/fips_dsa_selftest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dsa/fips_dsa_sign.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dsa/fips_dsatest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/dsa/fips_dssvs.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/fips-nodiff.txt#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/fips.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/fips.h#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/fips_canister.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/fips_locl.h#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/fips_premain.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/fips_premain.c.sha1#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/fips_test_suite.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/fips_utl.h#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/fipsalgtest.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/fipsld#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/fipstests.sh#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/hmac/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/hmac/fips_hmac.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/hmac/fips_hmac_selftest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/hmac/fips_hmactest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/mkfipsscr.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/openssl_fips_fingerprint#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rand/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rand/fips_rand.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rand/fips_rand.h#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rand/fips_rand_selftest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rand/fips_randtest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rand/fips_rngvs.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rsa/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rsa/fips_rsa_eay.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rsa/fips_rsa_gen.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rsa/fips_rsa_lib.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rsa/fips_rsa_selftest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rsa/fips_rsa_sign.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rsa/fips_rsa_x931g.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rsa/fips_rsagtest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rsa/fips_rsastest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/rsa/fips_rsavtest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/sha/Makefile#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/sha/fips_sha1_selftest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/sha/fips_shatest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/fips/sha/fips_standalone_sha1.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/openssl.spec#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/d1_both.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/d1_clnt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/d1_enc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/d1_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/d1_pkt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/d1_srvr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/dtls1.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/kssl.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/s23_clnt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/s23_srvr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/s2_clnt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/s2_srvr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/s3_clnt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/s3_enc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/s3_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/s3_pkt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/s3_srvr.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssl3.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssl_algs.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssl_asn1.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssl_cert.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssl_ciph.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssl_err.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssl_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssl_locl.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssl_rsa.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssl_sess.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssl_stat.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssl_txt.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/ssltest.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/t1_enc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/t1_lib.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/ssl/tls1.h#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/CAss.cnf#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/SHAmix.r#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/SHAmix.x#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/Uss.cnf#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/bftest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/bntest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/casttest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/cms-examples.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/cms-test.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/destest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/dhtest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/dsatest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/ecdhtest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/ecdsatest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/ectest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/enginetest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/evp_test.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/evptests.txt#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/exptest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/fips_aesavs.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/fips_desmovs.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/fips_dsatest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/fips_dssvs.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/fips_hmactest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/fips_randtest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/fips_rngvs.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/fips_rsagtest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/fips_rsastest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/fips_rsavtest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/fips_shatest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/fips_test_suite.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/hmactest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/ideatest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/igetest.c#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/jpaketest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/md2test.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/md4test.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/md5test.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/mdc2test.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/randtest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/rc2test.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/rc4test.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/rc5test.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/rmdtest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/rsa_test.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/sha1test.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/sha256t.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/sha512t.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/shatest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/smcont.txt#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/smime-certs/smdsa1.pem#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/smime-certs/smdsa2.pem#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/smime-certs/smdsa3.pem#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/smime-certs/smdsap.pem#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/smime-certs/smroot.pem#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/smime-certs/smrsa1.pem#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/smime-certs/smrsa2.pem#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/smime-certs/smrsa3.pem#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/ssltest.c#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/testfipsssl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/test/times#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/arx.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/clean-depend.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/copy.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/domd#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/fipslink.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/libeay.num#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/mk1mf.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/mkdef.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/mkerr.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/mkfiles.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/mklink.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/mksdef.pl#1 branch .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/opensslwrap.sh#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/pl/VC-32.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/pl/netware.pl#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/shlib_wrap.sh#2 integrate .. //depot/projects/soc2009/trasz_limits/crypto/openssl/util/ssleay.num#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/crontab#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/defaults/rc.conf#5 integrate .. //depot/projects/soc2009/trasz_limits/etc/etc.amd64/ttys#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/etc.arm/ttys#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/etc.i386/ttys#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/etc.ia64/ttys#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/etc.mips/ttys#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/etc.powerpc/ttys#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/etc.sparc64/ttys#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/mtree/BSD.local.dist#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/mtree/BSD.usr.dist#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/ntp.conf#1 branch .. //depot/projects/soc2009/trasz_limits/etc/rc.d/fsck#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/rc.d/jail#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/syslog.conf#2 integrate .. //depot/projects/soc2009/trasz_limits/etc/termcap.small#2 integrate .. //depot/projects/soc2009/trasz_limits/games/fortune/datfiles/fortunes#2 integrate .. //depot/projects/soc2009/trasz_limits/games/fortune/datfiles/fortunes-o.real#2 integrate .. //depot/projects/soc2009/trasz_limits/gnu/usr.bin/man/apropos/apropos.sh#2 integrate .. //depot/projects/soc2009/trasz_limits/include/unistd.h#2 integrate .. //depot/projects/soc2009/trasz_limits/kerberos5/include/config.h#2 integrate .. //depot/projects/soc2009/trasz_limits/kerberos5/lib/libroken/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/rpc/svc_dg.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/stdtime/strftime.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/Makefile.inc#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/Symbol.map#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/close.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/closefrom.2#1 branch .. //depot/projects/soc2009/trasz_limits/lib/libc/sys/revoke.2#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libdisk/change.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libdisk/libdisk.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkvm/kvm_amd64.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkvm/kvm_arm.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkvm/kvm_cptime.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkvm/kvm_file.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkvm/kvm_i386.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkvm/kvm_minidump_amd64.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libkvm/kvm_minidump_i386.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpam/modules/pam_exec/pam_exec.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/libpmc.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libpmc/pmc.core2.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libthread_db/libthr_db.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libthread_db/thread_db.h#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libufs/type.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libufs/ufs_disk_close.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb.3#5 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb20.c#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb20.h#4 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb20_compat01.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb20_int.h#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libusb/libusb20_ugen20.c#3 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/flopen.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/flopen.c#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/kinfo_getfile.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/kinfo_getvmmap.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/libutil/pidfile.3#2 integrate .. //depot/projects/soc2009/trasz_limits/lib/msun/src/math_private.h#3 integrate .. //depot/projects/soc2009/trasz_limits/libexec/rtld-elf/rtld.c#2 integrate .. //depot/projects/soc2009/trasz_limits/release/doc/en_US.ISO8859-1/hardware/article.sgml#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/dhclient/dhclient.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/fdisk/fdisk.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/fsck_msdosfs/fsck_msdosfs.8#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/fsck_msdosfs/main.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/geom/class/label/glabel.8#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/geom/class/part/geom_part.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/geom/core/geom.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/geom/core/geom.h#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifgif.c#1 branch .. //depot/projects/soc2009/trasz_limits/sbin/ifconfig/ifieee80211.c#3 integrate .. //depot/projects/soc2009/trasz_limits/sbin/init/init.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ipfw/dummynet.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ipfw/ipfw.8#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/ipfw/ipfw2.c#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/kldload/kldload.8#2 integrate .. //depot/projects/soc2009/trasz_limits/sbin/kldload/kldload.c#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/Makefile#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/Makefile.inc#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ASN1_OBJECT_new.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ASN1_STRING_length.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ASN1_STRING_new.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ASN1_generate_nconf.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_ctrl.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_f_base64.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_f_buffer.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_f_cipher.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_f_md.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_f_null.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_f_ssl.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_find_type.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_new.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_push.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_read.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_s_accept.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_s_bio.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_s_connect.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_s_fd.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_s_file.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_s_mem.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_s_null.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_s_socket.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_set_callback.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BIO_should_retry.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_BLINDING_new.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_CTX_new.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_CTX_start.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_add.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_add_word.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_bn2bin.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_cmp.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_copy.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_generate_prime.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_mod_inverse.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_new.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_num_bytes.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_rand.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_set_bit.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_swap.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/BN_zero.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/CONF_modules_free.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/CONF_modules_load_file.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DH_generate_key.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DH_generate_parameters.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DH_get_ex_new_index.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DH_new.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DH_set_method.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DH_size.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DSA_SIG_new.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DSA_do_sign.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DSA_dup_DH.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DSA_generate_key.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DSA_generate_parameters.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DSA_get_ex_new_index.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DSA_new.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DSA_set_method.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DSA_sign.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/DSA_size.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ERR_GET_LIB.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ERR_clear_error.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ERR_error_string.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ERR_get_error.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ERR_load_crypto_strings.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ERR_load_strings.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ERR_print_errors.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ERR_put_error.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ERR_remove_state.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/ERR_set_mark.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/EVP_BytesToKey.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/EVP_DigestInit.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/EVP_EncryptInit.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/EVP_OpenInit.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/EVP_PKEY_new.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/EVP_SealInit.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/EVP_SignInit.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/EVP_VerifyInit.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/OBJ_nid2obj.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/OPENSSL_Applink.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/OPENSSL_config.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/OPENSSL_ia32cap.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/PKCS12_create.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/PKCS12_parse.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/PKCS7_decrypt.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/PKCS7_encrypt.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/PKCS7_sign.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/PKCS7_verify.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/RAND_add.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/RAND_bytes.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/RAND_cleanup.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/RAND_egd.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/RAND_load_file.3#2 integrate .. //depot/projects/soc2009/trasz_limits/secure/lib/libcrypto/man/RAND_set_rand_method.3#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jun 18 08:38:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F8A110656BD; Thu, 18 Jun 2009 08:38:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0CA7710656B9 for ; Thu, 18 Jun 2009 08:38:56 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EF5BA8FC19 for ; Thu, 18 Jun 2009 08:38:55 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5I8ct1i075997 for ; Thu, 18 Jun 2009 08:38:55 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5I8ct7t075995 for perforce@freebsd.org; Thu, 18 Jun 2009 08:38:55 GMT (envelope-from syl@FreeBSD.org) Date: Thu, 18 Jun 2009 08:38:55 GMT Message-Id: <200906180838.n5I8ct7t075995@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164648 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 08:38:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=164648 Change 164648 by syl@syl_pablo on 2009/06/18 08:38:38 Use the poll flags used by libusb20_dev_wait_process(). Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#40 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#40 (text+ko) ==== @@ -380,7 +380,8 @@ hdl->dev = libusb_ref_device(dev); hdl->claimed_interfaces = 0; hdl->os_priv = dev->os_priv; - err = usb_add_pollfd(ctx, libusb20_dev_get_fd(pdev), POLLOUT); + err = usb_add_pollfd(ctx, libusb20_dev_get_fd(pdev), POLLIN | + POLLOUT | POLLRDNORM | POLLWRNORM); if (err < 0) { libusb_unref_device(dev); free(hdl); From owner-p4-projects@FreeBSD.ORG Thu Jun 18 09:29:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 266121065673; Thu, 18 Jun 2009 09:29:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DA217106566C for ; Thu, 18 Jun 2009 09:29:47 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C844C8FC20 for ; Thu, 18 Jun 2009 09:29:47 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5I9Tl0J090820 for ; Thu, 18 Jun 2009 09:29:47 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5I9TlrF090818 for perforce@freebsd.org; Thu, 18 Jun 2009 09:29:47 GMT (envelope-from anchie@FreeBSD.org) Date: Thu, 18 Jun 2009 09:29:47 GMT Message-Id: <200906180929.n5I9TlrF090818@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164650 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 09:29:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=164650 Change 164650 by anchie@anchie_malimis on 2009/06/18 09:29:27 Minor fixes in function declarations. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#10 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#8 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#10 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#10 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#10 (text+ko) ==== @@ -141,8 +141,8 @@ struct ifnet *, int)); static int icmp6_notify_error(struct mbuf **, int, int, int); -int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int); - +int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int); +int (*send_input_hook)(void); void icmp6_init(void) ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#8 (text+ko) ==== @@ -130,6 +130,9 @@ extern int dad_maxtry; #endif +int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int); +int (*send_input_hook)(void); + void nd6_init(void) { ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.c#10 (text+ko) ==== @@ -10,8 +10,14 @@ #include +#if 0 static int X_send_input_hook(void); static int X_send_output_hook(int, struct ifnet *, struct mbuf *, int); +#endif +#if 0 +int (*send_output_hook)(int, struct ifnet *, struct mbuf *, int); +int (*send_input_hook)(void); +#endif static int X_send_input_hook(void) ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/send.h#10 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Thu Jun 18 09:31:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E50F1065672; Thu, 18 Jun 2009 09:31:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2EECF106566C for ; Thu, 18 Jun 2009 09:31:50 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 032148FC16 for ; Thu, 18 Jun 2009 09:31:50 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5I9VnwS091003 for ; Thu, 18 Jun 2009 09:31:49 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5I9VnhQ091001 for perforce@freebsd.org; Thu, 18 Jun 2009 09:31:49 GMT (envelope-from anchie@FreeBSD.org) Date: Thu, 18 Jun 2009 09:31:49 GMT Message-Id: <200906180931.n5I9VnhQ091001@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164651 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 09:31:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=164651 Change 164651 by anchie@anchie_malimis on 2009/06/18 09:31:20 Added missing Makefile in sys/modules. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/modules/Makefile#4 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jun 18 10:28:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 602A61065677; Thu, 18 Jun 2009 10:28:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1FB2B1065675 for ; Thu, 18 Jun 2009 10:28:48 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0CB6F8FC16 for ; Thu, 18 Jun 2009 10:28:48 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IASlmD096387 for ; Thu, 18 Jun 2009 10:28:47 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IASljx096385 for perforce@freebsd.org; Thu, 18 Jun 2009 10:28:47 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 18 Jun 2009 10:28:47 GMT Message-Id: <200906181028.n5IASljx096385@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164652 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 10:28:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=164652 Change 164652 by jona@jona-trustedbsd-kentvm on 2009/06/18 10:28:26 capbox_options should include flags and rights requested Affected files ... .. //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/kpowerboxserver.cpp#3 edit .. //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/test.cpp#2 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#17 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/Makefile#6 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.h#4 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.c#9 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#5 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#6 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/kpowerboxserver.cpp#3 (text+ko) ==== @@ -18,6 +18,8 @@ KPowerBoxServer::showKDEPowerbox(int operation, QString title, QString parent, QString startDir, QString filter, bool allowMultipleSelections) { + std::cout << "Parent window: " << parent.toStdString() << std::endl; + if(allowMultipleSelections) { // TODO: get KDE to support WId for multi-select dialogs ==== //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/test.cpp#2 (text+ko) ==== @@ -57,11 +57,17 @@ // try opening a file - QDBusReply reply = - pboxServer.call("showKDEPowerbox", OPEN_FILE, "Powerbox - open file", - winid, "~/Desktop/tmp/", "*.py", true); + /* + QDBusPendingReply reply + = pboxServer.asyncCall("showKDEPowerbox", OPEN_FILE, "Powerbox - open file", + winid, "~/Desktop/tmp/", "*.py", true); + */ + QDBusReply reply + = pboxServer.call("showKDEPowerbox", OPEN_FILE, "Powerbox - open file", + winid, "~/Desktop/tmp/", "*.py", true); - if(reply.isValid()) +// reply.waitForFinished(); + if(reply.isValid())//isError()) { cout << "Received the following paths: " << endl; for(int i = 0; i < reply.value().size(); i++) @@ -76,19 +82,20 @@ // try opening a directory reply = pboxServer.call("showKDEPowerbox", SELECT_DIR, - "Powerbox - select directory", winid, "~/", "", false); + "Powerbox - select directory", winid, + "~/", "", false); - if(reply.isValid()) + if(reply.isValid())//.isError()) + { + cerr << "Invalid reply: " << reply.error().message().toStdString() << endl; + return 1; + } + else { cout << "Received the following paths: " << endl; for(int i = 0; i < reply.value().size(); i++) cout << " - " << reply.value().at(i).toStdString() << endl; } - else - { - cerr << "Invalid reply: " << reply.error().message().toStdString() << endl; - return 1; - } return 0; } ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#17 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#16 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#17 $ */ #include @@ -62,13 +62,11 @@ #define LIBCAPABILITY_CAPMASK_LDSO LIBCAPABILITY_CAPMASK_BIN #define LIBCAPABILITY_CAPMASK_LIBC LIBCAPABILITY_CAPMASK_BIN #define LIBCAPABILITY_CAPMASK_LIBCAPABILITY LIBCAPABILITY_CAPMASK_BIN -#define LIBCAPABILITY_CAPMASK_LIBZ LIBCAPABILITY_CAPMASK_BIN #define LIBCAPABILITY_CAPMASK_LIBBZ2 LIBCAPABILITY_CAPMASK_BIN #define _PATH_LIB "/lib" #define _PATH_USR_LIB "/usr/lib" #define LIBC_SO "libc.so.7" -#define LIBZ_SO "libz.so.4" #define LIBBZ2_SO "libbz2.so.3" #define LIBCAPABILITY_SO "libcapability.so.1" @@ -168,8 +166,6 @@ return; if (lc_limitfd(fd_libc, LIBCAPABILITY_CAPMASK_LIBC) < 0) return; - if (lc_limitfd(fd_libz, LIBCAPABILITY_CAPMASK_LIBZ) < 0) - return; if (lc_limitfd(fd_libbz2, LIBCAPABILITY_CAPMASK_LIBBZ2) < 0) return; if (lc_limitfd(fd_libcapability, @@ -201,8 +197,8 @@ */ if (asprintf(&env_caplibindex, "%d:%s,%d:%s,%d:%s,%d:%s,%d:%s,%d:%s,%d:%s", - 3, binname, 5, LD_ELF_CAP_SO, 6, LIBC_SO, 7, LIBZ_SO, 8, - LIBBZ2_SO, 9, LIBCAPABILITY_SO, 10, _PATH_DEVNULL) == -1) + 3, binname, 5, LD_ELF_CAP_SO, 6, LIBC_SO, 7, + LIBBZ2_SO, 8, LIBCAPABILITY_SO, 9, _PATH_DEVNULL) == -1) return; if (setenv("LD_CAPLIBINDEX", env_caplibindex, 1) == -1) return; @@ -250,8 +246,6 @@ goto out_error; if (ld_caplibindex_lookup(LIBC_SO, &fd_libc) < 0) goto out_error; - if (ld_caplibindex_lookup(LIBZ_SO, &fd_libz) < 0) - goto out_error; if (ld_caplibindex_lookup(LIBBZ2_SO, &fd_libbz2) < 0) goto out_error; if (ld_caplibindex_lookup(LIBCAPABILITY_SO, @@ -267,9 +261,6 @@ fd_libc = open(_PATH_LIB "/" LIBC_SO, O_RDONLY); if (fd_libc < 0) goto out_error; - fd_libz = open(_PATH_LIB "/" LIBZ_SO, O_RDONLY); - if (fd_libz < 0) - goto out_error; fd_libbz2 = open(_PATH_USR_LIB "/" LIBBZ2_SO, O_RDONLY); if (fd_libbz2 < 0) goto out_error; ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/Makefile#6 (text+ko) ==== @@ -1,23 +1,30 @@ VERSION=dev-pre1 -CFLAGS=-g -ggdb --std=c99 -Wall -Werror -pedantic-errors -DVERSION='"${VERSION}"' -LDFLAGS=-L/usr/local/lib -lefence +DEBUG=-g -ggdb +WARNINGS=-Wall -Werror -pedantic-errors + +QDBUS_INCLUDE=-I/usr/local/include/qt4 +QDBUS_LIBS=-L /usr/local/lib/qt4 -lQtDBus + +CFLAGS=--std=c99 ${DEBUG} ${WARNINGS} ${INCLUDE} -DVERSION='"${VERSION}"' +CXXFLAGS=${DEBUG} -Wall ${QDBUS_INCLUDE} -DVERSION='"${VERSION}"' BIN=user_angel test_client -AGENT_OBJ = user_angel.o server.o cap.o protocol.o powerbox.o +AGENT_OBJ = user_angel.o server.o cap.o protocol.o powerbox.o dbus.o CLIENT_OBJ = test_client.o protocol.o all: ${BIN} user_angel: ${AGENT_OBJ} - ${CC} ${LDFLAGS} -o $@ ${AGENT_OBJ} + ${CXX} ${QDBUS_LIBS} -o $@ ${AGENT_OBJ} test_client: ${CLIENT_OBJ} - ${CC} ${LDFLAGS} -o $@ ${CLIENT_OBJ} + ${CC} -o $@ ${CLIENT_OBJ} cap.o: cap.c cap.h -powerbox.o: powerbox.c powerbox.h +dbus.o: dbus.cpp dbus.h +powerbox.o: powerbox.c powerbox.h dbus.h protocol.o: protocol.c protocol.h powerbox.h server.o: server.c protocol.h server.h user_angel.o: user_angel.c protocol.h server.h ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.c#4 (text+ko) ==== @@ -39,11 +39,12 @@ #include #include +#include "dbus.h" #include "powerbox.h" -int capbox_display(struct capbox_options *options, int fds[], char *names[], - int *len) +int capbox_display(struct capbox_options *options, + int fds[], char *names[], int *len) { printf("capbox_display()\n"); printf(" options:\n"); @@ -77,6 +78,26 @@ if(options->filterlen > 0) printf("%s\n", options->filter); else printf("\n"); + if(dbus_powerbox(options, names, len)) + { + fprintf(stderr, "Error opening powerbox via DBus\n"); + return -1; + } + + printf("File names:\n"); + for(int i = 0; i < *len; i++) + { + printf(" %s\n", names[i]); + fds[i] = cap_open(names[i], options->flags, options->rights); + if(fds[i] < 0) + { + perror("Error opening file capability"); + return -1; + } + } + + return 0; + fprintf(stderr, "powerbox not implemented, faking it\n"); if(*len > 0) ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.h#4 (text+ko) ==== @@ -32,6 +32,11 @@ */ +#ifndef POWERBOX_H +#define POWERBOX_H + +#include "cap.h" + enum capbox_ui_t { KDE /* TODO, GNOME, NCURSES*/ }; @@ -54,14 +59,25 @@ int mult; /* allow multiple selection */ const char* filter; /* filter expression (or NULL) */ int filterlen; /* length of filter expression */ + int flags; /* open() flags, e.g. O_RDONLY */ + cap_rights_t rights; /* capabilities, e.g. CAP_SEEK */ }; /** * Open a powerbox. * + * @param options powerbox options + * @param flags open() flags (e.g. O_RDONLY) + * @param rights capabilities requested (e.g. CAP_SEEK) + * @param fds an array for file descriptors (size len) + * @param names an array for file names (size len) + * @param len the length of the above arrays (modified by this call) + * * @return 0 on success */ -int capbox_display(struct capbox_options *options, int fds[], char *names[], - int *len); +int capbox_display(struct capbox_options *options, + int fds[], char *names[], int *len); + +#endif ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.c#9 (text+ko) ==== @@ -164,16 +164,18 @@ wire_datum* cap_marshall_capbox(const struct capbox_options *options) { - wire_datum *data[6]; + wire_datum *data[8]; data[0] = cap_marshall_int(options->ui); data[1] = cap_marshall_int(options->operation); data[2] = cap_marshall_int(options->parent_window); data[3] = cap_marshall_string(options->start_path, options->pathlen); data[4] = cap_marshall_int(options->mult); data[5] = cap_marshall_string(options->filter, options->filterlen); + data[6] = cap_marshall_int(options->flags); + data[7] = cap_marshall_int(options->rights); int total_size = 0; - for(int i = 0; i < 6; i++) + for(int i = 0; i < 8; i++) if(data[i] == NULL) { sprintf(errmsg, "Capbox datum %i is NULL", i); @@ -187,7 +189,7 @@ char *buffer = ((char*) d) + sizeof(wire_datum); char *head = buffer; - for(int i = 0; i < 6; i++) + for(int i = 0; i < 8; i++) { memcpy(head, data[i], sizeof(wire_datum) + data[i]->length); head += sizeof(wire_datum) + data[i]->length; @@ -290,6 +292,26 @@ strcpy(errmsg, error); return -1; } + d = (wire_datum*) (((char*) d) + sizeof(wire_datum) + d->length); + + if(cap_unmarshall_int(d, &tmp_int) < 0) + { + char error[128]; + sprintf(error, "Error unmarshalling 'flags': %s", cap_error()); + strcpy(errmsg, error); + return -1; + } + options->flags = tmp_int; + d = (wire_datum*) (((char*) d) + sizeof(wire_datum) + d->length); + + if(cap_unmarshall_int(d, &tmp_int) < 0) + { + char error[128]; + sprintf(error, "Error unmarshalling 'rights': %s", cap_error()); + strcpy(errmsg, error); + return -1; + } + options->rights = tmp_int; return sizeof(wire_datum) + datum->length; ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#5 (text+ko) ==== @@ -20,7 +20,9 @@ * * 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 + * IMPLIED WARRANT# +# +IES 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 @@ -51,7 +53,7 @@ int shutting_down = 0; char control_socket_name[256] = ""; -struct fd_set sockets; +struct fd_set clients; int highest_fd; @@ -67,12 +69,12 @@ -int handle_request(int client, enum capangel_req_t req); -int bind_to_path(const char *path); -void accept_client(int fd_server); -void service_clients(void); -void serve(int fd_server, struct fd_set *sockets); -void client_closed(int client); +int handle_request(int client, enum capangel_req_t req); +int bind_to_path(const char *path); +void serve(int fd_server, struct fd_set *clients); +void accept_client(int fd_server); +int service_client(int client); +void client_closed(int client); @@ -90,7 +92,7 @@ } - while(fd_control) serve(fd_control, &sockets); + while(fd_control) serve(fd_control, &clients); user_angel_server_shutdown(); return 0; @@ -99,7 +101,7 @@ int bind_to_path(const char *path) { - FD_ZERO(&sockets); + FD_ZERO(&clients); struct sockaddr_un addr; addr.sun_family = AF_UNIX; @@ -157,7 +159,7 @@ return -1; }*/ - FD_SET(fd, &sockets); + FD_SET(fd, &clients); @@ -186,7 +188,7 @@ printf("Client %4i: Accepted\n", client); - FD_SET(client, &sockets); + FD_SET(client, &clients); if(client > highest_fd) highest_fd = client; char hello[80]; @@ -199,10 +201,10 @@ -void serve(int fd_server, struct fd_set *sockets) +void serve(int fd_server, struct fd_set *clients) { struct fd_set selected; - memcpy(&selected, sockets, sizeof(*sockets)); + memcpy(&selected, clients, sizeof(*clients)); int ready = select(highest_fd + 1, &selected, NULL, NULL, NULL); @@ -222,46 +224,54 @@ if(FD_ISSET(i, &selected)) { if(i == fd_server) accept_client(i); - else - { - enum capangel_req_t req; - struct cap_wire_datum *d = cap_recv(i); + else if FD_ISSET(i, clients) service_client(i); + + ready--; + } + } +} + + +int service_client(int client) +{ + enum capangel_req_t req; + struct cap_wire_datum *d = cap_recv(client); - if(!d) - { - if((errno == ENOENT) || (errno == ECONNRESET)) client_closed(i); - else perror("Error receiving from client"); + if(!d) + { + if((errno == ENOENT) || (errno == ECONNRESET)) + client_closed(client); - continue; - } + else perror("Error receiving from client"); + return -1; + } - int bytes = 0; - if(sizeof(enum capangel_req_t) == sizeof(int32_t)) - bytes = cap_unmarshall_int(d, (int32_t*) &req); - else - { - fprintf(stderr, "enum size is %iB\n", sizeof(enum capangel_req_t)); - return; - } + int bytes = 0; + if(sizeof(enum capangel_req_t) == sizeof(int32_t)) + bytes = cap_unmarshall_int(d, (int32_t*) &req); - if(bytes < 0) - { - fprintf(stderr, "Error unmarshalling request: %s\n", cap_error()); - continue; - } + else + { + fprintf(stderr, "enum size is %iB\n", sizeof(enum capangel_req_t)); + return -1; + } - if(handle_request(i, req)) - { - perror("Error handling client request"); - client_closed(i); - } - } + if(bytes < 0) + { + fprintf(stderr, "Error unmarshalling request: %s\n", cap_error()); + return -1; + } - ready--; - } + if(handle_request(client, req)) + { + perror("Error handling client request"); + client_closed(client); + return 0; } + + return 0; } @@ -400,10 +410,10 @@ { printf("Client %4i: Closed\n", client); close(client); - FD_CLR(client, &sockets); + FD_CLR(client, &clients); if(client == highest_fd) - while(!FD_ISSET(highest_fd, &sockets)) + while(!FD_ISSET(highest_fd, &clients)) highest_fd--; } ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#6 (text+ko) ==== @@ -16,7 +16,7 @@ int connect_to_user_angel(void); void open_file(int fd_angel, const char *path); -void open_powerbox(int fd_angel, const char *path, const char *filter); +void open_powerbox(int fd_angel, const char *path, const char *filter, int parent); int main(int argc, char *argv[]) @@ -62,7 +62,7 @@ open_file(fd_angel, "/etc/group"); open_file(fd_angel, "/etc/passwd"); - open_powerbox(fd_angel, "~/Desktop/", "*.py"); + open_powerbox(fd_angel, "~/Desktop/", "*.txt", 0x2a00003); return 0; } @@ -144,12 +144,12 @@ } -void open_powerbox(int fd_angel, const char *path, const char *filter) +void open_powerbox(int fd_angel, const char *path, const char *filter, int parent) { struct capbox_options options; options.ui = KDE; options.operation = OPEN_FILE; - options.parent_window = 0; + options.parent_window = parent; options.start_path = path; options.pathlen = strlen(path); options.start_fd = -1; From owner-p4-projects@FreeBSD.ORG Thu Jun 18 10:51:11 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1521E1065672; Thu, 18 Jun 2009 10:51:11 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C92FE106566B for ; Thu, 18 Jun 2009 10:51:10 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B5D9A8FC15 for ; Thu, 18 Jun 2009 10:51:10 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IApAbV098114 for ; Thu, 18 Jun 2009 10:51:10 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IApAqI098112 for perforce@freebsd.org; Thu, 18 Jun 2009 10:51:10 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 18 Jun 2009 10:51:10 GMT Message-Id: <200906181051.n5IApAqI098112@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164653 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 10:51:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=164653 Change 164653 by jona@jona-trustedbsd-kentvm on 2009/06/18 10:50:48 Some cleanup Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.c#5 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.h#5 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#6 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#7 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/user_angel.c#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.c#5 (text+ko) ==== @@ -46,48 +46,26 @@ int capbox_display(struct capbox_options *options, int fds[], char *names[], int *len) { - printf("capbox_display()\n"); - printf(" options:\n"); - printf(" UI: "); + // get the filenames from the user switch(options->ui) { - case KDE: printf("KDE"); break; - default: printf("", options->ui); - } - printf("\n"); + case KDE: + if(dbus_powerbox(options, names, len)) + { + fprintf(stderr, "Error opening DBus powerbox\n"); + return -1; + } + break; - printf(" operation: "); - switch(options->operation) - { - case OPEN_FILE: printf("OPEN_FILE"); break; - case SAVE_FILE: printf("SAVE_FILE"); break; - case SELECT_DIR: printf("SELECT_DIR"); break; - default: printf("", options->operation); + default: + fprintf(stderr, "Unhandled powerbox UI type %i\n", + options->ui); } - printf("\n"); - printf(" window title: %s\n", options->window_title); - printf(" parent window: %i\n", options->parent_window); - printf(" start path: "); - if(options->pathlen > 0) printf("%s\n", options->start_path); - else printf("\n"); - printf(" start FD: %i\n", options->start_fd); - printf(" multiple select: %s\n", (options->mult ? "true" : "false")); - printf(" filter: "); - if(options->filterlen > 0) printf("%s\n", options->filter); - else printf("\n"); - - if(dbus_powerbox(options, names, len)) - { - fprintf(stderr, "Error opening powerbox via DBus\n"); - return -1; - } - - printf("File names:\n"); + // open the files using the requested flags and rights for(int i = 0; i < *len; i++) { - printf(" %s\n", names[i]); fds[i] = cap_open(names[i], options->flags, options->rights); if(fds[i] < 0) { @@ -97,27 +75,5 @@ } return 0; - - fprintf(stderr, "powerbox not implemented, faking it\n"); - - if(*len > 0) - { - names[0] = (char*) malloc(32); - strcpy(names[0], "/etc/hosts"); - - fds[0] = open("/etc/hosts", O_RDONLY); - } - - if(*len > 1) - { - names[1] = (char*) malloc(32); - strcpy(names[1], "/etc/nsswitch.conf"); - - fds[1] = open("/etc/nsswitch.conf", O_RDONLY); - } - - if(*len > 2) *len = 2; - - return 0; } ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.h#5 (text+ko) ==== @@ -68,8 +68,6 @@ * Open a powerbox. * * @param options powerbox options - * @param flags open() flags (e.g. O_RDONLY) - * @param rights capabilities requested (e.g. CAP_SEEK) * @param fds an array for file descriptors (size len) * @param names an array for file names (size len) * @param len the length of the above arrays (modified by this call) ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#6 (text+ko) ==== @@ -69,11 +69,13 @@ -int handle_request(int client, enum capangel_req_t req); int bind_to_path(const char *path); void serve(int fd_server, struct fd_set *clients); void accept_client(int fd_server); int service_client(int client); +int handle_request(int client, enum capangel_req_t req); +int handle_path_request(int client); +int handle_powerbox_request(int client); void client_closed(int client); @@ -279,127 +281,138 @@ { printf("Client %4i: ", client); - struct cap_wire_datum *d; - int pathlen = 256; - char path[pathlen]; - int fds[32]; - int fdlen; - switch(req) { case FD_FROM_PATH: - ; - fdlen = 1; - d = cap_recv_fds(client, fds, &fdlen); - if(!d) - { - perror("Error receiving path from client"); - return -1; - } + puts("FD_FROM_PATH"); + return handle_path_request(client); + + case FD_POWERBOX: + puts("FD_POWERBOX"); + return handle_powerbox_request(client); + + default: + fprintf(stderr, "Unknown request %i\n", req); + return -1; + } + + return 0; +} + + +int handle_path_request(int client) +{ + int fdlen = 0; + struct cap_wire_datum *d = cap_recv_fds(client, NULL, &fdlen); - if(cap_unmarshall_string(d, path, &pathlen) < 0) - { - fprintf(stderr, "Error unmarshalling path: %s\n", cap_error()); - return -1; - } - free(d); // TODO: why does this fail on attempt #245? + if(!d) + { + perror("Error receiving path from client"); + return -1; + } + char path[256] = ""; + int pathlen = 256; - printf("FD_FROM_PATH: %s\n", path); - int cap = cap_open(path, O_RDONLY, CAP_SET_FILE_READ); + if(cap_unmarshall_string(d, path, &pathlen) < 0) + { + fprintf(stderr, "Error unmarshalling path: %s\n", cap_error()); + return -1; + } + free(d); + - d = cap_marshall_int(1); - if(!d) - { - fprintf(stderr, "Error marshalling FD count: %s\n", cap_error()); - return -1; - } + int cap = cap_open(path, O_RDONLY, CAP_SET_FILE_READ); - if(cap_send(client, d) < 0) - { - perror("Error sending FD count"); - return -1; - } - free(d); + d = cap_marshall_int(1); + if(!d) + { + fprintf(stderr, "Error marshalling FD count: %s\n", cap_error()); + return -1; + } - d = cap_marshall_string(path, pathlen); - if(!d) - { - fprintf(stderr, "Error marshalling FD path: %s\n", cap_error()); - return -1; - } + if(cap_send(client, d) < 0) + { + perror("Error sending FD count"); + return -1; + } + free(d); - if(cap_send_fd(client, d, &cap, 1) < 0) - { - perror("Error sending FD"); - return -1; - } - close(cap); - free(d); + d = cap_marshall_string(path, pathlen); + if(!d) + { + fprintf(stderr, "Error marshalling FD path: %s\n", cap_error()); + return -1; + } - return 0; + if(cap_send_fd(client, d, &cap, 1) < 0) + { + perror("Error sending FD"); + return -1; + } + close(cap); + free(d); - case FD_POWERBOX: - puts("FD_POWERBOX"); + return 0; +} - struct capbox_options options; - fdlen = 1; - d = cap_recv_fds(client, &options.start_fd, &fdlen); - if(!d) - { - perror("Error receiving powerbox options"); - return -1; - } - if(cap_unmarshall_capbox(d, &options) < 0) - { - fprintf(stderr, "Error unmarshalling powerbox options: %s", - cap_error()); - return -1; - } +int handle_powerbox_request(int client) +{ + struct capbox_options options; + int fdlen = 1; + struct cap_wire_datum *d = cap_recv_fds(client, &options.start_fd, &fdlen); + if(!d) + { + perror("Error receiving powerbox options"); + return -1; + } - // TODO: some more sophisticated per-client state (eg name) - options.window_title = (char*) malloc(80); - sprintf(options.window_title, - "Powerbox for user_angel client %i", client); + if(cap_unmarshall_capbox(d, &options) < 0) + { + fprintf(stderr, "Error unmarshalling powerbox options: %s", + cap_error()); + return -1; + } - char *names[32]; - int len = 32; - if(capbox_display(&options, fds, names, &len)) - { - fprintf(stderr, "Error in powerbox\n"); - return 0; - } + // TODO: some more sophisticated per-client state (eg name) + options.window_title = (char*) malloc(80); + sprintf(options.window_title, + "Powerbox for user_angel client %i", client); - free(options.window_title); + int fds[32]; + char *names[32]; + int len = 32; + if(capbox_display(&options, fds, names, &len)) + { + fprintf(stderr, "Error in powerbox\n"); + return 0; + } - struct cap_wire_datum *fdcount = cap_marshall_int(len); - if(cap_send(client, fdcount) < 0) - { - perror("Error sending FD count"); - return -1; - } + free(options.window_title); - for(int i = 0; i < len; i++) - { - const char *name = names[i]; - struct cap_wire_datum *d - = cap_marshall_string(name, strlen(name)); - if(cap_send_fd(client, d, fds + i, 1) < 0) - { - printf("Error sending file descriptor"); - return -1; - } - } + struct cap_wire_datum *fdcount = cap_marshall_int(len); + if(cap_send(client, fdcount) < 0) + { + perror("Error sending FD count"); + return -1; + } + for(int i = 0; i < len; i++) + { + const char *name = names[i]; + struct cap_wire_datum *d + = cap_marshall_string(name, strlen(name)); - default: - fprintf(stderr, "Unknown request %i\n", req); + if(cap_send_fd(client, d, fds + i, 1) < 0) + { + printf("Error sending file descriptor"); return -1; + } } return 0; ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#7 (text+ko) ==== @@ -17,6 +17,7 @@ int connect_to_user_angel(void); void open_file(int fd_angel, const char *path); void open_powerbox(int fd_angel, const char *path, const char *filter, int parent); +void test_fd(int fd, char *name); int main(int argc, char *argv[]) @@ -62,7 +63,7 @@ open_file(fd_angel, "/etc/group"); open_file(fd_angel, "/etc/passwd"); - open_powerbox(fd_angel, "~/Desktop/", "*.txt", 0x2a00003); + open_powerbox(fd_angel, "~/Desktop/", "*.gz", 0x2a00003); return 0; } @@ -135,11 +136,7 @@ return; } - printf("FD %i: %s\n", fd, name); - - FILE *f = fdopen(fd, "r"); - if(!f) err(EX_IOERR, "Error opening %s", name); - fclose(f); + test_fd(fd, name); } } @@ -156,6 +153,8 @@ options.mult = 1; options.filter = filter; options.filterlen = strlen(filter); + options.flags = O_RDWR; + options.rights = CAP_FSTAT | CAP_READ | CAP_WRITE | CAP_SEEK; struct cap_wire_datum *data[2]; @@ -197,11 +196,28 @@ return; } - printf("FD %i: %s\n", fd, name); + test_fd(fd, name); + } +} + + +void test_fd(int fd, char *name) +{ + printf("FD %i: %s\n", fd, name); + + FILE *rf = fdopen(fd, "r"); + if(!rf) err(EX_IOERR, "Error opening %s", name); + printf("Opened %s for reading\n", name); + fclose(rf); - FILE *f = fdopen(fd, "r"); - if(!f) err(EX_IOERR, "Error opening %s", name); - fclose(f); + FILE *wf = fdopen(fd, "w"); + if(wf) + { + printf("Opened %s for writing\n", name); + fclose(wf); } + else printf("Couldn't open %s for writing\n", name); + + close(fd); } ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/user_angel.c#4 (text+ko) ==== @@ -50,13 +50,6 @@ #include "server.h" -#define BASE_CAPS (CAP_IOCTL | CAP_EVENT | CAP_SEEK | CAP_FSTAT) -#define STDIN_CAPS (BASE_CAPS | CAP_READ) -#define STDOUT_CAPS (BASE_CAPS | CAP_WRITE) -#define STDERR_CAPS (BASE_CAPS | CAP_WRITE) -#define BIN_CAPS (CAP_SEEK | CAP_FSTAT | CAP_FSTATFS | CAP_READ | \ - CAP_FEXECVE | CAP_MMAP | CAP_MAPEXEC) - void sighandle(int sig) { @@ -94,83 +87,12 @@ return 1; } - - char address[128]; sprintf(address, "%s/.user-angel", homedir); + run_server(address); - /* - printf("Creating control socket at %s\n", control_socket_name); - - struct sockaddr_un addr; - addr.sun_family = AF_UNIX; - strcpy(addr.sun_path, control_socket_name); - - - fd_control = socket(AF_UNIX, SOCK_STREAM, 0); - if(fd_control == 0) - { - perror("Error creating control socket"); - user_angel_shutdown(); - return -1; - } - - if(bind(fd_control, (struct sockaddr*) &addr, sizeof(struct sockaddr_un))) - { - perror("Error binding control socket"); - user_angel_shutdown(); - return -1; - } - - - if(listen(fd_control, 10)) - { - perror("Error listening for connections"); - user_angel_shutdown(); - return -1; - } - - int client; - struct sockaddr_un clientaddr; - int clientaddrlen; - - client = accept(fd_control, &clientaddr, &clientaddrlen); - if(client <= 0) - { - perror("Error accepting client"); - user_angel_shutdown(); - return -1; - } - - printf("Accepted client: %i\n", client); -*/ user_angel_server_shutdown(); - return 0; -/* fd_control = open(control_socket_name, O_RDONLY | O_NONBLOCK); - - - enum user_angel_request req; - while(1) - { - int bytes = read(fd_control, &req, 4); - - if(bytes == 0) usleep(100); - else if(bytes > 0) - { - printf("Read %i bytes\n", bytes); - printf("Req: %x\n", req); - } - else - { - if(shutting_down) return 0; - - perror("Error reading from control pipe"); - break; - } - } - user_angel_server_shutdown(); -*/ return 0; } From owner-p4-projects@FreeBSD.ORG Thu Jun 18 10:57:17 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 81B0E106567B; Thu, 18 Jun 2009 10:57:17 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3CA271065672 for ; Thu, 18 Jun 2009 10:57:17 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2861F8FC19 for ; Thu, 18 Jun 2009 10:57:17 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IAvHi5098546 for ; Thu, 18 Jun 2009 10:57:17 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IAvGDo098544 for perforce@freebsd.org; Thu, 18 Jun 2009 10:57:16 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 18 Jun 2009 10:57:16 GMT Message-Id: <200906181057.n5IAvGDo098544@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164654 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 10:57:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=164654 Change 164654 by rwatson@rwatson_freebsd_capabilities on 2009/06/18 10:56:22 Sandbox bzip2 decompression in gzip(1). Affected files ... .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzip.c#6 edit .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzip.h#2 edit .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzsandbox.c#3 edit .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/unbzip2.c#3 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzip.c#6 (text+ko) ==== @@ -239,10 +239,6 @@ static int check_outfile(const char *outfile); #endif -#ifndef NO_BZIP2_SUPPORT -static off_t unbzip2(int, int, char *, size_t, off_t *); -#endif - #ifndef NO_COMPRESS_SUPPORT static FILE *zdopen(int); static off_t zuncompress(FILE *, FILE *, char *, size_t, off_t *); @@ -1417,7 +1413,7 @@ goto lose; } - size = unbzip2(fd, zfd, NULL, 0, NULL); + size = unbzip2_wrapper(fd, zfd, NULL, 0, NULL); } else #endif @@ -1636,7 +1632,7 @@ break; #ifndef NO_BZIP2_SUPPORT case FT_BZIP2: - usize = unbzip2(STDIN_FILENO, STDOUT_FILENO, + usize = unbzip2_wrapper(STDIN_FILENO, STDOUT_FILENO, (char *)header1, sizeof header1, &gsize); break; #endif ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzip.h#2 (text+ko) ==== @@ -42,5 +42,8 @@ off_t *gsizep, const char *filename); off_t gz_uncompress_wrapper(int in, int out, char *pre, size_t prelen, off_t *gsizep, const char *filename); +off_t unbzip2(int in, int out, char *pre, size_t prelen, off_t *bytes_in); +off_t unbzip2_wrapper(int in, int out, char *pre, size_t prelen, + off_t *bytes_in); #endif /* !_GZIP_H_ */ ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzsandbox.c#3 (text+ko) ==== @@ -54,6 +54,7 @@ #define PROXIED_GZ_COMPRESS 1 #define PROXIED_GZ_UNCOMPRESS 2 +#define PROXIED_UNBZIP2 3 static struct lc_sandbox *lcsp; static int gzsandbox_initialized; @@ -243,6 +244,88 @@ filename)); } +struct host_unbzip2_req { + size_t hub_req_prelen; + /* ... followed by data ... */ +}; + +struct host_unbzip2_rep { + off_t hub_rep_bytes_in; + off_t hub_rep_retval; +}; + +static off_t +unbzip2_insandbox(int in, int out, char *pre, size_t prelen, off_t *bytes_in) +{ + struct host_unbzip2_req req; + struct host_unbzip2_rep rep; + struct iovec iov_req[2], iov_rep; + int fdarray[2]; + size_t len; + + if (lcsp == NULL) { + if (lch_start_flags(LC_USR_BIN_GZIP_SANDBOX, lc_sandbox_argv, + LCH_PERMIT_STDERR, &lcsp) < 0) + err(-1, "lch_start %s", LC_USR_BIN_GZIP_SANDBOX); + } + + bzero(&req, sizeof(req)); + req.hub_req_prelen = prelen; + iov_req[0].iov_base = &req; + iov_req[0].iov_len = sizeof(req); + iov_req[1].iov_base = pre; + iov_req[1].iov_len = prelen; + iov_rep.iov_base = &rep; + iov_rep.iov_len = sizeof(rep); + fdarray[0] = cap_new(in, CAP_FSTAT | CAP_READ | CAP_SEEK); + fdarray[1] = cap_new(out, CAP_FSTAT | CAP_WRITE | CAP_SEEK); + if (fdarray[0] == -1 || fdarray[1] == -1) + err(-1, "cap_new"); + if (lch_rpc_rights(lcsp, PROXIED_UNBZIP2, iov_req, 1, + fdarray, 2, &iov_rep, 1, &len, NULL, NULL) < 0) + err(-1, "lch_rpc_rights"); + if (len != sizeof(rep)) + errx(-1, "lch_rpc_rights len %d", len); + if (bytes_in != NULL) + *bytes_in = rep.hub_rep_bytes_in; + close(fdarray[0]); + close(fdarray[1]); + return (rep.hub_rep_retval); +} + +static void +sandbox_unbzip2_buffer(struct lc_host *lchp, uint32_t opno, + uint32_t seqno, char *buffer, size_t len, int fd_in, int fd_out) +{ + struct host_unbzip2_req req; + struct host_unbzip2_rep rep; + struct iovec iov; + char *pre; + + if (len != sizeof(req)) + err(-1, "sandbox_gz_uncompress_buffer: len %d", len); + + bcopy(buffer, &req, sizeof(req)); + pre = buffer + sizeof(req); + bzero(&rep, sizeof(rep)); + rep.hub_rep_retval = unbzip2(fd_in, fd_out, pre, req.hub_req_prelen, + &rep.hub_rep_bytes_in); + iov.iov_base = &rep; + iov.iov_len = sizeof(rep); + if (lcs_sendrpc(lchp, opno, seqno, &iov, 1) < 0) + err(-1, "lcs_sendrpc"); +} +off_t +unbzip2_wrapper(int in, int out, char *pre, size_t prelen, off_t *bytes_in) +{ + + if (!gzsandbox_initialized) + gzsandbox_initialize(); + if (gzsandbox_enabled) + return (unbzip2_insandbox(in, out, pre, prelen, bytes_in)); + else + return (unbzip2(in, out, pre, prelen, bytes_in)); +} int cap_main(__unused int argc, __unused char *argv[]) @@ -284,6 +367,15 @@ close(fdarray[1]); break; + case PROXIED_UNBZIP2: + if (fdcount != 2) + errx(-1, "sandbox_workloop: %d fds", fdcount); + sandbox_unbzip2_buffer(lchp, opno, seqno, buffer, len, + fdarray[0], fdarray[1]); + close(fdarray[0]); + close(fdarray[1]); + break; + default: errx(-1, "sandbox_workloop: unknown op %d", opno); } ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/unbzip2.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ /* This file is #included by gzip.c */ -static off_t +off_t unbzip2(int in, int out, char *pre, size_t prelen, off_t *bytes_in) { int ret, end_of_file; From owner-p4-projects@FreeBSD.ORG Thu Jun 18 10:58:18 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A2F4B1065674; Thu, 18 Jun 2009 10:58:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 631D9106566B for ; Thu, 18 Jun 2009 10:58:18 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5187B8FC08 for ; Thu, 18 Jun 2009 10:58:18 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IAwIs5098612 for ; Thu, 18 Jun 2009 10:58:18 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IAwIlT098610 for perforce@freebsd.org; Thu, 18 Jun 2009 10:58:18 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 18 Jun 2009 10:58:18 GMT Message-Id: <200906181058.n5IAwIlT098610@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164655 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 10:58:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=164655 Change 164655 by jona@jona-trustedbsd-kentvm on 2009/06/18 10:58:13 cap_open() shouldn't exit() on error Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/cap.c#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/cap.c#4 (text+ko) ==== @@ -42,10 +42,20 @@ int cap_open(const char *path, int flags, cap_rights_t rights) { int fd = open(path, flags); - if(fd < 0) err(EX_IOERR, "failed to open() path '%s'", path); + if(fd < 0) + { + char error[80 + strlen(path)]; + sprintf(error, "failed to open() path '%s'", path); + perror(error); + return -1; + } int cap = cap_new(fd, rights); - if(cap < 0) err(EX_SOFTWARE, "failed to create new capability"); + if(cap < 0) + { + perror("Failed to create new capability"); + return -1; + } close(fd); return cap; From owner-p4-projects@FreeBSD.ORG Thu Jun 18 11:00:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF7B41065672; Thu, 18 Jun 2009 11:00:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC8E81065670 for ; Thu, 18 Jun 2009 11:00:20 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 80A028FC08 for ; Thu, 18 Jun 2009 11:00:20 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IB0KqL098837 for ; Thu, 18 Jun 2009 11:00:20 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IB0K1Y098835 for perforce@freebsd.org; Thu, 18 Jun 2009 11:00:20 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 18 Jun 2009 11:00:20 GMT Message-Id: <200906181100.n5IB0K1Y098835@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164656 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 11:00:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=164656 Change 164656 by jona@jona-trustedbsd-kentvm on 2009/06/18 11:00:04 Let cap.c compile again... Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/cap.c#5 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/cap.c#5 (text+ko) ==== @@ -33,6 +33,8 @@ #include #include +#include +#include #include #include From owner-p4-projects@FreeBSD.ORG Thu Jun 18 11:04:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1CC9F106566C; Thu, 18 Jun 2009 11:04:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D15E8106564A for ; Thu, 18 Jun 2009 11:04:24 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BF94E8FC14 for ; Thu, 18 Jun 2009 11:04:24 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IB4OVq000190 for ; Thu, 18 Jun 2009 11:04:24 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IB4OpW000188 for perforce@freebsd.org; Thu, 18 Jun 2009 11:04:24 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 18 Jun 2009 11:04:24 GMT Message-Id: <200906181104.n5IB4OpW000188@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164657 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 11:04:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=164657 Change 164657 by jona@jona-trustedbsd-kentvm on 2009/06/18 11:03:53 Allow passing of error types Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.h#8 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.h#8 (text+ko) ==== @@ -59,6 +59,7 @@ #define FLOAT 0x00000002 #define STRING 0x00000004 #define CAPBOX_OPTIONS 0x00000008 + #define ERROR 0x00000080 #define TYPE_MODIFIER_MASK 0x0000ff00 #define LONG 0x00000100 @@ -75,12 +76,14 @@ /* Unmarshalling functions; calling programs should free the result */ struct cap_wire_datum* cap_marshall_int(int32_t value); struct cap_wire_datum* cap_marshall_string(const char *value, int len); +struct cap_wire_datum* cap_marshall_error(int errno, const char *msg, int msglen); struct cap_wire_datum* cap_marshall_capbox(const struct capbox_options *options); /* Unmarshalling functions; return the number of bytes unmarshalled (or -1) */ int cap_unmarshall_int(const struct cap_wire_datum *d, int32_t *value); int cap_unmarshall_string(const struct cap_wire_datum *d, char* value, int *len); +int cap_unmarshall_error(const struct cap_wire_datum *d, int errno, const char *msg, int msglen); int cap_unmarshall_capbox(const struct cap_wire_datum *d, struct capbox_options *options); From owner-p4-projects@FreeBSD.ORG Thu Jun 18 11:11:35 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 20B331065672; Thu, 18 Jun 2009 11:11:35 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D531F106566C for ; Thu, 18 Jun 2009 11:11:34 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B8B418FC08 for ; Thu, 18 Jun 2009 11:11:34 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IBBY2Q000822 for ; Thu, 18 Jun 2009 11:11:34 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IBBVD6000819 for perforce@freebsd.org; Thu, 18 Jun 2009 11:11:31 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 18 Jun 2009 11:11:31 GMT Message-Id: <200906181111.n5IBBVD6000819@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164658 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 11:11:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=164658 Change 164658 by jona@jona-trustedbsd-kentvm on 2009/06/18 11:11:15 Provided the code for marshalling and unmarshalling errors Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.c#10 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.h#9 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.c#10 (text+ko) ==== @@ -162,6 +162,86 @@ } + +wire_datum* cap_marshall_error(int errno, const char *msg, int msglen) +{ + wire_datum *data[2]; + data[0] = cap_marshall_int(errno); + data[1] = cap_marshall_string(msg, msglen); + + int total_size = 0; + for(int i = 0; i < 2; i++) + if(data[i] == NULL) + { + sprintf(errmsg, "Error datum %i is NULL", i); + return NULL; + } + else total_size += (sizeof(wire_datum) + data[i]->length); + + wire_datum *d = (wire_datum*) malloc(sizeof(wire_datum) + total_size); + d->type = ERROR; + d->length = total_size; + + char *buffer = ((char*) d) + sizeof(wire_datum); + char *head = buffer; + for(int i = 0; i < 2; i++) + { + memcpy(head, data[i], sizeof(wire_datum) + data[i]->length); + head += sizeof(wire_datum) + data[i]->length; + + free(data[i]); + } + + return d; +} + + +int cap_unmarshall_error(const wire_datum *d, int *errno, const char *msg, int *msglen) +{ + if(datum == NULL) + { + sprintf(errmsg, "NULL datum"); + return -1; + } + else if(datum->type != ERROR) + { + sprintf(errmsg, "Datum's type is %i, not ERROR (%i)", + datum->type, ERROR); + } + else if(datum->length < 0) + { + sprintf(errmsg, "Datum length should be positive, not %i", + datum->length); + return -1; + } + + int32_t tmp_int; + wire_datum *d = (wire_datum*) (((char*) datum) + sizeof(wire_datum)); + + if(cap_unmarshall_int(d, &tmp_int) < 0) + { + char error[128]; + sprintf(error, "Error unmarshalling errno: %s", cap_error()); + strcpy(errmsg, error); + return -1; + } + *errno = tmp_int; + d = (wire_datum*) (((char*) d) + sizeof(wire_datum) + d->length); + + + if(cap_unmarshall_string(d, msg, msglen) < 0) + { + char error[128]; + sprintf(error, "Error unmarshalling path: %s", cap_error()); + strcpy(errmsg, error); + return -1; + } + + return sizeof(wire_datum) + datum->length; +} + + + wire_datum* cap_marshall_capbox(const struct capbox_options *options) { wire_datum *data[8]; ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.h#9 (text+ko) ==== @@ -82,8 +82,8 @@ /* Unmarshalling functions; return the number of bytes unmarshalled (or -1) */ int cap_unmarshall_int(const struct cap_wire_datum *d, int32_t *value); -int cap_unmarshall_string(const struct cap_wire_datum *d, char* value, int *len); -int cap_unmarshall_error(const struct cap_wire_datum *d, int errno, const char *msg, int msglen); +int cap_unmarshall_string(const struct cap_wire_datum *d, char *value, int *len); +int cap_unmarshall_error(const struct cap_wire_datum *d, int *errno, const char *msg, int *msglen); int cap_unmarshall_capbox(const struct cap_wire_datum *d, struct capbox_options *options); From owner-p4-projects@FreeBSD.ORG Thu Jun 18 11:24:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B3A5A1065674; Thu, 18 Jun 2009 11:24:48 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7056E1065672 for ; Thu, 18 Jun 2009 11:24:48 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5B68E8FC17 for ; Thu, 18 Jun 2009 11:24:48 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IBOmNU001927 for ; Thu, 18 Jun 2009 11:24:48 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IBOm21001925 for perforce@freebsd.org; Thu, 18 Jun 2009 11:24:48 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 18 Jun 2009 11:24:48 GMT Message-Id: <200906181124.n5IBOm21001925@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164660 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 11:24:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=164660 Change 164660 by rwatson@rwatson_freebsd_capabilities on 2009/06/18 11:24:33 Collapse lch_start_flags/lch_startfd_flags into lch_start/ lch_startfd, since we seem to almost always use them that way. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#15 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#21 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#8 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#18 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc/fdrpc.c#4 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv/fdsendrecv.c#3 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_echo/sandbox_echo.c#8 edit .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzsandbox.c#4 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/Makefile#15 (text+ko) ==== @@ -23,9 +23,7 @@ MLINKS= libcapability.3 lc_limitfd.3 \ libcapability_host.3 lch_autosandbox_isenabled.3 \ libcapability_host.3 lch_start.3 \ - libcapability_host.3 lch_start_flags.3 \ libcapability_host.3 lch_startfd.3 \ - libcapability_host.3 lch_startfd_flags.3 \ libcapability_host.3 lch_stop.3 \ libcapability_host.3 lch_getsock.3 \ libcapability_host.3 lch_getpid.3 \ ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#21 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#20 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#21 $ */ #ifndef _LIBCAPABILITY_H_ @@ -53,14 +53,10 @@ /* * Interfaces to start and stop capability mode sandboxs. */ -int lch_start(const char *sandbox, char *const argv[], - struct lc_sandbox **lcspp); -int lch_start_flags(const char *sandbox, char *const argv[], u_int flags, +int lch_start(const char *sandbox, char *const argv[], u_int flags, struct lc_sandbox **lcspp); int lch_startfd(int fd_sandbox, const char *binname, char *const argv[], - struct lc_sandbox **lcspp); -int lch_startfd_flags(int fd_sandbox, const char *binname, - char *const argv[], u_int flags, struct lc_sandbox **lcspp); + u_int flags, struct lc_sandbox **lcspp); void lch_stop(struct lc_sandbox *lcsp); /* ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.3#8 (text+ko) ==== @@ -45,13 +45,9 @@ .In sys/capability.h .In libcapability.h .Ft int -.Fn lch_start "const char *sandbox" "char *const argv[]" "struct lc_sandbox **lcsp" +.Fn lch_start "const char *sandbox" "char *const argv[]" "u_int flags" "struct lc_sandbox **lcsp" .Ft int -.Fn lch_start_flags "const char *sandbox" "char *const argv[]" "u_int flags" "struct lc_sandbox **lcsp" -.Ft int -.Fn lch_startfd "int fd_sandbox" "char *const argv[]" "struct lc_sandbox **lcsp" -.Ft int -.Fn lch_startfd_flags "int fd_sandbox" "char *const argv[]" "u_int flags" "struct lc_sandbox **lcsp" +.Fn lch_startfd "int fd_sandbox" "char *const argv[]" "u_int flags" "struct lc_sandbox **lcsp" .Ft void .Fn lch_stop "struct lc_sandbox *lcsp" .Ft int @@ -104,34 +100,28 @@ .Dv lch_ . .Pp Each executing sandbox instance is described by an opaque -.Dt "struct lc_sandbox" , +.Dt "struct lc_sandbox *" , which is returned by .Fn lch_start -and -.Fn lch_start_flags for successfully started sandboxes, and passed into other APIs to indicate which sandbox should be acted on. -Both calls create new executing sandboxes, given the name of the sandbox -binary via +.Fn lch_start +creates a new executing sandboxes, given the name of the sandbox binary via .Va sandbox , and command line arguments -.Va argv . -.Pp -.Fn lch_start_flags -accepts an optional flags field to fine-tune aspects of sandbox operation; -the only currently defined flag is +.Va argv , +and optional flags +.Va flags +to fine-tune aspects of sandbox operation; the only currently defined flag is .Dv LCH_PERMIT_STDERR , which allows the sandbox to write to the current process's .Dv stderr . By default, this is not permitted. .Pp -Two further variations to start sandboxes are also defined, .Fn lch_startfd -and -.Fn lch_startfd_flags , -which accept a file descriptor argument, +accept a file descriptor argument, .Va fd_sandbox , -rather than a path. +rather than a path, so is appropriate for use within a sandbox. .Pp Executing sandboxes may be stopped (and all state freed) using .Fn lch_stop . ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#18 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#17 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#18 $ */ #include @@ -223,7 +223,7 @@ } int -lch_startfd_flags(int fd_sandbox, const char *binname, char *const argv[], +lch_startfd(int fd_sandbox, const char *binname, char *const argv[], u_int flags, struct lc_sandbox **lcspp) { struct lc_sandbox *lcsp; @@ -338,17 +338,9 @@ } int -lch_startfd(int fd_sandbox, const char *binname, char *const argv[], +lch_start(const char *sandbox, char *const argv[], u_int flags, struct lc_sandbox **lcspp) { - - return (lch_startfd_flags(fd_sandbox, binname, argv, 0, lcspp)); -} - -int -lch_start_flags(const char *sandbox, char *const argv[], u_int flags, - struct lc_sandbox **lcspp) -{ char binname[MAXPATHLEN]; int error, fd_sandbox, ret; @@ -359,20 +351,13 @@ if (fd_sandbox < 0) return (-1); - ret = lch_startfd_flags(fd_sandbox, binname, argv, flags, lcspp); + ret = lch_startfd(fd_sandbox, binname, argv, flags, lcspp); error = errno; close(fd_sandbox); errno = error; return (ret); } -int -lch_start(const char *sandbox, char *const argv[], struct lc_sandbox **lcspp) -{ - - return (lch_start_flags(sandbox, argv, 0, lcspp)); -} - void lch_stop(struct lc_sandbox *lcsp) { ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc/fdrpc.c#4 (text+ko) ==== @@ -65,8 +65,8 @@ if (argc != 1) errx(-1, "usage: fdrpc_host"); - if (lch_start_flags(FDRPC_SANDBOX, fdrpc_argv, LCH_PERMIT_STDERR, - &lcsp) < 0) + if (lch_start(FDRPC_SANDBOX, fdrpc_argv, LCH_PERMIT_STDERR, &lcsp) + < 0) err(-1, "lch_start %s", FDRPC_SANDBOX); ch = 'X'; /* RPC data. */ ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv/fdsendrecv.c#3 (text+ko) ==== @@ -59,8 +59,8 @@ if (argc != 1) errx(-1, "usage: fdsendrecv_host"); - if (lch_start_flags(FDSENDRECV_SANDBOX, fdsendrecv_argv, - LCH_PERMIT_STDERR, &lcsp) < 0) + if (lch_start(FDSENDRECV_SANDBOX, fdsendrecv_argv, LCH_PERMIT_STDERR, + &lcsp) < 0) err(-1, "lch_start %s", FDSENDRECV_SANDBOX); /* ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_echo/sandbox_echo.c#8 (text+ko) ==== @@ -60,8 +60,7 @@ if (argc != 1) errx(-1, "usage: sandbox_echo"); - if (lch_start_flags(MYNAME, sandbox_argv, LCH_PERMIT_STDERR, &lcsp) - < 0) + if (lch_start(MYNAME, sandbox_argv, LCH_PERMIT_STDERR, &lcsp) < 0) err(-1, "lch_start %s", argv[1]); for (i = 0; i < 10; i++) { @@ -103,13 +102,12 @@ * requests to it. Otherwise, service the requests in this sandbox. */ if (argc > 1 && strcmp(argv[1], "nested") == 0) { - if (ld_caplibindex_lookup(MYNAME, &fd) < 0) err(-10, "ld_caplibindex_lookup(%s)", MYNAME); - if (lch_startfd_flags(fd, MYNAME, sandbox_argv, - LCH_PERMIT_STDERR, &lcsp) < 0) - err(-1, "lch_start %s", argv[1]); + if (lch_startfd(fd, MYNAME, sandbox_argv, LCH_PERMIT_STDERR, + &lcsp) < 0) + err(-1, "lch_startfd %s", argv[1]); while (1) { if (lcs_recvrpc(lchp, &opno, &seqno, &buffer, &len) < 0) { ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzsandbox.c#4 (text+ko) ==== @@ -89,7 +89,7 @@ size_t len; if (lcsp == NULL) { - if (lch_start_flags(LC_USR_BIN_GZIP_SANDBOX, lc_sandbox_argv, + if (lch_start(LC_USR_BIN_GZIP_SANDBOX, lc_sandbox_argv, LCH_PERMIT_STDERR, &lcsp) < 0) err(-1, "lch_start %s", LC_USR_BIN_GZIP_SANDBOX); } @@ -175,7 +175,7 @@ size_t len; if (lcsp == NULL) { - if (lch_start_flags(LC_USR_BIN_GZIP_SANDBOX, lc_sandbox_argv, + if (lch_start(LC_USR_BIN_GZIP_SANDBOX, lc_sandbox_argv, LCH_PERMIT_STDERR, &lcsp) < 0) err(-1, "lch_start %s", LC_USR_BIN_GZIP_SANDBOX); } @@ -264,7 +264,7 @@ size_t len; if (lcsp == NULL) { - if (lch_start_flags(LC_USR_BIN_GZIP_SANDBOX, lc_sandbox_argv, + if (lch_start(LC_USR_BIN_GZIP_SANDBOX, lc_sandbox_argv, LCH_PERMIT_STDERR, &lcsp) < 0) err(-1, "lch_start %s", LC_USR_BIN_GZIP_SANDBOX); } From owner-p4-projects@FreeBSD.ORG Thu Jun 18 13:02:32 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E8BD1065674; Thu, 18 Jun 2009 13:02:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2DA6D106566B for ; Thu, 18 Jun 2009 13:02:32 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 12F938FC22 for ; Thu, 18 Jun 2009 13:02:32 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5ID2WFD021449 for ; Thu, 18 Jun 2009 13:02:32 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5ID2WOF021447 for perforce@freebsd.org; Thu, 18 Jun 2009 13:02:32 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 18 Jun 2009 13:02:32 GMT Message-Id: <200906181302.n5ID2WOF021447@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164664 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 13:02:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=164664 Change 164664 by jona@jona-trustedbsd-kentvm on 2009/06/18 13:01:59 Error message passing and handling Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/cap.c#6 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/cap.h#3 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.c#11 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.h#10 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#7 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#8 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/cap.c#6 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. */ -#include +#include #include #include #include @@ -41,21 +41,27 @@ #include "cap.h" +char errstr[512]; +const char *cap_error() { return errstr; } + + int cap_open(const char *path, int flags, cap_rights_t rights) { int fd = open(path, flags); if(fd < 0) { - char error[80 + strlen(path)]; - sprintf(error, "failed to open() path '%s'", path); - perror(error); + if(strlen(path) > 256) path = ""; + sprintf(errstr, "Failed to open() path '%s': %i (%s)", + path, errno, strerror(errno)); return -1; } int cap = cap_new(fd, rights); if(cap < 0) { - perror("Failed to create new capability"); + if(strlen(path) > 256) path = ""; + sprintf(errstr, "Failed to create new capability: %i (%s)", + errno, strerror(errno)); return -1; } ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/cap.h#3 (text+ko) ==== @@ -41,6 +41,9 @@ #define CAP_SET_FILE_RW (CAP_SET_FILE_READ | CAP_SET_FILE_WRITE) +/** The last capability-related error */ +const char *cap_error(); + /** Open a file in capability mode with specified rights */ int cap_open(const char *path, int flags, cap_rights_t rights); ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.c#11 (text+ko) ==== @@ -44,9 +44,30 @@ #include "protocol.h" +char errmsg[256]; +const char* cap_protocol_error(void) { return errmsg; } + +typedef struct cap_wire_datum wire_datum; +void handle_error(const wire_datum *d) +{ + int32_t errnum; + char msg[200]; + int msglen = 200; + + if(cap_unmarshall_error(d, &errnum, msg, &msglen) < 0) + { + sprintf(errmsg, "Error unmarshalling error message\n"); + return; + } + + sprintf(errmsg, "user_angel error: %s (%i: %s)", + msg, errnum, strerror(errnum)); +} + + void print_datum(const struct cap_wire_datum *d) { printf("Datum @ 0x%8x:\n", (unsigned int) d); @@ -65,14 +86,6 @@ - -typedef struct cap_wire_datum wire_datum; - - -char errmsg[256]; -const char* cap_error(void) { return errmsg; } - - wire_datum* cap_marshall_int(int32_t value) { int size = sizeof(wire_datum) + sizeof(int32_t); @@ -99,8 +112,9 @@ if(!(datum->type & INTEGER)) { - sprintf(errmsg, "Datum's type is %i, not INTEGER (%i)", - datum->type, INTEGER); + if(datum->type & ERROR) handle_error(datum); + else sprintf(errmsg, "Datum's type is %i, not INTEGER (%i)", + datum->type, INTEGER); return -1; } @@ -138,8 +152,9 @@ } else if(datum->type != STRING) { - sprintf(errmsg, "Datum's type is %i, not STRING (%i)", - datum->type, STRING); + if(datum->type & ERROR) handle_error(datum); + else sprintf(errmsg, "Datum's type is %i, not STRING (%i)", + datum->type, STRING); } else if(datum->length < 0) { @@ -163,40 +178,25 @@ -wire_datum* cap_marshall_error(int errno, const char *msg, int msglen) +wire_datum* cap_marshall_error(int errnum, const char *msg, int msglen) { - wire_datum *data[2]; - data[0] = cap_marshall_int(errno); - data[1] = cap_marshall_string(msg, msglen); - - int total_size = 0; - for(int i = 0; i < 2; i++) - if(data[i] == NULL) - { - sprintf(errmsg, "Error datum %i is NULL", i); - return NULL; - } - else total_size += (sizeof(wire_datum) + data[i]->length); - - wire_datum *d = (wire_datum*) malloc(sizeof(wire_datum) + total_size); + int size = sizeof(wire_datum) + sizeof(int32_t) + msglen; + wire_datum *d = (wire_datum*) malloc(size); + d->type = ERROR; - d->length = total_size; + d->length = sizeof(int32_t) + msglen; - char *buffer = ((char*) d) + sizeof(wire_datum); - char *head = buffer; - for(int i = 0; i < 2; i++) - { - memcpy(head, data[i], sizeof(wire_datum) + data[i]->length); - head += sizeof(wire_datum) + data[i]->length; + char *address = ((char*) d) + sizeof(wire_datum); + *((int32_t*) address) = errnum; - free(data[i]); - } + address += sizeof(int32_t); + memcpy((char*) address, msg, msglen); return d; } -int cap_unmarshall_error(const wire_datum *d, int *errno, const char *msg, int *msglen) +int cap_unmarshall_error(const wire_datum *datum, int *errnum, char *msg, int *msglen) { if(datum == NULL) { @@ -214,30 +214,22 @@ datum->length); return -1; } - - int32_t tmp_int; - wire_datum *d = (wire_datum*) (((char*) datum) + sizeof(wire_datum)); - - if(cap_unmarshall_int(d, &tmp_int) < 0) + else if(datum->length >= (*msglen - sizeof(int32_t))) { - char error[128]; - sprintf(error, "Error unmarshalling errno: %s", cap_error()); - strcpy(errmsg, error); + sprintf(errmsg, "Message is too long (%iB) to fit in buffer (%iB)", + datum->length - sizeof(int32_t), *msglen); return -1; } - *errno = tmp_int; - d = (wire_datum*) (((char*) d) + sizeof(wire_datum) + d->length); + char *address = ((char*) datum) + sizeof(wire_datum); + *errnum = *((int32_t*) address); + address += sizeof(int32_t); - if(cap_unmarshall_string(d, msg, msglen) < 0) - { - char error[128]; - sprintf(error, "Error unmarshalling path: %s", cap_error()); - strcpy(errmsg, error); - return -1; - } + *msglen = datum->length - sizeof(int32_t); + memcpy(msg, address, *msglen); + msg[*msglen] = '\0'; - return sizeof(wire_datum) + datum->length; + return datum->length; } @@ -290,8 +282,10 @@ } else if(datum->type != CAPBOX_OPTIONS) { - sprintf(errmsg, "Datum's type is %i, not CAPBOX_OPTIONS (%i)", - datum->type, CAPBOX_OPTIONS); + if(datum->type & ERROR) handle_error(datum); + else sprintf(errmsg, "Datum's type is %i, not CAPBOX_OPTIONS (%i)", + datum->type, CAPBOX_OPTIONS); + return -1; } else if(datum->length < 0) { @@ -306,7 +300,7 @@ if(cap_unmarshall_int(d, &tmp_int) < 0) { char error[128]; - sprintf(error, "Error unmarshalling UI type: %s", cap_error()); + sprintf(error, "Error unmarshalling UI type: %s", cap_protocol_error()); strcpy(errmsg, error); return -1; } @@ -316,7 +310,7 @@ if(cap_unmarshall_int(d, &tmp_int) < 0) { char error[128]; - sprintf(error, "Error unmarshalling operation: %s", cap_error()); + sprintf(error, "Error unmarshalling operation: %s", cap_protocol_error()); strcpy(errmsg, error); return -1; } @@ -330,7 +324,7 @@ if(cap_unmarshall_int(d, &tmp_int) < 0) { char error[128]; - sprintf(error, "Error unmarshalling parent: %s", cap_error()); + sprintf(error, "Error unmarshalling parent: %s", cap_protocol_error()); strcpy(errmsg, error); return -1; } @@ -342,7 +336,7 @@ if(cap_unmarshall_string(d, (char*) options->start_path, &options->pathlen) < 0) { char error[128]; - sprintf(error, "Error unmarshalling path: %s", cap_error()); + sprintf(error, "Error unmarshalling path: %s", cap_protocol_error()); strcpy(errmsg, error); return -1; } @@ -356,7 +350,7 @@ if(cap_unmarshall_int(d, &tmp_int) < 0) { char error[128]; - sprintf(error, "Error unmarshalling 'mult': %s", cap_error()); + sprintf(error, "Error unmarshalling 'mult': %s", cap_protocol_error()); strcpy(errmsg, error); return -1; } @@ -368,7 +362,7 @@ if(cap_unmarshall_string(d, (char*) options->filter, &options->filterlen) < 0) { char error[128]; - sprintf(error, "Error unmarshalling filter: %s", cap_error()); + sprintf(error, "Error unmarshalling filter: %s", cap_protocol_error()); strcpy(errmsg, error); return -1; } @@ -377,7 +371,7 @@ if(cap_unmarshall_int(d, &tmp_int) < 0) { char error[128]; - sprintf(error, "Error unmarshalling 'flags': %s", cap_error()); + sprintf(error, "Error unmarshalling 'flags': %s", cap_protocol_error()); strcpy(errmsg, error); return -1; } @@ -387,7 +381,7 @@ if(cap_unmarshall_int(d, &tmp_int) < 0) { char error[128]; - sprintf(error, "Error unmarshalling 'rights': %s", cap_error()); + sprintf(error, "Error unmarshalling 'rights': %s", cap_protocol_error()); strcpy(errmsg, error); return -1; } ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.h#10 (text+ko) ==== @@ -46,7 +46,7 @@ /** The last protocol error */ -const char* cap_error(void); +const char* cap_protocol_error(void); @@ -76,14 +76,14 @@ /* Unmarshalling functions; calling programs should free the result */ struct cap_wire_datum* cap_marshall_int(int32_t value); struct cap_wire_datum* cap_marshall_string(const char *value, int len); -struct cap_wire_datum* cap_marshall_error(int errno, const char *msg, int msglen); +struct cap_wire_datum* cap_marshall_error(int errnum, const char *msg, int msglen); struct cap_wire_datum* cap_marshall_capbox(const struct capbox_options *options); /* Unmarshalling functions; return the number of bytes unmarshalled (or -1) */ int cap_unmarshall_int(const struct cap_wire_datum *d, int32_t *value); int cap_unmarshall_string(const struct cap_wire_datum *d, char *value, int *len); -int cap_unmarshall_error(const struct cap_wire_datum *d, int *errno, const char *msg, int *msglen); +int cap_unmarshall_error(const struct cap_wire_datum *d, int *errnum, char *msg, int *msglen); int cap_unmarshall_capbox(const struct cap_wire_datum *d, struct capbox_options *options); ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#7 (text+ko) ==== @@ -53,6 +53,8 @@ int shutting_down = 0; char control_socket_name[256] = ""; +char current_error[512]; + struct fd_set clients; int highest_fd; @@ -76,7 +78,7 @@ int handle_request(int client, enum capangel_req_t req); int handle_path_request(int client); int handle_powerbox_request(int client); -void client_closed(int client); +void close_client(int client, int errnum, const char *msg); @@ -242,7 +244,7 @@ if(!d) { if((errno == ENOENT) || (errno == ECONNRESET)) - client_closed(client); + close_client(client, errno, "Client socket closed"); else perror("Error receiving from client"); @@ -256,20 +258,20 @@ else { - fprintf(stderr, "enum size is %iB\n", sizeof(enum capangel_req_t)); + sprintf(current_error, "enum size is %iB", + sizeof(enum capangel_req_t)); return -1; } if(bytes < 0) { - fprintf(stderr, "Error unmarshalling request: %s\n", cap_error()); + strcpy(current_error, cap_protocol_error()); return -1; } if(handle_request(client, req)) { - perror("Error handling client request"); - client_closed(client); + close_client(client, errno, current_error); return 0; } @@ -292,7 +294,7 @@ return handle_powerbox_request(client); default: - fprintf(stderr, "Unknown request %i\n", req); + sprintf(current_error, "Unknown request %i", req); return -1; } @@ -303,37 +305,48 @@ int handle_path_request(int client) { int fdlen = 0; + char path[256] = ""; + int pathlen = 256; + struct cap_wire_datum *d = cap_recv_fds(client, NULL, &fdlen); + if(cap_unmarshall_string(d, path, &pathlen) < 0) + { + strcpy(current_error, cap_protocol_error()); + return -1; + } + free(d); - if(!d) + int32_t flags, rights; + if(cap_unmarshall_int(cap_recv(client), &flags) < 0) { - perror("Error receiving path from client"); + fprintf(stderr, "Error unmarshalling flags: %s\n", cap_protocol_error()); return -1; } - char path[256] = ""; - int pathlen = 256; - - if(cap_unmarshall_string(d, path, &pathlen) < 0) + if(cap_unmarshall_int(cap_recv(client), &rights) < 0) { - fprintf(stderr, "Error unmarshalling path: %s\n", cap_error()); + fprintf(stderr, "Error unmarshalling rights: %s\n", cap_protocol_error()); return -1; } - free(d); - int cap = cap_open(path, O_RDONLY, CAP_SET_FILE_READ); + int cap = cap_open(path, flags, rights); + if(cap < 0) + { + strcpy(current_error, cap_error()); + return -1; + } d = cap_marshall_int(1); if(!d) { - fprintf(stderr, "Error marshalling FD count: %s\n", cap_error()); + strcpy(current_error, cap_protocol_error()); return -1; } if(cap_send(client, d) < 0) { - perror("Error sending FD count"); + sprintf(current_error, "Error sending FD count: %s", strerror(errno)); return -1; } free(d); @@ -341,7 +354,7 @@ d = cap_marshall_string(path, pathlen); if(!d) { - fprintf(stderr, "Error marshalling FD path: %s\n", cap_error()); + strcpy(current_error, cap_protocol_error()); return -1; } @@ -371,8 +384,7 @@ if(cap_unmarshall_capbox(d, &options) < 0) { - fprintf(stderr, "Error unmarshalling powerbox options: %s", - cap_error()); + strcpy(current_error, cap_protocol_error()); return -1; } @@ -388,8 +400,8 @@ int len = 32; if(capbox_display(&options, fds, names, &len)) { - fprintf(stderr, "Error in powerbox\n"); - return 0; + strcpy(current_error, "Unknown error in powerbox"); + return -1; } free(options.window_title); @@ -419,9 +431,13 @@ } -void client_closed(int client) +void close_client(int client, int errnum, const char *reason) { - printf("Client %4i: Closed\n", client); + printf("Client %4i: Closing (errno: %i/'%s', reason: '%s')\n", + client, errnum, strerror(errnum), reason); + + cap_send(client, cap_marshall_error(errnum, reason, strlen(reason))); + close(client); FD_CLR(client, &clients); ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#8 (text+ko) ==== @@ -15,7 +15,7 @@ int connect_to_user_angel(void); -void open_file(int fd_angel, const char *path); +void open_file(int fd_angel, const char *path, int flags, cap_rights_t rights); void open_powerbox(int fd_angel, const char *path, const char *filter, int parent); void test_fd(int fd, char *name); @@ -61,8 +61,8 @@ - open_file(fd_angel, "/etc/group"); - open_file(fd_angel, "/etc/passwd"); + open_file(fd_angel, "/etc/group", O_RDONLY, CAP_FSTAT | CAP_READ | CAP_SEEK); + open_file(fd_angel, "/etc/passwd", O_RDONLY, CAP_FSTAT | CAP_READ | CAP_WRITE | CAP_SEEK); open_powerbox(fd_angel, "~/Desktop/", "*.gz", 0x2a00003); return 0; @@ -94,19 +94,23 @@ -void open_file(int fd_angel, const char *path) +void open_file(int fd_angel, const char *path, int flags, cap_rights_t rights) { // get the user angel to open the file for us - struct cap_wire_datum *data[2]; + struct cap_wire_datum *data[4]; data[0] = cap_marshall_int(FD_FROM_PATH); data[1] = cap_marshall_string(path, strlen(path)); + data[2] = cap_marshall_int(flags); + data[3] = cap_marshall_int(rights); - if(cap_send_message(fd_angel, data, 2) < 0) + if(cap_send_message(fd_angel, data, 4) < 0) err(EX_IOERR, "Error sending request message"); free(data[0]); free(data[1]); + free(data[2]); + free(data[3]); @@ -116,7 +120,10 @@ int fdcount; if(cap_unmarshall_int(fdcountd, &fdcount) < 0) - err(EX_SOFTWARE, "Error unmarshalling FD count"); + { + fprintf(stderr, "Error unmarshalling FD count: %s\n", cap_protocol_error()); + return; + } for(int i = 0; i < fdcount; i++) { From owner-p4-projects@FreeBSD.ORG Thu Jun 18 13:28:00 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF3521065745; Thu, 18 Jun 2009 13:27:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4AAB10656D3 for ; Thu, 18 Jun 2009 13:27:58 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 21C5F8FC1B for ; Thu, 18 Jun 2009 13:27:58 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IDRw7M024429 for ; Thu, 18 Jun 2009 13:27:58 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IDRweZ024427 for perforce@freebsd.org; Thu, 18 Jun 2009 13:27:58 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 18 Jun 2009 13:27:58 GMT Message-Id: <200906181327.n5IDRweZ024427@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164665 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 13:28:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=164665 Change 164665 by jona@jona-trustedbsd-kentvm on 2009/06/18 13:27:43 A nice little (non-Qt) demo: demonstrate that the sandbox works, ask the user_angel to open files, pop up a powerbox and show that, even though the file was opened with O_RDWR, the capabilities system prevents write() operations Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.c#12 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#8 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#9 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/protocol.c#12 (text+ko) ==== @@ -457,7 +457,8 @@ int bytes_sent = sendmsg(sock, &header, 0); if(bytes_sent < 0) { - perror("Error sending data and file descriptor(s)"); + sprintf(errmsg, "Error sending data and file descriptors: %i (%s)", + errno, strerror(errno)); free(anc_hdr); return -1; } @@ -488,7 +489,8 @@ } else if(bytes < 0) { - perror("Error peeking at socket"); + sprintf(errmsg, "Error peeking at socket: %i (%s)", + errno, strerror(errno)); return NULL; } ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/server.c#8 (text+ko) ==== @@ -243,7 +243,7 @@ if(!d) { - if((errno == ENOENT) || (errno == ECONNRESET)) + if((errno == ENOENT) || (errno == ECONNRESET) || (errno == EAGAIN)) close_client(client, errno, "Client socket closed"); else perror("Error receiving from client"); @@ -360,7 +360,8 @@ if(cap_send_fd(client, d, &cap, 1) < 0) { - perror("Error sending FD"); + sprintf(current_error, "Error sending FD: %i (%s)", + errno, strerror(errno)); return -1; } close(cap); @@ -433,8 +434,14 @@ void close_client(int client, int errnum, const char *reason) { - printf("Client %4i: Closing (errno: %i/'%s', reason: '%s')\n", - client, errnum, strerror(errnum), reason); + printf("Client %4i: Closing", client); + + if((errnum == ECONNRESET) || (errnum == EAGAIN)) + printf(" (client connection closed)"); + else + printf(" (errno: %i/'%s', reason: '%s')", + errnum, strerror(errnum), reason); + printf("\n"); cap_send(client, cap_marshall_error(errnum, reason, strlen(reason))); ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/test_client.c#9 (text+ko) ==== @@ -63,7 +63,7 @@ open_file(fd_angel, "/etc/group", O_RDONLY, CAP_FSTAT | CAP_READ | CAP_SEEK); open_file(fd_angel, "/etc/passwd", O_RDONLY, CAP_FSTAT | CAP_READ | CAP_WRITE | CAP_SEEK); - open_powerbox(fd_angel, "~/Desktop/", "*.gz", 0x2a00003); + open_powerbox(fd_angel, "~/Desktop/", "*.txt", 0x2a00003); return 0; } @@ -121,7 +121,8 @@ int fdcount; if(cap_unmarshall_int(fdcountd, &fdcount) < 0) { - fprintf(stderr, "Error unmarshalling FD count: %s\n", cap_protocol_error()); + fprintf(stderr, "Error unmarshalling FD count: %s\n", + cap_protocol_error()); return; } @@ -144,6 +145,7 @@ } test_fd(fd, name); + close(fd); } } @@ -161,7 +163,7 @@ options.filter = filter; options.filterlen = strlen(filter); options.flags = O_RDWR; - options.rights = CAP_FSTAT | CAP_READ | CAP_WRITE | CAP_SEEK; + options.rights = CAP_FSTAT | CAP_READ | CAP_SEEK; struct cap_wire_datum *data[2]; @@ -183,7 +185,11 @@ int fdcount; if(cap_unmarshall_int(fdcountd, &fdcount) < 0) - err(EX_SOFTWARE, "Error unmarshalling FD count"); + { + fprintf(stderr, "Error unmarshalling FD count: %s\n", + cap_protocol_error()); + return; + } for(int i = 0; i < fdcount; i++) { @@ -204,6 +210,11 @@ } test_fd(fd, name); + + if(write(fd, "OVERWRITING", 12) < 0) + perror("Error overwriting file"); + + close(fd); } } @@ -214,17 +225,10 @@ FILE *rf = fdopen(fd, "r"); if(!rf) err(EX_IOERR, "Error opening %s", name); - printf("Opened %s for reading\n", name); - fclose(rf); + else printf("Opened %s for reading\n", name); - FILE *wf = fdopen(fd, "w"); - if(wf) - { - printf("Opened %s for writing\n", name); - fclose(wf); - } + FILE *wf = fdopen(fd, "a"); + if(wf) printf("Opened %s for writing\n", name); else printf("Couldn't open %s for writing\n", name); - - close(fd); } From owner-p4-projects@FreeBSD.ORG Thu Jun 18 15:37:10 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF74F106566C; Thu, 18 Jun 2009 15:37:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 870CD1065675 for ; Thu, 18 Jun 2009 15:37:09 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 72B328FC0C for ; Thu, 18 Jun 2009 15:37:09 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IFb9Dq036449 for ; Thu, 18 Jun 2009 15:37:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IFb99i036447 for perforce@freebsd.org; Thu, 18 Jun 2009 15:37:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 18 Jun 2009 15:37:09 GMT Message-Id: <200906181537.n5IFb99i036447@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164668 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 15:37:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=164668 Change 164668 by rwatson@rwatson_freebsd_capabilities on 2009/06/18 15:36:11 Add lch_start_libs() and lch_startfd_libs(), which allow passing in specific lists of libraries to be used by sandboxed components. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#22 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#19 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#22 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#21 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#22 $ */ #ifndef _LIBCAPABILITY_H_ @@ -40,6 +40,15 @@ struct lc_host; /* + * Description of a library passed to lch_start_libs(). + */ +struct lc_library { + const char *lcl_libpath; + const char *lcl_libname; + int lcl_fd; +}; + +/* * Capability interfaces. */ int lc_limitfd(int fd, cap_rights_t rights); @@ -55,8 +64,14 @@ */ int lch_start(const char *sandbox, char *const argv[], u_int flags, struct lc_sandbox **lcspp); +int lch_start_libs(const char *sandbox, char *const argv[], u_int flags, + struct lc_library *lclp, u_int lcl_count, + struct lc_sandbox **lcspp); int lch_startfd(int fd_sandbox, const char *binname, char *const argv[], u_int flags, struct lc_sandbox **lcspp); +int lch_startfd_libs(int fd_sandbox, const char *binname, + char *const argv[], u_int flags, struct lc_library *lclp, + u_int lcl_count, struct lc_sandbox **lcspp); void lch_stop(struct lc_sandbox *lcsp); /* ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#19 (text+ko) ==== @@ -30,12 +30,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#18 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#19 $ */ #include #include #include +#include #include #include @@ -60,15 +61,13 @@ CAP_MAPEXEC) #define LIBCAPABILITY_CAPMASK_SANDBOX LIBCAPABILITY_CAPMASK_BIN #define LIBCAPABILITY_CAPMASK_LDSO LIBCAPABILITY_CAPMASK_BIN -#define LIBCAPABILITY_CAPMASK_LIBC LIBCAPABILITY_CAPMASK_BIN -#define LIBCAPABILITY_CAPMASK_LIBCAPABILITY LIBCAPABILITY_CAPMASK_BIN -#define LIBCAPABILITY_CAPMASK_LIBBZ2 LIBCAPABILITY_CAPMASK_BIN +#define LIBCAPABILITY_CAPMASK_LIB LIBCAPABILITY_CAPMASK_BIN #define _PATH_LIB "/lib" #define _PATH_USR_LIB "/usr/lib" #define LIBC_SO "libc.so.7" -#define LIBBZ2_SO "libbz2.so.3" #define LIBCAPABILITY_SO "libcapability.so.1" +#define LIBSBUF_SO "libsbuf.so.4" extern char **environ; @@ -150,11 +149,13 @@ static void lch_sandbox(int fd_sock, int fd_sandbox, int fd_ldso, int fd_libc, - int fd_libz, int fd_libbz2, int fd_libcapability, int fd_devnull, - u_int flags, const char *binname, char *const argv[]) + int fd_libcapability, int fd_libsbuf, int fd_devnull, u_int flags, + struct lc_library *lclp, u_int lcl_count, const char *binname, + char *const argv[]) { - char *env_caplibindex, *env_libcapability_sandbox_api; - int fd_array[11]; + int *fd_array, fdcount; + struct sbuf *sbufp; + u_int i; if (lc_limitfd(fd_devnull, LIBCAPABILITY_CAPMASK_DEVNULL) < 0) return; @@ -164,12 +165,16 @@ return; if (lc_limitfd(fd_ldso, LIBCAPABILITY_CAPMASK_LDSO) < 0) return; - if (lc_limitfd(fd_libc, LIBCAPABILITY_CAPMASK_LIBC) < 0) + if (lc_limitfd(fd_libc, LIBCAPABILITY_CAPMASK_LIB) < 0) + return; + if (lc_limitfd(fd_libcapability, LIBCAPABILITY_CAPMASK_LIB) < 0) return; - if (lc_limitfd(fd_libbz2, LIBCAPABILITY_CAPMASK_LIBBZ2) < 0) + if (lc_limitfd(fd_libsbuf, LIBCAPABILITY_CAPMASK_LIB) < 0) return; - if (lc_limitfd(fd_libcapability, - LIBCAPABILITY_CAPMASK_LIBCAPABILITY) < 0) + + fdcount = 10 + lcl_count; + fd_array = malloc(fdcount * sizeof(int)); + if (fd_array == NULL) return; fd_array[0] = fd_devnull; @@ -184,37 +189,44 @@ fd_array[4] = fd_sock; fd_array[5] = fd_ldso; fd_array[6] = fd_libc; - fd_array[7] = fd_libz; - fd_array[8] = fd_libbz2; - fd_array[9] = fd_libcapability; - fd_array[10] = fd_devnull; + fd_array[7] = fd_libcapability; + fd_array[8] = fd_libsbuf; + fd_array[9] = fd_devnull; + for (i = 0; i < lcl_count; i++) { + if (lc_limitfd(lclp->lcl_fd, LIBCAPABILITY_CAPMASK_LIB) < 0) + return; + fd_array[i + 10] = lclp[i].lcl_fd; + } - if (lch_installfds(11, fd_array) < 0) + if (lch_installfds(fdcount, fd_array) < 0) return; - /* - * Pass library list into rtld-elf-cap. - */ - if (asprintf(&env_caplibindex, - "%d:%s,%d:%s,%d:%s,%d:%s,%d:%s,%d:%s,%d:%s", - 3, binname, 5, LD_ELF_CAP_SO, 6, LIBC_SO, 7, - LIBBZ2_SO, 8, LIBCAPABILITY_SO, 9, _PATH_DEVNULL) == -1) + sbufp = sbuf_new_auto(); + if (sbufp == NULL) + return; + (void)sbuf_printf(sbufp, "%d:%s,%d:%s,%d:%s,%d:%s,%d:%s,%d:%s", + 3, binname, 5, LD_ELF_CAP_SO, 6, LIBC_SO, 7, LIBCAPABILITY_SO, + 8, LIBSBUF_SO, 9, _PATH_DEVNULL); + for (i = 0; i < lcl_count; i++) + (void)sbuf_printf(sbufp, ",%d:%s", i + 10, + lclp[i].lcl_libname); + sbuf_finish(sbufp); + if (sbuf_overflowed(sbufp)) return; - if (setenv("LD_CAPLIBINDEX", env_caplibindex, 1) == -1) + if (setenv("LD_CAPLIBINDEX", sbuf_data(sbufp), 1) == -1) return; - free(env_caplibindex); + sbuf_delete(sbufp); - /* - * Make sure that libcapability in the sandbox knows that its API - * assumptions hold. - */ - if (asprintf(&env_libcapability_sandbox_api, "%s:%d", - LIBCAPABILITY_SANDBOX_API_SOCK, 4) == -1) + sbufp = sbuf_new_auto(); + if (sbufp == NULL) + return; + (void)sbuf_printf(sbufp, "%s:%d", LIBCAPABILITY_SANDBOX_API_SOCK, 4); + sbuf_finish(sbufp); + if (sbuf_overflowed(sbufp)) return; - if (setenv(LIBCAPABILITY_SANDBOX_API_ENV, - env_libcapability_sandbox_api, 1) == -1) + if (setenv(LIBCAPABILITY_SANDBOX_API_ENV, sbuf_data(sbufp), 1) == -1) return; - free(env_libcapability_sandbox_api); + sbuf_delete(sbufp); if (cap_enter() < 0) return; @@ -223,18 +235,18 @@ } int -lch_startfd(int fd_sandbox, const char *binname, char *const argv[], - u_int flags, struct lc_sandbox **lcspp) +lch_startfd_libs(int fd_sandbox, const char *binname, char *const argv[], + u_int flags, struct lc_library *lclp, u_int lcl_count, + struct lc_sandbox **lcspp) { struct lc_sandbox *lcsp; - int fd_devnull, fd_ldso, fd_libc, fd_libcapability, fd_libz; - int fd_libbz2, fd_procdesc, fd_sockpair[2]; + int fd_devnull, fd_ldso, fd_libc, fd_libcapability, fd_libsbuf; + int fd_procdesc, fd_sockpair[2]; int error, val; pid_t pid; - fd_devnull = fd_ldso = fd_libc = fd_libz = fd_libbz2 = - fd_libcapability = fd_procdesc = fd_sockpair[0] = - fd_sockpair[1] = -1; + fd_devnull = fd_ldso = fd_libc = fd_libcapability = fd_libsbuf = + fd_procdesc = fd_sockpair[0] = fd_sockpair[1] = -1; lcsp = malloc(sizeof(*lcsp)); if (lcsp == NULL) @@ -246,11 +258,11 @@ goto out_error; if (ld_caplibindex_lookup(LIBC_SO, &fd_libc) < 0) goto out_error; - if (ld_caplibindex_lookup(LIBBZ2_SO, &fd_libbz2) < 0) - goto out_error; if (ld_caplibindex_lookup(LIBCAPABILITY_SO, &fd_libcapability) < 0) goto out_error; + if (ld_caplibindex_lookup(LIBSBUF_SO, &fd_libsbuf) < 0) + goto out_error; if (ld_caplibindex_lookup(_PATH_DEVNULL, &fd_devnull) < 0) goto out_error; } else { @@ -261,8 +273,8 @@ fd_libc = open(_PATH_LIB "/" LIBC_SO, O_RDONLY); if (fd_libc < 0) goto out_error; - fd_libbz2 = open(_PATH_USR_LIB "/" LIBBZ2_SO, O_RDONLY); - if (fd_libbz2 < 0) + fd_libsbuf = open(_PATH_LIB "/" LIBSBUF_SO, O_RDONLY); + if (fd_libsbuf < 0) goto out_error; fd_libcapability = open(_PATH_USR_LIB "/" LIBCAPABILITY_SO, O_RDONLY); @@ -290,15 +302,14 @@ } if (pid == 0) { lch_sandbox(fd_sockpair[1], fd_sandbox, fd_ldso, fd_libc, - fd_libz, fd_libbz2, fd_libcapability, fd_devnull, flags, - binname, argv); + fd_libcapability, fd_libsbuf, fd_devnull, flags, lclp, + lcl_count, binname, argv); exit(-1); } #ifndef IN_CAP_MODE close(fd_devnull); + close(fd_libsbuf); close(fd_libcapability); - close(fd_libz); - close(fd_libbz2); close(fd_libc); close(fd_ldso); #endif @@ -320,12 +331,10 @@ #ifndef IN_CAP_MODE if (fd_devnull != -1) close(fd_devnull); + if (fd_libsbuf != -1) + close(fd_libsbuf); if (fd_libcapability != -1) close(fd_libcapability); - if (fd_libz != -1) - close(fd_libz); - if (fd_libbz2 != -1) - close(fd_libbz2); if (fd_libc != -1) close(fd_libc); if (fd_ldso != -1) @@ -338,8 +347,17 @@ } int -lch_start(const char *sandbox, char *const argv[], u_int flags, - struct lc_sandbox **lcspp) +lch_startfd(int fd_sandbox, const char *binname, char *const argv[], + u_int flags, struct lc_sandbox **lcspp) +{ + + return (lch_startfd_libs(fd_sandbox, binname, argv, flags, NULL, 0, + lcspp)); +} + +int +lch_start_libs(const char *sandbox, char *const argv[], u_int flags, + struct lc_library *lclp, u_int lcl_count, struct lc_sandbox **lcspp) { char binname[MAXPATHLEN]; int error, fd_sandbox, ret; @@ -351,13 +369,22 @@ if (fd_sandbox < 0) return (-1); - ret = lch_startfd(fd_sandbox, binname, argv, flags, lcspp); + ret = lch_startfd_libs(fd_sandbox, binname, argv, flags, lclp, + lcl_count, lcspp); error = errno; close(fd_sandbox); errno = error; return (ret); } +int +lch_start(const char *sandbox, char *const argv[], u_int flags, + struct lc_sandbox **lcspp) +{ + + return (lch_start_libs(sandbox, argv, flags, NULL, 0, lcspp)); +} + void lch_stop(struct lc_sandbox *lcsp) { From owner-p4-projects@FreeBSD.ORG Thu Jun 18 15:37:11 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D046106572D; Thu, 18 Jun 2009 15:37:10 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB095106564A for ; Thu, 18 Jun 2009 15:37:09 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 94F7C8FC16 for ; Thu, 18 Jun 2009 15:37:09 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IFb9Ib036454 for ; Thu, 18 Jun 2009 15:37:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IFb9j3036452 for perforce@freebsd.org; Thu, 18 Jun 2009 15:37:09 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 18 Jun 2009 15:37:09 GMT Message-Id: <200906181537.n5IFb9j3036452@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164669 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 15:37:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=164669 Change 164669 by rwatson@rwatson_freebsd_capabilities on 2009/06/18 15:36:56 Pass in specific libraries required for gzsandbox rather than relying on libcapability passing in the right ones for us. In the future the sandbox runtime linker will take care of this. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/Makefile#4 edit .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzsandbox.c#5 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/Makefile#4 (text+ko) ==== @@ -7,8 +7,8 @@ MAN= gzip.1 gzexe.1 zdiff.1 zforce.1 zmore.1 znew.1 SRCS= gzip.c gzsandbox.c -DPADD= ${LIBZ} ${LIBCAPABILITY} -LDADD= -lz -lcapability +DPADD= ${LIBZ} ${LIBCAPABILITY} ${LIBSBUF} +LDADD= -lz -lcapability -lsbuf WARNS?= 6 CFLAGS+= -rdynamic # For sandbox cap_main ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzsandbox.c#5 (text+ko) ==== @@ -40,6 +40,7 @@ #include #include +#include #include #include #include @@ -48,7 +49,21 @@ #include "gzip.h" +#define LC_LIB_LIBZ_SO "/lib/libz.so.4" +#define LC_LIBZ_SO "libz.so.4" + +#define LC_USR_LIB_LIBBZ2_SO "/usr/lib/libbz2.so.3" +#define LC_LIBBZ2_SO "libbz2.so.3" + #define LC_USR_BIN_GZIP_SANDBOX "/usr/bin/gzip" + +struct lc_library gzsandbox_libs[] = { + { LC_LIB_LIBZ_SO, LC_LIBZ_SO, -1 }, + { LC_USR_LIB_LIBBZ2_SO, LC_LIBBZ2_SO, -1 }, +}; +static const u_int gzsandbox_libs_count = sizeof(gzsandbox_libs) / + sizeof(gzsandbox_libs[0]); + static char *lc_sandbox_argv[] = { __DECONST(char *, LC_USR_BIN_GZIP_SANDBOX), NULL }; @@ -63,9 +78,29 @@ static void gzsandbox_initialize(void) { + u_int i; + if (gzsandbox_initialized) + return; + gzsandbox_enabled = lch_autosandbox_isenabled("gzip"); gzsandbox_initialized = 1; - gzsandbox_enabled = lch_autosandbox_isenabled("gzip"); + if (!gzsandbox_enabled) + return; + + /* + * If sandboxes are in use, open libraries that we'll require in the + * sandbox and kick it off. + */ + for (i = 0; i < gzsandbox_libs_count; i++) { + gzsandbox_libs[i].lcl_fd = + open(gzsandbox_libs[i].lcl_libpath, O_RDONLY); + if (gzsandbox_libs[i].lcl_fd < 0) + err(-1, "open: %s", gzsandbox_libs[i].lcl_libname); + } + if (lch_start_libs(LC_USR_BIN_GZIP_SANDBOX, lc_sandbox_argv, + LCH_PERMIT_STDERR, gzsandbox_libs, gzsandbox_libs_count, &lcsp) + < 0) + err(-1, "lch_start %s", LC_USR_BIN_GZIP_SANDBOX); } struct host_gz_compress_req { @@ -88,12 +123,6 @@ int fdarray[2]; size_t len; - if (lcsp == NULL) { - if (lch_start(LC_USR_BIN_GZIP_SANDBOX, lc_sandbox_argv, - LCH_PERMIT_STDERR, &lcsp) < 0) - err(-1, "lch_start %s", LC_USR_BIN_GZIP_SANDBOX); - } - bzero(&req, sizeof(req)); strlcpy(req.hgc_req_origname, origname, sizeof(req.hgc_req_origname)); @@ -144,8 +173,7 @@ uint32_t mtime) { - if (!gzsandbox_initialized) - gzsandbox_initialize(); + gzsandbox_initialize(); if (gzsandbox_enabled) return (gz_compress_insandbox(in, out, gsizep, origname, mtime)); @@ -174,12 +202,6 @@ int fdarray[2]; size_t len; - if (lcsp == NULL) { - if (lch_start(LC_USR_BIN_GZIP_SANDBOX, lc_sandbox_argv, - LCH_PERMIT_STDERR, &lcsp) < 0) - err(-1, "lch_start %s", LC_USR_BIN_GZIP_SANDBOX); - } - bzero(&req, sizeof(req)); req.hgu_req_prelen = prelen; strlcpy(req.hgu_req_filename, filename, @@ -234,8 +256,7 @@ off_t *gsizep, const char *filename) { - if (!gzsandbox_initialized) - gzsandbox_initialize(); + gzsandbox_initialize(); if (gzsandbox_enabled) return (gz_uncompress_insandbox(in, out, pre, prelen, gsizep, filename)); @@ -263,12 +284,6 @@ int fdarray[2]; size_t len; - if (lcsp == NULL) { - if (lch_start(LC_USR_BIN_GZIP_SANDBOX, lc_sandbox_argv, - LCH_PERMIT_STDERR, &lcsp) < 0) - err(-1, "lch_start %s", LC_USR_BIN_GZIP_SANDBOX); - } - bzero(&req, sizeof(req)); req.hub_req_prelen = prelen; iov_req[0].iov_base = &req; @@ -319,8 +334,7 @@ unbzip2_wrapper(int in, int out, char *pre, size_t prelen, off_t *bytes_in) { - if (!gzsandbox_initialized) - gzsandbox_initialize(); + gzsandbox_initialize(); if (gzsandbox_enabled) return (unbzip2_insandbox(in, out, pre, prelen, bytes_in)); else From owner-p4-projects@FreeBSD.ORG Thu Jun 18 15:38:11 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D67C1065670; Thu, 18 Jun 2009 15:38:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D0A0E106566B for ; Thu, 18 Jun 2009 15:38:10 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BD7D58FC17 for ; Thu, 18 Jun 2009 15:38:10 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IFcAWG036516 for ; Thu, 18 Jun 2009 15:38:10 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IFcAkm036514 for perforce@freebsd.org; Thu, 18 Jun 2009 15:38:10 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 18 Jun 2009 15:38:10 GMT Message-Id: <200906181538.n5IFcAkm036514@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164670 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 15:38:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=164670 Change 164670 by rwatson@rwatson_freebsd_capabilities on 2009/06/18 15:38:06 We now require libsbuf due to libcapability using it -- we will refine this later. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc/Makefile#3 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv/Makefile#2 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_echo/Makefile#5 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/fdrpc/Makefile#3 (text+ko) ==== @@ -2,7 +2,7 @@ NO_MAN= CFLAGS=-Wall -g -rdynamic -DPADD= ${LIBCAPABILITY} -LDADD= -lcapability +DPADD= ${LIBCAPABILITY} ${LIBSBUF} +LDADD= -lcapability -lsbuf .include ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/fdsendrecv/Makefile#2 (text+ko) ==== @@ -2,7 +2,7 @@ NO_MAN= CFLAGS=-Wall -g -rdynamic -DPADD= ${LIBCAPABILITY} -LDADD= -lcapability +DPADD= ${LIBCAPABILITY} ${LIBSBUF} +LDADD= -lcapability -lsbuf .include ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_echo/Makefile#5 (text+ko) ==== @@ -2,7 +2,7 @@ NO_MAN= CFLAGS=-Wall -g -rdynamic -DPADD= ${LIBCAPABILITY} -LDADD= -lcapability +DPADD= ${LIBCAPABILITY} ${LIBSBUF} +LDADD= -lcapability -lsbuf .include From owner-p4-projects@FreeBSD.ORG Thu Jun 18 16:48:28 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AA0F01065674; Thu, 18 Jun 2009 16:48:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 65C14106566B for ; Thu, 18 Jun 2009 16:48:27 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5202B8FC18 for ; Thu, 18 Jun 2009 16:48:27 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IGmRC7052851 for ; Thu, 18 Jun 2009 16:48:27 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IGmQlk052848 for perforce@freebsd.org; Thu, 18 Jun 2009 16:48:26 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 18 Jun 2009 16:48:26 GMT Message-Id: <200906181648.n5IGmQlk052848@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 164672 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 16:48:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=164672 Change 164672 by hselasky@hselasky_laptop001 on 2009/06/18 16:47:50 IFC @ 164671 Affected files ... .. //depot/projects/usb/src/lib/libusb/libusb.3#15 integrate .. //depot/projects/usb/src/lib/libusb/libusb20.c#6 integrate .. //depot/projects/usb/src/lib/libusb/libusb20.h#6 integrate .. //depot/projects/usb/src/lib/libusb/libusb20_compat01.c#4 integrate .. //depot/projects/usb/src/lib/libusb/libusb20_int.h#5 integrate .. //depot/projects/usb/src/lib/libusb/libusb20_ugen20.c#5 integrate .. //depot/projects/usb/src/sys/amd64/amd64/msi.c#8 integrate .. //depot/projects/usb/src/sys/amd64/amd64/pmap.c#23 integrate .. //depot/projects/usb/src/sys/amd64/conf/GENERIC#28 integrate .. //depot/projects/usb/src/sys/amd64/conf/GENERIC.hints#6 integrate .. //depot/projects/usb/src/sys/arm/conf/CAMBRIA.hints#4 integrate .. //depot/projects/usb/src/sys/arm/mv/common.c#5 integrate .. //depot/projects/usb/src/sys/arm/mv/discovery/db78xxx.c#4 integrate .. //depot/projects/usb/src/sys/arm/mv/discovery/discovery.c#4 integrate .. //depot/projects/usb/src/sys/arm/mv/kirkwood/db88f6xxx.c#4 integrate .. //depot/projects/usb/src/sys/arm/mv/kirkwood/kirkwood.c#4 integrate .. //depot/projects/usb/src/sys/arm/mv/mvreg.h#5 integrate .. //depot/projects/usb/src/sys/arm/mv/mvwin.h#1 branch .. //depot/projects/usb/src/sys/arm/mv/orion/db88f5xxx.c#4 integrate .. //depot/projects/usb/src/sys/arm/mv/orion/orion.c#4 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/if_npe.c#12 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/ixp425.c#10 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/ixp425_npe.c#6 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/ixp425_npereg.h#2 integrate .. //depot/projects/usb/src/sys/arm/xscale/ixp425/ixp425var.h#4 integrate .. //depot/projects/usb/src/sys/boot/forth/loader.conf#20 integrate .. //depot/projects/usb/src/sys/cam/cam.c#3 integrate .. //depot/projects/usb/src/sys/cddl/compat/opensolaris/kern/opensolaris.c#4 integrate .. //depot/projects/usb/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#3 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_proto.h#16 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscall.h#16 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_syscalls.c#16 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/freebsd32_sysent.c#17 integrate .. //depot/projects/usb/src/sys/compat/freebsd32/syscalls.master#16 integrate .. //depot/projects/usb/src/sys/compat/linprocfs/linprocfs.c#19 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_futex.c#12 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_ioctl.c#13 integrate .. //depot/projects/usb/src/sys/compat/linux/linux_misc.c#21 integrate .. //depot/projects/usb/src/sys/compat/ndis/subr_usbd.c#15 integrate .. //depot/projects/usb/src/sys/compat/svr4/svr4_stat.c#8 integrate .. //depot/projects/usb/src/sys/conf/NOTES#40 integrate .. //depot/projects/usb/src/sys/conf/files#68 integrate .. //depot/projects/usb/src/sys/conf/options#33 integrate .. //depot/projects/usb/src/sys/dev/ata/ata-usb.c#45 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ah_desc.h#2 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c#3 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c#3 integrate .. //depot/projects/usb/src/sys/dev/ath/ath_rate/sample/sample.c#10 integrate .. //depot/projects/usb/src/sys/dev/ath/if_ath.c#27 integrate .. //depot/projects/usb/src/sys/dev/cas/if_cas.c#1 branch .. //depot/projects/usb/src/sys/dev/cas/if_casreg.h#1 branch .. //depot/projects/usb/src/sys/dev/cas/if_casvar.h#1 branch .. //depot/projects/usb/src/sys/dev/cxgb/cxgb_sge.c#15 integrate .. //depot/projects/usb/src/sys/dev/firewire/firewire.c#14 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis.c#27 integrate .. //depot/projects/usb/src/sys/dev/if_ndis/if_ndis_usb.c#20 integrate .. //depot/projects/usb/src/sys/dev/mii/miidevs#14 integrate .. //depot/projects/usb/src/sys/dev/mii/nsgphy.c#4 integrate .. //depot/projects/usb/src/sys/dev/ofw/ofw_bus_subr.c#4 integrate .. //depot/projects/usb/src/sys/dev/ofw/ofw_bus_subr.h#3 integrate .. //depot/projects/usb/src/sys/dev/ofw/ofw_disk.c#3 integrate .. //depot/projects/usb/src/sys/dev/ofw/ofw_if.m#2 integrate .. //depot/projects/usb/src/sys/dev/ofw/ofw_iicbus.c#4 integrate .. //depot/projects/usb/src/sys/dev/ofw/ofw_standard.c#4 integrate .. //depot/projects/usb/src/sys/dev/ofw/ofwvar.h#2 integrate .. //depot/projects/usb/src/sys/dev/ofw/openfirm.c#7 integrate .. //depot/projects/usb/src/sys/dev/ofw/openfirm.h#6 integrate .. //depot/projects/usb/src/sys/dev/ofw/openfirmio.c#4 integrate .. //depot/projects/usb/src/sys/dev/sec/sec.c#2 integrate .. //depot/projects/usb/src/sys/dev/sound/pci/hda/hdac.c#30 integrate .. //depot/projects/usb/src/sys/dev/sound/pcm/feeder_rate.c#7 integrate .. //depot/projects/usb/src/sys/dev/sound/usb/uaudio.c#48 integrate .. //depot/projects/usb/src/sys/dev/sound/version.h#3 integrate .. //depot/projects/usb/src/sys/dev/syscons/daemon/daemon_saver.c#6 integrate .. //depot/projects/usb/src/sys/dev/syscons/scterm-teken.c#6 integrate .. //depot/projects/usb/src/sys/dev/syscons/teken/teken.c#8 integrate .. //depot/projects/usb/src/sys/dev/tsec/if_tsec.c#5 integrate .. //depot/projects/usb/src/sys/dev/tsec/if_tsec.h#4 integrate .. //depot/projects/usb/src/sys/dev/uart/uart_cpu_mv.c#3 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#23 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/at91dci_atmelarm.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#33 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci_atmelarm.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/avr32dci.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#29 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ehci_ixp4xx.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ehci_mbus.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ehci_pci.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#21 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg_atmelarm.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ohci.c#24 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ohci_atmelarm.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/ohci_pci.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uhci.c#22 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uhci_pci.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/usb_controller.c#20 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#23 integrate .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci_atmelarm.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/input/uhid.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/input/ukbd.c#20 integrate .. //depot/projects/usb/src/sys/dev/usb/input/ums.c#17 integrate .. //depot/projects/usb/src/sys/dev/usb/misc/udbp.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/misc/ufm.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_aue.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_auereg.h#3 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_axe.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_axereg.h#3 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_cdce.c#15 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_cue.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_kue.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_rue.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_ruereg.h#3 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_udav.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/net/if_udavreg.h#3 integrate .. //depot/projects/usb/src/sys/dev/usb/net/usb_ethernet.c#7 integrate .. //depot/projects/usb/src/sys/dev/usb/net/usb_ethernet.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/quirk/usb_quirk.c#3 integrate .. //depot/projects/usb/src/sys/dev/usb/quirk/usb_quirk.h#2 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/u3g.c#16 edit .. //depot/projects/usb/src/sys/dev/usb/serial/uark.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ubsa.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ubser.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uchcom.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ucycom.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ufoma.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uftdi.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ugensa.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uipaq.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/ulpt.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/umct.c#14 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/umodem.c#15 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/umoscom.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uplcom.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/usb_serial.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/usb_serial.h#6 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uslcom.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uvisor.c#12 integrate .. //depot/projects/usb/src/sys/dev/usb/serial/uvscom.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/umass.c#23 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/urio.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#21 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template.h#3 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template_cdce.c#3 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template_msc.c#3 integrate .. //depot/projects/usb/src/sys/dev/usb/template/usb_template_mtp.c#3 integrate .. //depot/projects/usb/src/sys/dev/usb/usb.h#42 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_bus.h#14 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_busdma.c#11 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_busdma.h#9 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.c#43 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_compat_linux.h#19 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#13 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_core.h#26 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_debug.c#9 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_debug.h#8 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_defs.h#4 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_dev.c#29 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_dev.h#14 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#39 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_device.h#27 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_dynamic.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_dynamic.h#6 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_endian.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_error.c#3 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_error.h#2 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_generic.c#21 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_generic.h#3 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_handle_request.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_handle_request.h#2 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_hid.c#37 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_hid.h#21 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_hub.c#25 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_hub.h#13 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_if.m#9 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_ioctl.h#4 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_lookup.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_lookup.h#7 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_mbuf.c#6 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_mbuf.h#6 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_mfunc.h#2 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_msctest.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_msctest.h#4 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_parse.c#5 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_parse.h#5 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_pci.h#2 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_process.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_process.h#6 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_request.c#22 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_request.h#10 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_revision.h#6 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#154 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.h#12 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_util.c#8 integrate .. //depot/projects/usb/src/sys/dev/usb/usb_util.h#5 integrate .. //depot/projects/usb/src/sys/dev/usb/usbdevs#63 integrate .. //depot/projects/usb/src/sys/dev/usb/usbhid.h#10 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_rum.c#16 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_uath.c#13 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_upgt.c#10 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_ural.c#16 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_urtw.c#4 integrate .. //depot/projects/usb/src/sys/dev/usb/wlan/if_zyd.c#18 integrate .. //depot/projects/usb/src/sys/dev/xen/blkfront/blkfront.c#6 integrate .. //depot/projects/usb/src/sys/dev/xen/netfront/netfront.c#12 integrate .. //depot/projects/usb/src/sys/fs/cd9660/cd9660_lookup.c#4 integrate .. //depot/projects/usb/src/sys/fs/nfs/nfsport.h#5 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clbio.c#6 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clkrpc.c#4 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clstate.c#5 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clvfsops.c#5 integrate .. //depot/projects/usb/src/sys/fs/nfsclient/nfs_clvnops.c#6 integrate .. //depot/projects/usb/src/sys/fs/nfsserver/nfs_nfsdkrpc.c#5 integrate .. //depot/projects/usb/src/sys/fs/nfsserver/nfs_nfsdstate.c#6 integrate .. //depot/projects/usb/src/sys/fs/tmpfs/tmpfs_vnops.c#11 integrate .. //depot/projects/usb/src/sys/geom/label/g_label.c#5 integrate .. //depot/projects/usb/src/sys/geom/label/g_label.h#3 integrate .. //depot/projects/usb/src/sys/geom/label/g_label_gpt.c#1 branch .. //depot/projects/usb/src/sys/gnu/fs/ext2fs/ext2_lookup.c#5 integrate .. //depot/projects/usb/src/sys/gnu/fs/ext2fs/ext2_vnops.c#10 integrate .. //depot/projects/usb/src/sys/i386/conf/GENERIC#27 integrate .. //depot/projects/usb/src/sys/i386/i386/msi.c#8 integrate .. //depot/projects/usb/src/sys/i386/i386/pmap.c#18 integrate .. //depot/projects/usb/src/sys/i386/ibcs2/ibcs2_isc_sysent.c#4 integrate .. //depot/projects/usb/src/sys/i386/ibcs2/ibcs2_xenix_sysent.c#4 integrate .. //depot/projects/usb/src/sys/i386/include/cpufunc.h#9 integrate .. //depot/projects/usb/src/sys/i386/include/in_cksum.h#3 integrate .. //depot/projects/usb/src/sys/i386/include/pmap.h#10 integrate .. //depot/projects/usb/src/sys/i386/include/specialreg.h#14 integrate .. //depot/projects/usb/src/sys/kern/init_sysent.c#13 integrate .. //depot/projects/usb/src/sys/kern/kern_acct.c#12 integrate .. //depot/projects/usb/src/sys/kern/kern_descrip.c#23 integrate .. //depot/projects/usb/src/sys/kern/kern_exit.c#18 integrate .. //depot/projects/usb/src/sys/kern/kern_jail.c#23 integrate .. //depot/projects/usb/src/sys/kern/kern_lock.c#16 integrate .. //depot/projects/usb/src/sys/kern/kern_lockf.c#11 integrate .. //depot/projects/usb/src/sys/kern/kern_mib.c#15 integrate .. //depot/projects/usb/src/sys/kern/kern_shutdown.c#12 integrate .. //depot/projects/usb/src/sys/kern/kern_sysctl.c#16 integrate .. //depot/projects/usb/src/sys/kern/kern_vimage.c#8 integrate .. //depot/projects/usb/src/sys/kern/makesyscalls.sh#8 integrate .. //depot/projects/usb/src/sys/kern/syscalls.c#12 integrate .. //depot/projects/usb/src/sys/kern/syscalls.master#12 integrate .. //depot/projects/usb/src/sys/kern/systrace_args.c#11 integrate .. //depot/projects/usb/src/sys/kern/tty.c#25 integrate .. //depot/projects/usb/src/sys/kern/uipc_socket.c#21 integrate .. //depot/projects/usb/src/sys/kern/vfs_syscalls.c#23 integrate .. //depot/projects/usb/src/sys/kgssapi/krb5/krb5_mech.c#2 integrate .. //depot/projects/usb/src/sys/mips/adm5120/if_admsw.c#4 integrate .. //depot/projects/usb/src/sys/mips/conf/.cvsignore#1 branch .. //depot/projects/usb/src/sys/mips/conf/ADM5120#6 integrate .. //depot/projects/usb/src/sys/mips/idt/files.idt#2 integrate .. //depot/projects/usb/src/sys/mips/idt/idtpci.c#4 integrate .. //depot/projects/usb/src/sys/mips/idt/if_kr.c#4 integrate .. //depot/projects/usb/src/sys/mips/malta/gt_pci.c#5 integrate .. //depot/projects/usb/src/sys/mips/mips/mainbus.c#2 integrate .. //depot/projects/usb/src/sys/modules/Makefile#37 integrate .. //depot/projects/usb/src/sys/modules/acpi/acpi/Makefile#8 integrate .. //depot/projects/usb/src/sys/modules/cas/Makefile#1 branch .. //depot/projects/usb/src/sys/modules/if_ppp/Makefile#5 delete .. //depot/projects/usb/src/sys/modules/if_sl/Makefile#2 delete .. //depot/projects/usb/src/sys/modules/wlan/Makefile#10 integrate .. //depot/projects/usb/src/sys/net/bpf.c#20 integrate .. //depot/projects/usb/src/sys/net/flowtable.h#3 integrate .. //depot/projects/usb/src/sys/net/if.c#29 integrate .. //depot/projects/usb/src/sys/net/if.h#12 integrate .. //depot/projects/usb/src/sys/net/if_enc.c#7 integrate .. //depot/projects/usb/src/sys/net/if_gre.c#12 integrate .. //depot/projects/usb/src/sys/net/if_tun.c#14 integrate .. //depot/projects/usb/src/sys/net/if_var.h#20 integrate .. //depot/projects/usb/src/sys/net/netisr.c#10 integrate .. //depot/projects/usb/src/sys/net/netisr.h#8 integrate .. //depot/projects/usb/src/sys/net/pfkeyv2.h#4 integrate .. //depot/projects/usb/src/sys/net80211/ieee80211_ioctl.h#13 integrate .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#33 integrate .. //depot/projects/usb/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#28 integrate .. //depot/projects/usb/src/sys/netinet/in_proto.c#12 integrate .. //depot/projects/usb/src/sys/netinet/ip_input.c#24 integrate .. //depot/projects/usb/src/sys/netinet/ip_output.c#21 integrate .. //depot/projects/usb/src/sys/netinet/ip_var.h#11 integrate .. //depot/projects/usb/src/sys/netinet/ipfw/ip_dummynet.c#2 integrate .. //depot/projects/usb/src/sys/netinet/sctp.h#12 integrate .. //depot/projects/usb/src/sys/netinet/sctp_indata.c#18 integrate .. //depot/projects/usb/src/sys/netinet/sctp_input.c#18 integrate .. //depot/projects/usb/src/sys/netinet/sctp_output.c#20 integrate .. //depot/projects/usb/src/sys/netinet/tcp_input.c#24 integrate .. //depot/projects/usb/src/sys/netinet/tcp_output.c#18 integrate .. //depot/projects/usb/src/sys/netinet/tcp_subr.c#25 integrate .. //depot/projects/usb/src/sys/netinet/tcp_timer.c#15 integrate .. //depot/projects/usb/src/sys/netinet/tcp_usrreq.c#19 integrate .. //depot/projects/usb/src/sys/netinet/tcp_var.h#19 integrate .. //depot/projects/usb/src/sys/netinet/udp.h#3 integrate .. //depot/projects/usb/src/sys/netinet/udp_usrreq.c#23 integrate .. //depot/projects/usb/src/sys/netinet/udp_var.h#9 integrate .. //depot/projects/usb/src/sys/netinet6/icmp6.c#21 integrate .. //depot/projects/usb/src/sys/netinet6/in6_ifattach.c#22 integrate .. //depot/projects/usb/src/sys/netinet6/in6_proto.c#15 integrate .. //depot/projects/usb/src/sys/netipsec/ipsec_input.c#12 integrate .. //depot/projects/usb/src/sys/netipsec/ipsec_output.c#11 integrate .. //depot/projects/usb/src/sys/netipsec/key.c#18 integrate .. //depot/projects/usb/src/sys/netipsec/key.h#4 integrate .. //depot/projects/usb/src/sys/netipsec/keydb.h#2 integrate .. //depot/projects/usb/src/sys/netipsec/xform_tcp.c#4 integrate .. //depot/projects/usb/src/sys/nfsclient/bootp_subr.c#15 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_bio.c#17 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_vfsops.c#18 integrate .. //depot/projects/usb/src/sys/nfsclient/nfs_vnops.c#24 integrate .. //depot/projects/usb/src/sys/nfsserver/nfs_srvkrpc.c#9 integrate .. //depot/projects/usb/src/sys/nlm/nlm_advlock.c#8 integrate .. //depot/projects/usb/src/sys/nlm/nlm_prot_impl.c#8 integrate .. //depot/projects/usb/src/sys/powerpc/booke/pmap.c#14 integrate .. //depot/projects/usb/src/sys/powerpc/include/spr.h#11 integrate .. //depot/projects/usb/src/sys/powerpc/powerpc/cpu.c#10 integrate .. //depot/projects/usb/src/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c#2 integrate .. //depot/projects/usb/src/sys/rpc/svc.c#4 integrate .. //depot/projects/usb/src/sys/rpc/svc_generic.c#3 integrate .. //depot/projects/usb/src/sys/rpc/svc_vc.c#6 integrate .. //depot/projects/usb/src/sys/sparc64/conf/GENERIC#20 integrate .. //depot/projects/usb/src/sys/sys/jail.h#16 integrate .. //depot/projects/usb/src/sys/sys/lockmgr.h#9 integrate .. //depot/projects/usb/src/sys/sys/mbuf.h#14 integrate .. //depot/projects/usb/src/sys/sys/param.h#36 integrate .. //depot/projects/usb/src/sys/sys/priv.h#17 integrate .. //depot/projects/usb/src/sys/sys/sockio.h#5 integrate .. //depot/projects/usb/src/sys/sys/syscall.h#12 integrate .. //depot/projects/usb/src/sys/sys/syscall.mk#12 integrate .. //depot/projects/usb/src/sys/sys/sysctl.h#18 integrate .. //depot/projects/usb/src/sys/sys/sysproto.h#12 integrate .. //depot/projects/usb/src/sys/sys/vimage.h#15 integrate .. //depot/projects/usb/src/sys/tools/sound/feeder_rate_mkfilter.awk#2 integrate .. //depot/projects/usb/src/sys/ufs/ufs/ufs_dirhash.c#9 integrate .. //depot/projects/usb/src/sys/ufs/ufs/ufs_lookup.c#13 integrate .. //depot/projects/usb/src/sys/ufs/ufs/ufs_vnops.c#17 integrate .. //depot/projects/usb/src/sys/vm/phys_pager.c#5 integrate .. //depot/projects/usb/src/sys/vm/uma_core.c#11 integrate .. //depot/projects/usb/src/sys/vm/vm_object.c#17 integrate .. //depot/projects/usb/src/sys/vm/vm_object.h#7 integrate Differences ... ==== //depot/projects/usb/src/lib/libusb/libusb.3#15 (text+ko) ==== @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libusb/libusb.3,v 1.5 2009/06/02 17:27:51 thompsa Exp $ +.\" $FreeBSD: src/lib/libusb/libusb.3,v 1.6 2009/06/12 16:07:06 thompsa Exp $ .\" .Dd May 28, 2009 .Dt LIBUSB 3 ==== //depot/projects/usb/src/lib/libusb/libusb20.c#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/lib/libusb/libusb20.c,v 1.3 2009/06/02 17:27:51 thompsa Exp $ */ +/* $FreeBSD: src/lib/libusb/libusb20.c,v 1.4 2009/06/12 16:07:06 thompsa Exp $ */ /*- * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. * ==== //depot/projects/usb/src/lib/libusb/libusb20.h#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/lib/libusb/libusb20.h,v 1.4 2009/06/02 17:27:51 thompsa Exp $ */ +/* $FreeBSD: src/lib/libusb/libusb20.h,v 1.5 2009/06/12 16:07:06 thompsa Exp $ */ /*- * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. * Copyright (c) 2007-2008 Daniel Drake. All rights reserved. ==== //depot/projects/usb/src/lib/libusb/libusb20_compat01.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/lib/libusb/libusb20_compat01.c,v 1.2 2009/03/10 14:29:34 thompsa Exp $ */ +/* $FreeBSD: src/lib/libusb/libusb20_compat01.c,v 1.3 2009/06/12 16:07:06 thompsa Exp $ */ /*- * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. * ==== //depot/projects/usb/src/lib/libusb/libusb20_int.h#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/lib/libusb/libusb20_int.h,v 1.2 2009/05/28 17:36:36 thompsa Exp $ */ +/* $FreeBSD: src/lib/libusb/libusb20_int.h,v 1.3 2009/06/12 16:07:06 thompsa Exp $ */ /*- * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. * ==== //depot/projects/usb/src/lib/libusb/libusb20_ugen20.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/lib/libusb/libusb20_ugen20.c,v 1.2 2009/05/28 17:36:36 thompsa Exp $ */ +/* $FreeBSD: src/lib/libusb/libusb20_ugen20.c,v 1.3 2009/06/12 16:07:06 thompsa Exp $ */ /*- * Copyright (c) 2008 Hans Petter Selasky. All rights reserved. * ==== //depot/projects/usb/src/sys/amd64/amd64/msi.c#8 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.10 2009/01/29 09:22:56 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.11 2009/06/15 13:47:49 mav Exp $"); #include #include @@ -210,6 +210,8 @@ old_id = msi->msi_cpu; if (old_vector && old_id == apic_id) return; + if (old_vector && !msi->msi_msix && msi->msi_first->msi_count > 1) + return; /* Allocate IDT vector on this cpu. */ vector = apic_alloc_vector(apic_id, msi->msi_irq); if (vector == 0) ==== //depot/projects/usb/src/sys/amd64/amd64/pmap.c#23 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.660 2009/06/08 18:23:43 ed Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.661 2009/06/14 19:51:43 alc Exp $"); /* * Manages physical address maps. @@ -3322,78 +3322,74 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) { - vm_offset_t va; + pd_entry_t *pde; + vm_paddr_t pa, ptepa; vm_page_t p, pdpg; VM_OBJECT_LOCK_ASSERT(object, MA_OWNED); KASSERT(object->type == OBJT_DEVICE, ("pmap_object_init_pt: non-device object")); - if (((addr & (NBPDR - 1)) == 0) && ((size & (NBPDR - 1)) == 0)) { - vm_page_t m[1]; - pd_entry_t ptepa, *pde; - - PMAP_LOCK(pmap); - pde = pmap_pde(pmap, addr); - if (pde != 0 && (*pde & PG_V) != 0) - goto out; - PMAP_UNLOCK(pmap); -retry: + if ((addr & (NBPDR - 1)) == 0 && (size & (NBPDR - 1)) == 0) { + if (!vm_object_populate(object, pindex, pindex + atop(size))) + return; p = vm_page_lookup(object, pindex); - if (p != NULL) { - if (vm_page_sleep_if_busy(p, FALSE, "init4p")) - goto retry; - } else { - p = vm_page_alloc(object, pindex, VM_ALLOC_NORMAL); - if (p == NULL) - return; - m[0] = p; + KASSERT(p->valid == VM_PAGE_BITS_ALL, + ("pmap_object_init_pt: invalid page %p", p)); - if (vm_pager_get_pages(object, m, 1, 0) != VM_PAGER_OK) { - vm_page_lock_queues(); - vm_page_free(p); - vm_page_unlock_queues(); - return; - } - - p = vm_page_lookup(object, pindex); - vm_page_wakeup(p); - } - + /* + * Abort the mapping if the first page is not physically + * aligned to a 2MB page boundary. + */ ptepa = VM_PAGE_TO_PHYS(p); if (ptepa & (NBPDR - 1)) return; - p->valid = VM_PAGE_BITS_ALL; + /* + * Skip the first page. Abort the mapping if the rest of + * the pages are not physically contiguous. + */ + p = TAILQ_NEXT(p, listq); + for (pa = ptepa + PAGE_SIZE; pa < ptepa + size; + pa += PAGE_SIZE) { + KASSERT(p->valid == VM_PAGE_BITS_ALL, + ("pmap_object_init_pt: invalid page %p", p)); + if (pa != VM_PAGE_TO_PHYS(p)) + return; + p = TAILQ_NEXT(p, listq); + } + /* Map using 2MB pages. */ PMAP_LOCK(pmap); - for (va = addr; va < addr + size; va += NBPDR) { - while ((pdpg = - pmap_allocpde(pmap, va, M_NOWAIT)) == NULL) { - PMAP_UNLOCK(pmap); - vm_page_busy(p); - VM_OBJECT_UNLOCK(object); - VM_WAIT; - VM_OBJECT_LOCK(object); - vm_page_wakeup(p); - PMAP_LOCK(pmap); + for (pa = ptepa; pa < ptepa + size; pa += NBPDR) { + pdpg = pmap_allocpde(pmap, addr, M_NOWAIT); + if (pdpg == NULL) { + /* + * The creation of mappings below is only an + * optimization. If a page directory page + * cannot be allocated without blocking, + * continue on to the next mapping rather than + * blocking. + */ + addr += NBPDR; + continue; } pde = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg)); - pde = &pde[pmap_pde_index(va)]; + pde = &pde[pmap_pde_index(addr)]; if ((*pde & PG_V) == 0) { - pde_store(pde, ptepa | PG_PS | PG_M | PG_A | + pde_store(pde, pa | PG_PS | PG_M | PG_A | PG_U | PG_RW | PG_V); - pmap->pm_stats.resident_count += - NBPDR / PAGE_SIZE; + pmap->pm_stats.resident_count += NBPDR / + PAGE_SIZE; + pmap_pde_mappings++; } else { + /* Continue on if the PDE is already valid. */ pdpg->wire_count--; KASSERT(pdpg->wire_count > 0, ("pmap_object_init_pt: missing reference " - "to page directory page, va: 0x%lx", va)); + "to page directory page, va: 0x%lx", addr)); } - ptepa += NBPDR; + addr += NBPDR; } - pmap_invalidate_all(pmap); -out: PMAP_UNLOCK(pmap); } } ==== //depot/projects/usb/src/sys/amd64/conf/GENERIC#28 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.528 2009/06/10 02:07:58 yongari Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.529 2009/06/14 18:01:35 ed Exp $ cpu HAMMER ident GENERIC @@ -66,6 +66,7 @@ options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev options STOP_NMI # Stop CPUS using NMI instead of IPI options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) ==== //depot/projects/usb/src/sys/amd64/conf/GENERIC.hints#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.20 2009/05/14 21:53:35 jhb Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.21 2009/06/15 21:55:29 ps Exp $ hint.fdc.0.at="isa" hint.fdc.0.port="0x3F0" hint.fdc.0.irq="6" @@ -24,3 +24,6 @@ hint.uart.1.irq="3" hint.ppc.0.at="isa" hint.ppc.0.irq="7" +hint.atrtc.0.at="isa" +hint.atrtc.0.port="0x70" +hint.atrtc.0.irq="8" ==== //depot/projects/usb/src/sys/arm/conf/CAMBRIA.hints#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.4 2009/04/21 22:48:12 stas Exp $ +# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.5 2009/06/17 17:58:18 sam Exp $ # # Device wiring for the Gateworks Cambria 2358. @@ -21,11 +21,11 @@ hint.npe.0.mac="C" hint.npe.0.mii="C" hint.npe.0.phy=1 -#hint.npe.1.at="ixp0" -#hint.npe.1.npeid="A" -#hint.npe.1.mac="A" -#hint.npe.1.mii="C" -#hint.npe.1.phy=2 +hint.npe.1.at="ixp0" +hint.npe.1.npeid="A" +hint.npe.1.mac="A" +hint.npe.1.mii="C" +hint.npe.1.phy=2 # FLASH hint.cfi.0.at="ixp0" ==== //depot/projects/usb/src/sys/arm/mv/common.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/common.c,v 1.6 2009/04/16 11:20:18 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/common.c,v 1.7 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -39,6 +39,7 @@ #include #include +#include static int win_eth_can_remap(int i); ==== //depot/projects/usb/src/sys/arm/mv/discovery/db78xxx.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/db78xxx.c,v 1.3 2009/01/08 18:31:43 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/db78xxx.c,v 1.4 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -47,6 +47,7 @@ #include #include +#include /* * Virtual address space layout: ==== //depot/projects/usb/src/sys/arm/mv/discovery/discovery.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/discovery.c,v 1.4 2009/01/08 18:31:43 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/discovery/discovery.c,v 1.5 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -40,6 +40,7 @@ #include #include +#include #define _MV_PCIE_MAX_PORT 8 ==== //depot/projects/usb/src/sys/arm/mv/kirkwood/db88f6xxx.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/db88f6xxx.c,v 1.3 2009/01/08 18:31:43 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/db88f6xxx.c,v 1.4 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -47,6 +47,7 @@ #include #include +#include /* * Virtual address space layout: ==== //depot/projects/usb/src/sys/arm/mv/kirkwood/kirkwood.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/kirkwood.c,v 1.4 2009/01/08 18:31:43 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/kirkwood/kirkwood.c,v 1.5 2009/06/12 20:00:38 marcel Exp $"); #include #include @@ -40,6 +40,7 @@ #include #include +#include struct obio_device obio_devices[] = { { "ic", MV_IC_BASE, MV_IC_SIZE, ==== //depot/projects/usb/src/sys/arm/mv/mvreg.h#5 (text+ko) ==== @@ -28,126 +28,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/mv/mvreg.h,v 1.5 2009/04/16 11:20:18 raj Exp $ + * $FreeBSD: src/sys/arm/mv/mvreg.h,v 1.6 2009/06/12 20:00:38 marcel Exp $ */ #ifndef _MVREG_H_ #define _MVREG_H_ -#include - -/* - * Physical addresses of integrated SoC peripherals - */ -#define MV_PHYS_BASE 0xF1000000 -#define MV_SIZE 0x100000 - -/* - * Decode windows addresses (physical) - */ -#define MV_PCIE_IO_PHYS_BASE (MV_PHYS_BASE + MV_SIZE) -#define MV_PCIE_IO_BASE MV_PCIE_IO_PHYS_BASE -#define MV_PCIE_IO_SIZE (1024 * 1024) -#define MV_PCI_IO_PHYS_BASE (MV_PCIE_IO_PHYS_BASE + MV_PCIE_IO_SIZE) -#define MV_PCI_IO_BASE MV_PCI_IO_PHYS_BASE -#define MV_PCI_IO_SIZE (1024 * 1024) - -#define MV_PCIE_MEM_PHYS_BASE (MV_PCI_IO_PHYS_BASE + MV_PCI_IO_SIZE) -#define MV_PCIE_MEM_BASE MV_PCIE_MEM_PHYS_BASE -#define MV_PCIE_MEM_SIZE (64 * 1024 * 1024) -#define MV_PCI_MEM_PHYS_BASE (MV_PCIE_MEM_PHYS_BASE + MV_PCIE_MEM_SIZE) -#define MV_PCI_MEM_BASE MV_PCI_MEM_PHYS_BASE -#define MV_PCI_MEM_SIZE (64 * 1024 * 1024) - -/* XXX DEV_BOOT, CSx are board specific, should be defined per platform */ - -/* 512KB NOR FLASH */ -#define MV_DEV_BOOT_PHYS_BASE (MV_PCI_MEM_PHYS_BASE + MV_PCI_MEM_SIZE) -#define MV_DEV_BOOT_SIZE (512 * 1024) -/* CS0: 7-seg LED */ -#define MV_DEV_CS0_PHYS_BASE 0xFA000000 -#define MV_DEV_CS0_SIZE (1024 * 1024) /* XXX u-boot has 2MB */ -/* CS1: 32MB NOR FLASH */ -#define MV_DEV_CS1_PHYS_BASE (MV_DEV_CS0_PHYS_BASE + MV_DEV_CS0_SIZE) -#define MV_DEV_CS1_SIZE (32 * 1024 * 1024) -/* CS2: 32MB NAND FLASH */ -#define MV_DEV_CS2_PHYS_BASE (MV_DEV_CS1_PHYS_BASE + MV_DEV_CS1_SIZE) -#define MV_DEV_CS2_SIZE 1024 /* XXX u-boot has 1MB */ - -#define MV_CESA_SRAM_PHYS_BASE 0xFD000000 -#define MV_CESA_SRAM_BASE MV_CESA_SRAM_PHYS_BASE /* VA == PA mapping */ -#define MV_CESA_SRAM_SIZE (1024 * 1024) - -/* XXX this is probably not robust against wraparounds... */ -#if ((MV_CESA_SRAM_PHYS_BASE + MV_CESA_SRAM_SIZE) > 0xFFFEFFFF) -#error Devices memory layout overlaps reset vectors range! -#endif - -/* - * Integrated SoC peripherals addresses - */ -#define MV_BASE MV_PHYS_BASE /* VA == PA mapping */ -#define MV_DDR_CADR_BASE (MV_BASE + 0x1500) -#define MV_MPP_BASE (MV_BASE + 0x10000) -#define MV_GPIO_BASE (MV_BASE + 0x10100) -#define MV_GPIO_SIZE 0x20 -#define MV_RTC_BASE (MV_BASE + 0x10300) -#define MV_RTC_SIZE 0x08 -#define MV_TWSI_BASE (MV_BASE + 0x11000) -#define MV_TWSI_SIZE 0x20 -#define MV_UART0_BASE (MV_BASE + 0x12000) -#define MV_UART1_BASE (MV_BASE + 0x12100) -#define MV_UART_SIZE 0x20 -#define MV_MBUS_BRIDGE_BASE (MV_BASE + 0x20000) -#define MV_INTREGS_BASE (MV_MBUS_BRIDGE_BASE + 0x80) -#define MV_CPU_CONTROL_BASE (MV_MBUS_BRIDGE_BASE + 0x100) -#define MV_IC_BASE (MV_MBUS_BRIDGE_BASE + 0x200) -#define MV_IC_SIZE 0x3C -#define MV_TIMERS_BASE (MV_MBUS_BRIDGE_BASE + 0x300) -#define MV_TIMERS_SIZE 0x30 -#define MV_PCI_BASE (MV_BASE + 0x30000) -#define MV_PCI_SIZE 0x2000 -#if defined (SOC_MV_KIRKWOOD) -#define MV_CESA_BASE (MV_BASE + 0x30000) /* CESA,PCI don't coexist */ -#elif defined (SOC_MV_ORION) || defined(SOC_MV_DISCOVERY) -#define MV_CESA_BASE (MV_BASE + 0x90000) -#endif -#define MV_CESA_SIZE 0x10000 -#define MV_PCIE_BASE (MV_BASE + 0x40000) -#define MV_PCIE_SIZE 0x2000 - -#define MV_PCIE00_BASE (MV_PCIE_BASE + 0x00000) -#define MV_PCIE01_BASE (MV_PCIE_BASE + 0x04000) -#define MV_PCIE02_BASE (MV_PCIE_BASE + 0x08000) -#define MV_PCIE03_BASE (MV_PCIE_BASE + 0x0C000) -#define MV_PCIE10_BASE (MV_PCIE_BASE + 0x40000) -#define MV_PCIE11_BASE (MV_PCIE_BASE + 0x44000) -#define MV_PCIE12_BASE (MV_PCIE_BASE + 0x48000) -#define MV_PCIE13_BASE (MV_PCIE_BASE + 0x4C000) - -#define MV_USB0_BASE (MV_BASE + 0x50000) -#define MV_USB1_BASE (MV_USB0_BASE + 0x1000) -#define MV_USB2_BASE (MV_USB0_BASE + 0x2000) -#define MV_USB_SIZE 0x1000 -#define MV_USB_HOST_OFST 0x0100 /* EHCI HC regs start at this offset within USB range */ -#define MV_USB_AWR_BASE (MV_USB0_BASE + 0x320) -#define MV_IDMA_BASE (MV_BASE + 0x60000) -#define MV_IDMA_SIZE 0x1000 -#define MV_XOR_BASE (MV_BASE + 0x60000) -#define MV_XOR_SIZE 0x1000 -#define MV_ETH0_BASE (MV_BASE + 0x72000) -#define MV_ETH1_BASE (MV_BASE + 0x76000) -#define MV_ETH_SIZE 0x2000 -#if defined(SOC_MV_ORION) || defined(SOC_MV_KIRKWOOD) -#define MV_SATAHC_BASE (MV_BASE + 0x80000) -#define MV_SATAHC_SIZE 0x6000 -#elif defined(SOC_MV_DISCOVERY) -#define MV_SATAHC_BASE (MV_BASE + 0xA0000) -#define MV_SATAHC_SIZE 0x6000 -#endif - -#define MV_DEV_CS0_BASE MV_DEV_CS0_PHYS_BASE - /* * Interrupt sources */ @@ -478,135 +364,4 @@ #define MV_DEV_MV78100_Z0 0x6381 #define MV_DEV_MV78100 0x7810 -/* - * Decode windows definitions and macros - */ -#define MV_WIN_CPU_CTRL(n) (0x10 * (n) + (((n) < 8) ? 0x000 : 0x880)) -#define MV_WIN_CPU_BASE(n) (0x10 * (n) + (((n) < 8) ? 0x004 : 0x884)) -#define MV_WIN_CPU_REMAP_LO(n) (0x10 * (n) + (((n) < 8) ? 0x008 : 0x888)) -#define MV_WIN_CPU_REMAP_HI(n) (0x10 * (n) + (((n) < 8) ? 0x00C : 0x88C)) -#if defined(SOC_MV_DISCOVERY) -#define MV_WIN_CPU_MAX 14 -#else -#define MV_WIN_CPU_MAX 8 -#endif - -#define MV_WIN_DDR_BASE(n) (0x8 * (n) + 0x0) -#define MV_WIN_DDR_SIZE(n) (0x8 * (n) + 0x4) -#define MV_WIN_DDR_MAX 4 - -#define MV_WIN_CESA_CTRL(n) (0x8 * (n) + 0xa04) -#define MV_WIN_CESA_BASE(n) (0x8 * (n) + 0xa00) -#define MV_WIN_CESA_MAX 4 - -#define MV_WIN_USB_CTRL(n, m) (0x10 * (n) + (m) * 0x1000 + 0x0) -#define MV_WIN_USB_BASE(n, m) (0x10 * (n) + (m) * 0x1000 + 0x4) -#define MV_WIN_USB_MAX 4 - -#define MV_WIN_ETH_BASE(n) (0x8 * (n) + 0x200) -#define MV_WIN_ETH_SIZE(n) (0x8 * (n) + 0x204) -#define MV_WIN_ETH_REMAP(n) (0x4 * (n) + 0x280) -#define MV_WIN_ETH_MAX 6 - -#define MV_WIN_IDMA_BASE(n) (0x8 * (n) + 0xa00) -#define MV_WIN_IDMA_SIZE(n) (0x8 * (n) + 0xa04) -#define MV_WIN_IDMA_REMAP(n) (0x4 * (n) + 0xa60) -#define MV_WIN_IDMA_CAP(n) (0x4 * (n) + 0xa70) -#define MV_WIN_IDMA_MAX 8 -#define MV_IDMA_CHAN_MAX 4 - -#define MV_WIN_XOR_BASE(n, m) (0x4 * (n) + 0xa50 + (m) * 0x100) -#define MV_WIN_XOR_SIZE(n, m) (0x4 * (n) + 0xa70 + (m) * 0x100) -#define MV_WIN_XOR_REMAP(n, m) (0x4 * (n) + 0xa90 + (m) * 0x100) -#define MV_WIN_XOR_CTRL(n, m) (0x4 * (n) + 0xa40 + (m) * 0x100) -#define MV_WIN_XOR_OVERR(n, m) (0x4 * (n) + 0xaa0 + (m) * 0x100) -#define MV_WIN_XOR_MAX 8 -#define MV_XOR_CHAN_MAX 2 -#define MV_XOR_NON_REMAP 4 - -#define MV_WIN_PCIE_CTRL(n) (0x10 * (((n) < 5) ? (n) : \ - (n) + 1) + 0x1820) -#define MV_WIN_PCIE_BASE(n) (0x10 * (((n) < 5) ? (n) : \ - (n) + 1) + 0x1824) -#define MV_WIN_PCIE_REMAP(n) (0x10 * (((n) < 5) ? (n) : \ - (n) + 1) + 0x182C) -#define MV_WIN_PCIE_MAX 6 - -#define MV_PCIE_BAR(n) (0x04 * (n) + 0x1804) -#define MV_PCIE_BAR_MAX 3 - -#define MV_WIN_SATA_CTRL(n) (0x10 * (n) + 0x30) -#define MV_WIN_SATA_BASE(n) (0x10 * (n) + 0x34) -#define MV_WIN_SATA_MAX 4 - -#define WIN_REG_IDX_RD(pre,reg,off,base) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(int i) \ - { \ - return (bus_space_read_4(obio_tag, base, off(i))); \ - } - -#define WIN_REG_IDX_RD2(pre,reg,off,base) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(int i, int j) \ - { \ - return (bus_space_read_4(obio_tag, base, off(i, j))); \ - } \ - -#define WIN_REG_BASE_IDX_RD(pre,reg,off) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(uint32_t base, int i) \ - { \ - return (bus_space_read_4(obio_tag, base, off(i))); \ - } - -#define WIN_REG_IDX_WR(pre,reg,off,base) \ - static __inline void \ - pre ## _ ## reg ## _write(int i, uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off(i), val); \ - } - -#define WIN_REG_IDX_WR2(pre,reg,off,base) \ - static __inline void \ - pre ## _ ## reg ## _write(int i, int j, uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off(i, j), val); \ - } - -#define WIN_REG_BASE_IDX_WR(pre,reg,off) \ - static __inline void \ - pre ## _ ## reg ## _write(uint32_t base, int i, uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off(i), val); \ - } - -#define WIN_REG_RD(pre,reg,off,base) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(void) \ - { \ - return (bus_space_read_4(obio_tag, base, off)); \ - } - -#define WIN_REG_BASE_RD(pre,reg,off) \ - static __inline uint32_t \ - pre ## _ ## reg ## _read(uint32_t base) \ - { \ - return (bus_space_read_4(obio_tag, base, off)); \ - } - -#define WIN_REG_WR(pre,reg,off,base) \ - static __inline void \ - pre ## _ ## reg ## _write(uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off, val); \ - } - -#define WIN_REG_BASE_WR(pre,reg,off) \ - static __inline void \ - pre ## _ ## reg ## _write(uint32_t base, uint32_t val) \ - { \ - bus_space_write_4(obio_tag, base, off, val); \ - } - #endif /* _MVREG_H_ */ ==== //depot/projects/usb/src/sys/arm/mv/orion/db88f5xxx.c#4 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/mv/orion/db88f5xxx.c,v 1.4 2009/01/09 10:20:51 raj Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/mv/orion/db88f5xxx.c,v 1.5 2009/06/12 20:00:38 marcel Exp $"); #include >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jun 18 16:50:30 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 44D28106567E; Thu, 18 Jun 2009 16:50:30 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EB58A1065679 for ; Thu, 18 Jun 2009 16:50:29 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D90588FC23 for ; Thu, 18 Jun 2009 16:50:29 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IGoTlb053125 for ; Thu, 18 Jun 2009 16:50:29 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IGoTgF053123 for perforce@freebsd.org; Thu, 18 Jun 2009 16:50:29 GMT (envelope-from zec@fer.hr) Date: Thu, 18 Jun 2009 16:50:29 GMT Message-Id: <200906181650.n5IGoTgF053123@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164673 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 16:50:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=164673 Change 164673 by zec@zec_amdx4 on 2009/06/18 16:50:04 A much belated first pass at V_irtualizing flowtable(s). Affected files ... .. //depot/projects/vimage-commit2/src/sys/net/flowtable.c#5 edit .. //depot/projects/vimage-commit2/src/sys/net/flowtable.h#5 edit .. //depot/projects/vimage-commit2/src/sys/net/vnet.h#23 edit .. //depot/projects/vimage-commit2/src/sys/sys/vimage.h#73 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/net/flowtable.c#5 (text+ko) ==== @@ -57,7 +57,6 @@ #include #include - #include #include #include @@ -165,10 +164,29 @@ }; static struct proc *flowcleanerproc; +#ifdef VIMAGE_GLOBALS static struct flowtable *flow_list_head; -static uint32_t hashjitter; -static uma_zone_t ipv4_zone; -static uma_zone_t ipv6_zone; +static uint32_t flow_hashjitter; +static uma_zone_t flow_ipv4_zone; +static uma_zone_t flow_ipv6_zone; +#endif + +static int flowtable_iattach(const void *); +#ifdef VIMAGE +static int flowtable_idetach(const void *); +#endif + +#ifndef VIMAGE_GLOBALS +static const vnet_modinfo_t flowtable_modinfo = { + .vmi_id = VNET_MOD_FLOWTABLE, + .vmi_name = "flowtable", + .vmi_dependson = VNET_MOD_NET, + .vmi_iattach = flowtable_iattach, +#ifdef VIMAGE + .vmi_idetach = flowtable_idetach +#endif +}; +#endif /* !VIMAGE_GLOBALS */ /* * TODO: @@ -185,6 +203,7 @@ * of flows with flag to indicate that a flow was imported so should * not be considered for auto-cleaning * - support explicit connection state (currently only ad-hoc for DSR) + * - V_ flowtable sysctls and nmbflows */ SYSCTL_NODE(_net_inet, OID_AUTO, flowtable, CTLFLAG_RD, NULL, "flowtable"); int flowtable_enable = 1; @@ -242,6 +261,7 @@ static int sysctl_nmbflows(SYSCTL_HANDLER_ARGS) { + INIT_VNET_NET(curvnet); int error, newnmbflows; newnmbflows = nmbflows; @@ -249,8 +269,8 @@ if (error == 0 && req->newptr) { if (newnmbflows > nmbflows) { nmbflows = newnmbflows; - uma_zone_set_max(ipv4_zone, nmbflows); - uma_zone_set_max(ipv6_zone, nmbflows); + uma_zone_set_max(V_flow_ipv4_zone, nmbflows); + uma_zone_set_max(V_flow_ipv6_zone, nmbflows); } else error = EINVAL; } @@ -310,6 +330,7 @@ ipv4_flow_lookup_hash_internal(struct mbuf *m, struct route *ro, uint32_t *key, uint16_t *flags, uint8_t *protop) { + INIT_VNET_NET(curvnet); uint16_t sport = 0, dport = 0; struct ip *ip = NULL; uint8_t proto = 0; @@ -382,7 +403,7 @@ ((uint16_t *)key)[1] = dport; skipports: - hash = jenkins_hashword(key, 3, hashjitter + proto); + hash = jenkins_hashword(key, 3, V_flow_hashjitter + proto); if (m != NULL && (m->m_flags & M_FLOWID) == 0) { m->m_flags |= M_FLOWID; m->m_pkthdr.flowid = hash; @@ -476,12 +497,13 @@ flowtable_insert(struct flowtable *ft, uint32_t hash, uint32_t *key, uint8_t proto, struct route *ro, uint16_t flags) { + INIT_VNET_NET(curvnet); struct flentry *fle, *fletail, *newfle, **flep; int depth; uma_zone_t flezone; bitstr_t *mask; - flezone = (flags & FL_IPV6) ? ipv6_zone : ipv4_zone; + flezone = (flags & FL_IPV6) ? V_flow_ipv6_zone : V_flow_ipv4_zone; newfle = uma_zalloc(flezone, M_NOWAIT | M_ZERO); if (newfle == NULL) return (ENOMEM); @@ -513,7 +535,7 @@ */ FL_ENTRY_UNLOCK(ft, hash); uma_zfree((newfle->f_flags & FL_IPV6) ? - ipv6_zone : ipv4_zone, newfle); + V_flow_ipv6_zone : V_flow_ipv4_zone, newfle); return (EEXIST); } /* @@ -687,11 +709,12 @@ struct flowtable * flowtable_alloc(int nentry, int flags) { + INIT_VNET_NET(curvnet); struct flowtable *ft, *fttail; int i; - if (hashjitter == 0) - hashjitter = arc4random(); + if (V_flow_hashjitter == 0) + V_flow_hashjitter = arc4random(); KASSERT(nentry > 0, ("nentry must be > 0, is %d\n", nentry)); @@ -752,10 +775,10 @@ /* * hook in to the cleaner list */ - if (flow_list_head == NULL) - flow_list_head = ft; + if (V_flow_list_head == NULL) + V_flow_list_head = ft; else { - fttail = flow_list_head; + fttail = V_flow_list_head; while (fttail->ft_next != NULL) fttail = fttail->ft_next; fttail->ft_next = ft; @@ -768,13 +791,38 @@ flowtable_setup(void *arg) { - ipv4_zone = uma_zcreate("ip4flow", sizeof(struct flentry_v4), NULL, +#ifndef VIMAGE_GLOBALS + vnet_mod_register(&flowtable_modinfo); +#else + flowtable_iattach(NULL); +#endif +} + +static int +flowtable_iattach(const void *unused __unused) +{ + INIT_VNET_NET(curvnet); + + V_flow_ipv4_zone = uma_zcreate("ip4flow", sizeof(struct flentry_v4), NULL, NULL, NULL, NULL, 64, UMA_ZONE_MAXBUCKET); - ipv6_zone = uma_zcreate("ip6flow", sizeof(struct flentry_v6), NULL, + V_flow_ipv6_zone = uma_zcreate("ip6flow", sizeof(struct flentry_v6), NULL, NULL, NULL, NULL, 64, UMA_ZONE_MAXBUCKET); - uma_zone_set_max(ipv4_zone, nmbflows); - uma_zone_set_max(ipv6_zone, nmbflows); + uma_zone_set_max(V_flow_ipv4_zone, nmbflows); + uma_zone_set_max(V_flow_ipv6_zone, nmbflows); + return (0); +} + +#ifdef VIMAGE +static int +flowtable_idetach(const void *unused __unused) +{ + INIT_VNET_NET(curvnet); + + uma_zdestroy(V_flow_ipv4_zone); + uma_zdestroy(V_flow_ipv6_zone); + return (0); } +#endif SYSINIT(flowtable_setup, SI_SUB_KTHREAD_INIT, SI_ORDER_ANY, flowtable_setup, NULL); @@ -787,6 +835,7 @@ static void fle_free(struct flentry *fle) { + INIT_VNET_NET(curvnet); struct rtentry *rt; struct llentry *lle; @@ -794,7 +843,7 @@ lle = __DEVOLATILE(struct llentry *, fle->f_lle); RTFREE(rt); LLE_FREE(lle); - uma_zfree((fle->f_flags & FL_IPV6) ? ipv6_zone : ipv4_zone, fle); + uma_zfree((fle->f_flags & FL_IPV6) ? V_flow_ipv6_zone : V_flow_ipv4_zone, fle); } static void @@ -885,36 +934,52 @@ } static void -flowtable_cleaner(void) +flowtable_clean_vnet(void) { + INIT_VNET_NET(curvnet); struct flowtable *ft; int i; - if (bootverbose) - log(LOG_INFO, "flowtable cleaner started\n"); - while (1) { - ft = flow_list_head; - while (ft != NULL) { - if (ft->ft_flags & FL_PCPU) { - for (i = 0; i <= mp_maxid; i++) { - if (CPU_ABSENT(i)) - continue; + ft = V_flow_list_head; + while (ft != NULL) { + if (ft->ft_flags & FL_PCPU) { + for (i = 0; i <= mp_maxid; i++) { + if (CPU_ABSENT(i)) + continue; - thread_lock(curthread); - sched_bind(curthread, i); - thread_unlock(curthread); + thread_lock(curthread); + sched_bind(curthread, i); + thread_unlock(curthread); - flowtable_free_stale(ft); + flowtable_free_stale(ft); - thread_lock(curthread); - sched_unbind(curthread); - thread_unlock(curthread); - } - } else { - flowtable_free_stale(ft); + thread_lock(curthread); + sched_unbind(curthread); + thread_unlock(curthread); } - ft = ft->ft_next; + } else { + flowtable_free_stale(ft); + } + ft = ft->ft_next; + } +} + +static void +flowtable_cleaner(void) +{ + VNET_ITERATOR_DECL(vnet_iter); + + if (bootverbose) + log(LOG_INFO, "flowtable cleaner started\n"); + while (1) { + VNET_LIST_RLOCK(); + VNET_FOREACH(vnet_iter) { + CURVNET_SET(vnet_iter); + flowtable_clean_vnet(); + CURVNET_RESTORE(); } + VNET_LIST_RUNLOCK(); + /* * The 20 second interval between cleaning checks * is arbitrary ==== //depot/projects/vimage-commit2/src/sys/net/flowtable.h#5 (text+ko) ==== ==== //depot/projects/vimage-commit2/src/sys/net/vnet.h#23 (text+ko) ==== @@ -53,6 +53,11 @@ struct if_clone * _lo_cloner; struct ifc_simple_data *_lo_cloner_data; + struct flowtable * _flow_list_head; + uint32_t _flow_hashjitter; + uma_zone_t _flow_ipv4_zone; + uma_zone_t _flow_ipv6_zone; + LIST_HEAD(, rawcb) _rawcb_list; LIST_HEAD(, if_clone) _if_cloners; @@ -79,6 +84,10 @@ #define VNET_NET(sym) VSYM(vnet_net, sym) #define V_ether_ipfw VNET_NET(ether_ipfw) +#define V_flow_hashjitter VNET_NET(flow_hashjitter) +#define V_flow_ipv4_zone VNET_NET(flow_ipv4_zone) +#define V_flow_ipv6_zone VNET_NET(flow_ipv6_zone) +#define V_flow_list_head VNET_NET(flow_list_head) #define V_if_index VNET_NET(if_index) #define V_if_indexlim VNET_NET(if_indexlim) #define V_if_cloners VNET_NET(if_cloners) ==== //depot/projects/vimage-commit2/src/sys/sys/vimage.h#73 (text+ko) ==== @@ -122,6 +122,7 @@ #define VNET_MOD_MLD 13 /* Stateless modules. */ +#define VNET_MOD_FLOWTABLE 18 #define VNET_MOD_IF_CLONE 19 #define VNET_MOD_NG_ETHER 20 #define VNET_MOD_NG_IFACE 21 From owner-p4-projects@FreeBSD.ORG Thu Jun 18 16:55:35 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 76E0D1065670; Thu, 18 Jun 2009 16:55:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 386BF106566B for ; Thu, 18 Jun 2009 16:55:35 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 27B298FC18 for ; Thu, 18 Jun 2009 16:55:35 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IGtZ2n053497 for ; Thu, 18 Jun 2009 16:55:35 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IGtZ0o053495 for perforce@freebsd.org; Thu, 18 Jun 2009 16:55:35 GMT (envelope-from zec@fer.hr) Date: Thu, 18 Jun 2009 16:55:35 GMT Message-Id: <200906181655.n5IGtZ0o053495@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 164674 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 16:55:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=164674 Change 164674 by zec@zec_amdx4 on 2009/06/18 16:55:16 s/ /^I/ per style(9). Affected files ... .. //depot/projects/vimage-commit2/src/sys/net/vnet.h#24 edit Differences ... ==== //depot/projects/vimage-commit2/src/sys/net/vnet.h#24 (text+ko) ==== @@ -84,10 +84,10 @@ #define VNET_NET(sym) VSYM(vnet_net, sym) #define V_ether_ipfw VNET_NET(ether_ipfw) -#define V_flow_hashjitter VNET_NET(flow_hashjitter) -#define V_flow_ipv4_zone VNET_NET(flow_ipv4_zone) -#define V_flow_ipv6_zone VNET_NET(flow_ipv6_zone) -#define V_flow_list_head VNET_NET(flow_list_head) +#define V_flow_hashjitter VNET_NET(flow_hashjitter) +#define V_flow_ipv4_zone VNET_NET(flow_ipv4_zone) +#define V_flow_ipv6_zone VNET_NET(flow_ipv6_zone) +#define V_flow_list_head VNET_NET(flow_list_head) #define V_if_index VNET_NET(if_index) #define V_if_indexlim VNET_NET(if_indexlim) #define V_if_cloners VNET_NET(if_cloners) From owner-p4-projects@FreeBSD.ORG Thu Jun 18 17:32:13 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D7CA9106567A; Thu, 18 Jun 2009 17:32:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 940561065676 for ; Thu, 18 Jun 2009 17:32:12 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 81E6B8FC27 for ; Thu, 18 Jun 2009 17:32:12 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IHWCtD057946 for ; Thu, 18 Jun 2009 17:32:12 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IHWC13057944 for perforce@freebsd.org; Thu, 18 Jun 2009 17:32:12 GMT (envelope-from hselasky@FreeBSD.org) Date: Thu, 18 Jun 2009 17:32:12 GMT Message-Id: <200906181732.n5IHWC13057944@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Cc: Subject: PERFORCE change 164675 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 17:32:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=164675 Change 164675 by hselasky@hselasky_laptop001 on 2009/06/18 17:32:10 USB CORE (device side mode): - New feature: Add support for devices that handle set and clear stall in hardware. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#24 edit .. //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#34 edit .. //depot/projects/usb/src/sys/dev/usb/controller/avr32dci.c#9 edit .. //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#22 edit .. //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#24 edit .. //depot/projects/usb/src/sys/dev/usb/usb_controller.h#14 edit .. //depot/projects/usb/src/sys/dev/usb/usb_device.c#40 edit .. //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#155 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/controller/at91dci.c#24 (text+ko) ==== @@ -1208,7 +1208,7 @@ static void at91dci_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_endpoint *ep) + struct usb_endpoint *ep, uint8_t *did_stall) { struct at91dci_softc *sc; uint32_t csr_val; ==== //depot/projects/usb/src/sys/dev/usb/controller/atmegadci.c#34 (text+ko) ==== @@ -1094,7 +1094,7 @@ static void atmegadci_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_endpoint *ep) + struct usb_endpoint *ep, uint8_t *did_stall) { struct atmegadci_softc *sc; uint8_t ep_no; ==== //depot/projects/usb/src/sys/dev/usb/controller/avr32dci.c#9 (text+ko) ==== @@ -1062,7 +1062,7 @@ static void avr32dci_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_endpoint *ep) + struct usb_endpoint *ep, uint8_t *did_stall) { struct avr32dci_softc *sc; uint8_t ep_no; ==== //depot/projects/usb/src/sys/dev/usb/controller/musb_otg.c#22 (text+ko) ==== @@ -1454,7 +1454,7 @@ static void musbotg_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_endpoint *ep) + struct usb_endpoint *ep, uint8_t *did_stall) { struct musbotg_softc *sc; uint8_t ep_no; ==== //depot/projects/usb/src/sys/dev/usb/controller/uss820dci.c#24 (text+ko) ==== @@ -1184,7 +1184,7 @@ static void uss820dci_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_endpoint *ep) + struct usb_endpoint *ep, uint8_t *did_stall) { struct uss820dci_softc *sc; uint8_t ep_no; ==== //depot/projects/usb/src/sys/dev/usb/usb_controller.h#14 (text+ko) ==== @@ -96,7 +96,7 @@ /* USB Device mode only - Mandatory */ void (*get_hw_ep_profile) (struct usb_device *udev, const struct usb_hw_ep_profile **ppf, uint8_t ep_addr); - void (*set_stall) (struct usb_device *udev, struct usb_xfer *xfer, struct usb_endpoint *ep); + void (*set_stall) (struct usb_device *udev, struct usb_xfer *xfer, struct usb_endpoint *ep, uint8_t *did_stall); void (*clear_stall) (struct usb_device *udev, struct usb_endpoint *ep); }; ==== //depot/projects/usb/src/sys/dev/usb/usb_device.c#40 (text+ko) ==== @@ -916,7 +916,7 @@ * complete the USB transfer like in case of a timeout * setting the error code "USB_ERR_STALLED". */ - (udev->bus->methods->set_stall) (udev, xfer, ep); + (udev->bus->methods->set_stall) (udev, xfer, ep, &do_stall); } if (!do_stall) { ep->toggle_next = 0; /* reset data toggle */ ==== //depot/projects/usb/src/sys/dev/usb/usb_transfer.c#155 (text+ko) ==== @@ -2240,29 +2240,37 @@ (type == UE_INTERRUPT)) { struct usb_device *udev; struct usb_xfer_root *info; + uint8_t did_stall; info = xfer->xroot; udev = info->udev; - ep->is_stalled = 1; + did_stall = 1; if (udev->flags.usb_mode == USB_MODE_DEVICE) { (udev->bus->methods->set_stall) ( - udev, NULL, ep); + udev, NULL, ep, &did_stall); } else if (udev->default_xfer[1]) { info = udev->default_xfer[1]->xroot; - if (usb_proc_msignal( + usb_proc_msignal( &info->bus->non_giant_callback_proc, - &udev->cs_msg[0], &udev->cs_msg[1])) { - /* ignore */ - } + &udev->cs_msg[0], &udev->cs_msg[1]); } else { /* should not happen */ DPRINTFN(0, "No stall handler!\n"); } /* - * We get started again when the stall is cleared! + * Check if we should stall. Some USB hardware + * handles set- and clear-stall in hardware. */ - return; + if (did_stall) { + /* + * The transfer will be continued when + * the clear-stall control endpoint + * message is received. + */ + ep->is_stalled = 1; + return; + } } } /* Set or clear stall complete - special case */ From owner-p4-projects@FreeBSD.ORG Thu Jun 18 17:40:26 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AFF371065674; Thu, 18 Jun 2009 17:40:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F030106566C for ; Thu, 18 Jun 2009 17:40:25 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 420CF8FC16 for ; Thu, 18 Jun 2009 17:40:25 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IHeNLq058639 for ; Thu, 18 Jun 2009 17:40:23 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IHeKEv058637 for perforce@freebsd.org; Thu, 18 Jun 2009 17:40:20 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 18 Jun 2009 17:40:20 GMT Message-Id: <200906181740.n5IHeKEv058637@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164677 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 17:40:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=164677 Change 164677 by rwatson@rwatson_freebsd_capabilities on 2009/06/18 17:40:16 Add omitted rtld_sandbox.h. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/rtld_sandbox.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jun 18 18:58:30 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 65644106579D; Thu, 18 Jun 2009 18:58:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 055C7106576E for ; Thu, 18 Jun 2009 18:58:28 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DDC868FC12 for ; Thu, 18 Jun 2009 18:58:28 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IIwSdh029318 for ; Thu, 18 Jun 2009 18:58:28 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IIwSt0029316 for perforce@freebsd.org; Thu, 18 Jun 2009 18:58:28 GMT (envelope-from syl@FreeBSD.org) Date: Thu, 18 Jun 2009 18:58:28 GMT Message-Id: <200906181858.n5IIwSt0029316@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164679 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 18:58:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=164679 Change 164679 by syl@syl_atuin on 2009/06/18 18:58:23 - Invert libusb_get_buffsize and libusb_get_maxframe. - add some debug. Affected files ... .. //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#4 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#41 edit Differences ... ==== //depot/projects/soc2009/syl_usb/libusb-tests/transfers/test1/test1.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ if ((devh = libusb_open_device_with_vid_pid(ctx, VID_TEST, PID_TEST)) != NULL) { libusb_detach_kernel_driver(devh, 1); dev = libusb_get_device(devh); - libusb_control_transfer(devh, 0x80, 0x01, 0x00, 0x00, data, 2, 10); + libusb_control_transfer(devh, 0x80, 0x01, 0x00, 0x00, data, 2, 100000); printf("data = 0x%.2x 0x%.2x\n", data[0], data[1]); } else { fprintf(stderr, "\nNo device match or lack of permissions.\n"); ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#41 (text+ko) ==== @@ -926,7 +926,7 @@ } static int -libusb_get_buffsize(struct libusb20_device *pdev, libusb_transfer *xfer) +libusb_get_maxframe(struct libusb20_device *pdev, libusb_transfer *xfer) { int ret; int usb_speed; @@ -945,6 +945,9 @@ break ; } break ; + case LIBUSB_TRANSFER_TYPE_CONTROL: + ret = 2; + break ; default: ret = 1; break ; @@ -954,7 +957,7 @@ } static int -libusb_get_maxframe(struct libusb20_device *pdev, libusb_transfer *xfer) +libusb_get_buffsize(struct libusb20_device *pdev, libusb_transfer *xfer) { int ret; int usb_speed; @@ -1082,7 +1085,8 @@ buffsize = libusb_get_buffsize(pdev, xfer); maxframe = libusb_get_maxframe(pdev, xfer); - + printf("buffsize : 0x%.8x maxframe : 0x%.8x\n", buffsize, maxframe); + ret = libusb20_tr_open(usb20_xfer[0], buffsize, maxframe, xfer->endpoint); if (xfer->type == LIBUSB_TRANSFER_TYPE_ISOCHRONOUS) From owner-p4-projects@FreeBSD.ORG Thu Jun 18 19:44:15 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B68501065673; Thu, 18 Jun 2009 19:44:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7621F106564A for ; Thu, 18 Jun 2009 19:44:15 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4A49C8FC1C for ; Thu, 18 Jun 2009 19:44:15 +0000 (UTC) (envelope-from syl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IJiFqx072393 for ; Thu, 18 Jun 2009 19:44:15 GMT (envelope-from syl@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IJiFJO072391 for perforce@freebsd.org; Thu, 18 Jun 2009 19:44:15 GMT (envelope-from syl@FreeBSD.org) Date: Thu, 18 Jun 2009 19:44:15 GMT Message-Id: <200906181944.n5IJiFJO072391@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to syl@FreeBSD.org using -f From: Sylvestre Gallon To: Perforce Change Reviews Cc: Subject: PERFORCE change 164680 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 19:44:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=164680 Change 164680 by syl@syl_atuin on 2009/06/18 19:43:28 Fix bugs spotten by Hans Petter Selasky : - Dequeue transfer if transfer status is != to LIBUSB20_TRANSFER_COMPLETED or to LIBUSB20_TRANSFER_START - Add +8 to ctrl buffsize. - fix a bad condition. Affected files ... .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#42 edit .. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#15 edit Differences ... ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#42 (text+ko) ==== @@ -886,37 +886,42 @@ default: usb_xfer->actual_length = 0; usb_xfer->status = LIBUSB_TRANSFER_CANCELLED; + + pthread_mutex_lock(&ctx->flying_transfers_lock); + LIST_DEL(&usb_backend->list); + pthread_mutex_unlock(&ctx->flying_transfers_lock); + break ; } switch (status) { case LIBUSB20_TRANSFER_COMPLETED: dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS COMPLETED"); - xfer->status = LIBUSB_TRANSFER_COMPLETED; + usb_xfer->status = LIBUSB_TRANSFER_COMPLETED; break ; case LIBUSB20_TRANSFER_OVERFLOW: dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR OVERFLOW"); - xfer->status = LIBUSB_TRANSFER_OVERFLOW; + usb_xfer->status = LIBUSB_TRANSFER_OVERFLOW; break ; case LIBUSB20_TRANSFER_NO_DEVICE: dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR NO DEVICE"); - xfer->status = LIBUSB_TRANSFER_NO_DEVICE; + usb_xfer->status = LIBUSB_TRANSFER_NO_DEVICE; break ; case LIBUSB20_TRANSFER_STALL: dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR STALL"); - xfer->status = LIBUSB_TRANSFER_STALL; + usb_xfer->status = LIBUSB_TRANSFER_STALL; break ; case LIBUSB20_TRANSFER_CANCELLED: dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR CANCELLED"); - xfer->status = LIBUSB_TRANSFER_CANCELLED; + usb_xfer->status = LIBUSB_TRANSFER_CANCELLED; break ; case LIBUSB20_TRANSFER_TIMED_OUT: dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "STATUS TR TIMEOUT"); - xfer->status = LIBUSB_TRANSFER_TIMED_OUT; + usb_xfer->status = LIBUSB_TRANSFER_TIMED_OUT; break ; case LIBUSB20_TRANSFER_ERROR: dprintf(ctx, LIBUSB_DEBUG_TRANSFER, "ERROR"); - xfer->status = LIBUSB_TRANSFER_ERROR; + usb_xfer->status = LIBUSB_TRANSFER_ERROR; break ; default: printf("other status : %i\n", status); @@ -980,6 +985,8 @@ ret = 64; break ; } + /*add */ + ret += 8; break ; default : switch (usb_speed) { ==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10_io.c#15 (text+ko) ==== @@ -193,7 +193,7 @@ ret = libusb20_dev_process(devh->os_priv); pthread_mutex_unlock(&libusb20_lock); - if (ret == 0 || LIBUSB20_ERROR_NO_DEVICE) + if (ret == 0 || ret == LIBUSB20_ERROR_NO_DEVICE) continue; else if (ret < 0) goto out; From owner-p4-projects@FreeBSD.ORG Thu Jun 18 22:43:00 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 39CC81065674; Thu, 18 Jun 2009 22:43:00 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EDC15106566C for ; Thu, 18 Jun 2009 22:42:59 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DA68F8FC08 for ; Thu, 18 Jun 2009 22:42:59 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IMgxIx010993 for ; Thu, 18 Jun 2009 22:42:59 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IMgx0D010991 for perforce@freebsd.org; Thu, 18 Jun 2009 22:42:59 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 18 Jun 2009 22:42:59 GMT Message-Id: <200906182242.n5IMgx0D010991@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164689 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 22:43:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=164689 Change 164689 by rwatson@rwatson_freebsd_capabilities on 2009/06/18 22:42:30 When building the 'rescue' environment, don't include sandbox support in gzip. At least, not yet. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/Makefile#5 edit .. //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzsandbox.c#6 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/Makefile#5 (text+ko) ==== @@ -19,6 +19,10 @@ CFLAGS+= -DNO_BZIP2_SUPPORT .endif +.if defined(RESCUE) +CFLAGS+= -DNO_SANDBOX_SUPPORT +.endif + SCRIPTS= gzexe zdiff zforce zmore znew MLINKS+= gzip.1 gunzip.1 \ ==== //depot/projects/trustedbsd/capabilities/src/usr.bin/gzip/gzsandbox.c#6 (text+ko) ==== @@ -57,6 +57,8 @@ #define LC_USR_BIN_GZIP_SANDBOX "/usr/bin/gzip" +#ifndef NO_SANDBOX_SUPPORT + struct lc_library gzsandbox_libs[] = { { LC_LIB_LIBZ_SO, LC_LIBZ_SO, -1 }, { LC_USR_LIB_LIBBZ2_SO, LC_LIBBZ2_SO, -1 }, @@ -330,6 +332,7 @@ if (lcs_sendrpc(lchp, opno, seqno, &iov, 1) < 0) err(-1, "lcs_sendrpc"); } + off_t unbzip2_wrapper(int in, int out, char *pre, size_t prelen, off_t *bytes_in) { @@ -396,3 +399,30 @@ free(buffer); } } + +#else /* NO_SANDBOX_SUPPORT */ + +off_t +gz_compress_wrapper(int in, int out, off_t *gsizep, const char *origname, + uint32_t mtime) +{ + + return (gz_compress(in, out, gsizep, origname, mtime)); +} + +off_t +gz_uncompress_wrapper(int in, int out, char *pre, size_t prelen, + off_t *gsizep, const char *filename) +{ + + return (gz_uncompress(in, out, pre, prelen, gsizep, filename)); +} + +off_t +unbzip2_wrapper(int in, int out, char *pre, size_t prelen, off_t *bytes_in) +{ + + return (unbzip2(in, out, pre, prelen, bytes_in)); +} + +#endif /* !NO_SANDBOX_SUPPORT */ From owner-p4-projects@FreeBSD.ORG Thu Jun 18 23:03:22 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7EC651065672; Thu, 18 Jun 2009 23:03:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E8A7106566C for ; Thu, 18 Jun 2009 23:03:22 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2C78E8FC0A for ; Thu, 18 Jun 2009 23:03:22 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IN3Mfe013477 for ; Thu, 18 Jun 2009 23:03:22 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IN3MJm013475 for perforce@freebsd.org; Thu, 18 Jun 2009 23:03:22 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 18 Jun 2009 23:03:22 GMT Message-Id: <200906182303.n5IN3MJm013475@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164690 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 23:03:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=164690 Change 164690 by jona@jona-trustedbsd-kentvm on 2009/06/18 23:03:08 Add a Qt-based powerbox server for good measure Affected files ... .. //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/CMakeLists.txt#5 edit .. //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/kpowerboxserver.cpp#4 edit .. //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/kpowerboxserver.h#3 edit .. //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/main.cpp#2 edit .. //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/test.cpp#3 delete .. //depot/projects/trustedbsd/capabilities/cap-support/powerboxtest/main.cpp#1 add .. //depot/projects/trustedbsd/capabilities/cap-support/powerboxtest/powerbox.h#1 add .. //depot/projects/trustedbsd/capabilities/cap-support/powerboxtest/powerboxtest.pro#1 add .. //depot/projects/trustedbsd/capabilities/cap-support/qpowerboxserver/main.cpp#1 add .. //depot/projects/trustedbsd/capabilities/cap-support/qpowerboxserver/powerbox.h#1 add .. //depot/projects/trustedbsd/capabilities/cap-support/qpowerboxserver/qpowerboxserver.cpp#1 add .. //depot/projects/trustedbsd/capabilities/cap-support/qpowerboxserver/qpowerboxserver.h#1 add .. //depot/projects/trustedbsd/capabilities/cap-support/qpowerboxserver/qpowerboxserver.pro#1 add Differences ... ==== //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/CMakeLists.txt#5 (text+ko) ==== @@ -9,16 +9,7 @@ include_directories(${KDE4_INCLUDES}) set(server_SRC main.cpp kpowerboxserver.cpp) -set(server_MOC_HDRS kpowerboxserver.h) -#qt4_wrap_cpp(server_MOC_SRC ${server_MOC_HDRS}) -#KDE4_AUTOMOC(${server_SRC}) - -set(test_SRC test.cpp) - -kde4_add_executable(test ${test_SRC}) -target_link_libraries(test ${QT_LIBRARIES} ${KDE4_KDEUI_LIBS}) - -kde4_add_executable(kpowerboxserver ${server_SRC})# ${server_MOC_SRC}) +kde4_add_executable(kpowerboxserver ${server_SRC}) target_link_libraries(kpowerboxserver ${QT_LIBRARIES} ${KDE4_KDEUI_LIBS} ${KDE4_KFILE_LIBS}) ==== //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/kpowerboxserver.cpp#4 (text+ko) ==== @@ -15,7 +15,7 @@ QStringList -KPowerBoxServer::showKDEPowerbox(int operation, QString title, QString parent, +KPowerBoxServer::showPowerbox(int operation, QString title, QString parent, QString startDir, QString filter, bool allowMultipleSelections) { std::cout << "Parent window: " << parent.toStdString() << std::endl; ==== //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/kpowerboxserver.h#3 (text+ko) ==== @@ -39,7 +39,7 @@ * * @return a list of file names */ - Q_SCRIPTABLE QStringList showKDEPowerbox( + Q_SCRIPTABLE QStringList showPowerbox( int operation, QString title, QString parent, ==== //depot/projects/trustedbsd/capabilities/cap-support/kpowerboxserver/main.cpp#2 (text+ko) ==== @@ -31,14 +31,13 @@ KCmdLineOptions cmdLineOptions; cmdLineOptions.add("name ", ki18n("Name of the service"), - "org.freebsd.capsicum.kpowerboxserver"); + "org.freebsd.capsicum.kde"); KCmdLineArgs::addCmdLineOptions(cmdLineOptions); KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); QString serviceName = args->getOption("name"); - cout << "Service name: " << serviceName.toStdString() << endl; KApplication app; @@ -51,7 +50,7 @@ QDBusConnection dbus = QDBusConnection::sessionBus(); if(dbus.registerService(serviceName)) - cout << "Registered service " << serviceName.toStdString() << endl; + cout << "Registered " << serviceName.toStdString(); else { @@ -60,9 +59,9 @@ } KPowerBoxServer kpbserv; - QString path = "/KPowerboxServer"; + QString path = "/PowerboxServer"; if(dbus.registerObject(path, &kpbserv, QDBusConnection::ExportAllSlots)) - cout << "Registered " << path.toStdString() << endl; + cout << path.toStdString() << endl; else { From owner-p4-projects@FreeBSD.ORG Thu Jun 18 23:05:25 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CAFA21065673; Thu, 18 Jun 2009 23:05:24 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8AE451065670 for ; Thu, 18 Jun 2009 23:05:24 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 795C98FC12 for ; Thu, 18 Jun 2009 23:05:24 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5IN5OVV013688 for ; Thu, 18 Jun 2009 23:05:24 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5IN5OY0013686 for perforce@freebsd.org; Thu, 18 Jun 2009 23:05:24 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 18 Jun 2009 23:05:24 GMT Message-Id: <200906182305.n5IN5OY0013686@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164691 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 23:05:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=164691 Change 164691 by jona@jona-trustedbsd-kentvm on 2009/06/18 23:04:57 Allow Qt powerboxes, as well as KDE ones, in the user_angel Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.c#6 edit .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.h#6 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.c#6 (text+ko) ==== @@ -49,6 +49,7 @@ // get the filenames from the user switch(options->ui) { + case QT: case KDE: if(dbus_powerbox(options, names, len)) { ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/powerbox.h#6 (text+ko) ==== @@ -38,7 +38,7 @@ #include "cap.h" -enum capbox_ui_t { KDE /* TODO, GNOME, NCURSES*/ }; +enum capbox_ui_t { QT, KDE /* TODO, GNOME, NCURSES*/ }; enum capbox_op_t { From owner-p4-projects@FreeBSD.ORG Thu Jun 18 23:25:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3DD8C10656AD; Thu, 18 Jun 2009 23:25:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F143110656A8 for ; Thu, 18 Jun 2009 23:25:46 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C67948FC24 for ; Thu, 18 Jun 2009 23:25:46 +0000 (UTC) (envelope-from jona@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5INPkYf015341 for ; Thu, 18 Jun 2009 23:25:46 GMT (envelope-from jona@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5INPked015339 for perforce@freebsd.org; Thu, 18 Jun 2009 23:25:46 GMT (envelope-from jona@FreeBSD.org) Date: Thu, 18 Jun 2009 23:25:46 GMT Message-Id: <200906182325.n5INPked015339@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jona@FreeBSD.org using -f From: Jonathan Anderson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164692 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2009 23:25:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=164692 Change 164692 by jona@jona-trustedbsd-kentvm on 2009/06/18 23:25:40 The user_angel's dbus stuff should block indefinitely (at least for now; what we don't want is unexpected timeouts) Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/user_angel/dbus.cpp#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Jun 19 08:11:35 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 07ED91065675; Fri, 19 Jun 2009 08:11:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B9BE5106564A for ; Fri, 19 Jun 2009 08:11:34 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A17558FC1C for ; Fri, 19 Jun 2009 08:11:34 +0000 (UTC) (envelope-from andre@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5J8BYKq085529 for ; Fri, 19 Jun 2009 08:11:34 GMT (envelope-from andre@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5J8BSwP085513 for perforce@freebsd.org; Fri, 19 Jun 2009 08:11:28 GMT (envelope-from andre@freebsd.org) Date: Fri, 19 Jun 2009 08:11:28 GMT Message-Id: <200906190811.n5J8BSwP085513@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andre@freebsd.org using -f From: Andre Oppermann To: Perforce Change Reviews Cc: Subject: PERFORCE change 164697 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2009 08:11:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=164697 Change 164697 by andre@andre_flirtbox on 2009/06/19 08:11:28 Integrate. Affected files ... .. //depot/projects/tcp_reass/Makefile#4 integrate .. //depot/projects/tcp_reass/amd64/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/tcp_reass/amd64/acpica/acpi_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/acpica/acpi_wakeup.c#3 integrate .. //depot/projects/tcp_reass/amd64/acpica/madt.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/dump_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/local_apic.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/machdep.c#5 integrate .. //depot/projects/tcp_reass/amd64/amd64/mca.c#1 branch .. //depot/projects/tcp_reass/amd64/amd64/minidump_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/mp_machdep.c#4 integrate .. //depot/projects/tcp_reass/amd64/amd64/msi.c#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/pmap.c#6 integrate .. //depot/projects/tcp_reass/amd64/amd64/support.S#3 integrate .. //depot/projects/tcp_reass/amd64/amd64/trap.c#4 integrate .. //depot/projects/tcp_reass/amd64/conf/DEFAULTS#4 integrate .. //depot/projects/tcp_reass/amd64/conf/GENERIC#5 integrate .. //depot/projects/tcp_reass/amd64/conf/GENERIC.hints#3 integrate .. //depot/projects/tcp_reass/amd64/conf/MAC#2 delete .. //depot/projects/tcp_reass/amd64/conf/NOTES#5 integrate .. //depot/projects/tcp_reass/amd64/include/mca.h#1 branch .. //depot/projects/tcp_reass/amd64/include/param.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/smp.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/specialreg.h#4 integrate .. //depot/projects/tcp_reass/amd64/include/vmparam.h#3 integrate .. //depot/projects/tcp_reass/amd64/isa/clock.c#5 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux.h#4 integrate .. //depot/projects/tcp_reass/amd64/linux32/linux32_sysent.c#5 integrate .. //depot/projects/tcp_reass/amd64/pci/pci_cfgreg.c#3 integrate .. //depot/projects/tcp_reass/arm/arm/dump_machdep.c#4 integrate .. //depot/projects/tcp_reass/arm/arm/intr.c#5 integrate .. //depot/projects/tcp_reass/arm/arm/locore.S#5 integrate .. //depot/projects/tcp_reass/arm/arm/machdep.c#5 integrate .. //depot/projects/tcp_reass/arm/arm/pmap.c#5 integrate .. //depot/projects/tcp_reass/arm/at91/at91.c#4 integrate .. //depot/projects/tcp_reass/arm/at91/at91_cfata.c#2 integrate .. //depot/projects/tcp_reass/arm/at91/at91_mci.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_spi.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/at91_twi.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/if_ate.c#3 integrate .. //depot/projects/tcp_reass/arm/at91/ohci_atmelarm.c#3 delete .. //depot/projects/tcp_reass/arm/conf/AVILA#5 integrate .. //depot/projects/tcp_reass/arm/conf/CAMBRIA.hints#2 integrate .. //depot/projects/tcp_reass/arm/include/intr.h#4 integrate .. //depot/projects/tcp_reass/arm/include/pmap.h#4 integrate .. //depot/projects/tcp_reass/arm/mv/common.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/discovery/db78xxx.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/discovery/discovery.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/ic.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/db88f6xxx.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/kirkwood/kirkwood.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/mvreg.h#2 integrate .. //depot/projects/tcp_reass/arm/mv/mvwin.h#1 branch .. //depot/projects/tcp_reass/arm/mv/orion/db88f5xxx.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/orion/orion.c#2 integrate .. //depot/projects/tcp_reass/arm/mv/twsi.c#2 integrate .. //depot/projects/tcp_reass/arm/sa11x0/sa11x0_irqhandler.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/i8134x/i81342.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/avila_ata.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/avila_led.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/cambria_led.c#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/files.ixp425#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/if_npe.c#5 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_iic.c#4 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_npe.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_npereg.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_qmgr.c#3 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425_qmgr.h#2 integrate .. //depot/projects/tcp_reass/arm/xscale/ixp425/ixp425var.h#3 integrate .. //depot/projects/tcp_reass/arm/xscale/pxa/pxa_icu.c#2 integrate .. //depot/projects/tcp_reass/boot/common/boot.c#2 integrate .. //depot/projects/tcp_reass/boot/common/ufsread.c#3 integrate .. //depot/projects/tcp_reass/boot/forth/loader.conf#4 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/Makefile#3 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biosacpi.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biosdisk.c#4 integrate .. //depot/projects/tcp_reass/boot/i386/libi386/biospnp.c#2 integrate .. //depot/projects/tcp_reass/boot/i386/zfsboot/zfsboot.c#2 integrate .. //depot/projects/tcp_reass/boot/ia64/ski/acpi_stub.c#2 integrate .. //depot/projects/tcp_reass/boot/pc98/boot2/sys.c#2 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/disk.c#3 integrate .. //depot/projects/tcp_reass/boot/uboot/lib/net.c#3 integrate .. //depot/projects/tcp_reass/boot/zfs/zfsimpl.c#2 integrate .. //depot/projects/tcp_reass/cam/cam.c#2 integrate .. //depot/projects/tcp_reass/cam/cam_periph.c#4 integrate .. //depot/projects/tcp_reass/cam/scsi/scsi_pass.c#3 integrate .. //depot/projects/tcp_reass/cam/scsi/scsi_sg.c#3 integrate .. //depot/projects/tcp_reass/cam/scsi/scsi_target.c#3 integrate .. //depot/projects/tcp_reass/cddl/boot/zfs/README#2 integrate .. //depot/projects/tcp_reass/cddl/boot/zfs/zfsimpl.h#2 integrate .. //depot/projects/tcp_reass/cddl/boot/zfs/zfssubr.c#2 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/kern/opensolaris.c#2 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/kern/opensolaris_acl.c#1 branch .. //depot/projects/tcp_reass/cddl/compat/opensolaris/kern/opensolaris_lookup.c#2 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/kern/opensolaris_misc.c#3 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/kern/opensolaris_policy.c#3 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/kern/opensolaris_vfs.c#3 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/sys/mutex.h#2 integrate .. //depot/projects/tcp_reass/cddl/compat/opensolaris/sys/rwlock.h#2 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/common/acl/acl_common.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/common/acl/acl_common.h#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/common/zfs/zfs_prop.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#2 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/gfs.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr.c#1 branch .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_array.c#1 branch .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_mem.c#1 branch .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/rpc/xdr.c#3 delete .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/rpc/xdr.h#3 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/rpc/xdr_array.c#3 delete .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/rpc/xdr_mem.c#2 delete .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/sys/acl.h#2 integrate .. //depot/projects/tcp_reass/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h#2 integrate .. //depot/projects/tcp_reass/cddl/dev/lockstat/lockstat.c#1 branch .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_misc.c#4 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_proto.h#5 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_syscall.h#5 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_syscalls.c#5 integrate .. //depot/projects/tcp_reass/compat/freebsd32/freebsd32_sysent.c#5 integrate .. //depot/projects/tcp_reass/compat/freebsd32/syscalls.master#5 integrate .. //depot/projects/tcp_reass/compat/linprocfs/linprocfs.c#4 integrate .. //depot/projects/tcp_reass/compat/linux/linux_file.c#5 integrate .. //depot/projects/tcp_reass/compat/linux/linux_futex.c#4 integrate .. //depot/projects/tcp_reass/compat/linux/linux_getcwd.c#3 integrate .. //depot/projects/tcp_reass/compat/linux/linux_ioctl.c#3 integrate .. //depot/projects/tcp_reass/compat/linux/linux_mib.c#3 integrate .. //depot/projects/tcp_reass/compat/linux/linux_misc.c#6 integrate .. //depot/projects/tcp_reass/compat/linux/linux_socket.c#3 integrate .. //depot/projects/tcp_reass/compat/linux/linux_socket.h#3 integrate .. //depot/projects/tcp_reass/compat/linux/linux_stats.c#4 integrate .. //depot/projects/tcp_reass/compat/ndis/kern_ndis.c#4 integrate .. //depot/projects/tcp_reass/compat/ndis/kern_windrv.c#3 integrate .. //depot/projects/tcp_reass/compat/ndis/subr_ndis.c#4 integrate .. //depot/projects/tcp_reass/compat/ndis/subr_usbd.c#3 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_fcntl.c#6 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_ioctl.c#3 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_misc.c#5 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_resource.c#2 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_signal.c#2 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_socket.c#2 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_sockio.c#3 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_stat.c#3 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_stream.c#3 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_sysconfig.h#2 integrate .. //depot/projects/tcp_reass/compat/svr4/svr4_sysent.c#3 integrate .. //depot/projects/tcp_reass/conf/NOTES#5 integrate .. //depot/projects/tcp_reass/conf/files#6 integrate .. //depot/projects/tcp_reass/conf/files.amd64#5 integrate .. //depot/projects/tcp_reass/conf/files.i386#5 integrate .. //depot/projects/tcp_reass/conf/files.pc98#4 integrate .. //depot/projects/tcp_reass/conf/files.powerpc#5 integrate .. //depot/projects/tcp_reass/conf/kern.pre.mk#4 integrate .. //depot/projects/tcp_reass/conf/options#5 integrate .. //depot/projects/tcp_reass/contrib/altq/altq/altq_subr.c#3 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/CHANGES.txt#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acapps.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acconfig.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acdebug.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acdisasm.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acdispat.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acefi.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acenv.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acevents.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acexcep.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acfreebsd.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acgcc.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acglobal.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/achware.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acinterp.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/aclocal.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acmacros.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acnames.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acnamesp.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acobject.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acopcode.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acoutput.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acparser.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acpi.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acpica_prep.sh#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/acpiosxf.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acpixf.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acresrc.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acstruct.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/actables.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/actbl.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/actbl1.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/actbl2.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/actypes.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/acutils.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/aecommon.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/amlcode.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/amlresrc.h#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/changes.txt#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/common/adfile.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/common/adisasm.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/common/adwalk.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/common/dmrestag.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/common/dmtable.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/common/dmtbdump.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/common/dmtbinfo.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/common/getopt.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslanalyze.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslcodegen.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslcompile.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslcompiler.h#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslcompiler.l#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslcompiler.y#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/asldefine.h#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslerror.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslfiles.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslfold.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslglobal.h#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/asllength.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/asllisting.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslload.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/asllookup.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslmain.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslmap.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslopcodes.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/asloperands.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslopt.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslresource.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslrestype1.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslrestype2.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslstartup.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslstubs.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/asltransform.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/asltree.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/asltypes.h#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/compiler/aslutils.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/dbcmds.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dbdisply.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dbexec.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dbfileio.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dbhistry.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dbinput.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dbstats.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dbutils.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dbxface.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/debugger/dbcmds.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/debugger/dbdisply.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/debugger/dbexec.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/debugger/dbfileio.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/debugger/dbhistry.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/debugger/dbinput.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/debugger/dbstats.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/debugger/dbutils.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/debugger/dbxface.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/disassembler/dmbuffer.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/disassembler/dmnames.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/disassembler/dmobject.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/disassembler/dmopcode.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/disassembler/dmresrc.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/disassembler/dmresrcl.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/disassembler/dmresrcs.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/disassembler/dmutils.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/disassembler/dmwalk.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/dispatcher/dsfield.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/dispatcher/dsinit.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/dispatcher/dsmethod.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/dispatcher/dsmthdat.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/dispatcher/dsobject.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/dispatcher/dsopcode.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/dispatcher/dsutils.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/dispatcher/dswexec.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/dispatcher/dswload.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/dispatcher/dswscope.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/dispatcher/dswstate.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/dmbuffer.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dmnames.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dmobject.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dmopcode.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dmresrc.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dmresrcl.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dmresrcs.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dmutils.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dmwalk.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dsfield.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dsinit.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dsmethod.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dsmthdat.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dsobject.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dsopcode.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dsutils.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dswexec.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dswload.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dswscope.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/dswstate.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/events/evevent.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/events/evgpe.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/events/evgpeblk.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/events/evmisc.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/events/evregion.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/events/evrgnini.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/events/evsci.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/events/evxface.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/events/evxfevnt.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/events/evxfregn.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/evevent.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/evgpe.c#3 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/evgpeblk.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/evmisc.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/evregion.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/evrgnini.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/evsci.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/evxface.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/evxfevnt.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/evxfregn.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exconfig.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exconvrt.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/excreate.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exdump.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exconfig.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exconvrt.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/excreate.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exdump.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exfield.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exfldio.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exmisc.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exmutex.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exnames.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exoparg1.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exoparg2.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exoparg3.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exoparg6.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exprep.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exregion.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exresnte.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exresolv.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exresop.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exstore.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exstoren.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exstorob.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exsystem.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/executer/exutils.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/exfield.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exfldio.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exmisc.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exmutex.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exnames.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exoparg1.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exoparg2.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exoparg3.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exoparg6.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exprep.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exregion.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exresnte.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exresolv.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exresop.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exstore.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exstoren.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exstorob.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exsystem.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/exutils.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/hardware/hwacpi.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/hardware/hwgpe.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/hardware/hwregs.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/hardware/hwsleep.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/hardware/hwtimer.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/hardware/hwvalid.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/hardware/hwxface.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/hwacpi.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/hwgpe.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/hwregs.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/hwsleep.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/hwtimer.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acapps.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/accommon.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acconfig.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acdebug.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acdisasm.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acdispat.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acevents.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acexcep.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acglobal.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/achware.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acinterp.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/aclocal.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acmacros.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acnames.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acnamesp.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acobject.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acopcode.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acoutput.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acparser.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acpi.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acpiosxf.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acpixf.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acpredef.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acresrc.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acrestyp.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acstruct.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/actables.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/actbl.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/actbl1.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/actypes.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/acutils.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/amlcode.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/amlresrc.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/platform/acenv.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/platform/acfreebsd.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/include/platform/acgcc.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nsaccess.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nsalloc.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nsdump.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nsdumpdv.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nseval.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nsinit.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nsload.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nsnames.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nsobject.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nsparse.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nspredef.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nssearch.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nsutils.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nswalk.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nsxfeval.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nsxfname.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/namespace/nsxfobj.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/nsaccess.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nsalloc.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nsdump.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nsdumpdv.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nseval.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nsinit.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nsload.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nsnames.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nsobject.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nsparse.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nssearch.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nsutils.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nswalk.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nsxfeval.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nsxfname.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/nsxfobj.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/osunixxf.c#2 integrate .. //depot/projects/tcp_reass/contrib/dev/acpica/parser/psargs.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/parser/psloop.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/parser/psopcode.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/parser/psparse.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/parser/psscope.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/parser/pstree.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/parser/psutils.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/parser/pswalk.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/parser/psxface.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/psargs.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/psloop.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/psopcode.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/psparse.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/psscope.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/pstree.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/psutils.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/pswalk.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/psxface.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/resources/rsaddr.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/resources/rscalc.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/resources/rscreate.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/resources/rsdump.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/resources/rsinfo.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/resources/rsio.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/resources/rsirq.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/resources/rslist.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/resources/rsmemory.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/resources/rsmisc.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/resources/rsutils.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/resources/rsxface.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/rsaddr.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/rscalc.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/rscreate.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/rsdump.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/rsinfo.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/rsio.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/rsirq.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/rslist.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/rsmemory.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/rsmisc.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/rsutils.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/rsxface.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/tables/tbfadt.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/tables/tbfind.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/tables/tbinstal.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/tables/tbutils.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/tables/tbxface.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/tables/tbxfroot.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/tbfadt.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/tbfind.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/tbinstal.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/tbutils.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/tbxface.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/tbxfroot.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/tools/acpiexec/aecommon.h#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utalloc.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utcache.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utclib.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utcopy.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utdebug.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utdelete.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/uteval.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utglobal.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utalloc.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utcache.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utcopy.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utdebug.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utdelete.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/uteval.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utglobal.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utinit.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utlock.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utmath.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utmisc.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utmutex.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utobject.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utresrc.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utstate.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/uttrack.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utilities/utxface.c#1 branch .. //depot/projects/tcp_reass/contrib/dev/acpica/utinit.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utmath.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utmisc.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utmutex.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utobject.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utresrc.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utstate.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/uttrack.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/acpica/utxface.c#2 delete .. //depot/projects/tcp_reass/contrib/dev/mwl/LICENSE#1 branch .. //depot/projects/tcp_reass/contrib/dev/mwl/Makefile#1 branch .. //depot/projects/tcp_reass/contrib/dev/mwl/mw88W8363.fw.uu#1 branch .. //depot/projects/tcp_reass/contrib/dev/mwl/mwlboot.fw.uu#1 branch .. //depot/projects/tcp_reass/contrib/ipfilter/netinet/ip_fil_freebsd.c#3 integrate .. //depot/projects/tcp_reass/contrib/ipfilter/netinet/ip_nat.c#3 integrate .. //depot/projects/tcp_reass/contrib/pf/net/if_pflog.c#3 integrate .. //depot/projects/tcp_reass/contrib/pf/net/pf.c#4 integrate .. //depot/projects/tcp_reass/contrib/pf/net/pf_if.c#4 integrate .. //depot/projects/tcp_reass/contrib/pf/net/pf_ioctl.c#4 integrate .. //depot/projects/tcp_reass/crypto/via/padlock_hash.c#3 integrate .. //depot/projects/tcp_reass/ddb/db_textdump.c#4 integrate .. //depot/projects/tcp_reass/dev/aac/aac.c#5 integrate .. //depot/projects/tcp_reass/dev/acpi_support/acpi_aiboost.c#2 integrate .. //depot/projects/tcp_reass/dev/acpi_support/acpi_asus.c#4 integrate .. //depot/projects/tcp_reass/dev/acpi_support/acpi_fujitsu.c#3 integrate .. //depot/projects/tcp_reass/dev/acpi_support/acpi_ibm.c#4 integrate .. //depot/projects/tcp_reass/dev/acpi_support/acpi_panasonic.c#3 integrate .. //depot/projects/tcp_reass/dev/acpi_support/acpi_sony.c#3 integrate .. //depot/projects/tcp_reass/dev/acpi_support/acpi_toshiba.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/Osd/OsdHardware.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/Osd/OsdInterrupt.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/Osd/OsdSchedule.c#4 integrate .. //depot/projects/tcp_reass/dev/acpica/Osd/OsdStream.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/Osd/OsdSynch.c#3 integrate .. //depot/projects/tcp_reass/dev/acpica/Osd/OsdTable.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi.c#5 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_acad.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_battery.c#3 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_button.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_cmbat.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_cpu.c#5 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_dock.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_ec.c#3 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_hpet.c#4 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_if.m#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_isab.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_lid.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_package.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_pci.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_pci_link.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_pcib.c#3 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_pcib_acpi.c#3 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_pcib_pci.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_perf.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_powerres.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_quirk.c#3 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_resource.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_smbat.c#3 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_thermal.c#4 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_throttle.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_timer.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpi_video.c#2 integrate .. //depot/projects/tcp_reass/dev/acpica/acpivar.h#4 integrate .. //depot/projects/tcp_reass/dev/age/if_age.c#2 integrate .. //depot/projects/tcp_reass/dev/agp/agp_ali.c#2 integrate .. //depot/projects/tcp_reass/dev/agp/agp_amd.c#2 integrate .. //depot/projects/tcp_reass/dev/agp/agp_ati.c#2 integrate .. //depot/projects/tcp_reass/dev/agp/agp_nvidia.c#3 integrate .. //depot/projects/tcp_reass/dev/agp/agp_sis.c#2 integrate .. //depot/projects/tcp_reass/dev/aic/aic.c#2 integrate .. //depot/projects/tcp_reass/dev/aic7xxx/aicasm/Makefile#2 integrate .. //depot/projects/tcp_reass/dev/aic7xxx/aicasm/aicasm.c#2 integrate .. //depot/projects/tcp_reass/dev/aic7xxx/aicasm/aicasm_gram.y#2 integrate .. //depot/projects/tcp_reass/dev/aic7xxx/aicasm/aicasm_macro_gram.y#2 integrate .. //depot/projects/tcp_reass/dev/aic7xxx/aicasm/aicasm_macro_scan.l#2 integrate .. //depot/projects/tcp_reass/dev/aic7xxx/aicasm/aicasm_scan.l#2 integrate .. //depot/projects/tcp_reass/dev/aic7xxx/aicasm/aicasm_symbol.c#2 integrate .. //depot/projects/tcp_reass/dev/aic7xxx/aicasm/aicasm_symbol.h#2 integrate .. //depot/projects/tcp_reass/dev/alc/if_alc.c#1 branch .. //depot/projects/tcp_reass/dev/alc/if_alcreg.h#1 branch .. //depot/projects/tcp_reass/dev/alc/if_alcvar.h#1 branch .. //depot/projects/tcp_reass/dev/amr/amr.c#4 integrate .. //depot/projects/tcp_reass/dev/amr/amr_linux.c#2 integrate .. //depot/projects/tcp_reass/dev/arcmsr/arcmsr.c#3 integrate .. //depot/projects/tcp_reass/dev/asmc/asmc.c#4 integrate .. //depot/projects/tcp_reass/dev/ata/ata-all.c#5 integrate .. //depot/projects/tcp_reass/dev/ata/ata-all.h#5 integrate .. //depot/projects/tcp_reass/dev/ata/ata-pci.h#5 integrate .. //depot/projects/tcp_reass/dev/ata/atapi-cam.c#4 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-acard.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-acerlabs.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-ahci.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-intel.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-nvidia.c#2 integrate .. //depot/projects/tcp_reass/dev/ata/chipsets/ata-promise.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ah.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ah.h#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ah_desc.h#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ah_internal.h#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5210/ar5210_attach.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5210/ar5210_interrupts.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5211/ar5211_attach.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5211/ar5211_interrupts.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5212/ar5212_attach.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5212/ar5212_interrupts.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5212/ar5212_xmit.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5212/ar5212reg.h#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5416/ar5416_attach.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5416/ar5416_interrupts.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_hal/ar5416/ar5416_xmit.c#2 integrate .. //depot/projects/tcp_reass/dev/ath/ath_rate/sample/sample.c#4 integrate .. //depot/projects/tcp_reass/dev/ath/if_ath.c#5 integrate .. //depot/projects/tcp_reass/dev/ath/if_ath_pci.c#4 integrate .. //depot/projects/tcp_reass/dev/ath/if_athvar.h#4 integrate .. //depot/projects/tcp_reass/dev/bce/if_bce.c#5 integrate .. //depot/projects/tcp_reass/dev/bge/if_bge.c#5 integrate .. //depot/projects/tcp_reass/dev/bktr/bktr_os.c#3 integrate .. //depot/projects/tcp_reass/dev/bwi/bwimac.c#2 integrate .. //depot/projects/tcp_reass/dev/bwi/bwiphy.c#2 integrate .. //depot/projects/tcp_reass/dev/bwi/if_bwi.c#2 integrate .. //depot/projects/tcp_reass/dev/bwi/if_bwi_pci.c#2 integrate .. //depot/projects/tcp_reass/dev/bwi/if_bwireg.h#2 integrate .. //depot/projects/tcp_reass/dev/bwi/if_bwivar.h#2 integrate .. //depot/projects/tcp_reass/dev/cas/if_cas.c#1 branch .. //depot/projects/tcp_reass/dev/cas/if_casreg.h#1 branch .. //depot/projects/tcp_reass/dev/cas/if_casvar.h#1 branch .. //depot/projects/tcp_reass/dev/ce/if_ce.c#3 integrate .. //depot/projects/tcp_reass/dev/cfe/cfe_console.c#2 integrate .. //depot/projects/tcp_reass/dev/cfi/cfi_core.c#2 integrate .. //depot/projects/tcp_reass/dev/ciss/ciss.c#4 integrate .. //depot/projects/tcp_reass/dev/cp/if_cp.c#3 integrate .. //depot/projects/tcp_reass/dev/ctau/if_ct.c#3 integrate .. //depot/projects/tcp_reass/dev/cx/if_cx.c#3 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_ael1002.c#4 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_common.h#4 integrate .. //depot/projects/tcp_reass/dev/cxgb/common/cxgb_t3_hw.c#4 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_adapter.h#6 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_main.c#6 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_multiq.c#4 integrate .. //depot/projects/tcp_reass/dev/cxgb/cxgb_sge.c#5 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#2 integrate .. //depot/projects/tcp_reass/dev/cxgb/ulp/tom/cxgb_cpl_io.c#5 integrate .. //depot/projects/tcp_reass/dev/dc/if_dc.c#4 integrate .. //depot/projects/tcp_reass/dev/dcons/dcons_os.c#3 integrate .. //depot/projects/tcp_reass/dev/e1000/if_em.c#2 integrate .. //depot/projects/tcp_reass/dev/e1000/if_igb.c#2 integrate .. //depot/projects/tcp_reass/dev/ed/if_ed.c#3 integrate .. //depot/projects/tcp_reass/dev/eisa/eisaconf.c#2 integrate .. //depot/projects/tcp_reass/dev/ep/if_ep.c#3 integrate .. //depot/projects/tcp_reass/dev/fdc/fdc_acpi.c#2 integrate .. //depot/projects/tcp_reass/dev/firewire/firewire.c#3 integrate .. //depot/projects/tcp_reass/dev/firewire/if_fwe.c#4 integrate .. //depot/projects/tcp_reass/dev/firewire/if_fwip.c#4 integrate .. //depot/projects/tcp_reass/dev/flash/at45d.c#2 integrate .. //depot/projects/tcp_reass/dev/fxp/if_fxp.c#4 integrate .. //depot/projects/tcp_reass/dev/if_ndis/if_ndis.c#5 integrate .. //depot/projects/tcp_reass/dev/if_ndis/if_ndis_usb.c#3 integrate .. //depot/projects/tcp_reass/dev/if_ndis/if_ndisvar.h#4 integrate .. //depot/projects/tcp_reass/dev/iir/iir.c#2 integrate .. //depot/projects/tcp_reass/dev/iir/iir_ctrl.c#3 integrate .. //depot/projects/tcp_reass/dev/iir/iir_pci.c#2 integrate .. //depot/projects/tcp_reass/dev/ipmi/ipmi_acpi.c#3 integrate .. //depot/projects/tcp_reass/dev/ipw/if_ipw.c#4 integrate .. //depot/projects/tcp_reass/dev/ipw/if_ipwvar.h#4 integrate .. //depot/projects/tcp_reass/dev/iwi/if_iwi.c#4 integrate .. //depot/projects/tcp_reass/dev/iwi/if_iwivar.h#4 integrate .. //depot/projects/tcp_reass/dev/iwn/if_iwn.c#3 integrate .. //depot/projects/tcp_reass/dev/iwn/if_iwnvar.h#3 integrate .. //depot/projects/tcp_reass/dev/ixgb/if_ixgb.c#2 integrate .. //depot/projects/tcp_reass/dev/kbd/kbd.c#3 integrate .. //depot/projects/tcp_reass/dev/kbdmux/kbdmux.c#3 integrate .. //depot/projects/tcp_reass/dev/ksyms/ksyms.c#1 branch .. //depot/projects/tcp_reass/dev/lge/if_lge.c#3 integrate .. //depot/projects/tcp_reass/dev/lmc/if_lmc.c#3 integrate .. //depot/projects/tcp_reass/dev/lmc/if_lmc.h#3 integrate .. //depot/projects/tcp_reass/dev/malo/if_malo.c#3 integrate .. //depot/projects/tcp_reass/dev/malo/if_malo.h#2 integrate .. //depot/projects/tcp_reass/dev/malo/if_malo_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/mca/mca_bus.c#3 integrate .. //depot/projects/tcp_reass/dev/md/md.c#5 integrate .. //depot/projects/tcp_reass/dev/mfi/mfi.c#5 integrate .. //depot/projects/tcp_reass/dev/mfi/mfi_linux.c#2 integrate .. //depot/projects/tcp_reass/dev/mge/if_mge.c#2 integrate .. //depot/projects/tcp_reass/dev/mii/e1000phy.c#3 integrate .. //depot/projects/tcp_reass/dev/mii/e1000phyreg.h#2 integrate .. //depot/projects/tcp_reass/dev/mii/miidevs#5 integrate .. //depot/projects/tcp_reass/dev/mii/nsgphy.c#2 integrate .. //depot/projects/tcp_reass/dev/mpt/mpt_raid.c#4 integrate .. //depot/projects/tcp_reass/dev/mpt/mpt_user.c#2 integrate .. //depot/projects/tcp_reass/dev/msk/if_msk.c#5 integrate .. //depot/projects/tcp_reass/dev/msk/if_mskreg.h#4 integrate .. //depot/projects/tcp_reass/dev/mwl/if_mwl.c#1 branch .. //depot/projects/tcp_reass/dev/mwl/if_mwl_pci.c#1 branch .. //depot/projects/tcp_reass/dev/mwl/if_mwlioctl.h#1 branch .. //depot/projects/tcp_reass/dev/mwl/if_mwlvar.h#1 branch .. //depot/projects/tcp_reass/dev/mwl/mwldiag.h#1 branch .. //depot/projects/tcp_reass/dev/mwl/mwlhal.c#1 branch .. //depot/projects/tcp_reass/dev/mwl/mwlhal.h#1 branch .. //depot/projects/tcp_reass/dev/mwl/mwlreg.h#1 branch .. //depot/projects/tcp_reass/dev/mxge/if_mxge.c#6 integrate .. //depot/projects/tcp_reass/dev/mxge/if_mxge_var.h#5 integrate .. //depot/projects/tcp_reass/dev/ncv/ncr53c500_pccard.c#2 integrate .. //depot/projects/tcp_reass/dev/nfe/if_nfe.c#6 integrate .. //depot/projects/tcp_reass/dev/nge/if_nge.c#2 integrate .. //depot/projects/tcp_reass/dev/nge/if_ngereg.h#2 integrate .. //depot/projects/tcp_reass/dev/nmdm/nmdm.c#3 integrate .. //depot/projects/tcp_reass/dev/nsp/nsp_pccard.c#2 integrate .. //depot/projects/tcp_reass/dev/ofw/ofw_bus_subr.c#3 integrate .. //depot/projects/tcp_reass/dev/ofw/ofw_bus_subr.h#3 integrate .. //depot/projects/tcp_reass/dev/ofw/ofw_console.c#4 integrate .. //depot/projects/tcp_reass/dev/ofw/ofw_disk.c#2 integrate .. //depot/projects/tcp_reass/dev/ofw/ofw_if.m#2 integrate .. //depot/projects/tcp_reass/dev/ofw/ofw_iicbus.c#2 integrate .. //depot/projects/tcp_reass/dev/ofw/ofw_standard.c#2 integrate .. //depot/projects/tcp_reass/dev/ofw/ofwvar.h#2 integrate .. //depot/projects/tcp_reass/dev/ofw/openfirm.c#3 integrate .. //depot/projects/tcp_reass/dev/ofw/openfirm.h#3 integrate .. //depot/projects/tcp_reass/dev/ofw/openfirmio.c#3 integrate .. //depot/projects/tcp_reass/dev/pcf/pcf.c#3 integrate .. //depot/projects/tcp_reass/dev/pcf/pcfvar.h#3 integrate .. //depot/projects/tcp_reass/dev/pci/pci.c#4 integrate .. //depot/projects/tcp_reass/dev/pci/pci_pci.c#3 integrate .. //depot/projects/tcp_reass/dev/pci/pcib_if.m#2 integrate .. //depot/projects/tcp_reass/dev/pci/pcivar.h#4 integrate .. //depot/projects/tcp_reass/dev/pdq/if_fpa.c#2 integrate .. //depot/projects/tcp_reass/dev/puc/pucdata.c#4 integrate .. //depot/projects/tcp_reass/dev/ral/rt2560.c#5 integrate .. //depot/projects/tcp_reass/dev/ral/rt2560var.h#5 integrate .. //depot/projects/tcp_reass/dev/ral/rt2661.c#4 integrate .. //depot/projects/tcp_reass/dev/ral/rt2661var.h#4 integrate .. //depot/projects/tcp_reass/dev/random/nehemiah.c#2 integrate .. //depot/projects/tcp_reass/dev/random/randomdev_soft.c#3 integrate .. //depot/projects/tcp_reass/dev/re/if_re.c#6 integrate .. //depot/projects/tcp_reass/dev/rp/rp.c#3 integrate .. //depot/projects/tcp_reass/dev/sec/sec.c#1 branch .. //depot/projects/tcp_reass/dev/sec/sec.h#1 branch .. //depot/projects/tcp_reass/dev/sf/if_sf.c#2 integrate .. //depot/projects/tcp_reass/dev/si/si.c#3 integrate .. //depot/projects/tcp_reass/dev/sis/if_sis.c#2 integrate .. //depot/projects/tcp_reass/dev/smc/if_smc.c#2 integrate .. //depot/projects/tcp_reass/dev/smc/if_smcvar.h#2 integrate .. //depot/projects/tcp_reass/dev/snc/if_snc.c#3 integrate .. //depot/projects/tcp_reass/dev/snc/if_sncvar.h#2 integrate .. //depot/projects/tcp_reass/dev/snp/snp.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/clone.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/driver.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/isa/ad1816.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/isa/ess.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/isa/gusc.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/isa/mss.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/isa/sb16.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/isa/sb8.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/isa/sbc.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/isa/sndbuf_dma.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/macio/aoa.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/macio/davbus.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/macio/i2s.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/macio/snapper.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/macio/tumbler.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/midi/midi.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/midi/mpu401.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/midi/sequencer.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/midi/sequencer.h#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/als4000.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/atiixp.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/aureal.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/cmi.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/pci/cs4281.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/csa.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/pci/csapcm.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/ds1.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/pci/emu10k1.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/pci/emu10kx-midi.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/emu10kx-pcm.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/emu10kx.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/pci/envy24.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/pci/envy24ht.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/pci/es137x.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/fm801.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/hda/hdac.c#4 integrate .. //depot/projects/tcp_reass/dev/sound/pci/ich.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/pci/maestro.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/maestro3.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/neomagic.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/solo.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/spicds.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/pci/t4dwave.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/via8233.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/via82c686.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/via82c686.h#2 integrate .. //depot/projects/tcp_reass/dev/sound/pci/vibes.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/ac97_patch.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/buffer.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/buffer.h#2 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/channel.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/channel.h#3 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/channel_if.m#2 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/dsp.c#4 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/dsp.h#2 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/fake.c#2 delete .. //depot/projects/tcp_reass/dev/sound/pcm/feeder.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/feeder.h#2 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/feeder_chain.c#1 branch .. //depot/projects/tcp_reass/dev/sound/pcm/feeder_eq.c#1 branch .. //depot/projects/tcp_reass/dev/sound/pcm/feeder_fmt.c#2 delete .. //depot/projects/tcp_reass/dev/sound/pcm/feeder_format.c#1 branch .. //depot/projects/tcp_reass/dev/sound/pcm/feeder_matrix.c#1 branch .. //depot/projects/tcp_reass/dev/sound/pcm/feeder_mixer.c#1 branch .. //depot/projects/tcp_reass/dev/sound/pcm/feeder_rate.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/feeder_volume.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/g711.h#1 branch .. //depot/projects/tcp_reass/dev/sound/pcm/intpcm.h#1 branch .. //depot/projects/tcp_reass/dev/sound/pcm/matrix.h#1 branch .. //depot/projects/tcp_reass/dev/sound/pcm/matrix_map.h#1 branch .. //depot/projects/tcp_reass/dev/sound/pcm/mixer.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/mixer.h#3 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/pcm.h#1 branch .. //depot/projects/tcp_reass/dev/sound/pcm/sndstat.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/sndstat.h#1 branch .. //depot/projects/tcp_reass/dev/sound/pcm/sound.c#3 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/sound.h#3 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/vchan.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/pcm/vchan.h#2 integrate .. //depot/projects/tcp_reass/dev/sound/sbus/cs4231.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/sbus/cs4231.h#2 integrate .. //depot/projects/tcp_reass/dev/sound/unit.c#2 integrate .. //depot/projects/tcp_reass/dev/sound/version.h#2 integrate .. //depot/projects/tcp_reass/dev/spibus/spibus.c#2 integrate .. //depot/projects/tcp_reass/dev/ste/if_ste.c#2 integrate .. //depot/projects/tcp_reass/dev/stg/tmc18c30.h#2 integrate .. //depot/projects/tcp_reass/dev/stg/tmc18c30_subr.c#2 integrate .. //depot/projects/tcp_reass/dev/stge/if_stge.c#4 integrate .. //depot/projects/tcp_reass/dev/syscons/daemon/daemon_saver.c#3 integrate .. //depot/projects/tcp_reass/dev/syscons/scterm-teken.c#2 integrate .. //depot/projects/tcp_reass/dev/syscons/syscons.c#5 integrate .. //depot/projects/tcp_reass/dev/syscons/sysmouse.c#4 integrate .. //depot/projects/tcp_reass/dev/syscons/teken/sequences#2 integrate .. //depot/projects/tcp_reass/dev/syscons/teken/teken.c#2 integrate .. //depot/projects/tcp_reass/dev/syscons/teken/teken.h#2 integrate .. //depot/projects/tcp_reass/dev/syscons/teken/teken_demo.c#2 integrate .. //depot/projects/tcp_reass/dev/syscons/teken/teken_stress.c#2 integrate .. //depot/projects/tcp_reass/dev/syscons/teken/teken_subr_compat.h#2 integrate .. //depot/projects/tcp_reass/dev/tsec/if_tsec.c#3 integrate .. //depot/projects/tcp_reass/dev/tsec/if_tsec.h#3 integrate .. //depot/projects/tcp_reass/dev/twa/tw_osl_freebsd.c#3 integrate .. //depot/projects/tcp_reass/dev/twe/twe_freebsd.c#3 integrate .. //depot/projects/tcp_reass/dev/uart/uart_cpu_mv.c#2 integrate .. //depot/projects/tcp_reass/dev/uart/uart_tty.c#3 integrate .. //depot/projects/tcp_reass/dev/ubsec/ubsec.c#3 integrate .. //depot/projects/tcp_reass/dev/usb/README.TXT#2 delete .. //depot/projects/tcp_reass/dev/usb/bluetooth/TODO.TXT#2 delete .. //depot/projects/tcp_reass/dev/usb/bluetooth/ng_ubt.c#2 delete .. //depot/projects/tcp_reass/dev/usb/bluetooth/ng_ubt_var.h#2 delete .. //depot/projects/tcp_reass/dev/usb/bluetooth/ubtbcmfw.c#2 delete .. //depot/projects/tcp_reass/dev/usb/controller/at91dci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/at91dci.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/at91dci_atmelarm.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/atmegadci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/atmegadci.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/atmegadci_atmelarm.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/avr32dci.c#1 branch .. //depot/projects/tcp_reass/dev/usb/controller/avr32dci.h#1 branch .. //depot/projects/tcp_reass/dev/usb/controller/ehci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci_ixp4xx.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci_mbus.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ehci_pci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/musb_otg.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/musb_otg.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/musb_otg_atmelarm.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ohci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ohci.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ohci_atmelarm.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/ohci_pci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uhci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uhci.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uhci_pci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/usb_controller.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uss820dci.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uss820dci.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/controller/uss820dci_atmelarm.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/input/uhid.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/input/ukbd.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/input/ums.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/misc/udbp.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/misc/ufm.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_aue.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_auereg.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_axe.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_axereg.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_cdce.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_cdcereg.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_cue.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_cuereg.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_kue.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_kuereg.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_rue.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_ruereg.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_udav.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/if_udavreg.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/usb_ethernet.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/net/usb_ethernet.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/quirk/usb_quirk.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/quirk/usb_quirk.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/u3g.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uark.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ubsa.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ubser.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uchcom.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ucycom.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ufoma.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uftdi.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ugensa.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uipaq.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/ulpt.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/umct.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/umodem.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/umoscom.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uplcom.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/usb_serial.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/usb_serial.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uslcom.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uvisor.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/serial/uvscom.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/storage/umass.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/storage/urio.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/storage/ustorage_fs.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/template/usb_template.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/template/usb_template.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/template/usb_template_cdce.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/template/usb_template_msc.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/template/usb_template_mtp.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_bus.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_busdma.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_busdma.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_cdc.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_compat_linux.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_compat_linux.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_controller.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_core.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_debug.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_debug.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_defs.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_dev.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_dev.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_device.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_device.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_dynamic.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_dynamic.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_endian.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_error.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_error.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_generic.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_generic.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_handle_request.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_handle_request.h#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_hid.c#2 integrate .. //depot/projects/tcp_reass/dev/usb/usb_hid.h#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jun 19 09:56:17 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D4CE51065675; Fri, 19 Jun 2009 09:56:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 72E131065670 for ; Fri, 19 Jun 2009 09:56:16 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 610768FC15 for ; Fri, 19 Jun 2009 09:56:16 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5J9uE3B008644 for ; Fri, 19 Jun 2009 09:56:14 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5J9uEP2008641 for perforce@freebsd.org; Fri, 19 Jun 2009 09:56:14 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 19 Jun 2009 09:56:14 GMT Message-Id: <200906190956.n5J9uEP2008641@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164699 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2009 09:56:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=164699 Change 164699 by pgj@beehive on 2009/06/19 09:56:02 Several typo fixes in the Handbook translation Submitted by: Laszlo Acs Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml#16 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.sgml#14 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/network-servers/chapter.sgml#29 edit .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/ports/chapter.sgml#22 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml#16 (text+ko) ==== @@ -380,7 +380,7 @@ betöltését így tudjuk engedélyezni a rendszer indításakor:
      - &prompt.root; echo 'geom_mirror_load="YES"' >gt; /boot/loader.conf + &prompt.root; echo 'geom_mirror_load="YES"' >> /boot/loader.conf Nyissuk meg az /etc/fstab állományt, és cseréljük le @@ -539,7 +539,7 @@ a rendszert. Tegyük be a helyére az újat és indítsuk újra a rendszerünket. Miután elindult az operációs rendszer, a - következõ parancsok kiadásával tujduk + következõ parancsok kiadásával tudjuk logikailag is lecserélni a meghibásodott lemezt: ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.sgml#14 (text+ko) ==== @@ -864,7 +864,7 @@ options PREEMPTION # a rendszerszálak megszakíthatóságának engedélyezése Ha engedélyezzük, a rendszermagban futó - szálakat meg tujdák szakítani más, + szálakat meg tudják szakítani más, magasabb prioritású szálak. Ez segít növelni a rendszer válaszadási sebességét és csökkenti a ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/network-servers/chapter.sgml#29 (text+ko) ==== @@ -6057,8 +6057,9 @@ linkend="network-inetd-reread"> szót ejtett, az inetd beállításait újra be kell - olvastatunk a konfigurációs állomány - megváltoztatása után. A írja le az inetd engedélyezésének részleteit. ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/ports/chapter.sgml#22 (text+ko) ==== @@ -1711,7 +1711,8 @@ - Portok frisstse a <application>Portmanager</application> + <title>Portok frissítése a + <application>Portmanager</application> használatával portmanager From owner-p4-projects@FreeBSD.ORG Fri Jun 19 09:57:17 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C0A0D1065670; Fri, 19 Jun 2009 09:57:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6D0431065676 for ; Fri, 19 Jun 2009 09:57:16 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4F2538FC12 for ; Fri, 19 Jun 2009 09:57:16 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5J9vGX3008706 for ; Fri, 19 Jun 2009 09:57:16 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5J9vG9e008704 for perforce@freebsd.org; Fri, 19 Jun 2009 09:57:16 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 19 Jun 2009 09:57:16 GMT Message-Id: <200906190957.n5J9vG9e008704@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164700 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2009 09:57:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=164700 Change 164700 by pgj@beehive on 2009/06/19 09:56:38 IFC Affected files ... .. //depot/projects/docproj_hu/www/hu/share/sgml/events.xml#12 integrate .. //depot/projects/docproj_hu/www/share/sgml/commercial.isp.xml#13 integrate Differences ... ==== //depot/projects/docproj_hu/www/hu/share/sgml/events.xml#12 (text+ko) ==== @@ -17,7 +17,7 @@ - $FreeBSD: www/hu/share/sgml/events.xml,v 1.4 2009/06/10 22:33:34 pgj Exp $ + $FreeBSD: www/hu/share/sgml/events.xml,v 1.5 2009/06/18 02:23:38 pgj Exp $ ==== //depot/projects/docproj_hu/www/share/sgml/commercial.isp.xml#13 (text+ko) ==== @@ -1,12 +1,12 @@ - + - $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.46 2009/06/06 12:07:56 jkois Exp $ + $FreeBSD: www/share/sgml/commercial.isp.xml,v 1.47 2009/06/18 09:06:49 remko Exp $ @@ -746,15 +746,6 @@ - - High Speed Rails - http://highspeedrails.com - - High Speed Rails provides supported FreeBSD 6+ jails and managed - servers to your specifications. Check us out today. - - - Infotime Internet http://www.infotime.net From owner-p4-projects@FreeBSD.ORG Fri Jun 19 12:31:16 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 62E701065670; Fri, 19 Jun 2009 12:31:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 22FF5106564A for ; Fri, 19 Jun 2009 12:31:15 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0F5288FC16 for ; Fri, 19 Jun 2009 12:31:15 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5JCVEH2023895 for ; Fri, 19 Jun 2009 12:31:14 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5JCVE6B023893 for perforce@freebsd.org; Fri, 19 Jun 2009 12:31:14 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 19 Jun 2009 12:31:14 GMT Message-Id: <200906191231.n5JCVE6B023893@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164703 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2009 12:31:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=164703 Change 164703 by rwatson@rwatson_freebsd_capabilities on 2009/06/19 12:30:24 Make it easy to grant stdout access to a sandbox. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#23 edit .. //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#20 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#23 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#22 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability.h#23 $ */ #ifndef _LIBCAPABILITY_H_ @@ -78,6 +78,7 @@ * Flags to lch_start_flags: */ #define LCH_PERMIT_STDERR 0x00000001 +#define LCH_PERMIT_STDOUT 0x00000002 /* * Interfaces to query state about capability mode sandboxs. ==== //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#20 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#19 $ + * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapability/libcapability_host.c#20 $ */ #include @@ -178,7 +178,12 @@ return; fd_array[0] = fd_devnull; - fd_array[1] = fd_devnull; + if (flags & LCH_PERMIT_STDOUT) { + if (lc_limitfd(STDOUT_FILENO, CAP_SEEK | CAP_WRITE) < 0) + return; + fd_array[1] = STDOUT_FILENO; + } else + fd_array[1] = fd_devnull; if (flags & LCH_PERMIT_STDERR) { if (lc_limitfd(STDERR_FILENO, CAP_SEEK | CAP_WRITE) < 0) return; From owner-p4-projects@FreeBSD.ORG Fri Jun 19 12:44:30 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E43A51065679; Fri, 19 Jun 2009 12:44:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A482A1065675 for ; Fri, 19 Jun 2009 12:44:29 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 90D878FC16 for ; Fri, 19 Jun 2009 12:44:29 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5JCiTgF024970 for ; Fri, 19 Jun 2009 12:44:29 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5JCiTPb024968 for perforce@freebsd.org; Fri, 19 Jun 2009 12:44:29 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 19 Jun 2009 12:44:29 GMT Message-Id: <200906191244.n5JCiTPb024968@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 164706 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2009 12:44:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=164706 Change 164706 by rwatson@rwatson_freebsd_capabilities on 2009/06/19 12:43:48 After a very confusing debugging session, only run 'cap_main' for sandbox-mode binaries, don't fall back to 'main' as frequently that will be code unintended to run in sandbox mode. Affected files ... .. //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/rtld-elf-cap.1#7 edit .. //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf/rtld.c#20 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf-cap/rtld-elf-cap.1#7 (text+ko) ==== @@ -60,8 +60,8 @@ .It Recognizes the addition symbol .Dv cap_main , -which will be used in preference to the normal ELF entry point for a binary -when in sandbox mode. +which will be used instead of the normal ELF entry point for a binary when in +sandbox mode. This makes it easy a single binary to select different behavior when run in the different environments. .It ==== //depot/projects/trustedbsd/capabilities/src/libexec/rtld-elf/rtld.c#20 (text+ko) ==== @@ -657,10 +657,14 @@ * ELF default. */ cap_main_ptr = find_cap_main(obj_main); - if (cap_main_ptr != NULL) - return (func_ptr_type) cap_main_ptr; + if (cap_main_ptr == NULL) { + _rtld_error("cap_main not found"); + die(); + } + return (func_ptr_type) cap_main_ptr; +#else + return (func_ptr_type) obj_main->entry; #endif - return (func_ptr_type) obj_main->entry; } Elf_Addr From owner-p4-projects@FreeBSD.ORG Fri Jun 19 13:11:05 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1D9E110656CF; Fri, 19 Jun 2009 13:11:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC0B910656BC for ; Fri, 19 Jun 2009 13:11:04 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9FC248FC19 for ; Fri, 19 Jun 2009 13:11:04 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n5JDB1I4037945 for ; Fri, 19 Jun 2009 13:11:01 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n5JDAwxs037920 for perforce@freebsd.org; Fri, 19 Jun 2009 13:10:58 GMT (envelope-from pgj@FreeBSD.org) Date: Fri, 19 Jun 2009 13:10:58 GMT Message-Id: <200906191310.n5JDAwxs037920@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 164707 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Jun 2009 13:11:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=164707 Change 164707 by pgj@beehive on 2009/06/19 13:10:52 IFC Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml#17 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/kernelconfig/chapter.sgml#15 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/network-servers/chapter.sgml#30 integrate .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/ports/chapter.sgml#23 integrate Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/geom/chapter.sgml#17 (text+ko) ==== @@ -1,6 +1,6 @@