How to lock down the Bazel filesystem sandbox? - bazel

The default Bazel sandbox allows read access to /. How can I further restrict that? E.g. I would like to prevent non-hermetic tests from accessing the /search directory.
There was a --sandbox_block_path flag but it was removed in 0.5.

Thanks for reporting that the removal of this feature is a problem for you. I found a way how to make it work reliably on Linux and macOS and will bring it back. Code review is already sent to a colleague. I'll make sure it gets cherry-picked into Bazel 0.5.0.

Related

How do I make a simple public read-only WebDAV server with SabreDAV?

I recently began looking into WebDAV, as I found it to be an option for letting me play a Blu-ray folder remotely - i.e. without requiring the viewer to download the whole 24gb ISO first.
Add a WebDAV source in Kodi v18 to a Blu-ray folder - and it actually plays! Very awesome.
The server can also be mounted on Windows with
net use m: http://example.com/webdavfolder/
or in Linux with
sudo mount -t davfs http://example.com/webdavfolder/ /mnt/mywebdav
-and should then (in theory) play with any software media players that supports Blu-ray Disc Java (BD-J), such as PowerDVD and VLC.
vlc bluray:///mnt/mywebdav --bluray-menu
PowerDVD.exe AUTOPLAY BD m:
(Unless of course time-out values has been set too low, which seems to be the case for VLC at the moment).
Anyway, all this is great, except I can't figure out how to make my WebDAV server read-only. Currently anyone can delete files as they wish, and that's of course not optimal.
So far I've only experimented with SabreDAV, because afaik that's the only option I have if I want to keep using my existing webhost. Trying with very minimal setups, because I've read that minimal setups should default to a read-only solution. It just doesn't seem to happen.
I initially used the setup from http://sabre.io/dav/gettingstarted/ and tried removing some lines. Also tried calling chmod 0444 MainFolder -R on the webserver. And I can see that everything does get a read-only attribute. But it changes nothing. It's still possible to delete whatever I want. :-(
What am I missing?
Maybe I'm using the wrong technology for what I want to do? Is there some other/better way of offering a Blu-ray folder for remote viewing? (One that includes the whole experience - i.e. full Java menus etc).
I should probably mention that all of this is of course perfectly legal. It is my own Blu-ray project - not copyright material.
Also: Difficult to decide if this belongs on StackOverflow or SuperUser. I ended up posting it on StackOverflow because SabreDAV is about coding, and because there's no sabredav tag on SuperUser.
You have two options:
Create your own file/directory classes for sabre/dav that simply throw an error when trying to delete. You can basically start with a copy of Sabre\DAV\FS\Directory and Sabre\DAV\FS\File and change the methods that do writing.
Since you're considering just using linux file permissions, really the key thing you are missing is that that 'deleting' is not controlled on the file or directory you're trying to delete. To delete a file or directory in unix, all you need is write permissions on the parent directory. However, I wouldn't recommend going this route as doing this will just cause a weird error in sabre/dav, which might leave clients in a confused state. It would result in a 500 error, not the expected 403 error.

Separate transaction logs in Neo4j Enterprise

I'am trying to change logical logs out of the *.db folder to put this in another disk volume. However I don't see any option in the neo4j config files that will allow you to do this. It's possible to do this configuration?
My neo4j version is 3.2.1.
Thanks
No, it is - at this time - not possible to move the transaction logs to some other place. Note that while the term logs is technically correct, these files are essential to the integrity of the database (unlike a regular log it would be very unwise to delete them) and it is therefore logical that they live together with the actual datafiles.
Hope this helps,
Tom
see file
conf/neo4j.conf
and line
#dbms.directories.logs=logs

Read config settings from PhoneGap app

Apparently I'm terrible at Googling. All I want to do is have the ability to read my web service URL from a config file in my PhoneGap app. Also, be able to modify that value during the build process. Is this named alot different in Xcode? I think I need to save this value in the plist file. If that's the case, then I can just set a user-setting in my build configuration stuff to have it change depending on which build type, Dev/Release.
If that's true, how do I access this from PhoneGap?
I'm guessing this question will get closed, but where else do I go for help...
plist file for cordova project already depreciate since v2.2. Cordova v2.3 start using config.xml.
Target > Edit Scheme
You could probably use hooks to accomplish everything that you are trying to do without changing around the config.xml file, but I'm not entirely sure this is supported with Phonegap (it is with Cordova.)
Check out the official help page to use the /hooks/ folder to modify anything during the build process: https://github.com/apache/cordova-cli/blob/master/templates/hooks-README.md
This blog post also seems pretty useful: http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/ it talks about changing things based on the environment and I'm sure it'd be easy to extend that to changing based on dev/release.
You could store the link to your web service probably as a config variable. I'm trying to figure out how you can add a config variable and will report back if I get it. In the mean time you could probably just have something like a server.txt file that you change with hooks.

Xcode won't let me create a snapshot, because I don't exist

just tried to create a snapshot of one of my projects. It didn't work, and Xcode did throw the following error at me: "Unable to create a snapshot. fatal: You don't exist. Go away!"
Source control commit doesn't work either. Ok, obviously there's something wrong with my local repository. I don't have the slightest idea, what that could possibly be, though. I have not committed in quite a while, but except some updates to Xcode itself, nothing major happened to the project folder, as far as I can remember.
So, what can I do about it? Is it possible to deactivate source control for that project and then start over again with source control with the projects current status? I don't need the previous versions anymore, so that doesn't need to be taken care of.
Thank you!
Looking into the git source code, this error message is generated only if
pw = getpwuid(getuid());
fails.
It indicates that the system wasn't able to find an entry for your user account in /etc/passwd or equivalent.
This can happen if your account is removed (via deluser, userdel, or something else) while you're logged in, or if you don't have read permissions on /etc/passwd (the latter should never happen).
Try the following commands at a terminal prompt:
whoami
id
ls -l /etc/passwd
grep "^${USER}:" /etc/passwd
According to the git documentation, this is the meaning of your particular error:
You don't exist. Go away!
The passwd(5) gecos field couldn't be read
This typically means the system doesn't know who you are (you'll see this sort of error on a Linux system if you delete someone's user account while they're still logged in). Is everything else working? That is, can you log out and log back in without a problem? Do other terminal commands operate correctly? What about the id command?
Can you interact with your repository on the command line? What happens if you cd into the directory and try something like git status?
WendiKidd's solution of just starting from scratch is probably the simplest thing to do, assuming it works, but you'll lose any change history already associated with your project.
I had this issue with git and running
dscacheutil -flushcache
in the terminal fixed it.
I would suggest creating a new project entirely, copying your code etc. files out of the old project, and simply migrating over into a new one (which you could then recommit to another source control directory). That seems like the easiest solution; this is a very odd error, and I've come across things in the past that are either unfixable or would take more effort to fix than taking 10-15 minutes to just set up a new project.
So that's what I'd recommend--hopefully that will fix your problem, and whatever xcode is mad at is in some hidden file or the .xcodeproj itself, and not in the files you'd need to migrate over.

How to give the security permissions to delete file from my sdcard in blackberry?

How to give the permissions to delete a file from SDCARD. Following code is working on simulator but in the phone, It's not working. How to solve my problem?
FileConnection fileConnection1=(FileConnection)Connector.open("file path");
fileConnection1.setWritable(true);
fileConnection1.delete();
You can request permissions from the person running your application but you may not forcefully set them so you need to gracefully handle your request being rejected.
The API involved is ApplicationPermissionsManager
I suggest you look at and possibly use this sample code (depending on which OS versions you are supporting) because there are a few quirks also explained at this url.
The exact permission you are looking for might be: ApplicationPermissions.PERMISSION_FILE_API
But I suggest you check the versions you are developing against for deprecation as several permissions have been retired or changed names over the years.

Resources