From owner-freebsd-emulation@FreeBSD.ORG Mon Mar 21 03:20:43 2011 Return-Path: Delivered-To: freebsd-emulation@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 02772106564A; Mon, 21 Mar 2011 03:20:43 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id D0A428FC17; Mon, 21 Mar 2011 03:20:42 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p2L3KgCq039446; Mon, 21 Mar 2011 03:20:42 GMT (envelope-from linimon@freefall.freebsd.org) Received: (from linimon@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p2L3Kgo5039436; Mon, 21 Mar 2011 03:20:42 GMT (envelope-from linimon) Date: Mon, 21 Mar 2011 03:20:42 GMT Message-Id: <201103210320.p2L3Kgo5039436@freefall.freebsd.org> To: linimon@FreeBSD.org, freebsd-bugs@FreeBSD.org, freebsd-emulation@FreeBSD.org From: linimon@FreeBSD.org Cc: Subject: Re: kern/155577: [boot] BTX halted after install. Reboot during installation. X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Mar 2011 03:20:43 -0000 Old Synopsis: BTX halted after install. Reboot during installation. New Synopsis: [boot] BTX halted after install. Reboot during installation. Responsible-Changed-From-To: freebsd-bugs->freebsd-emulation Responsible-Changed-By: linimon Responsible-Changed-When: Mon Mar 21 03:19:34 UTC 2011 Responsible-Changed-Why: Has to to with running under Microsoft virtual server. http://www.freebsd.org/cgi/query-pr.cgi?pr=155577 From owner-freebsd-emulation@FreeBSD.ORG Mon Mar 21 04:21:15 2011 Return-Path: Delivered-To: freebsd-emulation@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D26EC106566B; Mon, 21 Mar 2011 04:21:15 +0000 (UTC) (envelope-from john@feith.com) Received: from feith1.FEITH.COM (feith1.FEITH.COM [192.251.93.1]) by mx1.freebsd.org (Postfix) with ESMTP id 9F17B8FC08; Mon, 21 Mar 2011 04:21:15 +0000 (UTC) Received: from jwlab.FEITH.COM (jwlab.FEITH.COM [192.251.93.16]) by feith1.FEITH.COM (8.14.4+Sun/8.12.9) with ESMTP id p2L4LDo1023376; Mon, 21 Mar 2011 00:21:13 -0400 (EDT) (envelope-from john@jwlab.FEITH.COM) Received: from jwlab.FEITH.COM (localhost [127.0.0.1]) by jwlab.FEITH.COM (8.13.8+Sun/8.13.8) with ESMTP id p2L5Rg68018883; Mon, 21 Mar 2011 01:27:42 -0400 (EDT) Received: (from john@localhost) by jwlab.FEITH.COM (8.13.8+Sun/8.13.8/Submit) id p2L5Rfsf018882; Mon, 21 Mar 2011 01:27:41 -0400 (EDT) Date: Mon, 21 Mar 2011 01:27:41 -0400 (EDT) From: John Wehle Message-Id: <201103210527.p2L5Rfsf018882@jwlab.FEITH.COM> To: alexander@leidinger.net MIME-Version: 1.0 Content-Type: text/plain X-DCC--Metrics: feith1; whitelist X-Scanned-By: MIMEDefang 2.67 on 192.251.93.1 X-Archived: cashew Cc: freebsd-emulation@FreeBSD.org, avg@FreeBSD.org, bug-followup@FreeBSD.org Subject: Re: kern/149168: [linux] [patch] Linux sendmsg / recvmsg / etc fixes for pulseaudio X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Mar 2011 04:21:15 -0000 Enclosed is yet another slightly tweaked and lightly tested version. Changes from previous: 1) Address some style issues. 2) Add additional comments. Notes: 1) This has been tested on both i386 and amd64 with Fedora 10 paplay (client) talking to FreeBSD 8.2 pulseaudio (server) over both TCP and UNIX domain sockets. -- John -----------------------8<----------------------------8<------------------ --- ./compat/linux/linux_misc.h.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./compat/linux/linux_misc.h 2011-03-07 23:54:17.000000000 -0500 @@ -37,6 +37,8 @@ * Second arg is a ptr to return the * signal. */ +#define LINUX_PR_GET_KEEPCAPS 7 /* Get drop capabilities on setuid */ +#define LINUX_PR_SET_KEEPCAPS 8 /* Set drop capabilities on setuid */ #define LINUX_PR_SET_NAME 15 /* Set process name. */ #define LINUX_PR_GET_NAME 16 /* Get process name. */ --- ./compat/linux/linux_misc.c.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./compat/linux/linux_misc.c 2011-03-18 00:02:48.000000000 -0400 @@ -1733,6 +1733,100 @@ linux_exit_group(struct thread *td, stru return (0); } +#define _LINUX_CAPABILITY_VERSION 0x19980330 + +struct l_user_cap_header { + l_int version; + l_int pid; +}; + +struct l_user_cap_data { + l_int effective; + l_int permitted; + l_int inheritable; +}; + +int +linux_capget(struct thread *td, struct linux_capget_args *args) +{ + struct l_user_cap_header luch; + struct l_user_cap_data lucd; + int error; + + if (args->hdrp == NULL) + return (EFAULT); + + error = copyin(args->hdrp, &luch, sizeof(luch)); + if (error != 0) + return (error); + + if (luch.version != _LINUX_CAPABILITY_VERSION) { + luch.version = _LINUX_CAPABILITY_VERSION; + error = copyout(&luch, args->hdrp, sizeof(luch)); + if (error) + return (error); + return (EINVAL); + } + + if (luch.pid) + return (EPERM); + + if (args->datap) { + /* + * The current implementation doesn't support setting + * a capability (it's essentially a stub) so indicate + * that no capabilities are currently set or available + * to request. + */ + bzero (&lucd, sizeof(lucd)); + error = copyout(&lucd, args->datap, sizeof(lucd)); + } + + return (error); +} + +int +linux_capset(struct thread *td, struct linux_capset_args *args) +{ + struct l_user_cap_header luch; + struct l_user_cap_data lucd; + int error; + + if (args->hdrp == NULL || args->datap == NULL) + return (EFAULT); + + error = copyin(args->hdrp, &luch, sizeof(luch)); + if (error != 0) + return (error); + + if (luch.version != _LINUX_CAPABILITY_VERSION) { + luch.version = _LINUX_CAPABILITY_VERSION; + error = copyout(&luch, args->hdrp, sizeof(luch)); + if (error) + return (error); + return (EINVAL); + } + + if (luch.pid) + return (EPERM); + + error = copyin(args->datap, &lucd, sizeof(lucd)); + if (error != 0) + return (error); + + /* We currently don't support setting any capabilities. */ + if (lucd.effective || lucd.permitted || lucd.inheritable) { + linux_msg(td, + "capset effective=0x%x, permitted=0x%x, " + "inheritable=0x%x is not implemented", + (int)lucd.effective, (int)lucd.permitted, + (int)lucd.inheritable); + return (EPERM); + } + + return (0); +} + int linux_prctl(struct thread *td, struct linux_prctl_args *args) { @@ -1766,6 +1860,21 @@ linux_prctl(struct thread *td, struct li (void *)(register_t)args->arg2, sizeof(pdeath_signal)); break; + case LINUX_PR_GET_KEEPCAPS: + /* + * Indicate that we always clear the effective and + * permitted capability sets when the user id becomes + * non-zero (actually the capability sets are simply + * always zero in the current implementation). + */ + td->td_retval[0] = 0; + break; + case LINUX_PR_SET_KEEPCAPS: + /* + * Ignore requests to keep the effective and permitted + * capability sets when the user id becomes non-zero. + */ + break; case LINUX_PR_SET_NAME: /* * To be on the safe side we need to make sure to not --- ./compat/linux/linux_socket.h.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./compat/linux/linux_socket.h 2011-03-07 23:54:17.000000000 -0500 @@ -53,6 +53,7 @@ /* Socket-level control message types */ #define LINUX_SCM_RIGHTS 0x01 +#define LINUX_SCM_CREDENTIALS 0x02 /* Ancilliary data object information macros */ @@ -66,13 +67,14 @@ #define LINUX_CMSG_FIRSTHDR(msg) \ ((msg)->msg_controllen >= \ sizeof(struct l_cmsghdr) ? \ - (struct l_cmsghdr *)((msg)->msg_control) : \ + (struct l_cmsghdr *) \ + PTRIN((msg)->msg_control) : \ (struct l_cmsghdr *)(NULL)) #define LINUX_CMSG_NXTHDR(msg, cmsg) \ ((((char *)(cmsg) + \ LINUX_CMSG_ALIGN((cmsg)->cmsg_len) + \ sizeof(*(cmsg))) > \ - (((char *)(msg)->msg_control) + \ + (((char *)PTRIN((msg)->msg_control)) + \ (msg)->msg_controllen)) ? \ (struct l_cmsghdr *) NULL : \ (struct l_cmsghdr *)((char *)(cmsg) + \ --- ./compat/linux/linux_socket.c.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./compat/linux/linux_socket.c 2011-03-17 23:35:37.000000000 -0400 @@ -433,6 +433,8 @@ linux_to_bsd_cmsg_type(int cmsg_type) switch (cmsg_type) { case LINUX_SCM_RIGHTS: return (SCM_RIGHTS); + case LINUX_SCM_CREDENTIALS: + return (SCM_CREDS); } return (-1); } @@ -444,6 +446,8 @@ bsd_to_linux_cmsg_type(int cmsg_type) switch (cmsg_type) { case SCM_RIGHTS: return (LINUX_SCM_RIGHTS); + case SCM_CREDS: + return (LINUX_SCM_CREDENTIALS); } return (-1); } @@ -459,7 +463,16 @@ linux_to_bsd_msghdr(struct msghdr *bhdr, bhdr->msg_iov = PTRIN(lhdr->msg_iov); bhdr->msg_iovlen = lhdr->msg_iovlen; bhdr->msg_control = PTRIN(lhdr->msg_control); - bhdr->msg_controllen = lhdr->msg_controllen; + + /* + * msg_controllen is skipped since BSD and LINUX control messages + * are potentially different sizes (e.g. the cred structure used + * by SCM_CREDS is different between the two operating system). + * + * The caller can set it (if necessary) after converting all the + * control messages. + */ + bhdr->msg_flags = linux_to_bsd_msg_flags(lhdr->msg_flags); return (0); } @@ -472,7 +485,16 @@ bsd_to_linux_msghdr(const struct msghdr lhdr->msg_iov = PTROUT(bhdr->msg_iov); lhdr->msg_iovlen = bhdr->msg_iovlen; lhdr->msg_control = PTROUT(bhdr->msg_control); - lhdr->msg_controllen = bhdr->msg_controllen; + + /* + * msg_controllen is skipped since BSD and LINUX control messages + * are potentially different sizes (e.g. the cred structure used + * by SCM_CREDS is different between the two operating system). + * + * The caller can set it (if necessary) after converting all the + * control messages. + */ + /* msg_flags skipped */ return (0); } @@ -1092,6 +1114,7 @@ static int linux_sendmsg(struct thread *td, struct linux_sendmsg_args *args) { struct cmsghdr *cmsg; + struct cmsgcred cmcred; struct mbuf *control; struct msghdr msg; struct l_cmsghdr linux_cmsg; @@ -1099,15 +1122,14 @@ linux_sendmsg(struct thread *td, struct struct l_msghdr linux_msg; struct iovec *iov; socklen_t datalen; + struct sockaddr *sa; + sa_family_t sa_family; void *data; int error; error = copyin(PTRIN(args->msg), &linux_msg, sizeof(linux_msg)); if (error) return (error); - error = linux_to_bsd_msghdr(&msg, &linux_msg); - if (error) - return (error); /* * Some Linux applications (ping) define a non-NULL control data @@ -1116,8 +1138,12 @@ linux_sendmsg(struct thread *td, struct * order to handle this case. This should be checked, but allows the * Linux ping to work. */ - if (msg.msg_control != NULL && msg.msg_controllen == 0) - msg.msg_control = NULL; + if (PTRIN(linux_msg.msg_control) != NULL && linux_msg.msg_controllen == 0) + linux_msg.msg_control = PTROUT(NULL); + + error = linux_to_bsd_msghdr(&msg, &linux_msg); + if (error) + return (error); #ifdef COMPAT_LINUX32 error = linux32_copyiniov(PTRIN(msg.msg_iov), msg.msg_iovlen, @@ -1128,13 +1154,21 @@ linux_sendmsg(struct thread *td, struct if (error) return (error); - if (msg.msg_control != NULL) { + control = NULL; + cmsg = NULL; + + if ((ptr_cmsg = LINUX_CMSG_FIRSTHDR(&linux_msg)) != NULL) { + error = kern_getsockname(td, args->s, &sa, &datalen); + if (error) + goto bad; + sa_family = sa->sa_family; + free(sa, M_SONAME); + error = ENOBUFS; cmsg = malloc(CMSG_HDRSZ, M_TEMP, M_WAITOK | M_ZERO); control = m_get(M_WAIT, MT_CONTROL); if (control == NULL) goto bad; - ptr_cmsg = LINUX_CMSG_FIRSTHDR(&msg); do { error = copyin(ptr_cmsg, &linux_cmsg, @@ -1147,28 +1181,58 @@ linux_sendmsg(struct thread *td, struct goto bad; /* - * Now we support only SCM_RIGHTS, so return EINVAL - * in any other cmsg_type + * Now we support only SCM_RIGHTS and SCM_CRED, + * so return EINVAL in any other cmsg_type */ - if ((cmsg->cmsg_type = - linux_to_bsd_cmsg_type(linux_cmsg.cmsg_type)) == -1) - goto bad; + cmsg->cmsg_type = + linux_to_bsd_cmsg_type(linux_cmsg.cmsg_type); cmsg->cmsg_level = linux_to_bsd_sockopt_level(linux_cmsg.cmsg_level); + if (cmsg->cmsg_type == -1 + || cmsg->cmsg_level != SOL_SOCKET) + goto bad; + /* + * Some applications (e.g. pulseaudio) attempt to + * send ancillary data even if the underlying protocol + * doesn't support it which is not allowed in the + * FreeBSD system call interface. + */ + if (sa_family != AF_UNIX) + continue; + + data = LINUX_CMSG_DATA(ptr_cmsg); datalen = linux_cmsg.cmsg_len - L_CMSG_HDRSZ; + + switch (cmsg->cmsg_type) + { + case SCM_RIGHTS: + break; + + case SCM_CREDS: + data = &cmcred; + datalen = sizeof(cmcred); + + /* + * The lower levels will fill in the structure + */ + bzero(data, datalen); + break; + } + cmsg->cmsg_len = CMSG_LEN(datalen); - data = LINUX_CMSG_DATA(ptr_cmsg); error = ENOBUFS; if (!m_append(control, CMSG_HDRSZ, (c_caddr_t) cmsg)) goto bad; if (!m_append(control, datalen, (c_caddr_t) data)) goto bad; - } while ((ptr_cmsg = LINUX_CMSG_NXTHDR(&msg, ptr_cmsg))); - } else { - control = NULL; - cmsg = NULL; + } while ((ptr_cmsg = LINUX_CMSG_NXTHDR(&linux_msg, ptr_cmsg))); + + if (m_length(control, NULL) == 0) { + m_freem(control); + control = NULL; + } } msg.msg_iov = iov; @@ -1193,9 +1257,11 @@ static int linux_recvmsg(struct thread *td, struct linux_recvmsg_args *args) { struct cmsghdr *cm; + struct cmsgcred *cmcred; struct msghdr msg; struct l_cmsghdr *linux_cmsg = NULL; - socklen_t datalen, outlen, clen; + struct l_ucred linux_ucred; + socklen_t datalen, outlen; struct l_msghdr linux_msg; struct iovec *iov, *uiov; struct mbuf *control = NULL; @@ -1252,39 +1318,35 @@ linux_recvmsg(struct thread *td, struct goto bad; } - if (control) { + outbuf = PTRIN(linux_msg.msg_control); + outlen = 0; + if (control) { linux_cmsg = malloc(L_CMSG_HDRSZ, M_TEMP, M_WAITOK | M_ZERO); - outbuf = PTRIN(linux_msg.msg_control); - cm = mtod(control, struct cmsghdr *); - outlen = 0; - clen = control->m_len; - while (cm != NULL) { + msg.msg_control = mtod(control, struct cmsghdr *); + msg.msg_controllen = control->m_len; + + cm = CMSG_FIRSTHDR(&msg); - if ((linux_cmsg->cmsg_type = - bsd_to_linux_cmsg_type(cm->cmsg_type)) == -1) + while (cm != NULL) { + linux_cmsg->cmsg_type = + bsd_to_linux_cmsg_type(cm->cmsg_type); + linux_cmsg->cmsg_level = + bsd_to_linux_sockopt_level(cm->cmsg_level); + if (linux_cmsg->cmsg_type == -1 + || cm->cmsg_level != SOL_SOCKET) { error = EINVAL; goto bad; } + data = CMSG_DATA(cm); datalen = (caddr_t)cm + cm->cmsg_len - (caddr_t)data; - switch (linux_cmsg->cmsg_type) + switch (cm->cmsg_type) { - case LINUX_SCM_RIGHTS: - if (outlen + LINUX_CMSG_LEN(datalen) > - linux_msg.msg_controllen) { - if (outlen == 0) { - error = EMSGSIZE; - goto bad; - } else { - linux_msg.msg_flags |= - LINUX_MSG_CTRUNC; - goto out; - } - } + case SCM_RIGHTS: if (args->flags & LINUX_MSG_CMSG_CLOEXEC) { fds = datalen / sizeof(int); fdp = data; @@ -1295,11 +1357,40 @@ linux_recvmsg(struct thread *td, struct } } break; + + case SCM_CREDS: + /* + * Currently LOCAL_CREDS is never in + * effect for Linux so no need to worry + * about sockcred + */ + if (datalen != sizeof (*cmcred)) { + error = EMSGSIZE; + goto bad; + } + cmcred = (struct cmsgcred *)data; + bzero(&linux_ucred, sizeof(linux_ucred)); + linux_ucred.pid = cmcred->cmcred_pid; + linux_ucred.uid = cmcred->cmcred_uid; + linux_ucred.gid = cmcred->cmcred_gid; + data = &linux_ucred; + datalen = sizeof(linux_ucred); + break; + } + + if (outlen + LINUX_CMSG_LEN(datalen) > + linux_msg.msg_controllen) { + if (outlen == 0) { + error = EMSGSIZE; + goto bad; + } else { + linux_msg.msg_flags |= + LINUX_MSG_CTRUNC; + goto out; + } } linux_cmsg->cmsg_len = LINUX_CMSG_LEN(datalen); - linux_cmsg->cmsg_level = - bsd_to_linux_sockopt_level(cm->cmsg_level); error = copyout(linux_cmsg, outbuf, L_CMSG_HDRSZ); if (error) @@ -1312,18 +1403,13 @@ linux_recvmsg(struct thread *td, struct outbuf += LINUX_CMSG_ALIGN(datalen); outlen += LINUX_CMSG_LEN(datalen); - linux_msg.msg_controllen = outlen; - if (CMSG_SPACE(datalen) < clen) { - clen -= CMSG_SPACE(datalen); - cm = (struct cmsghdr *) - ((caddr_t)cm + CMSG_SPACE(datalen)); - } else - cm = NULL; + cm = CMSG_NXTHDR(&msg, cm); } } out: + linux_msg.msg_controllen = outlen; error = copyout(&linux_msg, PTRIN(args->msg), sizeof(linux_msg)); bad: --- ./i386/linux/linux_dummy.c.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./i386/linux/linux_dummy.c 2011-03-07 23:54:17.000000000 -0500 @@ -57,8 +57,6 @@ DUMMY(vm86); DUMMY(query_module); DUMMY(nfsservctl); DUMMY(rt_sigqueueinfo); -DUMMY(capget); -DUMMY(capset); DUMMY(sendfile); /* different semantics */ DUMMY(setfsuid); DUMMY(setfsgid); --- ./i386/linux/syscalls.master.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./i386/linux/syscalls.master 2011-03-17 23:46:17.000000000 -0400 @@ -329,8 +329,10 @@ l_uid16_t uid, l_gid16_t gid); } 183 AUE_GETCWD STD { int linux_getcwd(char *buf, \ l_ulong bufsize); } -184 AUE_CAPGET STD { int linux_capget(void); } -185 AUE_CAPSET STD { int linux_capset(void); } +184 AUE_CAPGET STD { int linux_capget(struct l_user_cap_header *hdrp, \ + struct l_user_cap_data *datap); } +185 AUE_CAPSET STD { int linux_capset(struct l_user_cap_header *hdrp, \ + struct l_user_cap_data *datap); } 186 AUE_NULL STD { int linux_sigaltstack(l_stack_t *uss, \ l_stack_t *uoss); } 187 AUE_SENDFILE STD { int linux_sendfile(void); } --- ./amd64/linux32/linux32_dummy.c.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./amd64/linux32/linux32_dummy.c 2011-03-07 23:54:17.000000000 -0500 @@ -54,8 +54,6 @@ DUMMY(sysfs); DUMMY(query_module); DUMMY(nfsservctl); DUMMY(rt_sigqueueinfo); -DUMMY(capget); -DUMMY(capset); DUMMY(sendfile); DUMMY(setfsuid); DUMMY(setfsgid); --- ./amd64/linux32/syscalls.master.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./amd64/linux32/syscalls.master 2011-03-17 23:47:06.000000000 -0400 @@ -327,8 +327,10 @@ l_uid16_t uid, l_gid16_t gid); } 183 AUE_GETCWD STD { int linux_getcwd(char *buf, \ l_ulong bufsize); } -184 AUE_CAPGET STD { int linux_capget(void); } -185 AUE_CAPSET STD { int linux_capset(void); } +184 AUE_CAPGET STD { int linux_capget(struct l_user_cap_header *hdrp, \ + struct l_user_cap_data *datap); } +185 AUE_CAPSET STD { int linux_capset(struct l_user_cap_header *hdrp, \ + struct l_user_cap_data *datap); } 186 AUE_NULL STD { int linux_sigaltstack(l_stack_t *uss, \ l_stack_t *uoss); } 187 AUE_SENDFILE STD { int linux_sendfile(void); } ------------------------------------------------------------------------- | Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com | | John Wehle | Fax: 1-215-540-5495 | | ------------------------------------------------------------------------- ------------------------------------------------------------------------- | Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com | | John Wehle | Fax: 1-215-540-5495 | | ------------------------------------------------------------------------- From owner-freebsd-emulation@FreeBSD.ORG Mon Mar 21 04:30:05 2011 Return-Path: Delivered-To: freebsd-emulation@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 43D5E106566B for ; Mon, 21 Mar 2011 04:30:05 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 2076F8FC15 for ; Mon, 21 Mar 2011 04:30:05 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p2L4U4fn096241 for ; Mon, 21 Mar 2011 04:30:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p2L4U47u096237; Mon, 21 Mar 2011 04:30:04 GMT (envelope-from gnats) Date: Mon, 21 Mar 2011 04:30:04 GMT Message-Id: <201103210430.p2L4U47u096237@freefall.freebsd.org> To: freebsd-emulation@FreeBSD.org From: John Wehle Cc: Subject: Re: kern/149168: [linux] [patch] Linux sendmsg / recvmsg / etc fixes for pulseaudio X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: John Wehle List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Mar 2011 04:30:05 -0000 The following reply was made to PR kern/149168; it has been noted by GNATS. From: John Wehle To: alexander@leidinger.net Cc: freebsd-emulation@FreeBSD.org, bug-followup@FreeBSD.org, avg@FreeBSD.org Subject: Re: kern/149168: [linux] [patch] Linux sendmsg / recvmsg / etc fixes for pulseaudio Date: Mon, 21 Mar 2011 01:27:41 -0400 (EDT) Enclosed is yet another slightly tweaked and lightly tested version. Changes from previous: 1) Address some style issues. 2) Add additional comments. Notes: 1) This has been tested on both i386 and amd64 with Fedora 10 paplay (client) talking to FreeBSD 8.2 pulseaudio (server) over both TCP and UNIX domain sockets. -- John -----------------------8<----------------------------8<------------------ --- ./compat/linux/linux_misc.h.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./compat/linux/linux_misc.h 2011-03-07 23:54:17.000000000 -0500 @@ -37,6 +37,8 @@ * Second arg is a ptr to return the * signal. */ +#define LINUX_PR_GET_KEEPCAPS 7 /* Get drop capabilities on setuid */ +#define LINUX_PR_SET_KEEPCAPS 8 /* Set drop capabilities on setuid */ #define LINUX_PR_SET_NAME 15 /* Set process name. */ #define LINUX_PR_GET_NAME 16 /* Get process name. */ --- ./compat/linux/linux_misc.c.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./compat/linux/linux_misc.c 2011-03-18 00:02:48.000000000 -0400 @@ -1733,6 +1733,100 @@ linux_exit_group(struct thread *td, stru return (0); } +#define _LINUX_CAPABILITY_VERSION 0x19980330 + +struct l_user_cap_header { + l_int version; + l_int pid; +}; + +struct l_user_cap_data { + l_int effective; + l_int permitted; + l_int inheritable; +}; + +int +linux_capget(struct thread *td, struct linux_capget_args *args) +{ + struct l_user_cap_header luch; + struct l_user_cap_data lucd; + int error; + + if (args->hdrp == NULL) + return (EFAULT); + + error = copyin(args->hdrp, &luch, sizeof(luch)); + if (error != 0) + return (error); + + if (luch.version != _LINUX_CAPABILITY_VERSION) { + luch.version = _LINUX_CAPABILITY_VERSION; + error = copyout(&luch, args->hdrp, sizeof(luch)); + if (error) + return (error); + return (EINVAL); + } + + if (luch.pid) + return (EPERM); + + if (args->datap) { + /* + * The current implementation doesn't support setting + * a capability (it's essentially a stub) so indicate + * that no capabilities are currently set or available + * to request. + */ + bzero (&lucd, sizeof(lucd)); + error = copyout(&lucd, args->datap, sizeof(lucd)); + } + + return (error); +} + +int +linux_capset(struct thread *td, struct linux_capset_args *args) +{ + struct l_user_cap_header luch; + struct l_user_cap_data lucd; + int error; + + if (args->hdrp == NULL || args->datap == NULL) + return (EFAULT); + + error = copyin(args->hdrp, &luch, sizeof(luch)); + if (error != 0) + return (error); + + if (luch.version != _LINUX_CAPABILITY_VERSION) { + luch.version = _LINUX_CAPABILITY_VERSION; + error = copyout(&luch, args->hdrp, sizeof(luch)); + if (error) + return (error); + return (EINVAL); + } + + if (luch.pid) + return (EPERM); + + error = copyin(args->datap, &lucd, sizeof(lucd)); + if (error != 0) + return (error); + + /* We currently don't support setting any capabilities. */ + if (lucd.effective || lucd.permitted || lucd.inheritable) { + linux_msg(td, + "capset effective=0x%x, permitted=0x%x, " + "inheritable=0x%x is not implemented", + (int)lucd.effective, (int)lucd.permitted, + (int)lucd.inheritable); + return (EPERM); + } + + return (0); +} + int linux_prctl(struct thread *td, struct linux_prctl_args *args) { @@ -1766,6 +1860,21 @@ linux_prctl(struct thread *td, struct li (void *)(register_t)args->arg2, sizeof(pdeath_signal)); break; + case LINUX_PR_GET_KEEPCAPS: + /* + * Indicate that we always clear the effective and + * permitted capability sets when the user id becomes + * non-zero (actually the capability sets are simply + * always zero in the current implementation). + */ + td->td_retval[0] = 0; + break; + case LINUX_PR_SET_KEEPCAPS: + /* + * Ignore requests to keep the effective and permitted + * capability sets when the user id becomes non-zero. + */ + break; case LINUX_PR_SET_NAME: /* * To be on the safe side we need to make sure to not --- ./compat/linux/linux_socket.h.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./compat/linux/linux_socket.h 2011-03-07 23:54:17.000000000 -0500 @@ -53,6 +53,7 @@ /* Socket-level control message types */ #define LINUX_SCM_RIGHTS 0x01 +#define LINUX_SCM_CREDENTIALS 0x02 /* Ancilliary data object information macros */ @@ -66,13 +67,14 @@ #define LINUX_CMSG_FIRSTHDR(msg) \ ((msg)->msg_controllen >= \ sizeof(struct l_cmsghdr) ? \ - (struct l_cmsghdr *)((msg)->msg_control) : \ + (struct l_cmsghdr *) \ + PTRIN((msg)->msg_control) : \ (struct l_cmsghdr *)(NULL)) #define LINUX_CMSG_NXTHDR(msg, cmsg) \ ((((char *)(cmsg) + \ LINUX_CMSG_ALIGN((cmsg)->cmsg_len) + \ sizeof(*(cmsg))) > \ - (((char *)(msg)->msg_control) + \ + (((char *)PTRIN((msg)->msg_control)) + \ (msg)->msg_controllen)) ? \ (struct l_cmsghdr *) NULL : \ (struct l_cmsghdr *)((char *)(cmsg) + \ --- ./compat/linux/linux_socket.c.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./compat/linux/linux_socket.c 2011-03-17 23:35:37.000000000 -0400 @@ -433,6 +433,8 @@ linux_to_bsd_cmsg_type(int cmsg_type) switch (cmsg_type) { case LINUX_SCM_RIGHTS: return (SCM_RIGHTS); + case LINUX_SCM_CREDENTIALS: + return (SCM_CREDS); } return (-1); } @@ -444,6 +446,8 @@ bsd_to_linux_cmsg_type(int cmsg_type) switch (cmsg_type) { case SCM_RIGHTS: return (LINUX_SCM_RIGHTS); + case SCM_CREDS: + return (LINUX_SCM_CREDENTIALS); } return (-1); } @@ -459,7 +463,16 @@ linux_to_bsd_msghdr(struct msghdr *bhdr, bhdr->msg_iov = PTRIN(lhdr->msg_iov); bhdr->msg_iovlen = lhdr->msg_iovlen; bhdr->msg_control = PTRIN(lhdr->msg_control); - bhdr->msg_controllen = lhdr->msg_controllen; + + /* + * msg_controllen is skipped since BSD and LINUX control messages + * are potentially different sizes (e.g. the cred structure used + * by SCM_CREDS is different between the two operating system). + * + * The caller can set it (if necessary) after converting all the + * control messages. + */ + bhdr->msg_flags = linux_to_bsd_msg_flags(lhdr->msg_flags); return (0); } @@ -472,7 +485,16 @@ bsd_to_linux_msghdr(const struct msghdr lhdr->msg_iov = PTROUT(bhdr->msg_iov); lhdr->msg_iovlen = bhdr->msg_iovlen; lhdr->msg_control = PTROUT(bhdr->msg_control); - lhdr->msg_controllen = bhdr->msg_controllen; + + /* + * msg_controllen is skipped since BSD and LINUX control messages + * are potentially different sizes (e.g. the cred structure used + * by SCM_CREDS is different between the two operating system). + * + * The caller can set it (if necessary) after converting all the + * control messages. + */ + /* msg_flags skipped */ return (0); } @@ -1092,6 +1114,7 @@ static int linux_sendmsg(struct thread *td, struct linux_sendmsg_args *args) { struct cmsghdr *cmsg; + struct cmsgcred cmcred; struct mbuf *control; struct msghdr msg; struct l_cmsghdr linux_cmsg; @@ -1099,15 +1122,14 @@ linux_sendmsg(struct thread *td, struct struct l_msghdr linux_msg; struct iovec *iov; socklen_t datalen; + struct sockaddr *sa; + sa_family_t sa_family; void *data; int error; error = copyin(PTRIN(args->msg), &linux_msg, sizeof(linux_msg)); if (error) return (error); - error = linux_to_bsd_msghdr(&msg, &linux_msg); - if (error) - return (error); /* * Some Linux applications (ping) define a non-NULL control data @@ -1116,8 +1138,12 @@ linux_sendmsg(struct thread *td, struct * order to handle this case. This should be checked, but allows the * Linux ping to work. */ - if (msg.msg_control != NULL && msg.msg_controllen == 0) - msg.msg_control = NULL; + if (PTRIN(linux_msg.msg_control) != NULL && linux_msg.msg_controllen == 0) + linux_msg.msg_control = PTROUT(NULL); + + error = linux_to_bsd_msghdr(&msg, &linux_msg); + if (error) + return (error); #ifdef COMPAT_LINUX32 error = linux32_copyiniov(PTRIN(msg.msg_iov), msg.msg_iovlen, @@ -1128,13 +1154,21 @@ linux_sendmsg(struct thread *td, struct if (error) return (error); - if (msg.msg_control != NULL) { + control = NULL; + cmsg = NULL; + + if ((ptr_cmsg = LINUX_CMSG_FIRSTHDR(&linux_msg)) != NULL) { + error = kern_getsockname(td, args->s, &sa, &datalen); + if (error) + goto bad; + sa_family = sa->sa_family; + free(sa, M_SONAME); + error = ENOBUFS; cmsg = malloc(CMSG_HDRSZ, M_TEMP, M_WAITOK | M_ZERO); control = m_get(M_WAIT, MT_CONTROL); if (control == NULL) goto bad; - ptr_cmsg = LINUX_CMSG_FIRSTHDR(&msg); do { error = copyin(ptr_cmsg, &linux_cmsg, @@ -1147,28 +1181,58 @@ linux_sendmsg(struct thread *td, struct goto bad; /* - * Now we support only SCM_RIGHTS, so return EINVAL - * in any other cmsg_type + * Now we support only SCM_RIGHTS and SCM_CRED, + * so return EINVAL in any other cmsg_type */ - if ((cmsg->cmsg_type = - linux_to_bsd_cmsg_type(linux_cmsg.cmsg_type)) == -1) - goto bad; + cmsg->cmsg_type = + linux_to_bsd_cmsg_type(linux_cmsg.cmsg_type); cmsg->cmsg_level = linux_to_bsd_sockopt_level(linux_cmsg.cmsg_level); + if (cmsg->cmsg_type == -1 + || cmsg->cmsg_level != SOL_SOCKET) + goto bad; + /* + * Some applications (e.g. pulseaudio) attempt to + * send ancillary data even if the underlying protocol + * doesn't support it which is not allowed in the + * FreeBSD system call interface. + */ + if (sa_family != AF_UNIX) + continue; + + data = LINUX_CMSG_DATA(ptr_cmsg); datalen = linux_cmsg.cmsg_len - L_CMSG_HDRSZ; + + switch (cmsg->cmsg_type) + { + case SCM_RIGHTS: + break; + + case SCM_CREDS: + data = &cmcred; + datalen = sizeof(cmcred); + + /* + * The lower levels will fill in the structure + */ + bzero(data, datalen); + break; + } + cmsg->cmsg_len = CMSG_LEN(datalen); - data = LINUX_CMSG_DATA(ptr_cmsg); error = ENOBUFS; if (!m_append(control, CMSG_HDRSZ, (c_caddr_t) cmsg)) goto bad; if (!m_append(control, datalen, (c_caddr_t) data)) goto bad; - } while ((ptr_cmsg = LINUX_CMSG_NXTHDR(&msg, ptr_cmsg))); - } else { - control = NULL; - cmsg = NULL; + } while ((ptr_cmsg = LINUX_CMSG_NXTHDR(&linux_msg, ptr_cmsg))); + + if (m_length(control, NULL) == 0) { + m_freem(control); + control = NULL; + } } msg.msg_iov = iov; @@ -1193,9 +1257,11 @@ static int linux_recvmsg(struct thread *td, struct linux_recvmsg_args *args) { struct cmsghdr *cm; + struct cmsgcred *cmcred; struct msghdr msg; struct l_cmsghdr *linux_cmsg = NULL; - socklen_t datalen, outlen, clen; + struct l_ucred linux_ucred; + socklen_t datalen, outlen; struct l_msghdr linux_msg; struct iovec *iov, *uiov; struct mbuf *control = NULL; @@ -1252,39 +1318,35 @@ linux_recvmsg(struct thread *td, struct goto bad; } - if (control) { + outbuf = PTRIN(linux_msg.msg_control); + outlen = 0; + if (control) { linux_cmsg = malloc(L_CMSG_HDRSZ, M_TEMP, M_WAITOK | M_ZERO); - outbuf = PTRIN(linux_msg.msg_control); - cm = mtod(control, struct cmsghdr *); - outlen = 0; - clen = control->m_len; - while (cm != NULL) { + msg.msg_control = mtod(control, struct cmsghdr *); + msg.msg_controllen = control->m_len; + + cm = CMSG_FIRSTHDR(&msg); - if ((linux_cmsg->cmsg_type = - bsd_to_linux_cmsg_type(cm->cmsg_type)) == -1) + while (cm != NULL) { + linux_cmsg->cmsg_type = + bsd_to_linux_cmsg_type(cm->cmsg_type); + linux_cmsg->cmsg_level = + bsd_to_linux_sockopt_level(cm->cmsg_level); + if (linux_cmsg->cmsg_type == -1 + || cm->cmsg_level != SOL_SOCKET) { error = EINVAL; goto bad; } + data = CMSG_DATA(cm); datalen = (caddr_t)cm + cm->cmsg_len - (caddr_t)data; - switch (linux_cmsg->cmsg_type) + switch (cm->cmsg_type) { - case LINUX_SCM_RIGHTS: - if (outlen + LINUX_CMSG_LEN(datalen) > - linux_msg.msg_controllen) { - if (outlen == 0) { - error = EMSGSIZE; - goto bad; - } else { - linux_msg.msg_flags |= - LINUX_MSG_CTRUNC; - goto out; - } - } + case SCM_RIGHTS: if (args->flags & LINUX_MSG_CMSG_CLOEXEC) { fds = datalen / sizeof(int); fdp = data; @@ -1295,11 +1357,40 @@ linux_recvmsg(struct thread *td, struct } } break; + + case SCM_CREDS: + /* + * Currently LOCAL_CREDS is never in + * effect for Linux so no need to worry + * about sockcred + */ + if (datalen != sizeof (*cmcred)) { + error = EMSGSIZE; + goto bad; + } + cmcred = (struct cmsgcred *)data; + bzero(&linux_ucred, sizeof(linux_ucred)); + linux_ucred.pid = cmcred->cmcred_pid; + linux_ucred.uid = cmcred->cmcred_uid; + linux_ucred.gid = cmcred->cmcred_gid; + data = &linux_ucred; + datalen = sizeof(linux_ucred); + break; + } + + if (outlen + LINUX_CMSG_LEN(datalen) > + linux_msg.msg_controllen) { + if (outlen == 0) { + error = EMSGSIZE; + goto bad; + } else { + linux_msg.msg_flags |= + LINUX_MSG_CTRUNC; + goto out; + } } linux_cmsg->cmsg_len = LINUX_CMSG_LEN(datalen); - linux_cmsg->cmsg_level = - bsd_to_linux_sockopt_level(cm->cmsg_level); error = copyout(linux_cmsg, outbuf, L_CMSG_HDRSZ); if (error) @@ -1312,18 +1403,13 @@ linux_recvmsg(struct thread *td, struct outbuf += LINUX_CMSG_ALIGN(datalen); outlen += LINUX_CMSG_LEN(datalen); - linux_msg.msg_controllen = outlen; - if (CMSG_SPACE(datalen) < clen) { - clen -= CMSG_SPACE(datalen); - cm = (struct cmsghdr *) - ((caddr_t)cm + CMSG_SPACE(datalen)); - } else - cm = NULL; + cm = CMSG_NXTHDR(&msg, cm); } } out: + linux_msg.msg_controllen = outlen; error = copyout(&linux_msg, PTRIN(args->msg), sizeof(linux_msg)); bad: --- ./i386/linux/linux_dummy.c.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./i386/linux/linux_dummy.c 2011-03-07 23:54:17.000000000 -0500 @@ -57,8 +57,6 @@ DUMMY(vm86); DUMMY(query_module); DUMMY(nfsservctl); DUMMY(rt_sigqueueinfo); -DUMMY(capget); -DUMMY(capset); DUMMY(sendfile); /* different semantics */ DUMMY(setfsuid); DUMMY(setfsgid); --- ./i386/linux/syscalls.master.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./i386/linux/syscalls.master 2011-03-17 23:46:17.000000000 -0400 @@ -329,8 +329,10 @@ l_uid16_t uid, l_gid16_t gid); } 183 AUE_GETCWD STD { int linux_getcwd(char *buf, \ l_ulong bufsize); } -184 AUE_CAPGET STD { int linux_capget(void); } -185 AUE_CAPSET STD { int linux_capset(void); } +184 AUE_CAPGET STD { int linux_capget(struct l_user_cap_header *hdrp, \ + struct l_user_cap_data *datap); } +185 AUE_CAPSET STD { int linux_capset(struct l_user_cap_header *hdrp, \ + struct l_user_cap_data *datap); } 186 AUE_NULL STD { int linux_sigaltstack(l_stack_t *uss, \ l_stack_t *uoss); } 187 AUE_SENDFILE STD { int linux_sendfile(void); } --- ./amd64/linux32/linux32_dummy.c.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./amd64/linux32/linux32_dummy.c 2011-03-07 23:54:17.000000000 -0500 @@ -54,8 +54,6 @@ DUMMY(sysfs); DUMMY(query_module); DUMMY(nfsservctl); DUMMY(rt_sigqueueinfo); -DUMMY(capget); -DUMMY(capset); DUMMY(sendfile); DUMMY(setfsuid); DUMMY(setfsgid); --- ./amd64/linux32/syscalls.master.ORIGINAL 2010-12-21 12:09:25.000000000 -0500 +++ ./amd64/linux32/syscalls.master 2011-03-17 23:47:06.000000000 -0400 @@ -327,8 +327,10 @@ l_uid16_t uid, l_gid16_t gid); } 183 AUE_GETCWD STD { int linux_getcwd(char *buf, \ l_ulong bufsize); } -184 AUE_CAPGET STD { int linux_capget(void); } -185 AUE_CAPSET STD { int linux_capset(void); } +184 AUE_CAPGET STD { int linux_capget(struct l_user_cap_header *hdrp, \ + struct l_user_cap_data *datap); } +185 AUE_CAPSET STD { int linux_capset(struct l_user_cap_header *hdrp, \ + struct l_user_cap_data *datap); } 186 AUE_NULL STD { int linux_sigaltstack(l_stack_t *uss, \ l_stack_t *uoss); } 187 AUE_SENDFILE STD { int linux_sendfile(void); } ------------------------------------------------------------------------- | Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com | | John Wehle | Fax: 1-215-540-5495 | | ------------------------------------------------------------------------- ------------------------------------------------------------------------- | Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com | | John Wehle | Fax: 1-215-540-5495 | | ------------------------------------------------------------------------- From owner-freebsd-emulation@FreeBSD.ORG Mon Mar 21 11:06:55 2011 Return-Path: Delivered-To: freebsd-emulation@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B36B8106567B for ; Mon, 21 Mar 2011 11:06:55 +0000 (UTC) (envelope-from owner-bugmaster@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 89A048FC15 for ; Mon, 21 Mar 2011 11:06:55 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p2LB6tGv085951 for ; Mon, 21 Mar 2011 11:06:55 GMT (envelope-from owner-bugmaster@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p2LB6sHQ085949 for freebsd-emulation@FreeBSD.org; Mon, 21 Mar 2011 11:06:54 GMT (envelope-from owner-bugmaster@FreeBSD.org) Date: Mon, 21 Mar 2011 11:06:54 GMT Message-Id: <201103211106.p2LB6sHQ085949@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: gnats set sender to owner-bugmaster@FreeBSD.org using -f From: FreeBSD bugmaster To: freebsd-emulation@FreeBSD.org Cc: Subject: Current problem reports assigned to freebsd-emulation@FreeBSD.org X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Mar 2011 11:06:55 -0000 Note: to view an individual PR, use: http://www.freebsd.org/cgi/query-pr.cgi?pr=(number). The following is a listing of current problems submitted by FreeBSD users. These represent problem reports covering all versions including experimental development code and obsolete releases. S Tracker Resp. Description -------------------------------------------------------------------------------- o kern/155577 emulation [boot] BTX halted after install. Reboot during install o kern/155238 emulation 20 minute time jumps in VirtualBox o kern/155040 emulation [linux] [patch] Linux recvfrom doesn't handle proto fa o kern/153990 emulation [hyper-v]: Will not install into Hyper-V on Server 200 o kern/153887 emulation [linux] Linux emulator not understand STB_GNU_UNIQUE b o kern/153243 emulation [ibcs2] Seg fault whne running COFF binary using iBCS2 o ports/151714 emulation print/acroread9 not usable due to lack of support in t a bin/150262 emulation [patch] truss(1) -f doesn't follow descendants of the a kern/150186 emulation [parallels] [panic] Parallels Desktop: CDROM disconnec o kern/149168 emulation [linux] [patch] Linux sendmsg / recvmsg / etc fixes fo o ports/148097 emulation [patch] suggested addition to linux_base-* packages to o ports/148096 emulation emulators/linux_base-* can not be built from ports on o kern/147793 emulation [vmware] [panic] cdrom handling, panic, possible race o kern/146237 emulation [linux] Linux binaries not reading directories mounted f kern/144763 emulation [linux] [panic] Kernel panic when start linux binaries p kern/144584 emulation [linprocfs][patch] bogus values in linprocfs o ports/142837 emulation [patch] emulators/linux_base-* packages fails to insta o kern/140156 emulation [linux] cdparanoia fails to read drive data f kern/138944 emulation [parallels] [regression] Parallels no longer works in o kern/138880 emulation [linux] munmap segfaults after linux_mmap2 stresstest s ports/136321 emulation x11-toolkits/linux-pango: please update linux based po o ports/135337 emulation [PATCH] emulators/linux_base-f10: incorrect bash usage s kern/133144 emulation [linux] linuxulator 2.6 crashes with nvidias libGL.so. o kern/129169 emulation [linux] [patch] Linux Emulation ENOTCONN error using n o kern/126232 emulation [linux] Linux ioctl TCGETS (0x5401) always fails o kern/86619 emulation [linux] linux emulator interacts oddly with cp a kern/72920 emulation [linux]: path "prefixing" is not done on unix domain s o kern/41543 emulation [patch] [request] easier wine/w23 support o kern/39201 emulation [linux] [patch] ptrace(2) and rfork(RFLINUXTHPN) confu o kern/36952 emulation [patch] [linux] ldd(1) command of linux does not work o kern/21463 emulation [linux] Linux compatability mode should not allow setu o kern/11165 emulation [ibcs2] IBCS2 doesn't work correctly with PID_MAX 9999 32 problems total. From owner-freebsd-emulation@FreeBSD.ORG Mon Mar 21 12:31:40 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB7911065673; Mon, 21 Mar 2011 12:31:40 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from mail.ebusiness-leidinger.de (mail.ebusiness-leidinger.de [217.11.53.44]) by mx1.freebsd.org (Postfix) with ESMTP id 925C88FC1D; Mon, 21 Mar 2011 12:31:40 +0000 (UTC) Received: from outgoing.leidinger.net (p5B155C3B.dip.t-dialin.net [91.21.92.59]) by mail.ebusiness-leidinger.de (Postfix) with ESMTPSA id 550EE844015; Mon, 21 Mar 2011 13:31:33 +0100 (CET) Received: from webmail.leidinger.net (webmail.Leidinger.net [IPv6:fd73:10c7:2053:1::2:102]) by outgoing.leidinger.net (Postfix) with ESMTP id 244E510AE; Mon, 21 Mar 2011 13:31:30 +0100 (CET) Received: (from www@localhost) by webmail.leidinger.net (8.14.4/8.13.8/Submit) id p2LCVEfI021667; Mon, 21 Mar 2011 13:31:14 +0100 (CET) (envelope-from Alexander@Leidinger.net) Received: from pslux.ec.europa.eu (pslux.ec.europa.eu [158.169.9.14]) by webmail.leidinger.net (Horde Framework) with HTTP; Mon, 21 Mar 2011 13:31:14 +0100 Message-ID: <20110321133114.17421wsgi04kgrwk@webmail.leidinger.net> Date: Mon, 21 Mar 2011 13:31:14 +0100 From: Alexander Leidinger To: John Wehle References: <201103210527.p2L5Rfsf018882@jwlab.FEITH.COM> In-Reply-To: <201103210527.p2L5Rfsf018882@jwlab.FEITH.COM> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: 7bit User-Agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.6) X-EBL-MailScanner-Information: Please contact the ISP for more information X-EBL-MailScanner-ID: 550EE844015.A1C2E X-EBL-MailScanner: Found to be clean X-EBL-MailScanner-SpamCheck: not spam, spamhaus-ZEN, SpamAssassin (not cached, score=0.077, required 6, autolearn=disabled, TW_CV 0.08) X-EBL-MailScanner-From: alexander@leidinger.net X-EBL-MailScanner-Watermark: 1301315496.85928@5Krz0RiNbc05IhhgNfJHEg X-EBL-Spam-Status: No Cc: freebsd-emulation@FreeBSD.org, avg@FreeBSD.org Subject: testers? (was: Re: kern/149168: [linux] [patch] Linux sendmsg / recvmsg / etc fixes for pulseaudio) X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Mar 2011 12:31:40 -0000 Quoting John Wehle (from Mon, 21 Mar 2011 01:27:41 -0400 (EDT)): > Enclosed is yet another slightly tweaked and lightly tested version. > > Changes from previous: > > 1) Address some style issues. > > 2) Add additional comments. > > Notes: > > 1) This has been tested on both i386 and amd64 with Fedora 10 paplay > (client) talking to FreeBSD 8.2 pulseaudio (server) over both TCP > and UNIX domain sockets. Thanks a lot. Someone out there willing to do some independent testing (with or without pulseaudio, I just want to make sure there is no obvious regression slipping in)? Just some random application, linux-firefox, acroread, skype, ... with and/or without pulseaudio. Bye, Alexander. -- http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137 From owner-freebsd-emulation@FreeBSD.ORG Mon Mar 21 12:33:02 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 077C5106566C for ; Mon, 21 Mar 2011 12:33:02 +0000 (UTC) (envelope-from avg@freebsd.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 511198FC13 for ; Mon, 21 Mar 2011 12:33:00 +0000 (UTC) Received: from odyssey.starpoint.kiev.ua (alpha-e.starpoint.kiev.ua [212.40.38.101]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id OAA27337; Mon, 21 Mar 2011 14:32:52 +0200 (EET) (envelope-from avg@freebsd.org) Message-ID: <4D874573.5010104@freebsd.org> Date: Mon, 21 Mar 2011 14:32:51 +0200 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.15) Gecko/20110309 Lightning/1.0b2 Thunderbird/3.1.9 MIME-Version: 1.0 To: Alexander Leidinger References: <201103210527.p2L5Rfsf018882@jwlab.FEITH.COM> <20110321133114.17421wsgi04kgrwk@webmail.leidinger.net> In-Reply-To: <20110321133114.17421wsgi04kgrwk@webmail.leidinger.net> X-Enigmail-Version: 1.1.2 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: John Wehle , freebsd-emulation@freebsd.org Subject: Re: testers? X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Mar 2011 12:33:02 -0000 on 21/03/2011 14:31 Alexander Leidinger said the following: > Quoting John Wehle (from Mon, 21 Mar 2011 01:27:41 -0400 (EDT)): > >> Enclosed is yet another slightly tweaked and lightly tested version. >> >> Changes from previous: >> >> 1) Address some style issues. >> >> 2) Add additional comments. >> >> Notes: >> >> 1) This has been tested on both i386 and amd64 with Fedora 10 paplay >> (client) talking to FreeBSD 8.2 pulseaudio (server) over both TCP >> and UNIX domain sockets. > > Thanks a lot. Someone out there willing to do some independent testing (with or > without pulseaudio, I just want to make sure there is no obvious regression > slipping in)? Just some random application, linux-firefox, acroread, skype, ... > with and/or without pulseaudio. I know one tester so far - it's me :) -- Andriy Gapon From owner-freebsd-emulation@FreeBSD.ORG Tue Mar 22 18:52:24 2011 Return-Path: Delivered-To: freebsd-emulation@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 47B03106564A for ; Tue, 22 Mar 2011 18:52:24 +0000 (UTC) (envelope-from tjg@soe.ucsc.edu) Received: from mail-01.cse.ucsc.edu (mail-01.cse.ucsc.edu [128.114.48.32]) by mx1.freebsd.org (Postfix) with ESMTP id 3B3E08FC15 for ; Tue, 22 Mar 2011 18:52:24 +0000 (UTC) Received: from mail-01.cse.ucsc.edu (mail-01.cse.ucsc.edu [128.114.48.32]) by mail-01.cse.ucsc.edu (Postfix) with ESMTP id 558781009BA0 for ; Tue, 22 Mar 2011 11:35:39 -0700 (PDT) Date: Tue, 22 Mar 2011 11:35:39 -0700 (PDT) From: Tim Gustafson To: freebsd-emulation@FreeBSD.org Message-ID: <18434403.16538.1300818939246.JavaMail.root@mail-01.cse.ucsc.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [128.114.49.22] X-Mailer: Zimbra 6.0.9_GA_2686 (ZimbraWebClient - FF3.0 ([unknown])/6.0.9_GA_2686) Cc: Subject: VirtualBox 4.x X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 18:52:24 -0000 Is there any effort under way to port VirtualBox 4.x to FreeBSD, now that the whole thing is open source? Tim Gustafson Baskin School of Engineering UC Santa Cruz tjg@soe.ucsc.edu 831-459-5354 From owner-freebsd-emulation@FreeBSD.ORG Tue Mar 22 19:18:44 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 119D31065670 for ; Tue, 22 Mar 2011 19:18:44 +0000 (UTC) (envelope-from jamesbrandongooch@gmail.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id A09E68FC14 for ; Tue, 22 Mar 2011 19:18:43 +0000 (UTC) Received: by wyf23 with SMTP id 23so7709608wyf.13 for ; Tue, 22 Mar 2011 12:18:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=D5IoS6+nvYjshTgIMOLaIX7ojlUoAPuNjDJSq/mma9U=; b=vec7hu3u4mDov/adG4o9XXfpmF8mL8rOXdL6Cylz35gj5VE1aUKAAX6jgQ7cgk505B Ed/9MXUuM4PL6iLjTdKVljcvoY2/TJEvoeBv+1t42lyNOAYk80U0aUVr+uiiY6xXJ/Es g916eLwyUp0NxRBP3if+D3UfVlLpbzPOdhW0o= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=bYobwNLestUoRH/cvdpYhsSGRFI8ouDP/NeI8nON2bQsuAVIYG4seuHYZSjLcn7QYc Y847qMk4GqUVf9BDOp925oVRW5YgtBK2B+hW05+JbmtQCB+pJtsPa3qzKpGt8ZMYX75m z/gTkg9Ndm1fARfe8pE5QobkLltAF9R5jgLDM= MIME-Version: 1.0 Received: by 10.216.144.223 with SMTP id n73mr5529217wej.37.1300821522025; Tue, 22 Mar 2011 12:18:42 -0700 (PDT) Received: by 10.216.0.205 with HTTP; Tue, 22 Mar 2011 12:18:41 -0700 (PDT) In-Reply-To: <18434403.16538.1300818939246.JavaMail.root@mail-01.cse.ucsc.edu> References: <18434403.16538.1300818939246.JavaMail.root@mail-01.cse.ucsc.edu> Date: Tue, 22 Mar 2011 14:18:41 -0500 Message-ID: From: Brandon Gooch To: Tim Gustafson Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-emulation@freebsd.org Subject: Re: VirtualBox 4.x X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 19:18:44 -0000 On Tue, Mar 22, 2011 at 1:35 PM, Tim Gustafson wrote: > Is there any effort under way to port VirtualBox 4.x to FreeBSD, now that the whole thing is open source? > > Tim Gustafson > Baskin School of Engineering > UC Santa Cruz > tjg@soe.ucsc.edu > 831-459-5354 > There is a port available for testing: http://lists.freebsd.org/pipermail/freebsd-ports/2011-February/065983.html Note that there may be a newer version available than the link included in the original CFT e-mail... -Brandon From owner-freebsd-emulation@FreeBSD.ORG Tue Mar 22 19:29:50 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C3AB2106564A for ; Tue, 22 Mar 2011 19:29:50 +0000 (UTC) (envelope-from lists@eitanadler.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id 5FB4F8FC0A for ; Tue, 22 Mar 2011 19:29:49 +0000 (UTC) Received: by wyf23 with SMTP id 23so7721726wyf.13 for ; Tue, 22 Mar 2011 12:29:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eitanadler.com; s=0xdeadbeef; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=AXjgaPD0kIEmC5DTQe6yXQbyjbbAsbTpszm7NC0BxWc=; b=dQaN/4UrpWoXBGrnIIxhPor0geEIz0ToWLuRviDsL4AkQnYdP+58VeXZHBPmf18xey lwIL8VZNEPMSZtlM0yYpvmb32DYvDLT2ZNY3AU0Yydm2cvInyBdTbhPWINjawqXB96wH EJradwc1Bf1hEEcVlP7RTMgwVBmy7ROVoU5r0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=eitanadler.com; s=0xdeadbeef; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=jW1duEQtyvm3S4B5VO7r2+xfsXGlwqKaqRgd1vkvWrNrx3FmJxDX8oyxNB0KRMYtqT T6npPdAEALrQIuZbwvNmXrQppfO94AQdap8PLZWptePVM/XXNPrzmL/n9fyqQqQeBolf yrGhIoPfG3OxVI8fCOYb2Er+ITCO4gC2mywZI= Received: by 10.227.61.146 with SMTP id t18mr5590271wbh.189.1300820772306; Tue, 22 Mar 2011 12:06:12 -0700 (PDT) MIME-Version: 1.0 Received: by 10.227.153.197 with HTTP; Tue, 22 Mar 2011 12:05:52 -0700 (PDT) In-Reply-To: <18434403.16538.1300818939246.JavaMail.root@mail-01.cse.ucsc.edu> References: <18434403.16538.1300818939246.JavaMail.root@mail-01.cse.ucsc.edu> From: Eitan Adler Date: Tue, 22 Mar 2011 14:05:52 -0500 Message-ID: To: Tim Gustafson Content-Type: text/plain; charset=UTF-8 Cc: freebsd-emulation@freebsd.org Subject: Re: VirtualBox 4.x X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 19:29:50 -0000 On Tue, Mar 22, 2011 at 1:35 PM, Tim Gustafson wrote: > Is there any effort under way to port VirtualBox 4.x to FreeBSD, now that the whole thing is open source? http://www.freebsdnews.net/2011/02/19/virtualbox-4-0-4-for-freebsd-cft/ -- Eitan Adler From owner-freebsd-emulation@FreeBSD.ORG Tue Mar 22 20:25:46 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 520311065676 for ; Tue, 22 Mar 2011 20:25:46 +0000 (UTC) (envelope-from tjg@soe.ucsc.edu) Received: from mail-01.cse.ucsc.edu (mail-01.cse.ucsc.edu [128.114.48.32]) by mx1.freebsd.org (Postfix) with ESMTP id 439A08FC1A for ; Tue, 22 Mar 2011 20:25:46 +0000 (UTC) Received: from mail-01.cse.ucsc.edu (mail-01.cse.ucsc.edu [128.114.48.32]) by mail-01.cse.ucsc.edu (Postfix) with ESMTP id 014161009C06; Tue, 22 Mar 2011 13:25:46 -0700 (PDT) Date: Tue, 22 Mar 2011 13:25:45 -0700 (PDT) From: Tim Gustafson To: Brandon Gooch Message-ID: <1760328352.17066.1300825545850.JavaMail.root@mail-01.cse.ucsc.edu> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [128.114.49.22] X-Mailer: Zimbra 6.0.9_GA_2686 (ZimbraWebClient - FF3.0 ([unknown])/6.0.9_GA_2686) Cc: freebsd-emulation@freebsd.org Subject: Re: VirtualBox 4.x X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 20:25:46 -0000 > There is a port available for testing: > > http://lists.freebsd.org/pipermail/freebsd-ports/2011-February/065983.html > > Note that there may be a newer version available than the link > included in the original CFT e-mail... Awesome, thanks! I'll have to get that compiled and tested later this afternoon. Tim Gustafson Baskin School of Engineering UC Santa Cruz tjg@soe.ucsc.edu 831-459-5354 From owner-freebsd-emulation@FreeBSD.ORG Tue Mar 22 20:30:05 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 02719106564A for ; Tue, 22 Mar 2011 20:30:04 +0000 (UTC) (envelope-from rnejdl@ringofsaturn.com) Received: from tethys.ringofsaturn.com (tethys.ringofsaturn.com [71.252.219.43]) by mx1.freebsd.org (Postfix) with ESMTP id BCC128FC1E for ; Tue, 22 Mar 2011 20:30:04 +0000 (UTC) Received: from ASSP.nospam (tethys [71.252.219.43]) (authenticated bits=0) by tethys.ringofsaturn.com (8.14.4/8.14.4) with ESMTP id p2MKU3hc069157 for ; Tue, 22 Mar 2011 15:30:03 -0500 (CDT) (envelope-from rnejdl@ringofsaturn.com) Received: from mail.ringofsaturn.com ([71.252.219.43] helo=mail.ringofsaturn.com) with IPv4:25 by ASSP.nospam; 22 Mar 2011 15:30:02 -0500 MIME-Version: 1.0 Date: Tue, 22 Mar 2011 15:30:02 -0500 From: Rusty Nejdl To: Mail-Reply-To: In-Reply-To: <1760328352.17066.1300825545850.JavaMail.root@mail-01.cse.ucsc.edu> References: <1760328352.17066.1300825545850.JavaMail.root@mail-01.cse.ucsc.edu> Message-ID: X-Sender: rnejdl@ringofsaturn.com User-Agent: Roundcube Webmail/0.6-svn X-Assp-Intended-For-IP: 71.252.219.43 X-Assp-Passing: authenticated X-Assp-ID: ASSP.nospam (m-30082-00270) X-Assp-Version: 1.8.5.6(1.0.05) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Re: VirtualBox 4.x X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: rnejdl@ringofsaturn.com List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 20:30:05 -0000 On Tue, 22 Mar 2011 13:25:45 -0700 (PDT), Tim Gustafson wrote: >> There is a port available for testing: http://lists.freebsd.org/pipermail/freebsd-ports/2011-February/065983.html [1] Note that there may be a newer version available than the link included in the original CFT e-mail... > Awesome, thanks! I'll have to get that compiled and tested later this afternoon. Tim Gustafson Baskin School of Engineering UC Santa Cruz tjg@soe.ucsc.edu [2] 831-459-5354 _______________________________________________ freebsd-emulation@freebsd.org [3] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-emulation [4] To unsubscribe, send any mail to "freebsd-emulation-unsubscribe@freebsd.org [5]" Can I ask what we are waiting for to commit this to the ports tree? This new version is a HUGE improvement, at least as I have seen. Rusty Nejdl Links: ------ [1] http://lists.freebsd.org/pipermail/freebsd-ports/2011-February/065983.html [2] mailto:tjg@soe.ucsc.edu [3] mailto:freebsd-emulation@freebsd.org [4] http://lists.freebsd.org/mailman/listinfo/freebsd-emulation [5] mailto:freebsd-emulation-unsubscribe@freebsd.org From owner-freebsd-emulation@FreeBSD.ORG Tue Mar 22 20:44:52 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E56FF1065676 for ; Tue, 22 Mar 2011 20:44:52 +0000 (UTC) (envelope-from feld@feld.me) Received: from mail-yw0-f54.google.com (mail-yw0-f54.google.com [209.85.213.54]) by mx1.freebsd.org (Postfix) with ESMTP id AD10D8FC13 for ; Tue, 22 Mar 2011 20:44:52 +0000 (UTC) Received: by ywf9 with SMTP id 9so3584014ywf.13 for ; Tue, 22 Mar 2011 13:44:52 -0700 (PDT) Received: by 10.147.30.23 with SMTP id h23mr5486030yaj.23.1300826691981; Tue, 22 Mar 2011 13:44:51 -0700 (PDT) Received: from tech304 (supranet-tech.secure-on.net [66.170.8.18]) by mx.google.com with ESMTPS id b28sm4481663anb.22.2011.03.22.13.44.49 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 22 Mar 2011 13:44:49 -0700 (PDT) Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes To: freebsd-emulation@freebsd.org References: <1760328352.17066.1300825545850.JavaMail.root@mail-01.cse.ucsc.edu> MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: "Mark Felder" Date: Tue, 22 Mar 2011 15:44:48 -0500 Message-ID: In-Reply-To: User-Agent: Opera Mail/11.10 (FreeBSD) Subject: Re: VirtualBox 4.x X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 20:44:53 -0000 On Tue, 22 Mar 2011 15:30:02 -0500, Rusty Nejdl wrote: > Can I ask what we are waiting for to commit this to the ports > tree? This new version is a HUGE improvement, at least as I have seen. At home I can't install Windows 7 in a VM because it crashes in the installer and terminates the VM every time. I'd say it's not ready yet. Regards, Mark From owner-freebsd-emulation@FreeBSD.ORG Tue Mar 22 21:07:30 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CBD9C106566B for ; Tue, 22 Mar 2011 21:07:30 +0000 (UTC) (envelope-from decke@FreeBSD.org) Received: from groupware.itac.at (groupware.itac.at [91.205.172.99]) by mx1.freebsd.org (Postfix) with ESMTP id 4C4FC8FC0A for ; Tue, 22 Mar 2011 21:07:30 +0000 (UTC) Received: from home.bluelife.at (93.104.210.95) by groupware.itac.at (Axigen) with (AES256-SHA encrypted) ESMTPSA id 08E237; Tue, 22 Mar 2011 21:52:15 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Date: Tue, 22 Mar 2011 21:52:17 +0100 From: Bernhard Froehlich To: In-Reply-To: References: <1760328352.17066.1300825545850.JavaMail.root@mail-01.cse.ucsc.edu> Message-ID: <48e58d0093d9095cfbc68917957df803@bluelife.at> X-Sender: decke@FreeBSD.org User-Agent: Roundcube Webmail/0.5.1 X-AxigenSpam-Level: 1 X-CTCH-RefID: str=0001.0A0B0207.4D890C00.007B,ss=1,fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown Cc: freebsd-emulation@freebsd.org Subject: Re: VirtualBox 4.x X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 21:07:30 -0000 On Tue, 22 Mar 2011 15:30:02 -0500, Rusty Nejdl wrote: > Can I ask what we are waiting for to commit this to the ports > tree? This new version is a HUGE improvement, at least as I have seen. Because it's not stable enough yet. There have been some serious bugreports from the CFT and i've collected them on the wiki page: http://wiki.freebsd.org/VirtualBox/ToDo Once the major of them are fixed and 4.0.6 is released I will prepare another CFT to see if we can risk the update. -- Bernhard Froehlich http://www.bluelife.at/ From owner-freebsd-emulation@FreeBSD.ORG Tue Mar 22 21:26:43 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB756106566B for ; Tue, 22 Mar 2011 21:26:43 +0000 (UTC) (envelope-from rnejdl@ringofsaturn.com) Received: from tethys.ringofsaturn.com (tethys.ringofsaturn.com [71.252.219.43]) by mx1.freebsd.org (Postfix) with ESMTP id 86A528FC0C for ; Tue, 22 Mar 2011 21:26:43 +0000 (UTC) Received: from ASSP.nospam (tethys [71.252.219.43]) (authenticated bits=0) by tethys.ringofsaturn.com (8.14.4/8.14.4) with ESMTP id p2MLQgBC021764; Tue, 22 Mar 2011 16:26:42 -0500 (CDT) (envelope-from rnejdl@ringofsaturn.com) Received: from mail.ringofsaturn.com ([71.252.219.43] helo=mail.ringofsaturn.com) with IPv4:25 by ASSP.nospam; 22 Mar 2011 16:26:41 -0500 MIME-Version: 1.0 Date: Tue, 22 Mar 2011 16:26:41 -0500 From: Rusty Nejdl To: Bernhard Froehlich Mail-Reply-To: In-Reply-To: <48e58d0093d9095cfbc68917957df803@bluelife.at> References: <1760328352.17066.1300825545850.JavaMail.root@mail-01.cse.ucsc.edu> <48e58d0093d9095cfbc68917957df803@bluelife.at> Message-ID: X-Sender: rnejdl@ringofsaturn.com User-Agent: Roundcube Webmail/0.6-svn X-Assp-Intended-For-IP: 71.252.219.43 X-Assp-Passing: authenticated X-Assp-ID: ASSP.nospam (m-30082-00329) X-Assp-Version: 1.8.5.6(1.0.05) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-emulation@freebsd.org Subject: Re: VirtualBox 4.x X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: rnejdl@ringofsaturn.com List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 21:26:43 -0000 On Tue, 22 Mar 2011 21:52:17 +0100, Bernhard Froehlich wrote: > On Tue, 22 Mar 2011 15:30:02 -0500, Rusty Nejdl wrote: >> Can I ask what we are waiting for to commit this to the ports tree? This new version is a HUGE improvement, at least as I have seen. > Because it's not stable enough yet. There have been some serious bugreports from the CFT and i've collected them on the wiki page: http://wiki.freebsd.org/VirtualBox/ToDo [1] Once the major of them are fixed and 4.0.6 is released I will prepare another CFT to see if we can risk the update. Thanks for the update. Rusty Links: ------ [1] http://wiki.freebsd.org/VirtualBox/ToDo From owner-freebsd-emulation@FreeBSD.ORG Tue Mar 22 22:20:14 2011 Return-Path: Delivered-To: emulation@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A84AB1065676; Tue, 22 Mar 2011 22:20:14 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 804158FC16; Tue, 22 Mar 2011 22:20:14 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p2MMKECT055145; Tue, 22 Mar 2011 22:20:14 GMT (envelope-from edwin@freefall.freebsd.org) Received: (from edwin@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p2MMKE5C055135; Tue, 22 Mar 2011 22:20:14 GMT (envelope-from edwin) Date: Tue, 22 Mar 2011 22:20:14 GMT Message-Id: <201103222220.p2MMKE5C055135@freefall.freebsd.org> To: edwin@FreeBSD.org, freebsd-ports-bugs@FreeBSD.org, emulation@FreeBSD.org From: edwin@FreeBSD.org Cc: Subject: Re: ports/155874: www/linux-f10-flashplugin10 is vulnerable X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 22:20:14 -0000 Synopsis: www/linux-f10-flashplugin10 is vulnerable Responsible-Changed-From-To: freebsd-ports-bugs->emulation Responsible-Changed-By: edwin Responsible-Changed-When: Tue Mar 22 22:20:14 UTC 2011 Responsible-Changed-Why: Over to maintainer (via the GNATS Auto Assign Tool) http://www.freebsd.org/cgi/query-pr.cgi?pr=155874 From owner-freebsd-emulation@FreeBSD.ORG Tue Mar 22 23:19:03 2011 Return-Path: Delivered-To: emulation@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E69701065670 for ; Tue, 22 Mar 2011 23:19:03 +0000 (UTC) (envelope-from pav@FreeBSD.org) Received: from sup.oook.cz (sup.oook.cz [94.23.0.135]) by mx1.freebsd.org (Postfix) with ESMTP id 5CEC28FC0C for ; Tue, 22 Mar 2011 23:19:02 +0000 (UTC) Received: from [192.168.0.23] (ip-62-245-117-217.net.upcbroadband.cz [62.245.117.217]) (authenticated bits=0) by sup.oook.cz (8.14.4/8.14.4) with ESMTP id p2MMdxOj015603 for ; Tue, 22 Mar 2011 23:40:00 +0100 (CET) (envelope-from pav@FreeBSD.org) From: Pav Lucistnik To: emulation@FreeBSD.org Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-81OFIUUneCGFGQgc05Pz" Date: Tue, 22 Mar 2011 23:39:44 +0100 Message-ID: <1300833584.58104.29.camel@hood.oook.cz> Mime-Version: 1.0 X-Mailer: Evolution 2.32.1 FreeBSD GNOME Team Port X-Scanned-By: MIMEDefang 2.68 on 94.23.0.135 X-Milter: Spamilter (Reciever: sup.oook.cz; Sender-ip: 62.245.117.217; Sender-helo: [192.168.0.23]; ) Cc: Subject: [Fwd: linux-f10-flashplugin-10.2r152_1 failed on amd64 8] X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: pav@FreeBSD.org List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Mar 2011 23:19:04 -0000 --=-81OFIUUneCGFGQgc05Pz Content-Type: text/plain; charset="ISO-8859-2" Content-Transfer-Encoding: quoted-printable -------- P=F8eposlan=E1 zpr=E1va -------- > Od: User Ports-amd64 > Komu: cvs@oook.cz, itetcu@FreeBSD.org, linimon@FreeBSD.org > P=F8edm=ECt: linux-f10-flashplugin-10.2r152_1 failed on amd64 8 > Datum: Tue, 22 Mar 2011 21:34:30 GMT >=20 > You can also find this build log at >=20 > http://pointyhat.FreeBSD.org/errorlogs/amd64-errorlogs/a.8.201103221120= 56/linux-f10-flashplugin-10.2r152_1.log >=20 > building linux-f10-flashplugin-10.2r152_1 on gohan61.freebsd.org > in directory /y/pkgbuild/8/20110322112056/chroot/10 > DISTDIR=3D/tmp/distfiles > DISTDIR=3D/tmp/distfiles/RESTRICTED > building for: 8.0-RELEASE-p2 amd64 > maintained by: emulation@FreeBSD.org > port directory: /usr/ports/www/linux-f10-flashplugin10 > Makefile ident: $FreeBSD: ports/www/linux-f10-flashplugin10/Makefile,v 1.= 14 2011/02/25 08:52:29 netchild Exp $ > build started at Tue Mar 22 21:34:23 UTC 2011 > FETCH_DEPENDS=3D > PATCH_DEPENDS=3D > EXTRACT_DEPENDS=3D > BUILD_DEPENDS=3D > RUN_DEPENDS=3Dlinux-f10-atk-1.24.0.tbz linux-f10-cairo-1.8.0_1.tbz linux-= f10-curl-7.19.6_1.tbz linux-f10-cyrus-sasl2-2.1.22_1.tbz linux-f10-expat-2.= 0.1.tbz linux-f10-fontconfig-2.6.0.tbz linux-f10-gtk2-2.14.7_3.tbz linux-f1= 0-jpeg-6b.tbz linux-f10-libssh2-0.18.tbz linux-f10-nspr-4.7.6.tbz linux-f10= -nss-3.12.3.99.3_1.tbz linux-f10-openldap-2.4.12_1.tbz linux-f10-openssl-0.= 9.8g.tbz linux-f10-pango-1.28.3.tbz linux-f10-png-1.2.37_1.tbz linux-f10-sq= lite3-3.5.9_1.tbz linux-f10-tiff-3.8.2.tbz linux-f10-xorg-libs-7.4_1.tbz li= nux_base-f10-10_4.tbz > prefixes: LOCALBASE=3Dusr/local > add_pkg > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D> License check disabled, port has not defined LICENSE > =3D> install_flash_player_10_linux.tar.gz doesn't seem to exist in /tmp/d= istfiles/RESTRICTED/flashplugin/10.2r152. > =3D> Attempting to fetch ftp://ftp-master.freebsd.org/pub/FreeBSD/ports/d= istfiles/flashplugin/10.2r152/install_flash_player_10_linux.tar.gz > fetch: ftp://ftp-master.freebsd.org/pub/FreeBSD/ports/distfiles/flashplug= in/10.2r152/install_flash_player_10_linux.tar.gz: File unavailable (e.g., f= ile not found, no access) > =3D> Attempting to fetch ftp://pointyhat.freebsd.org/pub/FreeBSD/ports/di= stfiles/flashplugin/10.2r152/install_flash_player_10_linux.tar.gz > fetch: ftp://pointyhat.freebsd.org/pub/FreeBSD/ports/distfiles/flashplugi= n/10.2r152/install_flash_player_10_linux.tar.gz: File unavailable (e.g., fi= le not found, no access) > =3D> Attempting to fetch http://fpdownload.macromedia.com/get/flashplayer= /current/install_flash_player_10_linux.tar.gz > fetch: http://fpdownload.macromedia.com/get/flashplayer/current/install_f= lash_player_10_linux.tar.gz: size mismatch: expected 4967098, actual 496780= 5 > =3D> Attempting to fetch ftp://ftp-master.freebsd.org/pub/FreeBSD/ports/d= istfiles/flashplugin/10.2r152/install_flash_player_10_linux.tar.gz > fetch: ftp://ftp-master.freebsd.org/pub/FreeBSD/ports/distfiles/flashplug= in/10.2r152/install_flash_player_10_linux.tar.gz: File unavailable (e.g., f= ile not found, no access) > =3D> Attempting to fetch ftp://pointyhat.freebsd.org/pub/FreeBSD/ports/di= stfiles/flashplugin/10.2r152/install_flash_player_10_linux.tar.gz > fetch: ftp://pointyhat.freebsd.org/pub/FreeBSD/ports/distfiles/flashplugi= n/10.2r152/install_flash_player_10_linux.tar.gz: File unavailable (e.g., fi= le not found, no access) > =3D> Couldn't fetch it - please try to retrieve this > =3D> port manually into /tmp/distfiles/RESTRICTED/flashplugin/10.2r152 an= d try again. > *** Error code 1 >=20 > Stop in /a/ports/www/linux-f10-flashplugin10. > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > build of /usr/ports/www/linux-f10-flashplugin10 ended at Tue Mar 22 21:34= :28 UTC 2011 --=20 --=20 Pav Lucistnik Eat when you are hungry, sleep when you are tired. Chase butterflies when you want some fun. --=-81OFIUUneCGFGQgc05Pz Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (FreeBSD) iEYEABECAAYFAk2JJTAACgkQntdYP8FOsoJ4kACeKoZV0whD6VL7GgNM7Trk7B2v O9wAniAVOvcZZykVhvx6LR9STo2WKyzH =mBVf -----END PGP SIGNATURE----- --=-81OFIUUneCGFGQgc05Pz-- From owner-freebsd-emulation@FreeBSD.ORG Wed Mar 23 07:07:17 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0DFE31065680 for ; Wed, 23 Mar 2011 07:07:17 +0000 (UTC) (envelope-from other@ahhyes.net) Received: from srv.ahhyes.net (srv.ahhyes.net [96.44.168.99]) by mx1.freebsd.org (Postfix) with ESMTP id ED01D8FC12 for ; Wed, 23 Mar 2011 07:07:16 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=ahhyes.net) by srv.ahhyes.net with esmtp (Exim 4.74 (FreeBSD)) (envelope-from ) id 1Q2HZ4-000Ndx-21 for freebsd-emulation@freebsd.org; Wed, 23 Mar 2011 17:29:06 +1100 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 23 Mar 2011 17:29:05 +1100 From: Alex To: Message-ID: <19271ad0af28730d9f735f955ec63db1@ahhyes.net> X-Sender: other@ahhyes.net User-Agent: Roundcube Webmail/0.5.1 X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: other@ahhyes.net X-SA-Exim-Scanned: No (on srv.ahhyes.net); SAEximRunCond expanded to false Subject: linux app wont start... X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2011 07:07:17 -0000 Hi Guys, I am trying to run a battlefield 2 server on FreeBSD 8.2 with linux emulation enabled, I have some other apps that run just fine. Here is the error I get: [game@srv ~/bf2]$ ./start.sh Error opening terminal: xterm. [game@srv ~/bf2]$ echo $TERM xterm I can "export TERM" and set another value but the result is always the same it will just say "Error opening terminal " I have a suspicion it's to do with the termcap in the linux compat section, not the local freebsd termcap. Any pointers? Do i need to install another package into the linux base (fc10). From owner-freebsd-emulation@FreeBSD.ORG Wed Mar 23 08:52:44 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B114C10656A4 for ; Wed, 23 Mar 2011 08:52:44 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from mail.ebusiness-leidinger.de (mail.ebusiness-leidinger.de [217.11.53.44]) by mx1.freebsd.org (Postfix) with ESMTP id 658E18FC1C for ; Wed, 23 Mar 2011 08:52:44 +0000 (UTC) Received: from outgoing.leidinger.net (p5B15586F.dip.t-dialin.net [91.21.88.111]) by mail.ebusiness-leidinger.de (Postfix) with ESMTPSA id E288D844015; Wed, 23 Mar 2011 09:52:35 +0100 (CET) Received: from webmail.leidinger.net (webmail.Leidinger.net [IPv6:fd73:10c7:2053:1::2:102]) by outgoing.leidinger.net (Postfix) with ESMTP id F39E512B9; Wed, 23 Mar 2011 09:52:32 +0100 (CET) Received: (from www@localhost) by webmail.leidinger.net (8.14.4/8.13.8/Submit) id p2N8qMNR068354; Wed, 23 Mar 2011 09:52:22 +0100 (CET) (envelope-from Alexander@Leidinger.net) Received: from pslux.ec.europa.eu (pslux.ec.europa.eu [158.169.9.14]) by webmail.leidinger.net (Horde Framework) with HTTP; Wed, 23 Mar 2011 09:52:22 +0100 Message-ID: <20110323095222.15512vskwxouiqkg@webmail.leidinger.net> Date: Wed, 23 Mar 2011 09:52:22 +0100 From: Alexander Leidinger To: Alex References: <19271ad0af28730d9f735f955ec63db1@ahhyes.net> In-Reply-To: <19271ad0af28730d9f735f955ec63db1@ahhyes.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: 7bit User-Agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.6) X-EBL-MailScanner-Information: Please contact the ISP for more information X-EBL-MailScanner-ID: E288D844015.A1A79 X-EBL-MailScanner: Found to be clean X-EBL-MailScanner-SpamCheck: not spam, spamhaus-ZEN, SpamAssassin (not cached, score=0, required 6, autolearn=disabled) X-EBL-MailScanner-From: alexander@leidinger.net X-EBL-MailScanner-Watermark: 1301475158.22031@P1LuJ7hV002BjZQ0BpYDIA X-EBL-Spam-Status: No Cc: freebsd-emulation@freebsd.org Subject: Re: linux app wont start... X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2011 08:52:44 -0000 Quoting Alex (from Wed, 23 Mar 2011 17:29:05 +1100): > Hi Guys, > > I am trying to run a battlefield 2 server on FreeBSD 8.2 with linux > emulation enabled, I have some other apps that run just fine. > > Here is the error I get: > > [game@srv ~/bf2]$ ./start.sh > Error opening terminal: xterm. > > [game@srv ~/bf2]$ echo $TERM > xterm > > I can "export TERM" and set another value but the result is always > the same it will just say "Error opening terminal " > > I have a suspicion it's to do with the termcap in the linux compat > section, not the local freebsd termcap. IMO: There is not enough info to conclude this. It is not obvious which shell is used to execute start.sh (linux shell or FreeBSD shell). To determine this we need to see the first line of the script. I would expect a FreeBSD one is started and I would suggest to try a linux one instead. Did you see any messages on the console (run "dmesg" after a failed start and have a look for unusual output). I would also suggest to have "set -x" as the second line in the script, this will give you a trace what is executed. The output needs to be reviewed then to analyze what is going on. After a suspicious action is tracked down, this action can maybe started within ktrace and the linux_kdump port can then be used to further investigate what is going on. Bye, Alexander. -- No matter how cynical you get, it's impossible to keep up. http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137 From owner-freebsd-emulation@FreeBSD.ORG Wed Mar 23 09:40:30 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5553106564A for ; Wed, 23 Mar 2011 09:40:30 +0000 (UTC) (envelope-from other@ahhyes.net) Received: from srv.ahhyes.net (srv.ahhyes.net [96.44.168.99]) by mx1.freebsd.org (Postfix) with ESMTP id 9FAE98FC12 for ; Wed, 23 Mar 2011 09:40:30 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=ahhyes.net) by srv.ahhyes.net with esmtp (Exim 4.74 (FreeBSD)) (envelope-from ) id 1Q2KXH-000NqS-Ku for freebsd-emulation@freebsd.org; Wed, 23 Mar 2011 20:39:27 +1100 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 23 Mar 2011 20:39:27 +1100 From: Alex To: In-Reply-To: <20110323095222.15512vskwxouiqkg@webmail.leidinger.net> References: <19271ad0af28730d9f735f955ec63db1@ahhyes.net> <20110323095222.15512vskwxouiqkg@webmail.leidinger.net> Message-ID: <00b25fc7c1edfdfa6cb43d7a9dda7c3e@ahhyes.net> X-Sender: other@ahhyes.net User-Agent: Roundcube Webmail/0.5.1 X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: other@ahhyes.net X-SA-Exim-Scanned: No (on srv.ahhyes.net); SAEximRunCond expanded to false Subject: Re: linux app wont start... X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2011 09:40:30 -0000 Here is the script: -------------------------------- [game@srv ~/bf2]$ cat start.sh #!/bin/sh MACH="" # 64-bit FreeBSD is "amd64"; emulates 32-bit Linux. case `uname -m` in i[3456]86 | amd64) MACH="ia-32" ;; x86_64) MACH="amd-64" ;; esac if ! [ -d pb ] then ln -s pb_$MACH pb fi BINARY_DIR="$(pwd)/bin" if [ -d "$BINARY_DIR/$MACH" ] then BINARY_DIR="$BINARY_DIR/$MACH" fi # Make the OS give us .core-dumps if the server crashes ulimit -c unlimited export LD_LIBRARY_PATH=$BINARY_DIR exec $BINARY_DIR/bf2 "$@" ------------------------------------- Looks like the freebsd one. So you're suggesting the linux one in /compat/bin ? On Wed, 23 Mar 2011 09:52:22 +0100, Alexander Leidinger wrote: > Quoting Alex (from Wed, 23 Mar 2011 17:29:05 > +1100): > >> Hi Guys, >> >> I am trying to run a battlefield 2 server on FreeBSD 8.2 with linux >> emulation enabled, I have some other apps that run just fine. >> >> Here is the error I get: >> >> [game@srv ~/bf2]$ ./start.sh >> Error opening terminal: xterm. >> >> [game@srv ~/bf2]$ echo $TERM >> xterm >> >> I can "export TERM" and set another value but the result is always >> the same it will just say "Error opening terminal " >> >> I have a suspicion it's to do with the termcap in the linux compat >> section, not the local freebsd termcap. > > IMO: There is not enough info to conclude this. > > It is not obvious which shell is used to execute start.sh (linux > shell or FreeBSD shell). To determine this we need to see the first > line of the script. I would expect a FreeBSD one is started and I > would suggest to try a linux one instead. > > Did you see any messages on the console (run "dmesg" after a failed > start and have a look for unusual output). > > I would also suggest to have "set -x" as the second line in the > script, this will give you a trace what is executed. The output needs > to be reviewed then to analyze what is going on. After a suspicious > action is tracked down, this action can maybe started within ktrace > and the linux_kdump port can then be used to further investigate what > is going on. > > Bye, > Alexander. From owner-freebsd-emulation@FreeBSD.ORG Wed Mar 23 10:18:14 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 236C6106566B for ; Wed, 23 Mar 2011 10:18:14 +0000 (UTC) (envelope-from other@ahhyes.net) Received: from srv.ahhyes.net (srv.ahhyes.net [96.44.168.99]) by mx1.freebsd.org (Postfix) with ESMTP id 0E6038FC12 for ; Wed, 23 Mar 2011 10:18:13 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=ahhyes.net) by srv.ahhyes.net with esmtp (Exim 4.74 (FreeBSD)) (envelope-from ) id 1Q2L7m-000Ntg-SM for freebsd-emulation@freebsd.org; Wed, 23 Mar 2011 21:17:10 +1100 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 23 Mar 2011 21:17:10 +1100 From: Alex To: In-Reply-To: <20110323095222.15512vskwxouiqkg@webmail.leidinger.net> References: <19271ad0af28730d9f735f955ec63db1@ahhyes.net> <20110323095222.15512vskwxouiqkg@webmail.leidinger.net> Message-ID: <20ec56e4510387951d43b488b236e1e3@ahhyes.net> X-Sender: other@ahhyes.net User-Agent: Roundcube Webmail/0.5.1 X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: other@ahhyes.net X-SA-Exim-Scanned: No (on srv.ahhyes.net); SAEximRunCond expanded to false Subject: Re: linux app wont start... X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2011 10:18:14 -0000 I tried changing the first line to use the /compat/linux/bin/sh shell. made no difference. I added set -x: [game@srv ~/bf2]$ ./start.sh + MACH='' + uname -m + MACH=ia-32 + [ -d pb ] + pwd + BINARY_DIR=/usr/home/game/bf2/bin + [ -d /usr/home/game/bf2/bin/ia-32 ] + BINARY_DIR=/usr/home/game/bf2/bin/ia-32 + export LD_LIBRARY_PATH=/usr/home/game/bf2/bin/ia-32 + exec /usr/home/game/bf2/bin/ia-32/bf2 Error opening terminal: xterm. I'm lost :/ I am still new to linux emulation in freebsd, so please bear with me if my questions seem silly. :> On Wed, 23 Mar 2011 09:52:22 +0100, Alexander Leidinger wrote: > Quoting Alex (from Wed, 23 Mar 2011 17:29:05 > +1100): > >> Hi Guys, >> >> I am trying to run a battlefield 2 server on FreeBSD 8.2 with linux >> emulation enabled, I have some other apps that run just fine. >> >> Here is the error I get: >> >> [game@srv ~/bf2]$ ./start.sh >> Error opening terminal: xterm. >> >> [game@srv ~/bf2]$ echo $TERM >> xterm >> >> I can "export TERM" and set another value but the result is always >> the same it will just say "Error opening terminal " >> >> I have a suspicion it's to do with the termcap in the linux compat >> section, not the local freebsd termcap. > > IMO: There is not enough info to conclude this. > > It is not obvious which shell is used to execute start.sh (linux > shell or FreeBSD shell). To determine this we need to see the first > line of the script. I would expect a FreeBSD one is started and I > would suggest to try a linux one instead. > > Did you see any messages on the console (run "dmesg" after a failed > start and have a look for unusual output). > > I would also suggest to have "set -x" as the second line in the > script, this will give you a trace what is executed. The output needs > to be reviewed then to analyze what is going on. After a suspicious > action is tracked down, this action can maybe started within ktrace > and the linux_kdump port can then be used to further investigate what > is going on. > > Bye, > Alexander. From owner-freebsd-emulation@FreeBSD.ORG Wed Mar 23 11:47:28 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6A956106566B for ; Wed, 23 Mar 2011 11:47:28 +0000 (UTC) (envelope-from gljennjohn@googlemail.com) Received: from mail-fx0-f54.google.com (mail-fx0-f54.google.com [209.85.161.54]) by mx1.freebsd.org (Postfix) with ESMTP id EF7AE8FC17 for ; Wed, 23 Mar 2011 11:47:27 +0000 (UTC) Received: by fxm11 with SMTP id 11so8754279fxm.13 for ; Wed, 23 Mar 2011 04:47:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:date:from:to:cc:subject:message-id:in-reply-to :references:reply-to:x-mailer:mime-version:content-type :content-transfer-encoding; bh=5b+pCCH1lgQ8AuRcpQi4oaq2leE3kxrr3Wu52txVEZk=; b=vGaEoWHTIZxy9p/H21W0GfEq2mXpaNKCPgkfbt8TXIIZwE+b8S+6XtHr8+FunFgXtG 11TW83qDFKT3CH1FZEmgDVmff86q+OO4e6j8kn3PXF6KHXmqrpSSdAnHIi4cFi6lRZDE TFgKYd21CZo2wjOm4nquh1azMTIYPBfONdYXs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=date:from:to:cc:subject:message-id:in-reply-to:references:reply-to :x-mailer:mime-version:content-type:content-transfer-encoding; b=VYSqykTj/QEQPtfD3qPhT0mwPyHsegth8T4NdEasVNOzPdnRpNRp/CGrPWWaEsmmSf BKDw6vy3PzhpPIj9mQOSiMdGquwyo6qqAMzeLmJOZPpGeFYxcNttbQ/Vmap4Xaj24lM8 1jSqIoXEdOhcV7x7FI92D3P+6+LyA/LPSobS8= Received: by 10.223.6.198 with SMTP id a6mr1320157faa.128.1300879164068; Wed, 23 Mar 2011 04:19:24 -0700 (PDT) Received: from ernst.jennejohn.org (p578E39EF.dip.t-dialin.net [87.142.57.239]) by mx.google.com with ESMTPS id j12sm980044fax.33.2011.03.23.04.19.23 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 23 Mar 2011 04:19:23 -0700 (PDT) Date: Wed, 23 Mar 2011 12:19:22 +0100 From: Gary Jennejohn To: Alex Message-ID: <20110323121922.7486bc99@ernst.jennejohn.org> In-Reply-To: <20ec56e4510387951d43b488b236e1e3@ahhyes.net> References: <19271ad0af28730d9f735f955ec63db1@ahhyes.net> <20110323095222.15512vskwxouiqkg@webmail.leidinger.net> <20ec56e4510387951d43b488b236e1e3@ahhyes.net> X-Mailer: Claws Mail 3.7.8 (GTK+ 2.18.7; amd64-portbld-freebsd9.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: freebsd-emulation@freebsd.org Subject: Re: linux app wont start... X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: gljennjohn@googlemail.com List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2011 11:47:28 -0000 On Wed, 23 Mar 2011 21:17:10 +1100 Alex wrote: > I tried changing the first line to use the /compat/linux/bin/sh shell. > made no difference. I added set -x: > > [game@srv ~/bf2]$ ./start.sh > + MACH='' > + uname -m > + MACH=ia-32 > + [ -d pb ] > + pwd > + BINARY_DIR=/usr/home/game/bf2/bin > + [ -d /usr/home/game/bf2/bin/ia-32 ] > + BINARY_DIR=/usr/home/game/bf2/bin/ia-32 > + export LD_LIBRARY_PATH=/usr/home/game/bf2/bin/ia-32 > + exec /usr/home/game/bf2/bin/ia-32/bf2 > Error opening terminal: xterm. > > I'm lost :/ I am still new to linux emulation in freebsd, so please > bear with me if my questions seem silly. :> > Perhaps the binary is actually trying to start an xterm? There's no xterm under my /compat/linux, but the FreeBSD xterm should be used in that case. Or, it really is looking for termcap, which isn't installed under my /compat/linux either. You could try copying /usr/share/misc/termcap to /compat/linux/etc and see what happens. I'm not sure where Linux looks for termcap. -- Gary Jennejohn From owner-freebsd-emulation@FreeBSD.ORG Wed Mar 23 15:07:21 2011 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C05B21065676 for ; Wed, 23 Mar 2011 15:07:21 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from mail.ebusiness-leidinger.de (mail.ebusiness-leidinger.de [217.11.53.44]) by mx1.freebsd.org (Postfix) with ESMTP id 6971D8FC1E for ; Wed, 23 Mar 2011 15:07:21 +0000 (UTC) Received: from outgoing.leidinger.net (p5B15586F.dip.t-dialin.net [91.21.88.111]) by mail.ebusiness-leidinger.de (Postfix) with ESMTPSA id C10C584400E; Wed, 23 Mar 2011 16:07:14 +0100 (CET) Received: from webmail.leidinger.net (webmail.Leidinger.net [IPv6:fd73:10c7:2053:1::2:102]) by outgoing.leidinger.net (Postfix) with ESMTP id BEEA712E4; Wed, 23 Mar 2011 16:07:11 +0100 (CET) Received: (from www@localhost) by webmail.leidinger.net (8.14.4/8.13.8/Submit) id p2NF71N0053337; Wed, 23 Mar 2011 16:07:01 +0100 (CET) (envelope-from Alexander@Leidinger.net) Received: from pslux.ec.europa.eu (pslux.ec.europa.eu [158.169.9.14]) by webmail.leidinger.net (Horde Framework) with HTTP; Wed, 23 Mar 2011 16:07:00 +0100 Message-ID: <20110323160700.13947a4j8a6r46g4@webmail.leidinger.net> Date: Wed, 23 Mar 2011 16:07:00 +0100 From: Alexander Leidinger To: Alex References: <19271ad0af28730d9f735f955ec63db1@ahhyes.net> <20110323095222.15512vskwxouiqkg@webmail.leidinger.net> <20ec56e4510387951d43b488b236e1e3@ahhyes.net> In-Reply-To: <20ec56e4510387951d43b488b236e1e3@ahhyes.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: 7bit User-Agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.6) X-EBL-MailScanner-Information: Please contact the ISP for more information X-EBL-MailScanner-ID: C10C584400E.A3914 X-EBL-MailScanner: Found to be clean X-EBL-MailScanner-SpamCheck: not spam, spamhaus-ZEN, SpamAssassin (not cached, score=0.6, required 6, autolearn=disabled, J_CHICKENPOX_63 0.60) X-EBL-MailScanner-From: alexander@leidinger.net X-EBL-MailScanner-Watermark: 1301497637.50191@TclFL0hS+WpuoONW1ctOWQ X-EBL-Spam-Status: No Cc: freebsd-emulation@freebsd.org Subject: Re: linux app wont start... X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2011 15:07:21 -0000 Quoting Alex (from Wed, 23 Mar 2011 21:17:10 +1100): > I tried changing the first line to use the /compat/linux/bin/sh > shell. made no difference. I added set -x: After looking at the script I do not expect to run with a linux shell (it specially looks if it is running on FreeBSD amd64). > [game@srv ~/bf2]$ ./start.sh > + MACH='' > + uname -m > + MACH=ia-32 > + [ -d pb ] > + pwd > + BINARY_DIR=/usr/home/game/bf2/bin > + [ -d /usr/home/game/bf2/bin/ia-32 ] > + BINARY_DIR=/usr/home/game/bf2/bin/ia-32 > + export LD_LIBRARY_PATH=/usr/home/game/bf2/bin/ia-32 > + exec /usr/home/game/bf2/bin/ia-32/bf2 Have you actually checked if you have xterm in your path ("which xterm")? If not, do this now and if it is missing, install it and try again. If it is in your path, you can continue with debugging as described below. Replace the exec $BINARY_DIR/bf2 "$@" with /usr/bin/ktrace -i $BINARY_DIR/bf2 "$@" This will create a file ktrace.out in the current directory. Install the linux_kdump package (the port is too much hassle, it's really better to take the package) and run the linux_kdump. It will have a look at the ktrace.out in the current directory and output a lot of text. Review the text from the end on backwards to anything related to xterm. Maybe you can see if it tries to access some file it does not find. Bye, Alexander. > Error opening terminal: xterm. > > I'm lost :/ I am still new to linux emulation in freebsd, so please > bear with me if my questions seem silly. :> > > On Wed, 23 Mar 2011 09:52:22 +0100, Alexander Leidinger wrote: >> Quoting Alex (from Wed, 23 Mar 2011 17:29:05 +1100): >> >>> Hi Guys, >>> >>> I am trying to run a battlefield 2 server on FreeBSD 8.2 with >>> linux emulation enabled, I have some other apps that run just fine. >>> >>> Here is the error I get: >>> >>> [game@srv ~/bf2]$ ./start.sh >>> Error opening terminal: xterm. >>> >>> [game@srv ~/bf2]$ echo $TERM >>> xterm >>> >>> I can "export TERM" and set another value but the result is always >>> the same it will just say "Error opening terminal " >>> >>> I have a suspicion it's to do with the termcap in the linux compat >>> section, not the local freebsd termcap. >> >> IMO: There is not enough info to conclude this. >> >> It is not obvious which shell is used to execute start.sh (linux >> shell or FreeBSD shell). To determine this we need to see the first >> line of the script. I would expect a FreeBSD one is started and I >> would suggest to try a linux one instead. >> >> Did you see any messages on the console (run "dmesg" after a failed >> start and have a look for unusual output). >> >> I would also suggest to have "set -x" as the second line in the >> script, this will give you a trace what is executed. The output needs >> to be reviewed then to analyze what is going on. After a suspicious >> action is tracked down, this action can maybe started within ktrace >> and the linux_kdump port can then be used to further investigate what >> is going on. >> >> Bye, >> Alexander. > > _______________________________________________ > freebsd-emulation@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-emulation > To unsubscribe, send any mail to "freebsd-emulation-unsubscribe@freebsd.org" > > -- Bahdges? We don't need no stinkin' bahdges! -- "The Treasure of Sierra Madre" http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137 From owner-freebsd-emulation@FreeBSD.ORG Thu Mar 24 18:42:35 2011 Return-Path: Delivered-To: emulation@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56210106566B; Thu, 24 Mar 2011 18:42:35 +0000 (UTC) (envelope-from nox@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 2D5DE8FC08; Thu, 24 Mar 2011 18:42:35 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p2OIgZ6M068386; Thu, 24 Mar 2011 18:42:35 GMT (envelope-from nox@freefall.freebsd.org) Received: (from nox@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p2OIgYOb068382; Thu, 24 Mar 2011 18:42:34 GMT (envelope-from nox) Date: Thu, 24 Mar 2011 18:42:34 GMT Message-Id: <201103241842.p2OIgYOb068382@freefall.freebsd.org> To: turutani@scphys.kyoto-u.ac.jp, nox@FreeBSD.org, emulation@FreeBSD.org From: nox@FreeBSD.org Cc: Subject: Re: ports/155874: www/linux-f10-flashplugin10 is vulnerable X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Mar 2011 18:42:35 -0000 Synopsis: www/linux-f10-flashplugin10 is vulnerable State-Changed-From-To: open->closed State-Changed-By: nox State-Changed-When: Thu Mar 24 18:42:34 UTC 2011 State-Changed-Why: Committed, with minor changes. Thanks! http://www.freebsd.org/cgi/query-pr.cgi?pr=155874 From owner-freebsd-emulation@FreeBSD.ORG Thu Mar 24 18:50:04 2011 Return-Path: Delivered-To: emulation@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 570E21065670 for ; Thu, 24 Mar 2011 18:50:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 2173B8FC14 for ; Thu, 24 Mar 2011 18:50:04 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p2OIo4n1069198 for ; Thu, 24 Mar 2011 18:50:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p2OIo4mi069197; Thu, 24 Mar 2011 18:50:04 GMT (envelope-from gnats) Date: Thu, 24 Mar 2011 18:50:04 GMT Message-Id: <201103241850.p2OIo4mi069197@freefall.freebsd.org> To: emulation@FreeBSD.org From: dfilter@FreeBSD.ORG (dfilter service) Cc: Subject: Re: ports/155874: commit references a PR X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: dfilter service List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Mar 2011 18:50:04 -0000 The following reply was made to PR ports/155874; it has been noted by GNATS. From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: ports/155874: commit references a PR Date: Thu, 24 Mar 2011 18:40:54 +0000 (UTC) nox 2011-03-24 18:40:35 UTC FreeBSD ports repository Modified files: www/linux-f10-flashplugin10 Makefile distinfo www/linux-f8-flashplugin10 Makefile distinfo security/vuxml vuln.xml Log: Update to 10.2r153. Security: http://www.freebsd.org/ports/portaudit/501ee07a-5640-11e0-985a-001b2134ef46.html PR: ports/155874 Submitted by: Tsurutani Naoki Revision Changes Path 1.2332 +45 -1 ports/security/vuxml/vuln.xml 1.15 +1 -2 ports/www/linux-f10-flashplugin10/Makefile 1.13 +4 -4 ports/www/linux-f10-flashplugin10/distinfo 1.16 +1 -1 ports/www/linux-f8-flashplugin10/Makefile 1.11 +4 -4 ports/www/linux-f8-flashplugin10/distinfo _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org" From owner-freebsd-emulation@FreeBSD.ORG Sat Mar 26 11:00:31 2011 Return-Path: Delivered-To: freebsd-emulation@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A70A0106571C for ; Sat, 26 Mar 2011 11:00:31 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id A08C38FC2A for ; Sat, 26 Mar 2011 11:00:23 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p2QB0N3h027339 for ; Sat, 26 Mar 2011 11:00:23 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p2QB0Nq9027337; Sat, 26 Mar 2011 11:00:23 GMT (envelope-from gnats) Date: Sat, 26 Mar 2011 11:00:23 GMT Message-Id: <201103261100.p2QB0Nq9027337@freefall.freebsd.org> To: freebsd-emulation@FreeBSD.org From: dfilter@FreeBSD.ORG (dfilter service) Cc: Subject: Re: kern/149168: commit references a PR X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: dfilter service List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Mar 2011 11:00:31 -0000 The following reply was made to PR kern/149168; it has been noted by GNATS. From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/149168: commit references a PR Date: Sat, 26 Mar 2011 10:52:06 +0000 (UTC) Author: avg Date: Sat Mar 26 10:51:56 2011 New Revision: 220028 URL: http://svn.freebsd.org/changeset/base/220028 Log: linux compat: add non-dummy capget and capset system calls PR: kern/149168 Submitted by: John Wehle Reviewed by: netchild MFC after: 2 weeks Modified: head/sys/amd64/linux32/syscalls.master head/sys/i386/linux/syscalls.master Modified: head/sys/amd64/linux32/syscalls.master ============================================================================== --- head/sys/amd64/linux32/syscalls.master Sat Mar 26 10:47:17 2011 (r220027) +++ head/sys/amd64/linux32/syscalls.master Sat Mar 26 10:51:56 2011 (r220028) @@ -326,8 +326,10 @@ l_uid16_t uid, l_gid16_t gid); } 183 AUE_GETCWD STD { int linux_getcwd(char *buf, \ l_ulong bufsize); } -184 AUE_CAPGET STD { int linux_capget(void); } -185 AUE_CAPSET STD { int linux_capset(void); } +184 AUE_CAPGET STD { int linux_capget(struct l_user_cap_header *hdrp, \ + struct l_user_cap_data *datap); } +185 AUE_CAPSET STD { int linux_capset(struct l_user_cap_header *hdrp, \ + struct l_user_cap_data *datap); } 186 AUE_NULL STD { int linux_sigaltstack(l_stack_t *uss, \ l_stack_t *uoss); } 187 AUE_SENDFILE STD { int linux_sendfile(void); } Modified: head/sys/i386/linux/syscalls.master ============================================================================== --- head/sys/i386/linux/syscalls.master Sat Mar 26 10:47:17 2011 (r220027) +++ head/sys/i386/linux/syscalls.master Sat Mar 26 10:51:56 2011 (r220028) @@ -328,8 +328,10 @@ l_uid16_t uid, l_gid16_t gid); } 183 AUE_GETCWD STD { int linux_getcwd(char *buf, \ l_ulong bufsize); } -184 AUE_CAPGET STD { int linux_capget(void); } -185 AUE_CAPSET STD { int linux_capset(void); } +184 AUE_CAPGET STD { int linux_capget(struct l_user_cap_header *hdrp, \ + struct l_user_cap_data *datap); } +185 AUE_CAPSET STD { int linux_capset(struct l_user_cap_header *hdrp, \ + struct l_user_cap_data *datap); } 186 AUE_NULL STD { int linux_sigaltstack(l_stack_t *uss, \ l_stack_t *uoss); } 187 AUE_SENDFILE STD { int linux_sendfile(void); } _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-freebsd-emulation@FreeBSD.ORG Sat Mar 26 11:00:31 2011 Return-Path: Delivered-To: freebsd-emulation@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C7AC5106566C for ; Sat, 26 Mar 2011 11:00:31 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 0DE808FC2E for ; Sat, 26 Mar 2011 11:00:27 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p2QB0QeS027433 for ; Sat, 26 Mar 2011 11:00:26 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p2QB0Qkt027432; Sat, 26 Mar 2011 11:00:26 GMT (envelope-from gnats) Date: Sat, 26 Mar 2011 11:00:26 GMT Message-Id: <201103261100.p2QB0Qkt027432@freefall.freebsd.org> To: freebsd-emulation@FreeBSD.org From: dfilter@FreeBSD.ORG (dfilter service) Cc: Subject: Re: kern/149168: commit references a PR X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: dfilter service List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Mar 2011 11:00:31 -0000 The following reply was made to PR kern/149168; it has been noted by GNATS. From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/149168: commit references a PR Date: Sat, 26 Mar 2011 10:59:38 +0000 (UTC) Author: avg Date: Sat Mar 26 10:59:24 2011 New Revision: 220030 URL: http://svn.freebsd.org/changeset/base/220030 Log: linux compat: add non-dummy capget and capset system calls, regenerate And drop dummy definitions for those system calls. This may transiently break the build. PR: kern/149168 Submitted by: John Wehle Reviewed by: netchild MFC after: 2 weeks Modified: head/sys/amd64/linux32/linux32_dummy.c head/sys/amd64/linux32/linux32_proto.h head/sys/amd64/linux32/linux32_syscall.h head/sys/amd64/linux32/linux32_syscalls.c head/sys/amd64/linux32/linux32_sysent.c head/sys/amd64/linux32/linux32_systrace_args.c head/sys/i386/linux/linux_dummy.c head/sys/i386/linux/linux_proto.h head/sys/i386/linux/linux_syscall.h head/sys/i386/linux/linux_syscalls.c head/sys/i386/linux/linux_sysent.c head/sys/i386/linux/linux_systrace_args.c Modified: head/sys/amd64/linux32/linux32_dummy.c ============================================================================== --- head/sys/amd64/linux32/linux32_dummy.c Sat Mar 26 10:52:37 2011 (r220029) +++ head/sys/amd64/linux32/linux32_dummy.c Sat Mar 26 10:59:24 2011 (r220030) @@ -54,8 +54,6 @@ DUMMY(sysfs); DUMMY(query_module); DUMMY(nfsservctl); DUMMY(rt_sigqueueinfo); -DUMMY(capget); -DUMMY(capset); DUMMY(sendfile); DUMMY(setfsuid); DUMMY(setfsgid); Modified: head/sys/amd64/linux32/linux32_proto.h ============================================================================== --- head/sys/amd64/linux32/linux32_proto.h Sat Mar 26 10:52:37 2011 (r220029) +++ head/sys/amd64/linux32/linux32_proto.h Sat Mar 26 10:59:24 2011 (r220030) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 219559 2011-03-12 08:51:43Z avg + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 220028 2011-03-26 10:51:56Z avg */ #ifndef _LINUX_SYSPROTO_H_ @@ -589,10 +589,12 @@ struct linux_getcwd_args { char bufsize_l_[PADL_(l_ulong)]; l_ulong bufsize; char bufsize_r_[PADR_(l_ulong)]; }; struct linux_capget_args { - register_t dummy; + char hdrp_l_[PADL_(struct l_user_cap_header *)]; struct l_user_cap_header * hdrp; char hdrp_r_[PADR_(struct l_user_cap_header *)]; + char datap_l_[PADL_(struct l_user_cap_data *)]; struct l_user_cap_data * datap; char datap_r_[PADR_(struct l_user_cap_data *)]; }; struct linux_capset_args { - register_t dummy; + char hdrp_l_[PADL_(struct l_user_cap_header *)]; struct l_user_cap_header * hdrp; char hdrp_r_[PADR_(struct l_user_cap_header *)]; + char datap_l_[PADL_(struct l_user_cap_data *)]; struct l_user_cap_data * datap; char datap_r_[PADR_(struct l_user_cap_data *)]; }; struct linux_sigaltstack_args { char uss_l_[PADL_(l_stack_t *)]; l_stack_t * uss; char uss_r_[PADR_(l_stack_t *)]; Modified: head/sys/amd64/linux32/linux32_syscall.h ============================================================================== --- head/sys/amd64/linux32/linux32_syscall.h Sat Mar 26 10:52:37 2011 (r220029) +++ head/sys/amd64/linux32/linux32_syscall.h Sat Mar 26 10:59:24 2011 (r220030) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 219559 2011-03-12 08:51:43Z avg + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 220028 2011-03-26 10:51:56Z avg */ #define LINUX_SYS_exit 1 Modified: head/sys/amd64/linux32/linux32_syscalls.c ============================================================================== --- head/sys/amd64/linux32/linux32_syscalls.c Sat Mar 26 10:52:37 2011 (r220029) +++ head/sys/amd64/linux32/linux32_syscalls.c Sat Mar 26 10:59:24 2011 (r220030) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 219559 2011-03-12 08:51:43Z avg + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 220028 2011-03-26 10:51:56Z avg */ const char *linux_syscallnames[] = { Modified: head/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- head/sys/amd64/linux32/linux32_sysent.c Sat Mar 26 10:52:37 2011 (r220029) +++ head/sys/amd64/linux32/linux32_sysent.c Sat Mar 26 10:59:24 2011 (r220030) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 219559 2011-03-12 08:51:43Z avg + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 220028 2011-03-26 10:51:56Z avg */ #include "opt_compat.h" @@ -203,8 +203,8 @@ struct sysent linux_sysent[] = { { AS(linux_pwrite_args), (sy_call_t *)linux_pwrite, AUE_PWRITE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 181 = linux_pwrite */ { AS(linux_chown16_args), (sy_call_t *)linux_chown16, AUE_CHOWN, NULL, 0, 0, 0, SY_THR_STATIC }, /* 182 = linux_chown16 */ { AS(linux_getcwd_args), (sy_call_t *)linux_getcwd, AUE_GETCWD, NULL, 0, 0, 0, SY_THR_STATIC }, /* 183 = linux_getcwd */ - { 0, (sy_call_t *)linux_capget, AUE_CAPGET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 184 = linux_capget */ - { 0, (sy_call_t *)linux_capset, AUE_CAPSET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 185 = linux_capset */ + { AS(linux_capget_args), (sy_call_t *)linux_capget, AUE_CAPGET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 184 = linux_capget */ + { AS(linux_capset_args), (sy_call_t *)linux_capset, AUE_CAPSET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 185 = linux_capset */ { AS(linux_sigaltstack_args), (sy_call_t *)linux_sigaltstack, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 186 = linux_sigaltstack */ { 0, (sy_call_t *)linux_sendfile, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 187 = linux_sendfile */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 188 = getpmsg */ Modified: head/sys/amd64/linux32/linux32_systrace_args.c ============================================================================== --- head/sys/amd64/linux32/linux32_systrace_args.c Sat Mar 26 10:52:37 2011 (r220029) +++ head/sys/amd64/linux32/linux32_systrace_args.c Sat Mar 26 10:59:24 2011 (r220030) @@ -1284,12 +1284,18 @@ systrace_args(int sysnum, void *params, } /* linux_capget */ case 184: { - *n_args = 0; + struct linux_capget_args *p = params; + uarg[0] = (intptr_t) p->hdrp; /* struct l_user_cap_header * */ + uarg[1] = (intptr_t) p->datap; /* struct l_user_cap_data * */ + *n_args = 2; break; } /* linux_capset */ case 185: { - *n_args = 0; + struct linux_capset_args *p = params; + uarg[0] = (intptr_t) p->hdrp; /* struct l_user_cap_header * */ + uarg[1] = (intptr_t) p->datap; /* struct l_user_cap_data * */ + *n_args = 2; break; } /* linux_sigaltstack */ @@ -4051,9 +4057,29 @@ systrace_setargdesc(int sysnum, int ndx, break; /* linux_capget */ case 184: + switch(ndx) { + case 0: + p = "struct l_user_cap_header *"; + break; + case 1: + p = "struct l_user_cap_data *"; + break; + default: + break; + }; break; /* linux_capset */ case 185: + switch(ndx) { + case 0: + p = "struct l_user_cap_header *"; + break; + case 1: + p = "struct l_user_cap_data *"; + break; + default: + break; + }; break; /* linux_sigaltstack */ case 186: Modified: head/sys/i386/linux/linux_dummy.c ============================================================================== --- head/sys/i386/linux/linux_dummy.c Sat Mar 26 10:52:37 2011 (r220029) +++ head/sys/i386/linux/linux_dummy.c Sat Mar 26 10:59:24 2011 (r220030) @@ -57,8 +57,6 @@ DUMMY(vm86); DUMMY(query_module); DUMMY(nfsservctl); DUMMY(rt_sigqueueinfo); -DUMMY(capget); -DUMMY(capset); DUMMY(sendfile); /* different semantics */ DUMMY(setfsuid); DUMMY(setfsgid); Modified: head/sys/i386/linux/linux_proto.h ============================================================================== --- head/sys/i386/linux/linux_proto.h Sat Mar 26 10:52:37 2011 (r220029) +++ head/sys/i386/linux/linux_proto.h Sat Mar 26 10:59:24 2011 (r220030) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/i386/linux/syscalls.master 219559 2011-03-12 08:51:43Z avg + * created from FreeBSD: head/sys/i386/linux/syscalls.master 220028 2011-03-26 10:51:56Z avg */ #ifndef _LINUX_SYSPROTO_H_ @@ -586,10 +586,12 @@ struct linux_getcwd_args { char bufsize_l_[PADL_(l_ulong)]; l_ulong bufsize; char bufsize_r_[PADR_(l_ulong)]; }; struct linux_capget_args { - register_t dummy; + char hdrp_l_[PADL_(struct l_user_cap_header *)]; struct l_user_cap_header * hdrp; char hdrp_r_[PADR_(struct l_user_cap_header *)]; + char datap_l_[PADL_(struct l_user_cap_data *)]; struct l_user_cap_data * datap; char datap_r_[PADR_(struct l_user_cap_data *)]; }; struct linux_capset_args { - register_t dummy; + char hdrp_l_[PADL_(struct l_user_cap_header *)]; struct l_user_cap_header * hdrp; char hdrp_r_[PADR_(struct l_user_cap_header *)]; + char datap_l_[PADL_(struct l_user_cap_data *)]; struct l_user_cap_data * datap; char datap_r_[PADR_(struct l_user_cap_data *)]; }; struct linux_sigaltstack_args { char uss_l_[PADL_(l_stack_t *)]; l_stack_t * uss; char uss_r_[PADR_(l_stack_t *)]; Modified: head/sys/i386/linux/linux_syscall.h ============================================================================== --- head/sys/i386/linux/linux_syscall.h Sat Mar 26 10:52:37 2011 (r220029) +++ head/sys/i386/linux/linux_syscall.h Sat Mar 26 10:59:24 2011 (r220030) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/i386/linux/syscalls.master 219559 2011-03-12 08:51:43Z avg + * created from FreeBSD: head/sys/i386/linux/syscalls.master 220028 2011-03-26 10:51:56Z avg */ #define LINUX_SYS_exit 1 Modified: head/sys/i386/linux/linux_syscalls.c ============================================================================== --- head/sys/i386/linux/linux_syscalls.c Sat Mar 26 10:52:37 2011 (r220029) +++ head/sys/i386/linux/linux_syscalls.c Sat Mar 26 10:59:24 2011 (r220030) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/i386/linux/syscalls.master 219559 2011-03-12 08:51:43Z avg + * created from FreeBSD: head/sys/i386/linux/syscalls.master 220028 2011-03-26 10:51:56Z avg */ const char *linux_syscallnames[] = { Modified: head/sys/i386/linux/linux_sysent.c ============================================================================== --- head/sys/i386/linux/linux_sysent.c Sat Mar 26 10:52:37 2011 (r220029) +++ head/sys/i386/linux/linux_sysent.c Sat Mar 26 10:59:24 2011 (r220030) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/i386/linux/syscalls.master 219559 2011-03-12 08:51:43Z avg + * created from FreeBSD: head/sys/i386/linux/syscalls.master 220028 2011-03-26 10:51:56Z avg */ #include @@ -202,8 +202,8 @@ struct sysent linux_sysent[] = { { AS(linux_pwrite_args), (sy_call_t *)linux_pwrite, AUE_PWRITE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 181 = linux_pwrite */ { AS(linux_chown16_args), (sy_call_t *)linux_chown16, AUE_CHOWN, NULL, 0, 0, 0, SY_THR_STATIC }, /* 182 = linux_chown16 */ { AS(linux_getcwd_args), (sy_call_t *)linux_getcwd, AUE_GETCWD, NULL, 0, 0, 0, SY_THR_STATIC }, /* 183 = linux_getcwd */ - { 0, (sy_call_t *)linux_capget, AUE_CAPGET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 184 = linux_capget */ - { 0, (sy_call_t *)linux_capset, AUE_CAPSET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 185 = linux_capset */ + { AS(linux_capget_args), (sy_call_t *)linux_capget, AUE_CAPGET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 184 = linux_capget */ + { AS(linux_capset_args), (sy_call_t *)linux_capset, AUE_CAPSET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 185 = linux_capset */ { AS(linux_sigaltstack_args), (sy_call_t *)linux_sigaltstack, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 186 = linux_sigaltstack */ { 0, (sy_call_t *)linux_sendfile, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 187 = linux_sendfile */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 188 = getpmsg */ Modified: head/sys/i386/linux/linux_systrace_args.c ============================================================================== --- head/sys/i386/linux/linux_systrace_args.c Sat Mar 26 10:52:37 2011 (r220029) +++ head/sys/i386/linux/linux_systrace_args.c Sat Mar 26 10:59:24 2011 (r220030) @@ -1327,12 +1327,18 @@ systrace_args(int sysnum, void *params, } /* linux_capget */ case 184: { - *n_args = 0; + struct linux_capget_args *p = params; + uarg[0] = (intptr_t) p->hdrp; /* struct l_user_cap_header * */ + uarg[1] = (intptr_t) p->datap; /* struct l_user_cap_data * */ + *n_args = 2; break; } /* linux_capset */ case 185: { - *n_args = 0; + struct linux_capset_args *p = params; + uarg[0] = (intptr_t) p->hdrp; /* struct l_user_cap_header * */ + uarg[1] = (intptr_t) p->datap; /* struct l_user_cap_data * */ + *n_args = 2; break; } /* linux_sigaltstack */ @@ -4203,9 +4209,29 @@ systrace_setargdesc(int sysnum, int ndx, break; /* linux_capget */ case 184: + switch(ndx) { + case 0: + p = "struct l_user_cap_header *"; + break; + case 1: + p = "struct l_user_cap_data *"; + break; + default: + break; + }; break; /* linux_capset */ case 185: + switch(ndx) { + case 0: + p = "struct l_user_cap_header *"; + break; + case 1: + p = "struct l_user_cap_data *"; + break; + default: + break; + }; break; /* linux_sigaltstack */ case 186: _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org" From owner-freebsd-emulation@FreeBSD.ORG Sat Mar 26 11:10:16 2011 Return-Path: Delivered-To: freebsd-emulation@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4010B1065673 for ; Sat, 26 Mar 2011 11:10:16 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 303078FC1B for ; Sat, 26 Mar 2011 11:10:16 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p2QBAGNi036126 for ; Sat, 26 Mar 2011 11:10:16 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p2QBAGfu036125; Sat, 26 Mar 2011 11:10:16 GMT (envelope-from gnats) Date: Sat, 26 Mar 2011 11:10:16 GMT Message-Id: <201103261110.p2QBAGfu036125@freefall.freebsd.org> To: freebsd-emulation@FreeBSD.org From: dfilter@FreeBSD.ORG (dfilter service) Cc: Subject: Re: kern/149168: commit references a PR X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: dfilter service List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Mar 2011 11:10:16 -0000 The following reply was made to PR kern/149168; it has been noted by GNATS. From: dfilter@FreeBSD.ORG (dfilter service) To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/149168: commit references a PR Date: Sat, 26 Mar 2011 11:06:08 +0000 (UTC) Author: avg Date: Sat Mar 26 11:05:53 2011 New Revision: 220031 URL: http://svn.freebsd.org/changeset/base/220031 Log: linux compat: improve and fix sendmsg/recvmsg compatibility - implement baseic stubs for capget, capset, prctl PR_GET_KEEPCAPS and prctl PR_SET_KEEPCAPS. - add SCM_CREDS support to sendmsg and recvmsg - modify sendmsg to ignore control messages if not using UNIX domain sockets This should allow linux pulse audio daemon and client work on FreeBSD and interoperate with native counter-parts modulo the differences in pulseaudio versions. PR: kern/149168 Submitted by: John Wehle Reviewed by: netchild MFC after: 2 weeks Modified: head/sys/compat/linux/linux_misc.c head/sys/compat/linux/linux_misc.h head/sys/compat/linux/linux_socket.c head/sys/compat/linux/linux_socket.h Modified: head/sys/compat/linux/linux_misc.c ============================================================================== --- head/sys/compat/linux/linux_misc.c Sat Mar 26 10:59:24 2011 (r220030) +++ head/sys/compat/linux/linux_misc.c Sat Mar 26 11:05:53 2011 (r220031) @@ -1679,6 +1679,100 @@ linux_exit_group(struct thread *td, stru return (0); } +#define _LINUX_CAPABILITY_VERSION 0x19980330 + +struct l_user_cap_header { + l_int version; + l_int pid; +}; + +struct l_user_cap_data { + l_int effective; + l_int permitted; + l_int inheritable; +}; + +int +linux_capget(struct thread *td, struct linux_capget_args *args) +{ + struct l_user_cap_header luch; + struct l_user_cap_data lucd; + int error; + + if (args->hdrp == NULL) + return (EFAULT); + + error = copyin(args->hdrp, &luch, sizeof(luch)); + if (error != 0) + return (error); + + if (luch.version != _LINUX_CAPABILITY_VERSION) { + luch.version = _LINUX_CAPABILITY_VERSION; + error = copyout(&luch, args->hdrp, sizeof(luch)); + if (error) + return (error); + return (EINVAL); + } + + if (luch.pid) + return (EPERM); + + if (args->datap) { + /* + * The current implementation doesn't support setting + * a capability (it's essentially a stub) so indicate + * that no capabilities are currently set or available + * to request. + */ + bzero (&lucd, sizeof(lucd)); + error = copyout(&lucd, args->datap, sizeof(lucd)); + } + + return (error); +} + +int +linux_capset(struct thread *td, struct linux_capset_args *args) +{ + struct l_user_cap_header luch; + struct l_user_cap_data lucd; + int error; + + if (args->hdrp == NULL || args->datap == NULL) + return (EFAULT); + + error = copyin(args->hdrp, &luch, sizeof(luch)); + if (error != 0) + return (error); + + if (luch.version != _LINUX_CAPABILITY_VERSION) { + luch.version = _LINUX_CAPABILITY_VERSION; + error = copyout(&luch, args->hdrp, sizeof(luch)); + if (error) + return (error); + return (EINVAL); + } + + if (luch.pid) + return (EPERM); + + error = copyin(args->datap, &lucd, sizeof(lucd)); + if (error != 0) + return (error); + + /* We currently don't support setting any capabilities. */ + if (lucd.effective || lucd.permitted || lucd.inheritable) { + linux_msg(td, + "capset effective=0x%x, permitted=0x%x, " + "inheritable=0x%x is not implemented", + (int)lucd.effective, (int)lucd.permitted, + (int)lucd.inheritable); + return (EPERM); + } + + return (0); +} + int linux_prctl(struct thread *td, struct linux_prctl_args *args) { @@ -1712,6 +1806,21 @@ linux_prctl(struct thread *td, struct li (void *)(register_t)args->arg2, sizeof(pdeath_signal)); break; + case LINUX_PR_GET_KEEPCAPS: + /* + * Indicate that we always clear the effective and + * permitted capability sets when the user id becomes + * non-zero (actually the capability sets are simply + * always zero in the current implementation). + */ + td->td_retval[0] = 0; + break; + case LINUX_PR_SET_KEEPCAPS: + /* + * Ignore requests to keep the effective and permitted + * capability sets when the user id becomes non-zero. + */ + break; case LINUX_PR_SET_NAME: /* * To be on the safe side we need to make sure to not Modified: head/sys/compat/linux/linux_misc.h ============================================================================== --- head/sys/compat/linux/linux_misc.h Sat Mar 26 10:59:24 2011 (r220030) +++ head/sys/compat/linux/linux_misc.h Sat Mar 26 11:05:53 2011 (r220031) @@ -37,6 +37,8 @@ * Second arg is a ptr to return the * signal. */ +#define LINUX_PR_GET_KEEPCAPS 7 /* Get drop capabilities on setuid */ +#define LINUX_PR_SET_KEEPCAPS 8 /* Set drop capabilities on setuid */ #define LINUX_PR_SET_NAME 15 /* Set process name. */ #define LINUX_PR_GET_NAME 16 /* Get process name. */ Modified: head/sys/compat/linux/linux_socket.c ============================================================================== --- head/sys/compat/linux/linux_socket.c Sat Mar 26 10:59:24 2011 (r220030) +++ head/sys/compat/linux/linux_socket.c Sat Mar 26 11:05:53 2011 (r220031) @@ -433,6 +433,8 @@ linux_to_bsd_cmsg_type(int cmsg_type) switch (cmsg_type) { case LINUX_SCM_RIGHTS: return (SCM_RIGHTS); + case LINUX_SCM_CREDENTIALS: + return (SCM_CREDS); } return (-1); } @@ -444,6 +446,8 @@ bsd_to_linux_cmsg_type(int cmsg_type) switch (cmsg_type) { case SCM_RIGHTS: return (LINUX_SCM_RIGHTS); + case SCM_CREDS: + return (LINUX_SCM_CREDENTIALS); } return (-1); } @@ -459,7 +463,16 @@ linux_to_bsd_msghdr(struct msghdr *bhdr, bhdr->msg_iov = PTRIN(lhdr->msg_iov); bhdr->msg_iovlen = lhdr->msg_iovlen; bhdr->msg_control = PTRIN(lhdr->msg_control); - bhdr->msg_controllen = lhdr->msg_controllen; + + /* + * msg_controllen is skipped since BSD and LINUX control messages + * are potentially different sizes (e.g. the cred structure used + * by SCM_CREDS is different between the two operating system). + * + * The caller can set it (if necessary) after converting all the + * control messages. + */ + bhdr->msg_flags = linux_to_bsd_msg_flags(lhdr->msg_flags); return (0); } @@ -472,7 +485,16 @@ bsd_to_linux_msghdr(const struct msghdr lhdr->msg_iov = PTROUT(bhdr->msg_iov); lhdr->msg_iovlen = bhdr->msg_iovlen; lhdr->msg_control = PTROUT(bhdr->msg_control); - lhdr->msg_controllen = bhdr->msg_controllen; + + /* + * msg_controllen is skipped since BSD and LINUX control messages + * are potentially different sizes (e.g. the cred structure used + * by SCM_CREDS is different between the two operating system). + * + * The caller can set it (if necessary) after converting all the + * control messages. + */ + /* msg_flags skipped */ return (0); } @@ -1092,6 +1114,7 @@ static int linux_sendmsg(struct thread *td, struct linux_sendmsg_args *args) { struct cmsghdr *cmsg; + struct cmsgcred cmcred; struct mbuf *control; struct msghdr msg; struct l_cmsghdr linux_cmsg; @@ -1099,15 +1122,14 @@ linux_sendmsg(struct thread *td, struct struct l_msghdr linux_msg; struct iovec *iov; socklen_t datalen; + struct sockaddr *sa; + sa_family_t sa_family; void *data; int error; error = copyin(PTRIN(args->msg), &linux_msg, sizeof(linux_msg)); if (error) return (error); - error = linux_to_bsd_msghdr(&msg, &linux_msg); - if (error) - return (error); /* * Some Linux applications (ping) define a non-NULL control data @@ -1116,8 +1138,12 @@ linux_sendmsg(struct thread *td, struct * order to handle this case. This should be checked, but allows the * Linux ping to work. */ - if (msg.msg_control != NULL && msg.msg_controllen == 0) - msg.msg_control = NULL; + if (PTRIN(linux_msg.msg_control) != NULL && linux_msg.msg_controllen == 0) + linux_msg.msg_control = PTROUT(NULL); + + error = linux_to_bsd_msghdr(&msg, &linux_msg); + if (error) + return (error); #ifdef COMPAT_LINUX32 error = linux32_copyiniov(PTRIN(msg.msg_iov), msg.msg_iovlen, @@ -1128,13 +1154,21 @@ linux_sendmsg(struct thread *td, struct if (error) return (error); - if (msg.msg_control != NULL) { + control = NULL; + cmsg = NULL; + + if ((ptr_cmsg = LINUX_CMSG_FIRSTHDR(&linux_msg)) != NULL) { + error = kern_getsockname(td, args->s, &sa, &datalen); + if (error) + goto bad; + sa_family = sa->sa_family; + free(sa, M_SONAME); + error = ENOBUFS; cmsg = malloc(CMSG_HDRSZ, M_TEMP, M_WAITOK | M_ZERO); control = m_get(M_WAIT, MT_CONTROL); if (control == NULL) goto bad; - ptr_cmsg = LINUX_CMSG_FIRSTHDR(&msg); do { error = copyin(ptr_cmsg, &linux_cmsg, @@ -1147,28 +1181,58 @@ linux_sendmsg(struct thread *td, struct goto bad; /* - * Now we support only SCM_RIGHTS, so return EINVAL - * in any other cmsg_type + * Now we support only SCM_RIGHTS and SCM_CRED, + * so return EINVAL in any other cmsg_type */ - if ((cmsg->cmsg_type = - linux_to_bsd_cmsg_type(linux_cmsg.cmsg_type)) == -1) - goto bad; + cmsg->cmsg_type = + linux_to_bsd_cmsg_type(linux_cmsg.cmsg_type); cmsg->cmsg_level = linux_to_bsd_sockopt_level(linux_cmsg.cmsg_level); + if (cmsg->cmsg_type == -1 + || cmsg->cmsg_level != SOL_SOCKET) + goto bad; + /* + * Some applications (e.g. pulseaudio) attempt to + * send ancillary data even if the underlying protocol + * doesn't support it which is not allowed in the + * FreeBSD system call interface. + */ + if (sa_family != AF_UNIX) + continue; + + data = LINUX_CMSG_DATA(ptr_cmsg); datalen = linux_cmsg.cmsg_len - L_CMSG_HDRSZ; + + switch (cmsg->cmsg_type) + { + case SCM_RIGHTS: + break; + + case SCM_CREDS: + data = &cmcred; + datalen = sizeof(cmcred); + + /* + * The lower levels will fill in the structure + */ + bzero(data, datalen); + break; + } + cmsg->cmsg_len = CMSG_LEN(datalen); - data = LINUX_CMSG_DATA(ptr_cmsg); error = ENOBUFS; if (!m_append(control, CMSG_HDRSZ, (c_caddr_t) cmsg)) goto bad; if (!m_append(control, datalen, (c_caddr_t) data)) goto bad; - } while ((ptr_cmsg = LINUX_CMSG_NXTHDR(&msg, ptr_cmsg))); - } else { - control = NULL; - cmsg = NULL; + } while ((ptr_cmsg = LINUX_CMSG_NXTHDR(&linux_msg, ptr_cmsg))); + + if (m_length(control, NULL) == 0) { + m_freem(control); + control = NULL; + } } msg.msg_iov = iov; @@ -1193,9 +1257,11 @@ static int linux_recvmsg(struct thread *td, struct linux_recvmsg_args *args) { struct cmsghdr *cm; + struct cmsgcred *cmcred; struct msghdr msg; struct l_cmsghdr *linux_cmsg = NULL; - socklen_t datalen, outlen, clen; + struct l_ucred linux_ucred; + socklen_t datalen, outlen; struct l_msghdr linux_msg; struct iovec *iov, *uiov; struct mbuf *control = NULL; @@ -1252,39 +1318,35 @@ linux_recvmsg(struct thread *td, struct goto bad; } - if (control) { + outbuf = PTRIN(linux_msg.msg_control); + outlen = 0; + if (control) { linux_cmsg = malloc(L_CMSG_HDRSZ, M_TEMP, M_WAITOK | M_ZERO); - outbuf = PTRIN(linux_msg.msg_control); - cm = mtod(control, struct cmsghdr *); - outlen = 0; - clen = control->m_len; - while (cm != NULL) { + msg.msg_control = mtod(control, struct cmsghdr *); + msg.msg_controllen = control->m_len; + + cm = CMSG_FIRSTHDR(&msg); - if ((linux_cmsg->cmsg_type = - bsd_to_linux_cmsg_type(cm->cmsg_type)) == -1) + while (cm != NULL) { + linux_cmsg->cmsg_type = + bsd_to_linux_cmsg_type(cm->cmsg_type); + linux_cmsg->cmsg_level = + bsd_to_linux_sockopt_level(cm->cmsg_level); + if (linux_cmsg->cmsg_type == -1 + || cm->cmsg_level != SOL_SOCKET) { error = EINVAL; goto bad; } + data = CMSG_DATA(cm); datalen = (caddr_t)cm + cm->cmsg_len - (caddr_t)data; - switch (linux_cmsg->cmsg_type) + switch (cm->cmsg_type) { - case LINUX_SCM_RIGHTS: - if (outlen + LINUX_CMSG_LEN(datalen) > - linux_msg.msg_controllen) { - if (outlen == 0) { - error = EMSGSIZE; - goto bad; - } else { - linux_msg.msg_flags |= - LINUX_MSG_CTRUNC; - goto out; - } - } + case SCM_RIGHTS: if (args->flags & LINUX_MSG_CMSG_CLOEXEC) { fds = datalen / sizeof(int); fdp = data; @@ -1295,11 +1357,40 @@ linux_recvmsg(struct thread *td, struct } } break; + + case SCM_CREDS: + /* + * Currently LOCAL_CREDS is never in + * effect for Linux so no need to worry + * about sockcred + */ + if (datalen != sizeof (*cmcred)) { + error = EMSGSIZE; + goto bad; + } + cmcred = (struct cmsgcred *)data; + bzero(&linux_ucred, sizeof(linux_ucred)); + linux_ucred.pid = cmcred->cmcred_pid; + linux_ucred.uid = cmcred->cmcred_uid; + linux_ucred.gid = cmcred->cmcred_gid; + data = &linux_ucred; + datalen = sizeof(linux_ucred); + break; + } + + if (outlen + LINUX_CMSG_LEN(datalen) > + linux_msg.msg_controllen) { + if (outlen == 0) { + error = EMSGSIZE; + goto bad; + } else { + linux_msg.msg_flags |= + LINUX_MSG_CTRUNC; + goto out; + } } linux_cmsg->cmsg_len = LINUX_CMSG_LEN(datalen); - linux_cmsg->cmsg_level = - bsd_to_linux_sockopt_level(cm->cmsg_level); error = copyout(linux_cmsg, outbuf, L_CMSG_HDRSZ); if (error) @@ -1312,18 +1403,13 @@ linux_recvmsg(struct thread *td, struct outbuf += LINUX_CMSG_ALIGN(datalen); outlen += LINUX_CMSG_LEN(datalen); - linux_msg.msg_controllen = outlen; - if (CMSG_SPACE(datalen) < clen) { - clen -= CMSG_SPACE(datalen); - cm = (struct cmsghdr *) - ((caddr_t)cm + CMSG_SPACE(datalen)); - } else - cm = NULL; + cm = CMSG_NXTHDR(&msg, cm); } } out: + linux_msg.msg_controllen = outlen; error = copyout(&linux_msg, PTRIN(args->msg), sizeof(linux_msg)); bad: Modified: head/sys/compat/linux/linux_socket.h ============================================================================== --- head/sys/compat/linux/linux_socket.h Sat Mar 26 10:59:24 2011 (r220030) +++ head/sys/compat/linux/linux_socket.h Sat Mar 26 11:05:53 2011 (r220031) @@ -53,6 +53,7 @@ /* Socket-level control message types */ #define LINUX_SCM_RIGHTS 0x01 +#define LINUX_SCM_CREDENTIALS 0x02 /* Ancilliary data object information macros */ @@ -66,13 +67,14 @@ #define LINUX_CMSG_FIRSTHDR(msg) \ ((msg)->msg_controllen >= \ sizeof(struct l_cmsghdr) ? \ - (struct l_cmsghdr *)((msg)->msg_control) : \ + (struct l_cmsghdr *) \ + PTRIN((msg)->msg_control) : \ (struct l_cmsghdr *)(NULL)) #define LINUX_CMSG_NXTHDR(msg, cmsg) \ ((((char *)(cmsg) + \ LINUX_CMSG_ALIGN((cmsg)->cmsg_len) + \ sizeof(*(cmsg))) > \ - (((char *)(msg)->msg_control) + \ + (((char *)PTRIN((msg)->msg_control)) + \ (msg)->msg_controllen)) ? \ (struct l_cmsghdr *) NULL : \ (struct l_cmsghdr *)((char *)(cmsg) + \ _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"