From 1f555c2f27d8ea2513d226f6cc65dcf2e15e4c15 Mon Sep 17 00:00:00 2001
From: z38 <z38@z38.invalid>
Date: Sun, 13 Sep 2015 20:01:16 +0200
Subject: [PATCH] Fixed notices on empty webhook requests

---
 src/Mailgun/Mailgun.php             | 3 +++
 tests/Mailgun/Tests/MailgunTest.php | 6 ++++++
 2 files changed, 9 insertions(+)

diff --git a/src/Mailgun/Mailgun.php b/src/Mailgun/Mailgun.php
index f9921ef..680e0a9 100644
--- a/src/Mailgun/Mailgun.php
+++ b/src/Mailgun/Mailgun.php
@@ -85,6 +85,9 @@ class Mailgun{
         if(is_null($postData)) {
             $postData = $_POST;
         }
+        if(!isset($postData['timestamp']) || !isset($postData['token']) || !isset($postData['signature'])) {
+            return false;
+        }
         $hmac = hash_hmac('sha256', "{$postData["timestamp"]}{$postData["token"]}", $this->apiKey);
         $sig = $postData['signature'];
         if(function_exists('hash_equals')) {
diff --git a/tests/Mailgun/Tests/MailgunTest.php b/tests/Mailgun/Tests/MailgunTest.php
index c73c1aa..38a6905 100644
--- a/tests/Mailgun/Tests/MailgunTest.php
+++ b/tests/Mailgun/Tests/MailgunTest.php
@@ -33,4 +33,10 @@ class MailgunTest extends \Mailgun\Tests\MailgunTestCase
         );
         assert(!$client->verifyWebhookSignature($postData));
     }
+
+    public function testVerifyWebhookEmptyRequest() {
+        $client = new Mailgun('key-3ax6xnjp29jd6fds4gc373sgvjxteol0');
+        $postData = array();
+        assert(!$client->verifyWebhookSignature($postData));
+    }
 }