Index: src/http.c
===================================================================
--- src/http.c (revision 1462)
+++ src/http.c (working copy)
@@ -334,3 +334,11 @@
free(buffer);
}
+void http_callback_apple_success(httpd *webserver, request *r)
+{
+ char *buffer;
+
+ buffer = safe_strdup(HTTP_APPLE_IOS_SUCCESS_HTML);
+ httpdOutput(r, buffer);
+ free(buffer);
+}
Index: src/http.h
===================================================================
--- src/http.h (revision 1462)
+++ src/http.h (working copy)
@@ -29,6 +29,8 @@
#include "httpd.h"
+#define HTTP_APPLE_IOS_SUCCESS_HTML "\n\n
\nSuccess\n\n\nSuccess\n\n\n"
+
/**@brief Callback for libhttpd, main entry point for captive portal */
void http_callback_404(httpd *webserver, request *r);
/**@brief Callback for libhttpd */
@@ -39,6 +41,8 @@
void http_callback_status(httpd *webserver, request *r);
/**@brief Callback for libhttpd, main entry point post login for auth confirmation */
void http_callback_auth(httpd *webserver, request *r);
+/**@brief Callback for libhttpd, Entry point for the Apple/iOS "Success" page handler */
+void http_callback_apple_success(httpd *webserver, request *r);
/** @brief Sends a HTML page to web browser */
void send_http_page(request *r, const char *title, const char* message);
Index: src/gateway.c
===================================================================
--- src/gateway.c (revision 1462)
+++ src/gateway.c (working copy)
@@ -411,6 +411,7 @@
httpdAddCContent(webserver, "/wifidog", "about", 0, NULL, http_callback_about);
httpdAddCContent(webserver, "/wifidog", "status", 0, NULL, http_callback_status);
httpdAddCContent(webserver, "/wifidog", "auth", 0, NULL, http_callback_auth);
+ httpdAddCContent(webserver, "/library/test/success.html", "Success", 0, NULL, http_callback_apple_success);
httpdAddC404Content(webserver, http_callback_404);