Search Results

Search found 17202 results on 689 pages for 'folder permissions'.

Page 171/689 | < Previous Page | 167 168 169 170 171 172 173 174 175 176 177 178  | Next Page >

  • Is there a way to use the facebook sdk with libgdx?

    - by Rudy_TM
    I have tried to use the facebook sdk in libgdx with callbacks, but it never enters the authetication listeners, so the user never is logged in, it permits the authorization for the facebook app but it never implements the authentication interfaces :( Is there a way to use it? public MyFbClass() { facebook = new Facebook(APPID); mAsyncRunner = new AsyncFacebookRunner(facebook); SessionStore.restore(facebook, this); FB.init(this, 0, facebook, this.permissions); } ///Method for init the permissions and my listener for authetication public void init(final Activity activity, final Facebook fb,final String[] permissions) { mActivity = activity; this.fb = fb; mPermissions = permissions; mHandler = new Handler(); async = new AsyncFacebookRunner(mFb); params = new Bundle(); SessionEvents.addAuthListener(auth); } ///I call the authetication process, I call it with a callback from libgdx public void facebookAction() { // TODO Auto-generated method stub fb.authenticate(); } ///It only allow the app permission, it doesnt register the events public void authenticate() { if (mFb.isSessionValid()) { SessionEvents.onLogoutBegin(); AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(mFb); asyncRunner.logout(getContext(), new LogoutRequestListener()); //SessionStore.save(this.mFb, getContext()); } else { mFb.authorize(mActivity, mPermissions,0 , new DialogListener()); } } public class SessionListener implements AuthListener, LogoutListener { @Override public void onAuthSucceed() { SessionStore.save(mFb, getContext()); } @Override public void onAuthFail(String error) { } @Override public void onLogoutBegin() { } @Override public void onLogoutFinish() { SessionStore.clear(getContext()); } } DialogListener() { @Override public void onComplete(Bundle values) { SessionEvents.onLoginSuccess(); } @Override public void onFacebookError(FacebookError error) { SessionEvents.onLoginError(error.getMessage()); } @Override public void onError(DialogError error) { SessionEvents.onLoginError(error.getMessage()); } @Override public void onCancel() { SessionEvents.onLoginError("Action Canceled"); } }

    Read the article

  • Creating floppy drive special devices under Quantal

    - by JCCyC
    First, I'd like for the various special devices for different floppy capacities (like /dev/fd0u720 etc.) to be available. I tried to adapt some udev rules I found online. I tried this, which I saved as /etc/udev/rules.d/70-persistent-floppy.rules: # change floppy device ownership and permissions # default permissions are 640, which prevents group users from having write access # first fix primary devices (/dev/fd0, /dev/fd1, etc.) # also change group ownership from disk to floppy SUBSYSTEM=="block", KERNEL=="fd[0-9]*", GROUP="floppy", MODE="0660" # next recreate secondary devices (/dev/fd0u720, /dev/fd0u1440, etc.) SUBSYSTEM=="block", KERNEL=="fd[0-9]*", ACTION=="add", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M -M 0660 -G floppy $root/%k" But to no avail. It seems the create_floppy_devices script isn't provided with 12.10. How do I obtain it? Second: I'm using MATE, and whenever I log in I get a message box saying it tried to mount the drive but failed. How do I disable this? Third (which is probably related to the second): Whenever there's a disk in the drive, the motor won't stop spinning. If I do a mdir of it, after it returns, the motor stops, and then starts again. I suspect there's some process in MATE doing this. UPDATE: For CentOS 6 (who does have a create_floppy_devices program) the following rules file worked. Saved as /etc/udev/rules.d/98-floppy.rules: # change floppy device ownership and permissions # default permissions are 640, which prevents group users from having write access # first fix primary devices (/dev/fd0, /dev/fd1, etc.) # also change group ownership from disk to floppy KERNEL=="fd[0-9]*", GROUP="floppy", MODE="0660" # next recreate secondary devices (/dev/fd0u720, /dev/fd0u1440, etc.) # drive A: is type 4 (1.44MB) - add other lines for other drives KERNEL=="fd0*", ACTION=="add", RUN+="/lib/udev/create_floppy_devices -c -t 4 -m %M -M 0660 -G floppy $root/%k"

    Read the article

  • Click Once Deployment Process and Issue Resolution

    - by Geordie
    Introduction We are adopting Click Once as a deployment standard for Thick .Net application clients.  The latest version of this tool has matured it to a point where it can be used in an enterprise environment.  This guide will identify how to use Click Once deployment and promote code trough the dev, test and production environments. Why Use Click Once over SCCM If we already use SCCM why add Click Once to the deployment options.  The advantages of Click Once are their ability to update the code in a single location and have the update flow automatically down to the user community.  There have been challenges in the past with getting configuration updates to download but these can now be achieved.  With SCCM you can do the same thing but it then needs to be packages and pushed out to users.  Each time a new user is added to an application, time needs to be spent by an administrator, to push out any required application packages.  With Click Once the user would go to a web link and the application and pre requisites will automatically get installed. New Deployment Steps Overview The deployment in an enterprise environment includes several steps as the solution moves through the development life cycle before being released into production.  To make mitigate risk during the release phase, it is important to ensure the solution is not deployed directly into production from the development tools.  Although this is the easiest path, it can introduce untested code into production and result in unexpected results. 1. Deploy the client application to a development web server using Visual Studio 2008 Click Once deployment tools.  Once potential production versions of the solution are being generated, ensure the production install URL is specified when deploying code from Visual Studio.  (For details see ‘Deploying Click Once Code from Visual Studio’) 2. xCopy the code to the test server.  Run the MageUI tool to update the URLs, signing and version numbers to match the test server. (For details see ‘Moving Click Once Code to a new Server without using Visual Studio’) 3. xCopy the code to the production server.  Run the MageUI tool to update the URLs, signing and version numbers to match the production server. The certificate used to sign the code should be provided by a certificate authority that will be trusted by the client machines.  Finally make sure the setup.exe contains the production install URL.  If not redeploy the solution from Visual Studio to the dev environment specifying the production install URL.  Then xcopy the install.exe file from dev to production.  (For details see ‘Moving Click Once Code to a new Server without using Visual Studio’) Detailed Deployment Steps Deploying Click Once Code From Visual Studio Open Visual Studio and create a new WinForms or WPF project.   In the solution explorer right click on the project and select ‘Publish’ in the context menu.   The ‘Publish Wizard’ will start.  Enter the development deployment path.  This could be a local directory or web site.  When first publishing the solution set this to a development web site and Visual basic will create a site with an install.htm page.  Click Next.  Select weather the application will be available both online and offline. Then click Finish. Once the initial deployment is completed, republish the solution this time mapping to the directory that holds the code that was just published.  This time the Publish Wizard contains and additional option.   The setup.exe file that is created has the install URL hardcoded in it.  It is this screen that allows you to specify the URL to use.  At some point a setup.exe file must be generated for production.  Enter the production URL and deploy the solution to the dev folder.  This file can then be saved for latter use in deployment to production.  During development this URL should be pointing to development site to avoid accidently installing the production application. Visual studio will publish the application to the desired location in the process it will create an anonymous ‘pfx’ certificate to sign the deployment configuration files.  A production certificate should be acquired in preparation for deployment to production.   Directory structure created by Visual Studio     Application files created by Visual Studio   Development web site (install.htm) created by Visual Studio Migrating Click Once Code to a new Server without using Visual Studio To migrate the Click Once application code to a new server, a tool called MageUI is needed to modify the .application and .manifest files.  The MageUI tool is usually located – ‘C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin’ folder or can be downloaded from the web. When deploying to a new environment copy all files in the project folder to the new server.  In this case the ‘ClickOnceSample’ folder and contents.  The old application versions can be deleted, in this case ‘ClickOnceSample_1_0_0_0’ and ‘ClickOnceSample_1_0_0_1’.  Open IIS Manager and create a virtual directory that points to the project folder.  Also make the publish.htm the default web page.   Run the ManeUI tool and then open the .application file in the root project folder (in this case in the ‘ClickOnceSample’ folder). Click on the Deployment Options in the left hand list and update the URL to the new server URL and save the changes.   When MageUI tries to save the file it will prompt for the file to be signed.   This step cannot be bypassed if you want the Click Once deployment to work from a web site.  The easiest solution to this for test is to use the auto generated certificate that Visual Studio created for the project.  This certificate can be found with the project source code.   To save time go to File>Preferences and configure the ‘Use default signing certificate’ fields.   Future deployments will only require application files to be transferred to the new server.  The only difference is then updating the .application file the ‘Version’ must be updated to match the new version and the ‘Application Reference’ has to be update to point to the new .manifest file.     Updating the Configuration File of a Click Once Deployment Package without using Visual Studio When an update to the configuration file is required, modifying the ClickOnceSample.exe.config.deploy file will not result in current users getting the new configurations.  We do not want to go back to Visual Studio and generate a new version as this might introduce unexpected code changes.  A new version of the application can be created by copying the folder (in this case ClickOnceSample_1_0_0_2) and pasting it into the application Files directory.  Rename the directory ‘ClickOnceSample_1_0_0_3’.  In the new folder open the configuration file in notepad and make the configuration changes. Run MageUI and open the manifest file in the newly copied directory (ClickOnceSample_1_0_0_3).   Edit the manifest version to reflect the newly copied files (in this case 1.0.0.3).  Then save the file.  Open the .application file in the root folder.  Again update the version to 1.0.0.3.  Since the file has not changed the Deployment Options/Start Location URL should still be correct.  The application Reference needs to be updated to point to the new versions .manifest file.  Save the file. Next time a user runs the application the new version of the configuration file will be down loaded.  It is worth noting that there are 2 different types of configuration parameter; application and user.  With Click Once deployment the difference is significant.  When an application is downloaded the configuration file is also brought down to the client machine.  The developer may have written code to update the user parameters in the application.  As a result each time a new version of the application is down loaded the user parameters are at risk of being overwritten.  With Click Once deployment the system knows if the user parameters are still the default values.  If they are they will be overwritten with the new default values in the configuration file.  If they have been updated by the user, they will not be overwritten. Settings configuration view in Visual Studio Production Deployment When deploying the code to production it is prudent to disable the development and test deployment sites.  This will allow errors such as incorrect URL to be quickly identified in the initial testing after deployment.  If the sites are active there is no way to know if the application was downloaded from the production deployment and not redirected to test or dev.   Troubleshooting Clicking the install button on the install.htm page fails. Error: URLDownloadToCacheFile failed with HRESULT '-2146697210' Error: An error occurred trying to download <file>   This is due to the setup.exe file pointing to the wrong location. ‘The setup.exe file that is created has the install URL hardcoded in it.  It is this screen that allows you to specify the URL to use.  At some point a setup.exe file must be generated for production.  Enter the production URL and deploy the solution to the dev folder.  This file can then be saved for latter use in deployment to production.  During development this URL should be pointing to development site to avoid accidently installing the production application.’

    Read the article

  • MVC Razor Engine For Beginners Part 1

    - by Humprey Cogay, C|EH, E|CSA
    I. What is MVC? a. http://www.asp.net/mvc/tutorials/older-versions/overview/asp-net-mvc-overview II. Software Requirements for this tutorial a. Visual Studio 2010/2012. You can get your free copy here Microsoft Visual Studio 2012 b. MVC Framework Option 1 - Install using a standalone installer http://www.microsoft.com/en-us/download/details.aspx?id=30683 Option 2 - Install using Web Platform Installer http://www.microsoft.com/web/handlers/webpi.ashx?command=getinstallerredirect&appid=MVC4VS2010_Loc III. Creating your first MVC4 Application a. On the Visual Studio click file new solution link b. Click Other Project Type>Visual Studio Solutions and on the templates window select blank solution and let us name our solution MVCPrimer. c. Now Click File>New and select Project d. Select Visual C#>Web> and select ASP.NET MVC 4 Web Application and Enter MyWebSite as Name e. Select Empty, Razor as view engine and uncheck Create a Unit test project f. You can now view a basic MVC 4 Application Structure on your solution explorer g. Now we will add our first controller by right clicking on the controllers folder on your solution explorer and select Add>Controller h. Change the name of the controller to HomeController and under the scaffolding options select Empty MVC Controller. i. You will now see a basic controller with an Index method that returns an ActionResult j. We will now add a new View Folder for our Home Controller. Right click on the views folder on your solution explorer and select Add> New Folder> and name this folder Home k. Add a new View by right clicking on Views>Home Folder and select Add View. l. Name the view Index, and select Razor(CSHTML) as View Engine, All checkbox should be unchecked for now and click add. m. Relationship between our HomeController and Home Views Sub Folder n. Add new HTML Contents to our newly created Index View o. Press F5 to run our MVC Application p. We will create our new model, Right click on the models folder of our solution explorer and select Add> Class. q. Let us name our class Customer r. Edit the Customer class with the following code s. Open the HomeController by double clickin HomeController of our Controllers folder and edit the HomeControllerusing System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc;   namespace MyWebSite.Controllers {     public class HomeController : Controller     {         //         // GET: /Home/           public ActionResult Index()         {             return View();         }           public ActionResult ListCustomers()         {             List<Models.Customer> customers = new List<Models.Customer>();               //Add First Customer to Our Collection             customers.Add(new Models.Customer()                     {                         Id = 1,                         CompanyName = "Volvo",                         ContactNo = "123-0123-0001",                         ContactPerson = "Gustav Larson",                         Description = "Volvo Car Corporation, or Volvo Personvagnar AB, is a Scandinavian automobile manufacturer founded in 1927"                     });                 //Add Second Customer to Our Collection             customers.Add(new Models.Customer()                     {                         Id = 2,                         CompanyName = "BMW",                         ContactNo = "999-9876-9898",                         ContactPerson = "Franz Josef Popp",                         Description = "Bayerische Motoren Werke AG,  (BMW; English: Bavarian Motor Works) is a " +                                       "German automobile, motorcycle and engine manufacturing company founded in 1917. "                     });                 //Add Third Customer to Our Collection             customers.Add(new Models.Customer()             {                 Id = 3,                 CompanyName = "Audi",                 ContactNo = "983-2222-1212",                 ContactPerson = "Karl Benz",                 Description = " is a multinational division of the German manufacturer Daimler AG,"             });               return View(customers);         }     } } t. Let us now create a view for this Class, But before continuing Press Ctrl + Shift + B to rebuild the solution, this will make the previously created model on the Model class drop down of the Add View Menu. Right click on the views>Home folder and select Add>View u. Let us name our View as ListCustomers, Select Razor(CSHTML) as View Engine, Put a check mark on Create a strongly-typed view, and select Customer (MyWebSite.Models) as model class. Slect List on the Scaffold Template and Click OK. v. Run the MVC Application by pressing F5, and on the address bar insert Home/ListCustomers, We should now see a web page similar below.   x. You can edit ListCustomers.CSHTML to remove and add HTML codes @model IEnumerable<MyWebSite.Models.Customer>   @{     Layout = null; }   <!DOCTYPE html>   <html> <head>     <meta name="viewport" content="width=device-width" />     <title>ListCustomers</title> </head> <body>     <h2>List of Customers</h2>     <table border="1">         <tr>             <th>                 @Html.DisplayNameFor(model => model.CompanyName)             </th>             <th>                 @Html.DisplayNameFor(model => model.Description)             </th>             <th>                 @Html.DisplayNameFor(model => model.ContactPerson)             </th>             <th>                 @Html.DisplayNameFor(model => model.ContactNo)             </th>         </tr>         @foreach (var item in Model) {         <tr>             <td>                 @Html.DisplayFor(modelItem => item.CompanyName)             </td>             <td>                 @Html.DisplayFor(modelItem => item.Description)             </td>             <td>                 @Html.DisplayFor(modelItem => item.ContactPerson)             </td>             <td>                 @Html.DisplayFor(modelItem => item.ContactNo)             </td>                   </tr>     }         </table> </body> </html> y. Press F5 to run the MVC Application   z. You will notice some @HTML.DisplayFor codes. These are called HTML Helpers you can read more about HTML Helpers on this site http://www.w3schools.com/aspnet/mvc_htmlhelpers.asp   That’s all. You now have your first MVC4 Razor Engine Web Application . . .

    Read the article

  • windows PATH not working for network drive

    - by Brendan Abel
    I'm using an autorun.bat to append some directory paths to the Windows PATH variable so that I can use a few tools and bat scripts within cmd.exe I'm running into a problem where the above isn't working on a network drive. Ex. Using a program called mycmd.exe Ex.1 (this works) C:\folder\mycmd.exe SET PATH=%PATH%;C:\folder Ex. 2 (doesn't work) H:\folder\mycmd.exe SET PATH=%PATH%;H:\folder

    Read the article

  • Individual pst files for individual outlook 2010 folders

    - by Jack
    I was wondering if it is possible for the following scenario: Suppose I have 5 folders in my Microsoft Outlook 2010. Currently, there are 1 pst file that contain the 5 folders. Each folders contain emails that are grouped according to the folder name. So, can I have 5 pst file, whereby 1 pst file for 1 folder? This is because at some other time, I will create new folder(s) and existing folder I may remove from Outlook (but still able to make a copy of the pst file)

    Read the article

  • Limited SFTP access under Debian

    - by Hellnar
    Hello, under debian, I want to create a user who can only access to a specific folder (ie /home/user/some/folder/ (this folder already exists) , can do anything that he wants like modify, create delete a file) and no privilidge to any other stuff beside the given folder. How can I achieve this under the standart Debian Lenny for SFTP ?

    Read the article

  • How to create default subfolders using procmail with Maildir (and postfix) that work with MUA's?

    - by user973917
    I have a procmail setup and want to have a Spam folder that works with MUA's. I found this tutorial http://www.cyberciti.biz/faq/how-do-i-move-spam-mail-to-spam-folder/ but it doesn't work as expected. I want to be able to open a mail client and see the Spam folder to deduce whether or not the messages are actually spam. How do I do this having a "default" Spam folder setup that can be read/accessed from mail clients like Thunderbird and Roundcube?

    Read the article

  • Redirect Using htaccess

    - by manyxcxi
    I am trying to redirect /folder to / using .htaccess but all am I getting is the Apache HTTP Server Test Page. My root directory looks like this: / .htaccess -/folder -/folder2 -/folder3 My .htaccess looks like this: RewriteEngine On RewriteCond %{REQUEST_URI} !^/folder/ RewriteRule (.*) /folder/$1 What am I doing wrong? I checked my httpd.conf (I'm running Centos) and the mod_rewrite library is being loaded. As a side note, my server is not a www server, it's simply a virtual machine so it's hostname is centosvm.

    Read the article

  • Triggering a server action on a specific event

    - by Oli
    I would like to launch a specific command [1] on a mail server whenever a message is moved from one folder into another folder. For example, a Thunderbird user moves a message from folder A to Folder B. I'd like to catch this move and launch a specific script on the server. Is it possible ? I'm using qmail with courier-imap. [1] bash or python script, ...

    Read the article

  • Changing file browser in Scientific Linux

    - by karolg
    I use Scientific Linux Release 6.1 (Carbon) with GNOME 2.28.2. When I double-click on a folder on the Desktop it is opened in "File Browser". When I open a folder via "Places" on the Main Menu Bar, the folder is opened in "File Manager". I dislike "File Manager" and I don't understand why there are two different programs (file managers) running depending on how I open a folder. How can I get rid of "File Manager"?

    Read the article

  • Windows 7: Add column to ALL music folders

    - by Joel Spolsky
    In Windows 7 Explorer, when I open a folder containing only music, it's smart enough to show me a custom set of columns (Name, #, Title, Contributing Artists, Album) that make sense for a music folder. However, I also always want to see a Length column. I can right click on the column headers and add the Length column, which is persistent for that folder, but when I go to another music folder, it doesn't have the new Length column. How do I set up Windows so that ALL music folders ALWAYS show me this column?

    Read the article

  • Mac / OS X Finder regularly jumps down or changes selection in the file list (annoyance)

    - by RipperDoc
    I have this annoying problem with Finder on Snow Leopard. Every time I activate a Finder window and for example navigate to a folder, a few seconds later the selection or scroll will jump down in the list. It is like something is changed with the folder and the position is resetted or changed. Anyone know what causes this? Is Finder detecting some constant change in the folder that I cannot see? Folder Actions?

    Read the article

  • Redirect Root Directory to Subdirectory using mod_rewrite

    - by manyxcxi
    I am trying to redirect /folder to / using .htaccess but all am I getting is the Apache HTTP Server Test Page. My root directory looks like this: / .htaccess -/folder -/folder2 -/folder3 My .htaccess looks like this: RewriteEngine On RewriteCond %{REQUEST_URI} !^/folder/ RewriteRule (.*) /folder/$1 What am I doing wrong? I checked my httpd.conf (I'm running Centos) and the mod_rewrite library is being loaded. As a side note, my server is not a www server, it's simply a virtual machine so it's hostname is centosvm.

    Read the article

  • Navicat Premium Essentials - Mac OS Maverick

    - by Alberto Schiariti
    Do anyone know why since Maverick update, Navicat can't connect anymore to any database which is saved into "/Users/Username" folder? It keeps saying: "Database file path is not correct". If I copy/paste the same DB in any other folder it connects perfectly. I need to open DBs in that folder because that's the folder where Xcode put the Apps ones and I can't everytime I need to modify them, copy/paste them on my desktop and then put them back again.

    Read the article

  • How to make the new created filed with group rw permission

    - by Master
    I have centos 5.4. I in joomla website , when i install new php script then it created its own folder like images/scriptname Now that folder has only read and write permission for that user or apache user i don't know. I want that all the files created under /home/ directory has group write permission by default. I don't want specific folder or specific user but for all users folder inside /home directory Is it ok to do , or there is any other solution for that

    Read the article

  • Vista is showing contents of flash drive that was previously connected

    - by user701510
    Today, after I clicked "folder X" in my external hard drive, instead of seeing the contents of "folder X", I see the contents of my flash drive (the last time it was connected)...which is not connected to my computer. My flash drive's files show for a couple of seconds before I am brought to "folder X" which was the folder I wanted to go to as mentioned in the beginning of this post. Any idea why this happened? I'm using Vista 32-bit business edition.

    Read the article

  • How to get WIndows Vista to remember the Option Size All Colums To Fit for all Folders

    - by Brandon_R
    How to get WIndows Vista to remember the Option Size All Colums To Fit for all Folders everytime. Rightclick on name and you would see the option Size All Colums Ti Fit. How do i get Vista to remember this option for all folders? Currently when i activate it, and i go to another folder it doesn't apply for that folder nor when i close the current folder in which i have applied said option and then open the same folder.

    Read the article

  • How to get WIndows Vista to remember the Option Size All Colums To Fit for all Folders

    - by Brandon_R
    How to get WIndows Vista to remember the Option Size All Colums To Fit for all Folders everytime. Rightclick on name and you would see the option Size All Colums Ti Fit. How do i get Vista to remember this option for all folders? Currently when i activate it, and i go to another folder it doesn't apply for that folder nor when i close the current folder in which i have applied said option and then open the same folder.

    Read the article

  • Codeigniter 404 can't find index.php (only on real server, not on virtual server)

    - by Lukas Oppermann
    Hey, I got a working webpage with CodeIgniter. I did now just upload it to my webserver and it gives me a 404 error. The browser address is "web-page.com/folder/en/about" The baseurl in the config is "web-page/folder/" Also this is in the config.php, I did try AUTO but it does not work either. $config['index_page'] = ""; $config['uri_protocol'] = "QUERY_STRING"; The index.php is in "web-page.com/folder/" My htaccess is in "web-page.com/folder/.htaccess" The content of the .htaccess is AddCharset utf-8 .css .html .xhtml Options +FollowSymlinks RewriteEngine on RewriteBase /folder/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond $1 !^(index\.php|images|media|layout|css|libs|robots\.txt) RewriteRule ^(.*)$ /folder/index.php?/$1 [L] Do you have any tip, any idea, what can I try to do? I did check all the rights, even with 777 it does not work. Thanks in advance. Lukas

    Read the article

  • PHP: Convert <ul> <li> Tree HTML tag to an array

    - by marknt15
    Hi, I'm using jsTree and I need to convert this HTML tag tree code <ul> <li> to a PHP array. The jsTree HTML tag will be passed to PHP to be parsed and store in a structured tree PHP array(see below for the PHP array structure). Additional question: Is my desired PHP array structure good or you can suggest a good structure? I'm open for suggestions. Thanks in advance :) Cheers, Mark jsTree Screenshot: HTML Tree String: <ul class="ltr"> <li id="phtml_1" class=" open"> <a style="" class=" " href="#"><ins>&nbsp;</ins>Folder 1</a> <ul> <li class="leaf" id="phtml_2"> <a style="" class=" " href="#"><ins>&nbsp;</ins>Child 1.1</a> </li> <li class="open" id="phtml_3"> <a style="" class=" " href="#"><ins>&nbsp;</ins>Folder 1.1</a> <ul> <li class="leaf last" rel="default"> <a href="" style="" class=" "><ins>&nbsp;</ins>Child 1.1.1</a> </li> </ul> </li> <li class="last open" rel="default"> <a href="" style="" class=" "><ins>&nbsp;</ins>Folder 1.2</a> <ul> <li class="leaf" rel="default"> <a href="" style="" class=" "><ins>&nbsp;</ins>Child 1.2.1</a> </li> <li class="leaf last" rel="default"> <a href="" style="" class=" "><ins>&nbsp;</ins>Child 1.2.2</a> </li> </ul> </li> </ul> </li> <li id="phtml_5" class="file open"> <a style="" class=" " href="#"><ins>&nbsp;</ins>Folder 2</a> <ul> <li class="leaf" rel="default"> <a href="" style="" class=" "><ins>&nbsp;</ins>Child 2.1</a> </li> <li class="leaf last" rel="default"> <a href="" style="" class="clicked"><ins>&nbsp;</ins>Child 2.2</a> </li> </ul> </li> <li class="leaf last" rel="default"> <a href="" style="" class=" "><ins>&nbsp;</ins>Outer Child</a> </li> </ul> PHP Array Structure: <?php $tree_array = array( 'Folder 1' => array( 'Child 1.1', 'Folder 1.1' => array( 'Child 1.1.1' ), 'Folder 1.2' => array( 'Child 1.2.1', 'Child 1.2.2' ), ), 'Folder 2' => array( 'Child 2.1', 'Child 2.2' ), 'Outer Child' ); echo '<pre>',print_r($tree_array),'</pre>'; ?> PHP print_r Output: Array ( [Folder 1] => Array ( [0] => Child 1.1 [Folder 1.1] => Array ( [0] => Child 1.1.1 ) [Folder 1.2] => Array ( [0] => Child 1.2.1 [1] => Child 1.2.2 ) ) [Folder 2] => Array ( [0] => Child 2.1 [1] => Child 2.2 ) [0] => Outer Child )

    Read the article

  • Xsd recursion of complexTypes

    - by Hatch
    I am just learning XML/XSD and am struggling with the implementation of an XML-schema which models a folder structure. What I had in mind was defining a complexType for the folder which can have additional folder instances that represent subfolders. Using the xsd schema validator here always returns that the schema is invalid. I tried defining the complexType up front and then using the ref keyword for subfolders: <xs:complexType name="tFolder"> <xs:sequence> <xs:element name="Path" type="tFolderType" msdata:Ordinal="0" /> <xs:element ref="Folder" minOccurs="0" maxOccurs="unbounded" /> <xs:element name="File" nillable="true" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent msdata:ColumnName="File_Text" msdata:Ordinal="0"> <xs:extension base="xs:string"> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Type" type="tFolderType" /> As for the element itself: <xs:element name="Folder" type="tFolder" /> The error returned by the validator is: "Cannot resolve the name 'Folder' to a(n) 'element declaration' component." and the error occurs at the line <xs:element ref="Folder" minOccurs="0" maxOccurs="unbounded" /\> Defining the complexType within the element itself yields the exact same error: <xs:element name="Folder"> <xs:complexType> <xs:sequence> <xs:element name="Path" type="tFolderType" msdata:Ordinal="0" /> <xs:element ref="Folder" minOccurs="0" maxOccurs="unbounded" /> <xs:element name="File" nillable="true" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent msdata:ColumnName="File_Text" msdata:Ordinal="0"> <xs:extension base="xs:string"> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="Type" type="tFolderType" /> </xs:complexType> </xs:element> What I've read, this kind of recursion should work using ref. Can anyone tell me what I've done wrong? Maybe the xsd validator is just faulty? If so, does anyone know a better alternative? I've tried using the one from w3.org as well, but it seems to be taken offline...

    Read the article

  • .NET Security Part 4

    - by Simon Cooper
    Finally, in this series, I am going to cover some of the security issues that can trip you up when using sandboxed appdomains. DISCLAIMER: I am not a security expert, and this is by no means an exhaustive list. If you actually are writing security-critical code, then get a proper security audit of your code by a professional. The examples below are just illustrations of the sort of things that can go wrong. 1. AppDomainSetup.ApplicationBase The most obvious one is the issue covered in the MSDN documentation on creating a sandbox, in step 3 – the sandboxed appdomain has the same ApplicationBase as the controlling appdomain. So let’s explore what happens when they are the same, and an exception is thrown. In the sandboxed assembly, Sandboxed.dll (IPlugin is an interface in a partially-trusted assembly, with a single MethodToDoThings on it): public class UntrustedPlugin : MarshalByRefObject, IPlugin { // implements IPlugin.MethodToDoThings() public void MethodToDoThings() { throw new EvilException(); } } [Serializable] internal class EvilException : Exception { public override string ToString() { // show we have read access to C:\Windows // read the first 5 directories Console.WriteLine("Pwned! Mwuahahah!"); foreach (var d in Directory.EnumerateDirectories(@"C:\Windows").Take(5)) { Console.WriteLine(d.FullName); } return base.ToString(); } } And in the controlling assembly: // what can possibly go wrong? AppDomainSetup appDomainSetup = new AppDomainSetup { ApplicationBase = AppDomain.CurrentDomain.SetupInformation.ApplicationBase } // only grant permissions to execute // and to read the application base, nothing else PermissionSet restrictedPerms = new PermissionSet(PermissionState.None); restrictedPerms.AddPermission( new SecurityPermission(SecurityPermissionFlag.Execution)); restrictedPerms.AddPermission( new FileIOPermission(FileIOPermissionAccess.Read, appDomainSetup.ApplicationBase); restrictedPerms.AddPermission( new FileIOPermission(FileIOPermissionAccess.pathDiscovery, appDomainSetup.ApplicationBase); // create the sandbox AppDomain sandbox = AppDomain.CreateDomain("Sandbox", null, appDomainSetup, restrictedPerms); // execute UntrustedPlugin in the sandbox // don't crash the application if the sandbox throws an exception IPlugin o = (IPlugin)sandbox.CreateInstanceFromAndUnwrap("Sandboxed.dll", "UntrustedPlugin"); try { o.MethodToDoThings() } catch (Exception e) { Console.WriteLine(e.ToString()); } And the result? Oops. We’ve allowed a class that should be sandboxed to execute code with fully-trusted permissions! How did this happen? Well, the key is the exact meaning of the ApplicationBase property: The application base directory is where the assembly manager begins probing for assemblies. When EvilException is thrown, it propagates from the sandboxed appdomain into the controlling assembly’s appdomain (as it’s marked as Serializable). When the exception is deserialized, the CLR finds and loads the sandboxed dll into the fully-trusted appdomain. Since the controlling appdomain’s ApplicationBase directory contains the sandboxed assembly, the CLR finds and loads the assembly into a full-trust appdomain, and the evil code is executed. So the problem isn’t exactly that the sandboxed appdomain’s ApplicationBase is the same as the controlling appdomain’s, it’s that the sandboxed dll was in such a place that the controlling appdomain could find it as part of the standard assembly resolution mechanism. The sandbox then forced the assembly to load in the controlling appdomain by throwing a serializable exception that propagated outside the sandbox. The easiest fix for this is to keep the sandbox ApplicationBase well away from the ApplicationBase of the controlling appdomain, and don’t allow the sandbox permissions to access the controlling appdomain’s ApplicationBase directory. If you do this, then the sandboxed assembly can’t be accidentally loaded into the fully-trusted appdomain, and the code can’t be executed. If the plugin does try to induce the controlling appdomain to load an assembly it shouldn’t, a SerializationException will be thrown when it tries to load the assembly to deserialize the exception, and no damage will be done. 2. Loading the sandboxed dll into the application appdomain As an extension of the previous point, you shouldn’t directly reference types or methods in the sandboxed dll from your application code. That loads the assembly into the fully-trusted appdomain, and from there code in the assembly could be executed. Instead, pull out methods you want the sandboxed dll to have into an interface or class in a partially-trusted assembly you control, and execute methods via that instead (similar to the example above with the IPlugin interface). If you need to have a look at the assembly before executing it in the sandbox, either examine the assembly using reflection from within the sandbox, or load the assembly into the Reflection-only context in the application’s appdomain. The code in assemblies in the reflection-only context can’t be executed, it can only be reflected upon, thus protecting your appdomain from malicious code. 3. Incorrectly asserting permissions You should only assert permissions when you are absolutely sure they’re safe. For example, this method allows a caller read-access to any file they call this method with, including your documents, any network shares, the C:\Windows directory, etc: [SecuritySafeCritical] public static string GetFileText(string filePath) { new FileIOPermission(FileIOPermissionAccess.Read, filePath).Assert(); return File.ReadAllText(filePath); } Be careful when asserting permissions, and ensure you’re not providing a loophole sandboxed dlls can use to gain access to things they shouldn’t be able to. Conclusion Hopefully, that’s given you an idea of some of the ways it’s possible to get past the .NET security system. As I said before, this post is not exhaustive, and you certainly shouldn’t base any security-critical applications on the contents of this blog post. What this series should help with is understanding the possibilities of the security system, and what all the security attributes and classes mean and what they are used for, if you were to use the security system in the future.

    Read the article

< Previous Page | 167 168 169 170 171 172 173 174 175 176 177 178  | Next Page >