Sandboxing Options

I did some searching trying to determine what options are available for sandboxing an app on Arch.  For example, run Firefox in a sandbox that confines access to a subset of the entire filesystem (read access to some folders, read-write access to other folders).  Basically something like what Fedora 12 can allegedly do.
I thought I'd post my conclusions in case I missed something and you can set me straight.  My conclusion is that this isn't really doable in any reasonably painless way.  It just doesn't seem like Linux in general has supported this form of security very well at all.  I found Plash which is basically what I want, but that seems to be Ubuntu-oriented.  Even the build-from-source instructions seem to be Ubuntu-only.  And the author comments that building glibc is difficult.  So without any detailed instructions I doubt I would have any success getting it to run on Arch, and I see no trace of anyone who reports doing so.  Plash also seems to be somewhat abandoned.  Do you think this would run on Arch, and how would you go about building it?
The author is currently working on a glibc port to NaCl.  Aside from the fact that NaCl is a Google product, and I don't trust anything Google does anymore than I trust Microsoft, it looks like that is very much a work in progress and not of current use.
There is this community contribution, FacadeFS, but it looks incomplete, and no one is talking about running something like Firefox inside it.  But I might play with it and see what it can/can't do.
Then there is OpenVZ, which seems to be more for servers and OS virtualization and requires a modified kernel.  And again, no reports of anyone using it with Arch, or any how-tos.
And the only Arch Wiki entry for sandbox is this.
If I could master a method for this I'd be happy to write a wiki entry like 'How To Sandbox Firefox'.  But I more or less think I'm too early - the tools aren't there.  Any thoughts?

Leonid.I wrote:How does sandfox compare to the above tools?
Hi - I'll give you my limited answer to this.  I've never used SELinux or AppArmor deliberately except by using a standard install of SUSE and Ubuntu.  They are much more involved solutions.  My understanding is they not only sandbox files but can also deal with sandboxing memory, cpu and network usage.  Also, if there is a root exploit or privilege escalation issue, even root may not be able to break out and into the entire system.  By contrast, an app in a Sandfox sandbox has the normal user's access to memory, cpu, and network usage.  Also, if there is an exploit that allows that user to gain root access, it's not so hard to break out of a chroot jail as root.  So there is no root containment.  Sandfox simply uses the power of the root user to limit apps' access to the filesystem.
On the other hand, SELinux and AppArmor have corporate and even governmental (NSA) ties, and are very complex.  With this complexity comes the risk of intentional and unintentional backdoors and exploits.  To me this is sort of like the anti-virus software on Windows - it can be like a virus itself in many ways.  Open-source and peer review is great, but when you're dealing with thousands or millions of lines of code, it has its practical limitations.  Personally I think people put too much faith in software that is 'open source', assuming people have actually reviewed the source in sufficient detail.  If Ken Thompson could put a backdoor in the open source C compiler in the relatively simple code of the 80's, imagine what can be done in the mountains of code today.  I think examining who works on the software and why is also important.  Are the people whose job it is to steal secrets (NSA, and some would save Novell as well) really interested in your security?  Personally, I doubt it.  Simply put, I don't trust the source (pun accepted).
To its benefit, Sandfox is simple to understand and uses only core Linux commands like mount, which have been well tested over the years.  On the other hand, it's not as comprehensive a solution to overall security.  Will it stop Mozilla plugins from roaming your system?  Probably - if they can't get root then they're pretty well trapped (use a good root password).  Sandfox also uses virtually no system resources - one user told me he had two Sandfox sandboxes running on his EeePC, something he couldn't do with AppArmor.
Is there a way to bind/bindro with a kind of noexec option?
That's actually a good question.  Without looking into it I would say probably, although Sandfox does not currently implement this.  Sandfox bind mounts, and then remounts with nosuid and ro (for bindro).  So you could probably add noexec in that remount command as well.  If you want to mess with the script you could have it conditionally add noexec based on the name of the folder.  I may look into this next time I work on Sandfox.
Also, thanks for the cyberciti link - I hadn't come across that.

Similar Messages

  • I installed 3.6.12 and now get error message that says - Error: Platform version 1.9.2.12 is not compatible with miniversion = 1.9.2.10 maxversion = 1.9.2.19 and it won't launch unless outside of sandbox. I cannot navigate to yahoo. Please help.

    I down loaded latest version and get error message when I launch it. Error message is entitled XUL Runner and says - Error: Platform version 1.9.2.12 is not compatible with miniversion >= 1.9.2.10 maxversion <= 1.9.2.19 and it won't launch. I can launch if I use Run Outside of Sandbox option, but I cannot navigate my home page on yahoo. What happened? Please send fix. Thanks, [email protected]

    Do a clean (re)install:
    * Download a fresh Firefox copy from http://www.mozilla.com/firefox/all.html and save the file to the desktop.
    * Uninstall your current Firefox version and remove the Firefox program folder before installing that copy of the Firefox installer.
    * Don't remove personal data when uninstalling.
    * It is important to delete the Firefox program folder to remove all the files and make sure that there are no problems with files that were leftover after uninstalling.
    Your bookmarks and other profile data are stored elsewhere (not in the Firefox program folder) and won't be affected by a reinstall, but make sure that you do not select to remove personal data if you uninstall Firefox.

  • Backing up and restoring

    First of all... props to Apple, getting your old computer screen back on a new machine is quick and painless. My first MacBook was defective so I copied the HD using Super Duper. Then on the new Mac I booted using the external copy of the drive, and once again used super duper to overwrite the original hd setup with my hd. In a matter of an hour and a half (which by the way was mostly transfering and not actually work) I had my OLD computer back! AMAZING! this would never ever happen on a PC....ever!
    Anyway, I'm just wondering... this is my first time, did I do the whole process right?
    basically I:
    1. Backed up my entire HD onto an external HD via Super Duper
    2. Booted my new computer using the external HD
    3. Copied the backed up HD onto the New computer's HD (this replaced the original stuff on the HD)
    4. Booted the computer from the normal HD with all my settings, icons, apps... etc, so far I didn't test most of it for working.
    It seems almost too easy... I feel like there must be more to it, or that I made a mistake. I recall Super Duper saying that not everything is copied (that some system files are left out) ... am I missing those now!?

    Nope, you got it right. That is the right process.
    I do not recall ever seeing that message or detail from the guys at Shirt Pocket, but if it is out there it is likely referring to a Sandbox backup that only copies system files and not the personal data. I do a full clone and update it instead of using the Sandbox option.

  • [Solved] Chromium - Overusing CPU

    Today I wanted to take a look into Chromium. So I:
    pacman grabbed it
    went setting by setting configuring it
    signed into my google accounts
    found all simmiler addons from firefox (List below)
    Configured every addon
    checked out the about:flags section
    enabled the "Uber Page" (Tested both with and without this)
    launched htop
    put on mplayer with my favorite podcasts
    then started surfing...
    About 1-2 minutes later the entire (more or less (Seems to be a render thread (Meaning the UI reacts to input, but the chrome (UI at the top of the browser, not the browser's name) becomes wonky and the pages fails to respond))) browser lagged to a hault and htop showed that /bin/lib/chromium/chromium had ~120% CPU utilisation. One of the cores is running a solid 100% used and nothing will get the browser going again except a relaunch.
    I have tried everything, and even doing nothing in roughly the same time will acheive the same result.
    The chromium task manager shows 0 CPU usage among all "Pages" then jumped later to show 104% for the browser.
    I tried to view chrome:memory, but it just wouldn't load.
    The memory ran essentially at ~400M of memory the entire time and my system has 4G of it, so it's not a memory problem.
    dmesg | tail:
    [ 39.296961] EXT4-fs (sda1): re-mounted. Opts: (null)
    [ 39.498669] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
    [ 39.580976] Adding 19535036k swap on /dev/sda2. Priority:-1 extents:1 across:19535036k
    [ 40.623737] r8169 0000:03:00.0: eth0: link down
    [ 40.623748] r8169 0000:03:00.0: eth0: link down
    [ 40.623926] ADDRCONF(NETDEV_UP): eth0: link is not ready
    [ 42.972541] r8169 0000:03:00.0: eth0: link up
    [ 42.972734] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    [ 53.203443] eth0: no IPv6 routers present
    [ 87.057552] fuse init (API version 7.18)
    Extensions:
    Adblock+
    Do Not Track
    Ghostery
    HTTPS Evereywhere
    Keep MORE Opt Outs
    Link Master
    NotScript
    TinEye
    User-Agent Switcher
    Vimium
    Web Developer
    Just checked my TTY1 fom which I launched X. Seems that the crashing thread is throwing the following error twice on chromium's boot:
    ...:ERROR:bus.cc(261)] Failed to connect to the bus: Failded to connect to the socket /var/run/dbus/system_bus_socket: No such file or directory
    I now tried running it with the --no-sandbox option. Same result.
    I now ran:
    $pacman -Syyu
    so I know I'm up to date. I haven't rebooted since installing chromium, so I will try that after posting and will update this thread if anything changes.
    Solution:
    Well it seems it was a problem with just the addons. No matter how I played, anything more than 7 would yeild the same thing. Honnestly, Chromium's plugin API is awful. I'll stick with firefox, at least it can run my plugins to tweek the UI to my liking (All 32 of them... UGH).
    Last edited by pilotkeller (2012-05-12 16:59:27)

    Yes, I have gstreamer good, bad, ugly, ffmpeg and all the plugins.
    I decided to try installing pulseaudio.  It turns out you were in fact correct all my mp3 files now play correctly.  Very strange!  thanks for your help axelectrik.
    Last edited by scwalla (2013-06-07 22:44:12)

  • App privacy

    Hello!
    FIrst of all I would like to apologise if this topic does not fit into this forum and if admins believe so, please move this discussion into the appropriate forum.
    I would like to discuss with you a topic regarding app privacy. And this goes for all versions, not only OS 10- however if any change is to be made surely OS 10 will be on the frontline.
    I know that the BBOS is one of the safest and most secure to this day, however BBOS app permission need a lot of polishing. So my basic idea is why not create something like a "sandbox app" that would basically tell me EXACTLY what information any chosen app on my phone is trying to access and an option to block this app from doing so- and I mean in detail. I would like to know if my flashlight app is trying to copy my phonebook, or send my location. To that matter I would like to know to whom is it sending this info?
    Basically i believe that privacy will become more and more desirable in the future(now let's be honest- if you are currently logged into your facebook account you probably do not know what I am talking about). And Blackberry being in the center of security and privacy inovation could realy develop a sandbox option into their OS, said sandbox should inform the user of ALL activities that an app does. Who knows what facebook messenger and google docs actualy steal from you?? I don't. But I would like to know!
    I would appreciate any insight to this matter..
    Thank you!

    With BlackBerry10, you can look and see exactly what all permissions are included with each application.
    1. If any post helps you please click the below the post(s) that helped you.
    2. Please resolve your thread by marking the post "Solution?" which solved it for you!
    3. Install free BlackBerry Protect today for backups of contacts and data.
    4. Guide to Unlocking your BlackBerry & Unlock Codes
    Join our BBM Channels (Beta)
    BlackBerry Support Forums Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

  • Android IOS Rim Distribution Question

    Is it possible to distribute builds to employees/clients of a company without a verisign certificate?
    What is the best (and cheapest) way to do it?
    Thanks
    My first mobile builds

    For mobile apps you don't use a Verisign key - you use the one supplied to you by Google, Apple, and/or RIM.
    For Android apps: just link to the .bar file on a protected part of your website.
    For PlayBook apps: If your app is intended for a limited number of users, you can either side-load the app onto their tablet from a PC/Mac, use the sandbox option to to allow them access to unpublished apps in App World, or you can publish it in App World and control who can use it via a licensing server.
    Also, RIM is working on a "corporate" App World, where an enterprise can simply add their own private apps for internal use and control it via BES policies. They talked about it at DevCon in november. Not sure about a release date.
    For IOS: don't know, probably something to do with the entrerprise distribution options in App Store.

  • Linux Debugger and Debug Player

    Hello.
    As someone who develops Flash games under linux platform, I'm already struggling that latest version of Flash Player is unavailable for my platform.
    For now, there is at least workaround to get 11.2 Debug Player working by replacing libflashplayer.so.
    As far, as I understand that would not work with Flash Player 12.
    Is there any chance that there will be Debugger and Debug Player 12 released for linux?

    Jeromie Clark wrote:
    We are currently working on a content debugger version of Flash Player for Chrome Pepper, which is the only linux target that is actively supported.
    Unfortunately, the debug PPAPI player version is Win/Mac only.
    If you have interest in Linux, Flash, AIR, and Scout, feel free to follow my twitter feed and blog.
    You can get telemetry data out of the Linux PPAPI Flash Player. Unfortunately,1) it requires starting google-chrome with the --no-sandbox option (I filed a bug on this), and 2) since it's not the debug player, you don't get memory allocation data (you do get the stack profiler and timing data).
    Instead, if possible I suggest testing your content under Adobe AIR (under wine on linux), where you get full telemetry data.
    You can view this telemetry using Adobe Scout on a Windows VM (if you've paid for Windows and Adobe CC licenses), or with a little cross-platform project of mine called hxScout.

  • Altering Applet Security

    -I have been lead to belive that the security policy file for an applet simply sits in the same (default)
    directory with the applet, on the web server (eg. Apache). Can someone else reply to confirm this or
    otherwise?
    Besides that, I also observe that the programmer available api in java 1.6 there is a Permission file,
    which may be instantiated with relevant String data, which may then be sent to
    a PermissionCollection class.
    I furthermore know that I can do privileged actions past the default security policy,
    using the appropriate doPrivileged method inside AccessController with an adapted
    *(implemented) PrivilegedAction style class.*
    I am in fact trying to alter these security policies without applet signing or using a policy file,
    which to some extent is possible (say with AccessController).
    Can someone else please tell me how I can instantiate a Permission object with non-default
    security settings for a java applet, and have my java runtime observe these new settings
    and let me act accordingly with them, even outside the default java sandbox?
    (How to do policy file changes without the policy file or applet signing at all)?

    I have been lead to belive that the security policy file for an applet simply sits in the same (default) directory with the applet
    Re: Java Applet Sandbox options., you have been misled about this.
    -Nevertheless, it is a way to performed security forbidden actionsNo. It is a way to perform actions that aren't permitted to the current codebase but that are permitted to a codebase lower down on the call stack.
    -When I do use a custom policy file on an applet, (say when using apache webserver), and I don't want to sign the applet,
    my policy file will be actioned if it is left in the same default directory as my applet jar. Correct?
    Re: Java Applet Sandbox options., no. This is pure fiction. The policy file is at the client, installed with the JDK, controlled by the client. That's the whole point of the mechanism.
    I understand that in java code, I can create a Permisson object (or multiple ones) with the correct subclass of Permission
    and the correct intended String settings inside that Permission object.You can but it won't do you any good.
    How do I submit a permission object to the static policy object method, or event a default ProtectionDomain object?
    Re: Java Applet Sandbox options., you don't.
    so that the java runtime detects them and updates actionable security options? Where is the class to do this,
    and where is the class/method to call to get the system's present instance of that class?
    Re: Java Applet Sandbox options., they don't exist. If they did, the entire mechanism would be pointless. Re: Java Applet Sandbox options., the Permission and PermissionCollection classes are there for use by the security manager.
    How many times do you need to be told all this exactly?

  • Why is XMLRequest optional in non application sandbox?

    Hi everyone,
    what does optional mean in this box below found at
    http://labs.adobe.com/wiki/index.php/AIR:HTML_Security_FAQ#How_would_someone_code_in_this_ new_model.3F??
    Capability
    AIR Application Sandbox
    AIR Non-application
    Can    execute cross-domain requests (XMLHttpRequest)?
    Yes
    Optional
    what does optional mean?? do you have to set the non aplication sandbox up in a certain way in order to allow for XMLHttpRequests?
    Thank you all in advance
    IrishAIRMax

    Interesting question - thanks for asking it.
    -Chris

  • "Save As" dialog of excel for a sandbox solution library of sharepoint gives "Web page no longer exist. Error 410"

    Hi
    I created 2 libraries via a sandbox solution for sharepoint 2010. 
    I uploaded an excel file into the library.
    Now on opening via excel that file and clicking "Save as " dialog - it tries to open that sharepoint library where the file resides.
    But i am getting an error of "Webpage no longer exists".

    No, this approach doesn't solve the problem
    I have the same problem. Created a new SharePoint 2010 List Definition project, Sandbox deployment option. List Definition type: Documents Library.
    When attempting to save into the document library from Microsoft Word 2010 I get "The webpage no longer exists" error in the File Save dialog
    If I change the type of the solution to Farm solution it works as expected.
    IISLOGS:
    2013-12-19 10:12:01 127.0.0.1 PROPFIND / - 80 0#.w|domain\username 127.0.0.1 Microsoft-WebDAV-MiniRedir/6.1.7601 207 0 0 35
    2013-12-19 10:12:01 127.0.0.1 PROPFIND /sites - 80 0#.w|domain\username 127.0.0.1 Microsoft-WebDAV-MiniRedir/6.1.7601 207 0 0 26
    2013-12-19 10:12:01 127.0.0.1 PROPFIND /sites/team1 - 80 0#.w|domain\username 127.0.0.1 Microsoft-WebDAV-MiniRedir/6.1.7601 207 0 0 30
    2013-12-19 10:12:01 127.0.0.1 PROPFIND /sites/team1/Lists - 80 0#.w|domain\username 127.0.0.1 Microsoft-WebDAV-MiniRedir/6.1.7601 207 0 0 32
    2013-12-19 10:12:01 127.0.0.1 POST /_vti_bin/shtml.dll/_vti_rpc - 80 0#.w|domain\username 127.0.0.1 Microsoft-WebDAV-MiniRedir/6.1.7601 200 0 0 10
    2013-12-19 10:12:01 127.0.0.1 HEAD /sites/team1/_vti_bin/owssvr.dll dialogview=FileSave&FileDialogFilterValue=*.*&location=Lists/ListDefinitionProject1-ListInstance1 80 - 127.0.0.1 non-browser;+(Windows+NT+6.1.7601) 401 0 0 6
    2013-12-19 10:12:01 127.0.0.1 HEAD /sites/team1/_vti_bin/owssvr.dll dialogview=FileSave&FileDialogFilterValue=*.*&location=Lists/ListDefinitionProject1-ListInstance1 80 - 127.0.0.1 non-browser;+(Windows+NT+6.1.7601) 401 1 2148074254 2
    2013-12-19 10:12:01 127.0.0.1 HEAD /_vti_bin/owssvr.dll dialogview=FileSave&FileDialogFilterValue=*.*&location=Lists/ListDefinitionProject1-ListInstance1 80 0#.w|domain\username 127.0.0.1 non-browser;+(Windows+NT+6.1.7601) 200 0 0 23
    2013-12-19 10:12:01 127.0.0.1 GET /sites/team1/_vti_bin/owssvr.dll dialogview=FileSave&FileDialogFilterValue=*.docx&location=Lists%2FListDefinitionProject1-ListInstance1 80 - 127.0.0.1 non-browser;+(Windows+NT+6.1.7601) 401 0 0 10
    2013-12-19 10:12:01 127.0.0.1 GET /sites/team1/_vti_bin/owssvr.dll dialogview=FileSave&FileDialogFilterValue=*.docx&location=Lists%2FListDefinitionProject1-ListInstance1 80 - 127.0.0.1 non-browser;+(Windows+NT+6.1.7601) 401 1 2148074254
    2
    2013-12-19 10:12:01 127.0.0.1 GET /_vti_bin/owssvr.dll dialogview=FileSave&FileDialogFilterValue=*.docx&location=Lists%2FListDefinitionProject1-ListInstance1 80 0#.w|domain\username 127.0.0.1 non-browser;+(Windows+NT+6.1.7601) 410 0 0 34
    2013-12-19 10:12:01 127.0.0.1 PROPFIND /sites/team1/Lists/ListDefinitionProject1-ListInstance1 - 80 0#.w|domain\username 127.0.0.1 Microsoft-WebDAV-MiniRedir/6.1.7601 207 0 0 36

  • Correct usage of select and option statements

    Is it ok if I say this in my option statement?
    <select name="XYZ" onchange="return valChange(this)">
    <option <%=Selected%> value="100"><%=100%%></option>Or should the option tag just contani the variable names instead of values directly?
    like this
    <option <%=aTmpSelected%> value="<%=abc%>"><%=fslr%></option>where atmpselected contains selected,
    abc contains 100,
    and
    fslr contains 100%,
    as values?
    Please specify using an example.
    Thanks for your time.

    Tutorial on how to use select elements:
    http://w3schools.com/tags/tag_select.asp
    Tutorial on how to use option elements:
    http://w3schools.com/tags/tag_option.asp
    Sandbox to test out your code:
    http://w3schools.com/html/tryit.asp?filename=tryhtml_select2
    The value attribute is the string that gets passed to the form when it's submitted. The text between the <option></option> tags is what gets displayed for that choice. You can use a conditional to decide if "selected" gets added to the html.

  • Where is the option "create update rule" in BW 7.3?

    Hi, all.
    We have updated our BI sandbox to BW 7.3. After installing cube 0PT_C01 from the BCT, I realized that infosource 0HR_PT_3 is not linked to the cube. So I was trying to manually create the update rule. But that "create update rule" option is nowhere to be found. Can you please advise?
    Thanks,
    Jonathan.

    Hi jonathan,
    you are implementing time and labour 0PT_C01.
    for that we have only 2 standard data sources
    1 is 0HR_PT_1
    2 is 0HR_PT_2
    in addition to the above data sources we can also use 0HR_PT_3 data source for the info provider 0PT_C01.
    PL check the below link
    http://help.sap.com/saphelp_nw04/helpdata/en/18/3a8337fb02735ce10000009b38f8cf/content.htm
    regards
    venuscm

  • Sandbox WebPart Postback too Large?

    Hi guys, I've done some research and it looks like the error I'm running into (when saving the web part properties) is that my post back is too large. 
    This is a simple sandbox web part I'm building, which works great until I added the last configuration option which put me over the limit.
    Web Part Code (.cs)
    using System;
    using System.ComponentModel;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.WebControls;
    namespace P.SPS.UI.Web_Parts.jQuery_UI_Accordion_Zone
    [ToolboxItemAttribute(false)]
    public class jQuery_UI_Accordion_Zone : WebPart
    #region custom web part properties
    [WebBrowsable(true),
    Category("JQuery Options"),
    Personalizable(PersonalizationScope.Shared),
    WebDisplayName("Include jQuery"),
    WebDescription("Check to include reference to jQuery. * Google CDN")]
    public bool includejQuery { get; set; }
    [WebBrowsable(true),
    Category("JQuery Options"),
    Personalizable(PersonalizationScope.Shared),
    WebDisplayName("Include jQuery UI"),
    WebDescription("Check to include reference to jQuery UI. * Google CDN")]
    public bool includejQueryUI { get; set; }
    [WebBrowsable(true),
    Category("JQuery Options"),
    Personalizable(PersonalizationScope.Shared),
    WebDisplayName("Include jQuery UI CSS"),
    WebDescription("Check to include reference to jQuery UI CSS. * Google CDN")]
    public bool includejQueryUICSS { get; set; }
    [WebBrowsable(true),
    Category("JQuery Options"),
    Personalizable(PersonalizationScope.Shared),
    WebDisplayName("Include SPAccordions Script"),
    WebDescription("Check to include the custom spaccordions() jQuery function.")]
    public bool includeSPAccordionsScript { get; set; }
    [WebBrowsable(true),
    Category("JQuery Accordion() Properties"),
    Personalizable(PersonalizationScope.Shared),
    WebDisplayName("Width (px)"),
    WebDescription("If set a min and max width will be applied to the tab container. (integer)"),
    DefaultValue(0)]
    public int dataWidth { get; set; }
    [WebBrowsable(true),
    Category("JQuery Accordion() Properties"),
    Personalizable(PersonalizationScope.Shared),
    WebDisplayName("Active"),
    WebDescription("Which panel should be open? (integer)"),
    DefaultValue(0)]
    public int dataActive { get; set; }
    [WebBrowsable(true),
    Category("JQuery Accordion() Properties"),
    Personalizable(PersonalizationScope.Shared),
    WebDisplayName("Scroll to Top on Activate"),
    WebDescription("When set to true, the accordion will stay in view while switching headers.")]
    public bool dataScrollToTop { get; set; }
    [WebBrowsable(true),
    Category("JQuery Accordion() Properties"),
    Personalizable(PersonalizationScope.Shared),
    WebDisplayName("Collapsible"),
    WebDescription("When set to true, the active panel can be closed.")]
    public bool dataCollapsible { get; set; }
    [WebBrowsable(true),
    Category("JQuery Accordion() Properties"),
    Personalizable(PersonalizationScope.Shared),
    WebDisplayName("Disabled"),
    WebDescription("If set the accordion will be disabled.")]
    public bool dataDisabled { get; set; }
    [WebBrowsable(true),
    Category("JQuery Accordion() Properties"),
    Personalizable(PersonalizationScope.Shared),
    WebDisplayName("Event"),
    WebDescription("The type of event that the headers should react to activate the panel. (event in quotations and comma seperated)")]
    public string dataEvent { get; set; }
    public enum dataHeightStyleOptions { auto, fill, content }
    [WebBrowsable(true),
    Category("JQuery Accordion() Properties"),
    Personalizable(PersonalizationScope.Shared),
    WebDisplayName("Height Style"),
    WebDescription("Controls the heigh of the accordion widget and each panel.")]
    public dataHeightStyleOptions dataHeightStyle { get; set; }
    #endregion
    protected override void Render(HtmlTextWriter writer)
    if (includejQuery)
    writer.WriteLine("<script src=\"//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js\"></script>");
    if (includejQueryUI)
    writer.WriteLine("<script src=\"//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js\"></script>");
    if (includejQueryUICSS)
    writer.WriteLine("<script language=\"javascript\">$('head').append('<link rel=\"stylesheet\" href=\"//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css\" />');</script>");
    if (includeSPAccordionsScript)
    writer.WriteLine("<script language=\"javascript\">$(document).ready(function(){if((document.getElementById(\"MSOLayout_InDesignMode\").value==1)?false:true){$(\".spaccordions\").spaccordions()}});(function(a){a.fn.spaccordions=function(){var e=a(this).data(),b={active:(e.active)?e.active:0,collapsible:(e.collapsible==1)?true:false,disabled:(e.disabled)?e.disabled:false,heightStyle:(e.heightstyle)?e.heightstyle:\"auto\",event:(e.event)?e.event:\"click\"};if(e.scrolltotop){b.activate=function(g,l){var k;if(l.newHeader.length==1){k=a(l.newHeader[0])}else{k=a(this).find(\".ui-accordion-header\").eq(0)}var i=a(window).height();var o=(a(window).scrollTop()==0)?a(\"#s4-workspace\").scrollTop():a(window).scrollTop();var h=k.height();var j=k.offset().top;var m=a(\"#s4-ribbonrow\").height();var n=j+o-m;console.log(\"elementScrollY \"+j);console.log(\"screenY \"+i);if(j>=m&&j<=i){}else{a(window).scrollTop(n);a(\"#s4-workspace\").scrollTop(n)}}}var f=a(this).parents(\"table\").eq(1);var d=a('<div class=\"accordion\">');if(e.width>0){d.width(e.width)}var c=a(\"\");a(this).parents(\"tr\").eq(1).remove();f.find(\".s4-wpTopTable\").each(function(h){var g=a(this).find(\" > tbody > tr > td\");c=c.add(\"<h3>\"+a(g[0]).find(\".ms-WPTitle\").text().trim()+\"</h3>\");c=c.add(\"<div>\"+a(g[1]).html()+\"</div>\")});d.append(c);f.before(d);f.hide();d.accordion(b);return this}})(jQuery);</script>");
    writer.WriteBeginTag("div");
    writer.WriteAttribute("class", "spaccordions");
    // build custom jquery Accordion() options
    if (!isEmptyorNull(Convert.ToString(dataWidth.ToString())))
    writer.WriteAttribute("data-width", dataWidth.ToString());
    if (!isEmptyorNull(Convert.ToString(dataActive)))
    writer.WriteAttribute("data-active", dataActive.ToString());
    if (!isEmptyorNull(Convert.ToString(dataCollapsible)))
    writer.WriteAttribute("data-collapsible", Convert.ToString(dataCollapsible).ToLower());
    if (!isEmptyorNull(dataDisabled.ToString()))
    writer.WriteAttribute("data-disabled", dataDisabled.ToString());
    if (!isEmptyorNull(dataEvent))
    writer.WriteAttribute("data-event", dataEvent);
    if (!isEmptyorNull(Convert.ToString(dataHeightStyle)))
    writer.WriteAttribute("data-heightstyle", dataHeightStyle.ToString());
    if (!isEmptyorNull(Convert.ToString(dataScrollToTop)))
    writer.WriteAttribute("data-scrolltotop", Convert.ToString(dataScrollToTop).ToLower());
    writer.Write(HtmlTextWriter.TagRightChar);
    writer.WriteEndTag("div");
    writer.WriteLine("<p>Use the web part properties menu to configure options for <a href=\"http://jqueryui.com/accordion/\" target=\"_blank\">jQuery UI Accordion</a>.</p>");
    base.Render(writer);
    protected void Page_Load(object sender, EventArgs e)
    public bool isEmptyorNull(string value)
    if (string.IsNullOrEmpty(value) || value == "0")
    return true;
    return false;
    Now can anyone recommend how I could solve this issue? I'm not a back-end programmer :/.
    Error after Post:
    Web Part Error: Unhandled exception was thrown by the sandboxed code wrapper's Execute method in the partial trust app domain: An unexpected error has occurred.
    Show Error Details
    Debugger doesn't show anything so I know it wasn't reaching my code.

    Hi,
    What the last configuration option did you add?
    Try to disable the ViewState of the .Net control in the web part.
    Or
    Add following into web.config(C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ 14\UserCode) to avoid sandbox webpart error after post back.
    <httpRuntime requestLengthDiskThreshold=”4096” /> (or set value as per your requirement)
    Here is a blog for you to take a look at:
    http://sohilmakwana.wordpress.com/2013/11/29/sandbox-error-unhandled-exception-was-thrown-by-the-sandboxed-code-wrappers-execute-method-in-the-partial-trust-app-domain/
    If you want to achieve an Accordion web part, the following links for your reference:
    http://altfo.wordpress.com/2013/06/18/jquery-accordion-based-announcement-web-part/
    http://fitandfinish.ironworks.com/2010/02/how-to-create-an-accordion-web-part.html
    Thanks,
    Dennis Guo
    TechNet Community Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Dennis Guo
    TechNet Community Support

  • How can I share cache files between users in a sandboxed Mac app?

    Our app downloads media files and stores them for use later. The size can be up to a few GB so it's considerable. Because this can be so large I want the cache to be shared across different users. My understanding of sandboxing is that you cannot write outside of the ~/Library/Containers/<your app id>... directory, thus there will be one copy per user.
    I get an access denied error when trying these folders (not surprising but I tried it anyway):
    /Users/Shared/...
    /Library/Application Support/...
    Does anybody know of a way I can have a sandboxed application with some kind of user agnostic cache storage?

    It's not worth the trouble. There are very few multi-user Macs out there. The only way to accomplish this in the sandbox would be a shared cache location that a sure would setup in preferences and store with a security-scoped bookmark. Each user would have to set the same option to use the shared cache location.

  • In Pages I used to be able to edit a template and "save a version" to update the template. Now i have to rename the template to save the changes. Why is this happening? what happen to "save a version"? its no longer an option under "file".

    In Pages, In the past, I was able to edit a template and "save a version" to update the template. Now i have to rename the template to save the changes. Why is this happening? what happen to "save a version"? its no longer an option under "file". And I can no longer open the actual template, when template is clicked, it automaticaly opens an "untitled" version???

    In your description you say the first document opens as the Title you gave it.
    Templates always open as Untitled so it sounds like you have saved a regular document, perhaps into your templates folder which is possible.
    Since you have already worked on it and it has been previously saved, Lion will now Save for you and Save a Version is available
    The other document does open as Untitled so sounds like a real template and as Peggy has pointed out will not have either Revert nor Save a Version until you Save it and have changed something in it.
    This is a classic example of just how Apple's supposedly "simplification" of the process, is leading to confusion of what has happened. That the conditions and resulting actions from those conditions is so convoluted says it all.
    It all reminds me of the Monty Python Life of Brian sketch with the "simplified" John Cleese instructions to the class, as to if you have a brother in an older dorm whether to hang your hat and bag on the hooks provided. The trouble is Apple does not get the joke, that it is transforming itself into a frequently self contradictory bumbling bureacracy. The price of unchallenged self appointed geniushood.
    The incoherent half baked stumbling juggernaut has reached new triumphs with its edict on enforced Sandboxing on developers when it is unable to follow even its own instructions.
    Peter

Maybe you are looking for

  • Table in Schema1 using XMLIndexes But not in View- Schema2

    Hi, We are using : Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit I have a view with following query: CREATE OR REPLACE FORCE VIEW VIEW_TNAME XML AS SELECT Column_Name FROM TNAME WHERE XMLEXISTS ( 'declare namespace Namesp1 ="Abc:S

  • Stacking of DNG and CR2 files

    When creating DNG files, I prefer to leave the CR2 files in the same directory and not embedded in the DNG files. This prevents the DNG files from doubling in size and thus prevents them from taking twice as long to open/read/write/etc. However, LR d

  • Backing up your iTunes Library when you don't have a CD Drive

    Hi. yeah. I need to reboot my netbook soon, and my model didn't come with a CD Drive, and iTunes keeps telling me that I need one if I want to back up my library. Is there a trick that I can use to back up the library to my SD Card? most of you would

  • 4:3 ratio preview?

    I'm making a DVD with 4:3 ratio. Everything I see says that I'm using 4:3 ratio. However when I preview the project it shows in "widescreen preview". Where can I change it to preview in 4:3 ratio?

  • CUSTOMER MASTER SCREEN  RELATED TABLES..

    HI I WANT TO KNOW ABT ALL THE TBALES  RELATED TO CUSTOMER MASTER (XD01 )APPLICATION..  WHEN EVER WE CREATE A CUSTOMER THROGH THIS SCREEN  THAT DATA WILL STORE INTO SOME TABLES.. WHAT  ARE THOSE TABLES..(FOR EXAMPLE: KNA1 ,ect..) like this.. what are