├── .gitignore ├── assembly.xml ├── pom.xml └── src ├── main ├── java │ └── org │ │ └── whispersystems │ │ └── pushserver │ │ ├── PushServer.java │ │ ├── PushServerConfiguration.java │ │ ├── auth │ │ ├── Server.java │ │ └── ServerAuthenticator.java │ │ ├── config │ │ ├── ApnConfiguration.java │ │ ├── AuthenticationConfiguration.java │ │ ├── GcmConfiguration.java │ │ └── RedisConfiguration.java │ │ ├── controllers │ │ ├── FeedbackController.java │ │ └── PushController.java │ │ ├── entities │ │ ├── ApnMessage.java │ │ ├── GcmMessage.java │ │ ├── UnregisteredEvent.java │ │ └── UnregisteredEventList.java │ │ ├── metrics │ │ ├── JsonMetricsReporter.java │ │ └── JsonMetricsReporterFactory.java │ │ ├── providers │ │ ├── RedisClientFactory.java │ │ └── RedisHealthCheck.java │ │ ├── senders │ │ ├── APNSender.java │ │ ├── GCMSender.java │ │ ├── HttpGCMSender.java │ │ ├── TransientPushFailureException.java │ │ ├── UnregisteredQueue.java │ │ └── XmppGCMSender.java │ │ └── util │ │ ├── Constants.java │ │ └── Util.java └── resources │ └── META-INF │ └── services │ └── io.dropwizard.metrics.ReporterFactory └── test └── java └── org └── whispersystems └── pushserver ├── controllers ├── FeedbackControllerTest.java └── PushControllerTest.java └── util ├── AuthHelper.java └── MockAuthenticationConfig.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/.gitignore -------------------------------------------------------------------------------- /assembly.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/assembly.xml -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/PushServer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/PushServer.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/PushServerConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/PushServerConfiguration.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/auth/Server.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/auth/Server.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/auth/ServerAuthenticator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/auth/ServerAuthenticator.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/config/ApnConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/config/ApnConfiguration.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/config/AuthenticationConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/config/AuthenticationConfiguration.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/config/GcmConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/config/GcmConfiguration.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/config/RedisConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/config/RedisConfiguration.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/controllers/FeedbackController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/controllers/FeedbackController.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/controllers/PushController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/controllers/PushController.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/entities/ApnMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/entities/ApnMessage.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/entities/GcmMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/entities/GcmMessage.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/entities/UnregisteredEvent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/entities/UnregisteredEvent.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/entities/UnregisteredEventList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/entities/UnregisteredEventList.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/metrics/JsonMetricsReporter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/metrics/JsonMetricsReporter.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/metrics/JsonMetricsReporterFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/metrics/JsonMetricsReporterFactory.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/providers/RedisClientFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/providers/RedisClientFactory.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/providers/RedisHealthCheck.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/providers/RedisHealthCheck.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/senders/APNSender.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/senders/APNSender.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/senders/GCMSender.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/senders/GCMSender.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/senders/HttpGCMSender.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/senders/HttpGCMSender.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/senders/TransientPushFailureException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/senders/TransientPushFailureException.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/senders/UnregisteredQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/senders/UnregisteredQueue.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/senders/XmppGCMSender.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/senders/XmppGCMSender.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/util/Constants.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/util/Constants.java -------------------------------------------------------------------------------- /src/main/java/org/whispersystems/pushserver/util/Util.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/java/org/whispersystems/pushserver/util/Util.java -------------------------------------------------------------------------------- /src/main/resources/META-INF/services/io.dropwizard.metrics.ReporterFactory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/main/resources/META-INF/services/io.dropwizard.metrics.ReporterFactory -------------------------------------------------------------------------------- /src/test/java/org/whispersystems/pushserver/controllers/FeedbackControllerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/test/java/org/whispersystems/pushserver/controllers/FeedbackControllerTest.java -------------------------------------------------------------------------------- /src/test/java/org/whispersystems/pushserver/controllers/PushControllerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/test/java/org/whispersystems/pushserver/controllers/PushControllerTest.java -------------------------------------------------------------------------------- /src/test/java/org/whispersystems/pushserver/util/AuthHelper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/test/java/org/whispersystems/pushserver/util/AuthHelper.java -------------------------------------------------------------------------------- /src/test/java/org/whispersystems/pushserver/util/MockAuthenticationConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/PushServer/HEAD/src/test/java/org/whispersystems/pushserver/util/MockAuthenticationConfig.java --------------------------------------------------------------------------------