Date: Thu, 23 Jul 2009 14:24:17 GMT From: Jonathan Anderson <jona@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 166448 for review Message-ID: <200907231424.n6NEOHRG031386@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=166448 Change 166448 by jona@jona-trustedbsd-belle-vmware on 2009/07/23 14:24:02 Re-ordered in-sandbox tests Affected files ... .. //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_qt/sandbox_qt.cpp#5 edit Differences ... ==== //depot/projects/trustedbsd/capabilities/src/tools/cap/sandbox_qt/sandbox_qt.cpp#5 (text+ko) ==== @@ -264,6 +264,8 @@ printf("sandbox:\tIn sandbox: %i\n", ld_insandbox()); fflush(stdout); + + // get a file descriptor for our host struct lc_host *lchpp; if(lcs_get(&lchpp) < 0) err(EX_IOERR, "Error getting lc_host"); @@ -273,6 +275,8 @@ fflush(stdout); + + // find the User Angel int32_t angel = -1; uint32_t angellen = 1; struct ua_datum *d = ua_recv(host, &angel, &angellen); @@ -293,7 +297,7 @@ - // first test X stuff (inc. starting the QApplication) + // receive X file descriptor, Xauth data int32_t Xfd = -1; uint32_t Xfdlen = 1; d = ua_recv(host, &Xfd, &Xfdlen); @@ -313,6 +317,13 @@ printf("sandbox:\tX at FD %i\n", Xfd); fflush(stdout); + char display[20]; + sprintf(display, "fd://cap:%i", Xfd); + setenv("DISPLAY", display, 1); + printf("sandbox:\tset DISPLAY to %s\n", getenv("DISPLAY")); + fflush(stdout); + + d = ua_recv(host, NULL, 0); if(!d) { @@ -345,34 +356,23 @@ printf("\n"); fflush(stdout); - xcb_auth_info_t xauthinfo; xauthinfo.namelen = xauthnamelen; xauthinfo.name = xauthname; xauthinfo.datalen = xauthdatalen; xauthinfo.data = xauthdata; - xcb_auth_cache(&xauthinfo); - char display[20]; - sprintf(display, "fd://cap:%i", Xfd); - setenv("DISPLAY", display, 1); - printf("sandbox:\tset DISPLAY to %s\n", getenv("DISPLAY")); - fflush(stdout); + // start QApplication printf("sandbox:\tCreating QApplication...\n"); fflush(stdout); QApplication app(argc, argv); - printf("sandbox:\tQApplication started, displaying message box...\n"); - fflush(stdout); - QMessageBox::information(NULL, "Sandbox", "This is sandboxed"); - printf("sandbox:\tMessage box closed\n"); - fflush(stdout); + printf("sandbox:\tQApplication started.\n"); - // now test file opening int fd = ua_open("/etc/passwd", O_RDONLY); if(fd < 0) err(EX_IOERR, "Error opening passwd via angel"); @@ -405,6 +405,16 @@ printf("Filename: %s\n", group.fileName().toStdString().c_str()); printf("Data: %s\n", group.readLine().data()); fflush(stdout); + + + + printf("sandbox:\tDisplaying message box...\n"); + fflush(stdout); + QMessageBox::information(NULL, "Sandbox", "This is sandboxed"); + printf("sandbox:\tMessage box closed\n"); + fflush(stdout); + + return 0; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907231424.n6NEOHRG031386>