Skip to content

Instantly share code, notes, and snippets.

@knatten
knatten / android-19.md
Last active January 20, 2016 13:06
Installing android-19 support in Fuse

If you're getting the message Unable to resolve project target 'android-19', you have to install android-19 manually. This currently affects all new installations of Fuse, and will be fixed shortly. (If you've previously installed Fuse and built for Android, you are not affected by this bug.)

To manually install android-19, first, find the location of the android command on your computer. To do this, please run fuse install -s android, and look for the folder called AndroidSDK/tools.

![Screenshot](http://az664292.vo.msecnd.net/files/gettLhUskHuR2uEe-Pasted image at 2016_01_20 13_58.png)

Then cd to that directory and run the following command:

android update sdk -s -u -a -t platform-tools,build-tools-23.0.2,android-19,android-21

Intro

In the open source repository fuselibs-public, we accidentally leaked a username and password for TeamCity. They were not stored directly in the repo, but were contained in a shell script which is downloaded as part of the build process. The password has now been changed.

What was leaked, and how

In the Devtools repo, we had a shell script that had some functions for interacting with TeamCity. This used "Basic Authorization", which means the script had a hardocded base64 encoded username and password for the teamcity user on TeamCity. This user has access to basically everything on TeamCity, including build logs, branch names, build artifacts etc., from all the projects running in TeamCity. The user does not have administrator access, so it could not have created other users, changed other passwords, seen or changed project configurations etc.

Possible indirect leaks

If anyone found the username and password and logged into teamcity, it is possible that they viewed the build paramete

Keybase proof

I hereby claim:

  • I am knatten on github.
  • I am knatten (https://keybase.io/knatten) on keybase.
  • I have a public key ASC3ZHZvSDnCsPmNRlC1MNSGxJz7_sIBoY4RYq_4gyvcFgo

To claim this, I am signing this object:

#include "MIDIUSB.h"
void setup() {
pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
}
int noteToPin(uint8_t note) {
if (note == 0x24)
return A1;