diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureAttachment.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureAttachment.java
index 077792aa2f..c58b709f62 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureAttachment.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureAttachment.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.messages;
public abstract class TextSecureAttachment {
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureAttachmentPointer.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureAttachmentPointer.java
index a1d403c7fd..455d1e81ac 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureAttachmentPointer.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureAttachmentPointer.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.messages;
import org.whispersystems.libaxolotl.util.guava.Optional;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureAttachmentStream.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureAttachmentStream.java
index fbcf6d1db4..8bf9eb52e1 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureAttachmentStream.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/messages/TextSecureAttachmentStream.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.messages;
import java.io.InputStream;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/ContactTokenDetails.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/ContactTokenDetails.java
index f0a52b63c3..93e4539541 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/ContactTokenDetails.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/ContactTokenDetails.java
@@ -1,7 +1,21 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.push;
-import com.google.thoughtcrimegson.Gson;
-
public class ContactTokenDetails {
private String token;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/PushAddress.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/PushAddress.java
index f1a8b5e21e..bc2c6041fe 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/PushAddress.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/PushAddress.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.push;
public class PushAddress {
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/SignedPreKeyEntity.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/SignedPreKeyEntity.java
index e691809c75..56077f8635 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/SignedPreKeyEntity.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/SignedPreKeyEntity.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.push;
import com.google.thoughtcrimegson.GsonBuilder;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/TrustStore.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/TrustStore.java
index 2b5227029b..b03ac60ad2 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/TrustStore.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/TrustStore.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.push;
import java.io.InputStream;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/AuthorizationFailedException.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/AuthorizationFailedException.java
index 8928c26c8a..32ac769c58 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/AuthorizationFailedException.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/AuthorizationFailedException.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.push.exceptions;
public class AuthorizationFailedException extends NonSuccessfulResponseCodeException {
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/EncapsulatedExceptions.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/EncapsulatedExceptions.java
index 731be26257..0617b59a59 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/EncapsulatedExceptions.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/EncapsulatedExceptions.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.push.exceptions;
import org.whispersystems.textsecure.api.crypto.UntrustedIdentityException;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/ExpectationFailedException.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/ExpectationFailedException.java
index e1a8258473..91e3a4c1e0 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/ExpectationFailedException.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/ExpectationFailedException.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.push.exceptions;
public class ExpectationFailedException extends NonSuccessfulResponseCodeException {
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/NonSuccessfulResponseCodeException.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/NonSuccessfulResponseCodeException.java
index a479ebf062..c366dcf23a 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/NonSuccessfulResponseCodeException.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/NonSuccessfulResponseCodeException.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.push.exceptions;
import java.io.IOException;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/NotFoundException.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/NotFoundException.java
index 36499d1a9d..7717248455 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/NotFoundException.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/NotFoundException.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.push.exceptions;
public class NotFoundException extends NonSuccessfulResponseCodeException {
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/PushNetworkException.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/PushNetworkException.java
index 9e7e2ff584..0c7713c591 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/PushNetworkException.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/PushNetworkException.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.push.exceptions;
import java.io.IOException;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/RateLimitException.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/RateLimitException.java
index be69b29184..bf15b3cf7d 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/RateLimitException.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/RateLimitException.java
@@ -1,6 +1,21 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.push.exceptions;
-
public class RateLimitException extends NonSuccessfulResponseCodeException {
public RateLimitException(String s) {
super(s);
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/UnregisteredUserException.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/UnregisteredUserException.java
index f16a6908ad..8817f23db6 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/UnregisteredUserException.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/push/exceptions/UnregisteredUserException.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.push.exceptions;
import java.io.IOException;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/util/InvalidNumberException.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/util/InvalidNumberException.java
index 7aa58ad7b7..6bafebace4 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/api/util/InvalidNumberException.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/api/util/InvalidNumberException.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.api.util;
public class InvalidNumberException extends Throwable {
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/AccountAttributes.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/AccountAttributes.java
index 64c26c6a5c..88e72d01b4 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/AccountAttributes.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/AccountAttributes.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push;
public class AccountAttributes {
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/ContactTokenDetailsList.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/ContactTokenDetailsList.java
index d0c5b45348..79fd91a4ed 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/ContactTokenDetailsList.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/ContactTokenDetailsList.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push;
import org.whispersystems.textsecure.api.push.ContactTokenDetails;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/ContactTokenList.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/ContactTokenList.java
index ae08897b40..6644ab75c1 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/ContactTokenList.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/ContactTokenList.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push;
import java.util.List;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/MismatchedDevices.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/MismatchedDevices.java
index c3c793c22d..0f44b7c8c7 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/MismatchedDevices.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/MismatchedDevices.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push;
import java.util.List;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/OutgoingPushMessageList.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/OutgoingPushMessageList.java
index 69a578af44..7adcb1ddc7 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/OutgoingPushMessageList.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/OutgoingPushMessageList.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push;
import java.util.List;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyEntity.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyEntity.java
index c7fc2be511..ae67da9f38 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyEntity.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyEntity.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push;
import com.google.thoughtcrimegson.GsonBuilder;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyResponse.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyResponse.java
index 59a017ab19..7b50d4ea82 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyResponse.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyResponse.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push;
import com.google.thoughtcrimegson.GsonBuilder;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyResponseItem.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyResponseItem.java
index ee40abdd4f..9400a2e093 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyResponseItem.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyResponseItem.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push;
import com.google.thoughtcrimegson.GsonBuilder;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyStatus.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyStatus.java
index b28c23c689..652f1ca417 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyStatus.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PreKeyStatus.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push;
public class PreKeyStatus {
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushAttachmentData.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushAttachmentData.java
index f2efe638e0..11b0bcf15c 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushAttachmentData.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushAttachmentData.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push;
import java.io.InputStream;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushAttachmentPointer.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushAttachmentPointer.java
deleted file mode 100644
index 9a2c7fd464..0000000000
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushAttachmentPointer.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.whispersystems.textsecure.internal.push;
-
-import android.os.Parcel;
-import android.os.Parcelable;
-
-public class PushAttachmentPointer implements Parcelable {
-
- public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
- @Override
- public PushAttachmentPointer createFromParcel(Parcel in) {
- return new PushAttachmentPointer(in);
- }
-
- @Override
- public PushAttachmentPointer[] newArray(int size) {
- return new PushAttachmentPointer[size];
- }
- };
-
- private final String contentType;
- private final long id;
- private final byte[] key;
-
- public PushAttachmentPointer(String contentType, long id, byte[] key) {
- this.contentType = contentType;
- this.id = id;
- this.key = key;
- }
-
- public PushAttachmentPointer(Parcel in) {
- this.contentType = in.readString();
- this.id = in.readLong();
-
- int keyLength = in.readInt();
- this.key = new byte[keyLength];
- in.readByteArray(this.key);
- }
-
- public String getContentType() {
- return contentType;
- }
-
- public long getId() {
- return id;
- }
-
- public byte[] getKey() {
- return key;
- }
-
- @Override
- public int describeContents() {
- return 0;
- }
-
- @Override
- public void writeToParcel(Parcel dest, int flags) {
- dest.writeString(contentType);
- dest.writeLong(id);
- dest.writeInt(this.key.length);
- dest.writeByteArray(this.key);
- }
-}
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushBody.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushBody.java
index cf7c186803..3805aa455c 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushBody.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushBody.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push;
public class PushBody {
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushMessageResponse.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushMessageResponse.java
deleted file mode 100644
index b06f5e9338..0000000000
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/PushMessageResponse.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.whispersystems.textsecure.internal.push;
-
-import java.util.List;
-
-public class PushMessageResponse {
- private List success;
- private List failure;
-
- public List getSuccess() {
- return success;
- }
-
- public List getFailure() {
- return failure;
- }
-
-
-}
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/StaleDevices.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/StaleDevices.java
index af3efbdcc9..34039dee40 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/StaleDevices.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/StaleDevices.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push;
import java.util.List;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/exceptions/MismatchedDevicesException.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/exceptions/MismatchedDevicesException.java
index dea5c5eb5d..58d89f6652 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/exceptions/MismatchedDevicesException.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/exceptions/MismatchedDevicesException.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push.exceptions;
import org.whispersystems.textsecure.api.push.exceptions.NonSuccessfulResponseCodeException;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/exceptions/StaleDevicesException.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/exceptions/StaleDevicesException.java
index 3f6912b673..083622b310 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/exceptions/StaleDevicesException.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/push/exceptions/StaleDevicesException.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.push.exceptions;
import org.whispersystems.textsecure.api.push.exceptions.NonSuccessfulResponseCodeException;
diff --git a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/util/Util.java b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/util/Util.java
index 4a5cb363bc..ba59cafc4f 100644
--- a/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/util/Util.java
+++ b/libtextsecure/src/main/java/org/whispersystems/textsecure/internal/util/Util.java
@@ -1,3 +1,19 @@
+/**
+ * Copyright (C) 2014 Open Whisper Systems
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
package org.whispersystems.textsecure.internal.util;
import java.io.ByteArrayOutputStream;