wip - surf-adblock - Surf adblock web extension
(HTM) git clone git://git.codemadness.org/surf-adblock
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 4bdd720660034ff1d771b209dba2097b10dc4d65
(DIR) parent 182fbfa07b91c9d882ce592414e230e7a7c57c23
(HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sun, 4 Jun 2017 14:58:31 +0200
wip
Diffstat:
M TODO | 1 +
M adblock.c | 16 ++++++++++------
M tests/run.sh | 4 +++-
M tests/tests.c | 25 ++++++++++++++++++-------
4 files changed, 32 insertions(+), 14 deletions(-)
---
(DIR) diff --git a/TODO b/TODO
@@ -1,6 +1,7 @@
- optimize towupper for fnmatch? check < 128, see musl optimization.
- fix blocking of : ||ads.somesite.com^
+ matchbegin and matchend rules are wrong.
- fix tweakers.net popup / rule.
this is in an exception rule...
(DIR) diff --git a/adblock.c b/adblock.c
@@ -776,10 +776,11 @@ getdocumentcss(const char *uri)
if (!uri)
return NULL;
- if (!(s = strstr(uri, "://")))
- return NULL;
- s += sizeof("://") - 1;
- len = strcspn(s, "/");
+ if ((s = strstr(uri, "://")))
+ s += sizeof("://") - 1;
+ else
+ s = uri;
+ len = strcspn(s, "/"); /* TODO: ":/" */
memcpy(domain, s, len);
domain[len] = '\0';
@@ -848,8 +849,11 @@ checkrequest(const char *uri, const char *requri)
if (!uri || !strcmp(requri, uri))
return 1;
- s = strstr(uri, "://") + sizeof("://") - 1;
- len = strcspn(s, "/");
+ if ((s = strstr(uri, "://")))
+ s += sizeof("://") - 1;
+ else
+ s = uri;
+ len = strcspn(s, "/"); /* TODO: ":/" */
memcpy(domain, s, len);
domain[len] = '\0';
(DIR) diff --git a/tests/run.sh b/tests/run.sh
@@ -1,4 +1,6 @@
#!/bin/sh
rm -f *.o tests
-cc tests.c -o tests -Wall
+#cc tests.c -o tests -Wall -ggdb -O0
+#cc tests.c -o tests -Wall -ggdb -Os
+cc tests.c -o tests -O2 -Wall
SURF_ADBLOCK_FILE=`pwd`/rules ./tests
(DIR) diff --git a/tests/tests.c b/tests/tests.c
@@ -7,27 +7,38 @@ main(void)
init();
- status = checkrequest("https://tweakers.net/", "/adtracker/a");
+ status = checkrequest("https://tweakers.net/", "https://tweakers.net/adtracker/a");
printf("%d\n", status);
- status = checkrequest("https://tweakers.net/", "/adtracker.");
+ status = checkrequest("http://tweakers.net/", "http://tweakers.net/adtracker/a");
printf("%d\n", status);
- status = checkrequest("https://tweakers.net/", "/index.html");
+ status = checkrequest("https://tweakers.net/", "https://tweakers.net/adtracker.");
printf("%d\n", status);
- status = checkrequest("https://360ads.com/", "/index.html");
+ status = checkrequest("https://tweakers.net/", "https://tweakers.net/index.html");
printf("%d\n", status);
- status = checkrequest("https://www.360ads.com/", "/index.html");
+ status = checkrequest("https://360ads.com/", "https://360ads.com/index.html");
printf("%d\n", status);
- status = checkrequest("https://360ads.com:8000/", "/index.html");
+ status = checkrequest("https://www.360ads.com/", "https://www.360ads.com/index.html");
printf("%d\n", status);
- status = checkrequest("https://www.360ads.com:8000/", "/index.html");
+ status = checkrequest("http://www.360ads.com/", "http://360ads.com/index.html");
printf("%d\n", status);
+ status = checkrequest("https://360ads.com:8000/", "https://360ads.com/index.html");
+ printf("%d\n", status);
+
+ status = checkrequest("https://360ads.com/", "https://360ads.com:8000/index.html");
+ printf("%d\n", status);
+
+ status = checkrequest("https://360ads.com:8000/", "https://360ads.com:8000/index.html");
+ printf("%d\n", status);
+
+ /*http://statics.360ads.com/statics/images/2016/home/t3.png*/
+
cleanup();
return 0;