summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-04-05 10:45:17 -0400
committerJune McEnroe <june@causal.agency>2020-04-05 10:45:17 -0400
commita8c5d13cb21ef08f7d2b5a718b5c93113dfc6448 (patch)
treedc3b606b12ebb467cd8bd464f5ee47ec463130c5
parentUpdate style (diff)
downloadlitterbox-a8c5d13cb21ef08f7d2b5a718b5c93113dfc6448.tar.gz
litterbox-a8c5d13cb21ef08f7d2b5a718b5c93113dfc6448.zip
Add Ban and Unban event types
-rw-r--r--database.h4
-rw-r--r--litterbox.c4
-rw-r--r--scoop.c18
3 files changed, 25 insertions, 1 deletions
diff --git a/database.h b/database.h
index 5893f77..c852e11 100644
--- a/database.h
+++ b/database.h
@@ -42,7 +42,9 @@ enum { DatabaseVersion = 2 };
 	X(Quit, "quit") \
 	X(Kick, "kick") \
 	X(Nick, "nick") \
-	X(Topic, "topic")
+	X(Topic, "topic") \
+	X(Ban, "ban") \
+	X(Unban, "unban")
 
 enum Type {
 #define X(id, _) id,
diff --git a/litterbox.c b/litterbox.c
index 14dd626..d0cafef 100644
--- a/litterbox.c
+++ b/litterbox.c
@@ -304,6 +304,10 @@ static void querySearch(struct Message *msg) {
 					"\3%02d%s\3 set the topic: %s\r\n",
 					color(user), nick, message
 				);
+			break; case Ban:
+				format("\3%02d%s\3 banned %s\r\n", color(user), nick, target);
+			break; case Unban:
+				format("\3%02d%s\3 unbanned %s\r\n", color(user), nick, target);
 		}
 	}
 	if (result != SQLITE_DONE) {
diff --git a/scoop.c b/scoop.c
index a1b75c7..d95a971 100644
--- a/scoop.c
+++ b/scoop.c
@@ -77,6 +77,12 @@ static void formatPlain(bool group, struct Event e) {
 		break; case Topic: {
 			printf("%s set the topic: %s\n", e.nick, e.message);
 		}
+		break; case Ban: {
+			printf("%s banned %s\n", e.nick, e.target);
+		}
+		break; case Unban: {
+			printf("%s unbanned %s\n", e.nick, e.target);
+		}
 	}
 }
 
@@ -189,6 +195,12 @@ static void formatColor(bool group, struct Event e) {
 				color(e.user), e.nick, ansi(e.message)
 			);
 		}
+		break; case Ban: {
+			printf(C "%s" O " banned %s\n", color(e.user), e.nick, e.target);
+		}
+		break; case Unban: {
+			printf(C "%s" O " unbanned %s\n", color(e.user), e.nick, e.target);
+		}
 	}
 #undef C
 #undef O
@@ -230,6 +242,12 @@ static void formatIRC(bool group, struct Event e) {
 		break; case Topic: {
 			printf("TOPIC %s :%s\r\n", e.context, e.message);
 		}
+		break; case Ban: {
+			printf("MODE %s +b %s\r\n", e.context, e.target);
+		}
+		break; case Unban: {
+			printf("MODE %s -b %s\r\n", e.context, e.target);
+		}
 	}
 }
 
65076b70d7c619df08e6c64dac9386&follow=1'>ui-log: ban strncpy()Christian Hesse Git upstream bans strncpy() with commit: banned.h: mark strncpy() as banned e488b7aba743d23b830d239dcc33d9ca0745a9ad Signed-off-by: Christian Hesse <mail@eworm.de> 2018-09-11ui-log: ban strcpy()Christian Hesse Git upstream bans strcpy() with commit: automatically ban strcpy() c8af66ab8ad7cd78557f0f9f5ef6a52fd46ee6dd Signed-off-by: Christian Hesse <mail@eworm.de> 2018-09-11parsing: ban sprintf()Christian Hesse Git upstream bans sprintf() with commit: banned.h: mark sprintf() as banned cc8fdaee1eeaf05d8dd55ff11f111b815f673c58 Signed-off-by: Christian Hesse <mail@eworm.de> 2018-09-11parsing: ban strncpy()Christian Hesse Git upstream bans strncpy() with commit: banned.h: mark strncpy() as banned e488b7aba743d23b830d239dcc33d9ca0745a9ad Signed-off-by: Christian Hesse <mail@eworm.de> 2018-08-28filters: generate anchor links from markdownChristian Hesse This makes the markdown filter generate anchor links for headings. Signed-off-by: Christian Hesse <mail@eworm.de> Tested-by: jean-christophe manciot <actionmystique@gmail.com> 2018-08-03Bump version.Jason A. Donenfeld Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 2018-08-03clone: fix directory traversalJason A. Donenfeld This was introduced in the initial version of this code, way back when in 2008. $ curl http://127.0.0.1/cgit/repo/objects/?path=../../../../../../../../../etc/passwd root:x:0:0:root:/root:/bin/sh ... Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Reported-by: Jann Horn <jannh@google.com> 2018-08-03config: record repo.snapshot-prefix in the per-repo configKonstantin Ryabitsev