jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 265 seconds]
jadewang has joined #sandstorm
jadewang has quit [Remote host closed the connection]
ArcTanSusan has joined #sandstorm
ArcTanSusan has quit [Quit: ArcTanSusan]
ArcTanSusan has joined #sandstorm
jadewang has joined #sandstorm
ArcTanSusan has quit [Ping timeout: 246 seconds]
jadewang has quit [Ping timeout: 256 seconds]
ArcTanSusan has joined #sandstorm
keturn has quit [Ping timeout: 256 seconds]
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 265 seconds]
keturn has joined #sandstorm
gwillen has quit [*.net *.split]
simonft has quit [*.net *.split]
simonft has joined #sandstorm
logbot__ has quit [*.net *.split]
ripdog has quit [*.net *.split]
saneki has quit [*.net *.split]
saneki has joined #sandstorm
logbot__ has joined #sandstorm
ripdog has joined #sandstorm
gwillen has joined #sandstorm
gwillen is now known as Guest68092
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 250 seconds]
ArcTanSusan has quit [Quit: ArcTanSusan]
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 244 seconds]
joshbuddy has joined #sandstorm
jadewang has joined #sandstorm
erikoeurch has joined #sandstorm
jadewang has quit [Ping timeout: 246 seconds]
joshbuddy has quit [Quit: joshbuddy]
darius has quit [Remote host closed the connection]
ArcTanSusan has joined #sandstorm
jadewang has joined #sandstorm
gopar has quit [Quit: Leaving]
jadewang has quit [Ping timeout: 264 seconds]
joshbuddy has joined #sandstorm
joshbuddy has quit [Quit: joshbuddy]
ArcTanSusan has quit [Quit: ArcTanSusan]
jadewang has joined #sandstorm
itscassa|away has joined #sandstorm
itscassa|away is now known as itscassa
itscassa is now known as itscassa|away
jadewang has quit [Ping timeout: 250 seconds]
joshbuddy has joined #sandstorm
joshbuddy has quit [Quit: joshbuddy]
joshbuddy has joined #sandstorm
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 258 seconds]
joshbuddy has quit [Quit: joshbuddy]
jadewang has joined #sandstorm
jadewang has quit [Ping timeout: 244 seconds]
kentonv has quit [Ping timeout: 244 seconds]
asmyers has joined #sandstorm
decipherstatic has quit [Remote host closed the connection]
asmyers has quit [Remote host closed the connection]
asmyers has joined #sandstorm
ArcTanSusan has joined #sandstorm
<dwrensha> I think I may have broken imagemagick.
<dwrensha> I think it may have broken when I moved from Ubuntu 14.10 to 15.04.
<dwrensha> though `debsums` doesn't report any problems
<XgF> dwernsha: have you got two libpng versions installed and/or is image magick managing to pull two in?
<dwrensha> `convert icons/edit.svg edit.svg` produces malformed output
<dwrensha> so I don't think it's libpng
erikoeurch has quit [Ping timeout: 265 seconds]
kentonv has joined #sandstorm
jadewang has joined #sandstorm
ArcTanSusan has quit [Quit: ArcTanSusan]
erikoeurch has joined #sandstorm
jadewang has quit [Ping timeout: 265 seconds]
<paulproteus> dwrensha: Ouch re: sad icons
<dwrensha> paulproteus: any ideas about how to debug?
* paulproteus scratches head.
<paulproteus> You could look at the list of libraries that imagemagick depends on, and see if you can install versions from Ubuntu 14.04 of those libraries.
<paulproteus> And/or the imagemagick binary itself; maybe that's the one that became sad.
<paulproteus> You could also see if a stock Ubuntu 15.04 system has the same problem.
<paulproteus> That's probably the best idea actually.
<dwrensha> right, start from scratch on 15.04, see if the same thing happens
<paulproteus> If so, then it's "just" an Ubuntu bug, and you should file it (although then there does remain the problem of figuring out what the real Ubuntu bug is).
<paulproteus> If I were you, I'd boot an Ubuntu 15.04 live CD in qemu/kvm/etc and test there.
<paulproteus> You could also use Docker or something like it to get an Ubuntu 15.04 container.
<paulproteus> You could also test if other SVGs convert OK; maybe it's something special about the SVG inputs that you're providing.
<dwrensha> yeah, the key icon seems to do just fine
posix4e has joined #sandstorm
<posix4e> I can't seem to upload my app through the web interface http://pastebin.com/dARrFQRP
<posix4e> 2
erikoeurch has quit [Ping timeout: 264 seconds]
<paulproteus> posix4e: Oh dear.
<paulproteus> jparyani: ^ does that make sense to you?
<posix4e> looks like the package is invalid
<posix4e> the filelist is blank
<posix4e> *weird*
<posix4e> Trying to package up https://github.com/erming/shout
<posix4e> It's my first one
<posix4e> When I do the npk dev i don't see it show up either
<paulproteus> Nice!
<paulproteus> I'm concerned about the permission denied using the socket. What's SANDSTORM_USER in /opt/sandstorm/sandstorm.conf ?
<paulproteus> And what's the permissions on /opt/sandstorm/var/sandstorm/socket/backend ?
<posix4e> I looked at the perm on backend
<posix4e> it was owned by root
<posix4e> and group root
<paulproteus> D'oh I mean SERVER_USER in the conf file
<kentonv> it should be group sandstorm
<kentonv> permissions 770
<paulproteus> Yeah. I wonder if this is an installer bug.
<paulproteus> I mean, it sure looks like it. I'll do a fresh install and see.
<paulproteus> For now, if you 'sudo chgrp sandstorm /opt/sandstorm/var/sandstorm/socket/backend' and 'sudo service sandstorm restart', does the problem go away?
<posix4e> kentonv: y'all should double check it
<kentonv> I mean, to be clear, if the backend socket can't be open, that should break *all* apps.
<paulproteus> Yeah, I'm pretty confused about that.
<posix4e> kentonv: it does
<posix4e> Well i don't get that error at least
<posix4e> i wonder if it matters that I installed on top of an install
<paulproteus> I can't say I've carefully tested installing on top of an install. | :
<posix4e> *nod
<posix4e> But you have no uninstall
<posix4e> what do you do?
<posix4e> should i be runnign it out of a git repo?
<posix4e> or just manually uninstall
<posix4e> rm etc
<paulproteus> There's an "update" command, which is one thing you can do.
<dwrensha> sudo sandstorm stop && sudo rm -rf /opt/sandstorm
<paulproteus> Plus there are auto-updates by default.
<kentonv> note that dwrensha's suggestion will of course delete all your data
<posix4e> cheers
<kentonv> but yes, to install updates you want to use "sandstorm update". To update to a version you built yourself, you can actually run the build with "make update".
<posix4e> dwrensha: sorry we still haven't cut that podcast, now that we have 3 in the can we will certainly start putting them out
<posix4e> coolio
erikoeurch has joined #sandstorm
<dwrensha> posix4e: No worries. Let me know if you need anything else from me.
<kentonv> hmm the code pretty clearly chown()s that socket to root:sandstorm right after creating it.
<paulproteus> posix4e: I wonder if you're not running Sandstorm as root, but your previous install did run as root?
<paulproteus> Oh, but SERVER_USER=sandstorm so you presumably did let it do the things it wants with sudo.
<posix4e> welp i blew it away and am trying again
<paulproteus> Oh, but maybe not; maybe you're relying on the fact that your regular user is in the Sandstorm group.
<kentonv> paulproteus: I can't see any case where the socket would end up being root:root, though
<paulproteus> posix4e: Aw well, I was hoping to get to the bottom of this, but now that'll be a little harder. Oh well!
<paulproteus> kentonv: Yeah, huh.
<posix4e> paulproteus: sorry
<paulproteus> That's life!
<kentonv> unless the backend process actually crashed between making the socket and chown()ing it
<paulproteus> (perhaps it should create it with a temporary name to avoid this problem, renaming it to the final name when it's properly configured!)
<paulproteus> (not that I necessarily think that's what happened, so I dunno)
<kentonv> that wouldn't help things, really... if the backend has crashed, you're not going to get anywhere regardless.
<paulproteus> Sure, but if it crashes just the first time it runs, then my suggestion would enable it to successfully re-initialize the second time.
<paulproteus> I don't super duper know why it would crash just the first time.
<paulproteus> Similarly if we're making code changes, it could sanity-check the permissions on the socket at start and log a message when the sanity check fails.
<kentonv> it will correctly re-initialize the next time regardless
<paulproteus> Oh, okay, great.
<kentonv> it does unlink() before creating the socket, and it's root at that point
jadewang has joined #sandstorm
<dwrensha> do we have a way to say "garply, don't bother"? I would have used it here: https://github.com/sandstorm-io/sandstorm/pull/481
<paulproteus> "Don't bother" in the sense that "I know this fails"?
<paulproteus> I like the idea of Garply always bothering!
<posix4e> checking out another irc serer and I get http://pastebin.com/gcPvMJUG
<posix4e> node not found
<posix4e> *irc serer = irc web client kiwi irc
<paulproteus> Is this via 'spk dev'?
<paulproteus> Or, let me put it a different way -- why do you think 'node' should be found?
<posix4e> yea
<posix4e> that's a good question, it seems to be in the /bin on the sandstorm chroot
<posix4e> so i figured from the point of view of the launching app it should be on the "path"
<paulproteus> If you're relying on the nodejs that Sandstorm bundles, you'll probably have to add it to PATH in order for the app to be able to find it.
<paulproteus> If instead you're going to e.g. sudo apt-get install nodejs nodejs-legacy
<paulproteus> then the app will find it by default.
<posix4e> i have a node on my path as well
<posix4e> using nvm
<posix4e> not sure what intsalling the ubuntu package will help
<posix4e> or am i missing something
<paulproteus> I would check the $PATH that the app is using, I suppose!
<paulproteus> iirc PATH is defined in the Sandstorm package definition file.
<paulproteus> posix4e: Are you posix4e on GitHub too?
<posix4e> truth
asmyers has quit [Remote host closed the connection]
<paulproteus> shout-irc.com does seem cool
<paulproteus> .
<posix4e> i'm running it in spk dev and it can't get out on the network, is that expected?
amyers has joined #sandstorm
<posix4e> specifically getaddrinfo
<paulproteus> Yeah, that is part of the sandboxing. There is a way to request raw network access, which will only work on people's self-hosted servers, not on the Sandstorm Managed Hosting, which I think is OK.
<paulproteus> I know jparyani knows how to do that; I'm not sure that I know how, immediately.
<posix4e> yea i guess my irc client needs some internet access
<posix4e> err the irc client
<paulproteus> I would suppose so!
<paulproteus> It also needs to stay alive in the background, rather than get auto-killed; jparyani has been working on that and I think support for it landed recently.
<posix4e> so i got kiwiirc started, but it can't access the network. But should still gets this error http://pastebin.com/spMsBDcg
<posix4e> some junk about read only fs
<paulproteus> It's trying to mkdir the literal directory '/undefined' I think?
<paulproteus> In general apps run with their code mounted read-only, with write access to /var and /tmp
<paulproteus> Maybe I should add a part of the Packaging Guide that gives developers a tour of the sandbox, or something like that.
<posix4e> ahh cool, thanks so much for the help y'all this is actually pretty easy with all the guidence
<paulproteus> (-:
<posix4e> *nod
<paulproteus> Thanks for being attentive and trying stuff and asking!
<posix4e> ok sweet i got shout and kiwi launching
<posix4e> next step getting that network stuff all fixed
<posix4e> And then i guess take what i learned and get it in the packaging guide
<paulproteus> That'd be glorious.
<posix4e> i wonder if i could see how tinytinyrss does it and rip them off
<paulproteus> That's almost definitely a sane way to go about it.
<dwrensha> paulproteus: imagemagick appears to be broken on a fresh 15.04 install. :/
<paulproteus> "Hooray"!
<paulproteus> It's not your fault!
joshbuddy has joined #sandstorm
<kentonv> posix4e: ttrss uses an API that provides HTTP GETs
mortehu has left #sandstorm [#sandstorm]
<kentonv> posix4e: You'll need to use the IP networking stuff instead. Note that it's intended only for "drivers", and only admins can use it.
<posix4e> kentonv: Indeed I see https://github.com/jparyani/Tiny-Tiny-RSS/commit/77fbf5decb24886e3dff3ff413ee716bf3a25488 seems to be where it was introduced
<kentonv> eventually we want there to be an IRC driver separate from client apps, but we need powerbox to connect them
<posix4e> I guess there's a deeper question which is what threats are you defending against by not allowing any outbound access
<kentonv> there's a doc for that! one moment...
<kentonv> look for "confinement"
<posix4e> once you have any irc app, it's got a covert channel though no?
<posix4e> How do you prevent it from dropping stuff in a room
<posix4e> not trying to be dense, just trying to figure out what a good solution would look like, can't say i understand powerbox yet
<kentonv> depends. If the app has permission only to communicate in one IRC room, then anyone in the room can see its communications, which make them not covert.
<kentonv> but certainly if you give it permission to talk to an IRC server with private messages, then it can probably leak stuff
<posix4e> Ooh that's a really interesting idea, and now I totally buy that it would need to be irc centric
<kentonv> :)
<posix4e> But yea, that could actually make a lot of sense to have a irc interface which can only talk on the right room, of course you'd still want to support the common irc use case as well
<kentonv> notice that a legitimate IRC client needs to ask the user what room to connect to. In Sandstorm that would be a powerbox interaction, and the app would get a capability back for that room.
<kentonv> so it's a choice the user was already making, but it's enforced for security
<posix4e> makes sense, so this powerbox thing, is someone adding "irc support" or whatever that means already. Perhaps I could help
<kentonv> you could similarly use the powerbox to get private message capabilities, although that starts to get in the way of the way IRC is normally used, where the user just enters /msg or such.
<XgF> kentonv: Hmm, it would be good to expose a UI element for every (*some granule*) that a grain is importing (so e.g the IRC driver can do a listing of what channels/etc the client is in)
<posix4e> Actually it might not be that bad to prompt him to say, you are talking to ... for the first time, here's some info about him (whois) are you sure you want to enable comms with him
<kentonv> XgF: yes, the sandstorm UI will eventually let you audit and revoke capabilities
<XgF> I guess there would be a list of powerbox capabilities, so there could be a link there
<dwrensha> paulproteus: heh, it seems that the only icons that work in 15.04 are the ones that ocdtrekkie tweaked in Adobe Illustrator
<dwrensha> also, I am annoyed that this page doesn't seem to think that "date" is an important attribute of bugs: https://bugs.launchpad.net/ubuntu/+source/imagemagick/+bugs
<posix4e> After running a firewall on my phone I am totally for keeping apps from dialing back. it's so annoying and scary, that being said for something like this an interative approach would be nice. Even if it meant less security in the beginning
<kentonv> posix4e: To get IRC into the powerbox, you'd install an IRC driver, which is a special kind of app that is installed by the admin but appears in every user's powerbox.
<posix4e> kentonv: how can i get started
<kentonv> so, we don't quite support drivers yet. :)
<posix4e> kentonv: I like the fact that it looks like i write c++ code (although i'd rather it be rust)
<posix4e> ahh
<posix4e> ok
<kentonv> because they are kind of pointless without the powerbox
<kentonv> which we're working on now
<posix4e> gatcha, yea i couldn't find that code
<posix4e> lolz
<kentonv> you could totally write a driver in rust!
<kentonv> it just needs to be able to speak Cap'n Proto RPC
<posix4e> ahh sweet
<posix4e> Welp i guess i'll be patient and continue using irssi for a bit longer
<kentonv> the only difference between a driver and a regular app will be that its offerings appear in the powerboxes of all users of the server
<kentonv> well you could start writing some code based on the IP networking interface, which you can obtain through HackSessionContext currently. The goal would be to create a nice Cap'nProto
<kentonv> err, pressed enter too soon
<posix4e> haha tyt
<kentonv> to create a nice Cap'n Proto capability-based interface to IRC
<kentonv> eventually, that interface would then be exposed through the powerbox
<kentonv> you'd want something where there's an IrcServer capability which represents something like "freenode" and then IrcRoom capabilities for each room, etc.
<kentonv> then you need to implement an HTML/JS UI through which the user can choose one of these capabilities; that UI will be embedded in the powerbox
fonfon has joined #sandstorm
<kentonv> (the powerbox will tell you whether the request is for a server or a room, etc., so then you display a picker for that)
<kentonv> in your case it might just be a drop-down for server and a text box for room name
<kentonv> (or optionally let people specify an alternative server, but the common ones might as well be in a drop-down)
<dwrensha> aha, looks like the problem is that 15.04 uses "XML 2.9.2" for svg, whereas older ubuntus use "RSVG". cf http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=19409
<kentonv> eventually I think the driver should automatically handle interactions with NickServ authentication, so that apps don't ever handle the user's password.
<kentonv> so the user would create a user account while interacting with the driver, and tell the driver the password
<dwrensha> `convert -list format | grep SVG`
<paulproteus> dwrensha: You can use inkscape to do your SVG conversion perhaps; it has a CLI
<XgF> kentonv: For most IRC servers you can auth to NickServ by SASL now, or failing that server password
<paulproteus> Also sadface
<dwrensha> paulproteus: I wonder if this is a problem on debian as well?
<paulproteus> posix4e: waah I want you to make an IRC bouncer work even before drivers are a reality, though maybe I'm putting the cart ahead of the horse
<posix4e> paulproteus: i mean i wonder how hard it would be to cut a big hole in the security model for now, at least you only need to connect to one host
<paulproteus> Yeah -- Tiny Tiny RSS already does this, so I do suggest stealing whatever it does (or asking jparyani )
<kentonv> posix4e: you could just port kiwiirc as a "driver" at first. That is, it would use full network access, which means only server admins could use it.
<paulproteus> ++
<posix4e> ooh wow
<kentonv> paulproteus: ttrss does something that only works for HTTP
<posix4e> that'd be hillarious and fun
<paulproteus> Oh right kentonv .
<dwrensha> kentonv: define "could use it". You mean "can create grains", right?
<posix4e> So i assume i just create a spk and install it through the magic driver interface
<posix4e> how's that?
<kentonv> posix4e: See HackSessionContext; there's a method that gets IP networking stuff. It dosen't work if the owner isn't admin, though.
<kentonv> there's no magic driver interface. In the long term, drivers will actually request IP networking through the powerbox, but only the admin has an IP networking capability to give them.
<posix4e> so basically, 1/ figure out this hsc thang,, 2/ do my normal init and dev 3/ install it through a user who has admin 4/ ? 5/ profit?
<kentonv> actually, it would be possible for non-admins to receive IP networking capabilities if the admin chose to grant it to them, or through a VPN app, or something
<kentonv> HackSessionContext is our temporary hack to get at these things without the powerbox being implemented
<kentonv> it's documented in the wiki
<paulproteus> (The way to get the capability is the same; the method(s) to call are different)
<kentonv> note that you actually have to tunnel the networking over Cap'n Proto. So you might have to write a local "IP proxy" that kiwi connects to. Jason has worked a bit on an IP proxy, though I forget what state it's in.
XgF has quit [Quit: No Ping reply in 180 seconds.]
cbaines has quit [Ping timeout: 272 seconds]
XgF has joined #sandstorm
natea has joined #sandstorm
cbaines has joined #sandstorm
natea has quit [Quit: natea]
natea has joined #sandstorm
natea has quit [Client Quit]
<posix4e> ./sandstorm-85/programs/server/app/server/drivers/ip.js is a thing, i wonder...
<posix4e> It seems as though ip.capnp does a lot of what i need
<paulproteus> I think jparyani should be around to answer questions about it in a little bit, fwiw.
<paulproteus> I believe the idea was always that ip.capnp _is_ how you implement a "driver".
<paulproteus> I should document that somewhere.
<posix4e> no rush, i pmed him
phildini_ has joined #sandstorm
phildini has quit [Ping timeout: 276 seconds]
phildini_ is now known as phildini
<dwrensha> hm. as far as I can tell, imagemagick is totally broken on Debian Testing too.
natea has joined #sandstorm
<paulproteus> dwrensha: Ouch + sorry I didn't test it for you yet.
<dwrensha> I must be missing something here?
<dwrensha> Some of y'all use Debian, right?
<kentonv> it works for me?
<kentonv> I've been on Debian Testing all along...
<dwrensha> what do you get with `convert -list format | grep SVG`?
<paulproteus> ➜ ~ convert -list format | grep SVG
<paulproteus> MSVG SVG rw+ ImageMagick's own SVG internal renderer
<paulproteus> SVG SVG rw+ Scalable Vector Graphics (XML 2.9.2)
<paulproteus> SVGZ SVG rw+ Compressed Scalable Vector Graphics (XML 2.9.2)
<paulproteus> For me in Debian sid/testing.
<paulproteus> XML 2.9.2 (I assume this is shorthand for libxml2 from GNOME)
<dwrensha> Yeah, that's what I see too. My current theory is that XML 2.9.2 is the broken part here. But if it works for you, then I guess not!
<paulproteus> I must AFK a little bit to finish something, but will return to this in a bit!
natea has quit [Ping timeout: 255 seconds]
natea has joined #sandstorm
natea has quit [Ping timeout: 256 seconds]
natea has joined #sandstorm
amyers has quit [Ping timeout: 265 seconds]
natea has quit [Quit: natea]
natea has joined #sandstorm
joshbuddy has quit [Quit: joshbuddy]
<ocdtrekkie> Heh, well, I guess me converting those SVGs provided some valuable troubleshooting details. :D
<ocdtrekkie> The only thing I knew was distinctly different was that the Illustrator saves had some additional metadata it seemed.
natea has quit [Quit: natea]
natea has joined #sandstorm
jadewang has quit [Remote host closed the connection]
jadewang has joined #sandstorm
<posix4e> we should add nodejs-dev as a dependency in the sandstorm readme
<dwrensha> posix4e: where is it needed?
<dwrensha> I think meteor comes with its own node.
<posix4e> oooh maybe i didn't install meteor
<posix4e> that must be it
<posix4e> /ekam-provider/canonical/node-capnp/capnp.cc:29:10: fatal error: 'node.h' file not found
<posix4e> must be the lack of meteor
<dwrensha> hm. I'm not so sure.
natea has quit [Quit: natea]
<kentonv> yes, lack of node.h typically means meteor isn't installed
<kentonv> unfortunately `make` doesn't seem to fail on find-meteor-bundle.sh failing.
<kentonv> we should probably fix that
natea has joined #sandstorm
natea has quit [Client Quit]
natea has joined #sandstorm
natea has quit [Ping timeout: 252 seconds]
joshbuddy has joined #sandstorm
decipherstatic has joined #sandstorm
Guest68092 has joined #sandstorm
Guest68092 has quit [Changing host]
Guest68092 is now known as gwillen
natea has joined #sandstorm
natea has quit [Client Quit]
erikoeurch has quit [Ping timeout: 245 seconds]
fonfon has quit [Remote host closed the connection]
<zarvox> dear Jenkins: you are colorblind. https://build.sandstorm.io/static/adafc7f3/images/32x32/blue.png is green, not blue.
<aldeka> lol
<paulproteus> zarvox: OK that is pretty amusing.
<jparyani> it's due to https://wiki.jenkins-ci.org/display/JENKINS/Green+Balls which I installed :)
<zarvox> presumably the default is blue to make it easier on colorblind folks?
<zarvox> since otherwise those balls seem indistinguishable
<paulproteus> Yeah; the idea that the plugin overwrites a core static asset is like a mini proof-of-concept exploit demonstrating how plugins can circumvent Jenkins security.
<paulproteus> I don't know if that's how it works, but I guess in the any plugin can presumably basically do anything, so hmm!
<jparyani> zarvox: you can enable colorblind support under your user profile on jenkins. It doesn't change the color back, but it adds an "S" to all green builds
natea has joined #sandstorm
<kentonv> ... how does "S" mean "passed"?
<jparyani> success!
<kentonv> ah
natea has quit [Quit: natea]
<dwrensha> yay I can come to next week's Sandstorm meetup!
<paulproteus> Whoa!
<dwrensha> I'll be gone on Friday, but Thursday is good!
<phildini> there's a sandstorm meetup next week? TIL.
<paulproteus> Yeah it's semi secretly pre-announced on meetup.com.
<paulproteus> I was going to give the announcement a once-over and then publish it.
bb010g has quit [Quit: Connection closed for inactivity]
amyers has joined #sandstorm
amyers has quit [Remote host closed the connection]
amyers has joined #sandstorm