debian/0000755000000000000000000000000012015625502007164 5ustar debian/menu0000644000000000000000000000020412013436074010051 0ustar ?package(tinyirc): \ needs="text" \ section="Applications/Network/Communication" \ title="TinyIRC" \ command="/usr/bin/tinyirc" debian/README.Debian0000644000000000000000000000074112013436074011231 0ustar tinyirc for Debian ------------------ Note: The package came with a copy of RFC 1459, however, it added about 15k or so to the binary package. That is, as you will note, the approximate size of the tinyirc binary itself, so, I decided that it would be best to simply point you to the location of the RFC (as its somewhat interesting reading) instead of shipping a copy: http://www.irchelp.org/irchelp/rfc/ -- Jay Kominek Sun, 28 Sep 1997 10:22:08 -0400 debian/patches/0000755000000000000000000000000012013444316010613 5ustar debian/patches/05-prevent-segfault-on-part.patch0000644000000000000000000000133412013436074016732 0ustar From: Decklin Foster Date: Fri, 12 Jan 2001 15:59:33 -0500 Subject: prevent segfault on /part Bug-Debian: http://bugs.debian.org/70671 --- a/tinyirc.c +++ b/tinyirc.c @@ -62,7 +62,7 @@ struct dlist { struct dlist *next; }; -#define ischan(x) (*x == '#' || *x == '&' || *x == '+') +#define ischan(x) (x && (*x == '#' || *x == '&' || *x == '+')) #define OBJ obj->name #define raise_sig(x) kill(getpid(), x) struct dlist *obj = NULL, *olist = NULL, *newobj; @@ -110,6 +110,7 @@ int my_stricmp(str1, str2) char *str1, *str2; { int cmp; + if (str1 == NULL || str2 == NULL) return 0; while (*str1 != 0 && str2 != 0) { if (isalpha(*str1) && isalpha(*str2)) { cmp = *str1 ^ *str2; debian/patches/08-avoid-NULL-dereferences.patch0000644000000000000000000001422112013436074016365 0ustar From: "Bernhard R. Link" Date: Mon, 2 Jul 2012 16:46:13 +0200 Subject: make sure to not reference NULL if getting less arguments than expected Bug-Debian: http://bugs.debian.org/452029 --- a/tinyirc.c +++ b/tinyirc.c @@ -225,23 +225,32 @@ void updatestatus() } } } -static int nop() +static int malformeddata(void) +{ + column = printf("Incomplete/malformed data received."); + return 0; +} +static int nop(int count) { return 1; } -static int doerror() +static int doerror(int count) { column = printf("*** ERROR:"); return 2; } -static int doinvite() +static int doinvite(int count) { + if (count <= 3) + return malformeddata(); printf("*** %s (%s) invites you to join %s.", TOK[0], fromhost, TOK[3]); return 0; } -static int dojoin() +static int dojoin(int count) { + if (count <= 2) + return malformeddata(); if (strcmp(TOK[0], IRCNAME) == 0) { obj = olist = additem(TOK[2], olist); sprintf(lineout, "MODE :%s\n", OBJ); @@ -252,8 +261,10 @@ static int dojoin() printf("*** %s (%s) joined %s", TOK[0], fromhost, TOK[2]); return 0; } -static int dokick() +static int dokick(int count) { + if (count <= 4) + return malformeddata(); printf("*** %s was kicked from %s by %s (%s)", TOK[3], TOK[2], TOK[0], TOK[4]); if (strcmp(TOK[3], IRCNAME) == 0) { @@ -266,15 +277,19 @@ static int dokick() } return 0; } -static int dokill() +static int dokill(int count) { + if (count <= 3) + return malformeddata(); printf("*** %s killed by %s: ", TOK[3], TOK[0]); if (strcmp(TOK[3], IRCNAME) == 0) reconnect = 0; /* don't reconnect if killed */ return 4; } -static int domode() +static int domode(int count) { + if (count <= 3) + return malformeddata(); char *t = TOK[3], op = *TOK[3]; printf("*** %s changed %s to:", TOK[0], TOK[2]); if ((newobj = finditem(TOK[2], olist)) != NULL) { @@ -293,8 +308,10 @@ static int domode() } return 3; } -static int donick() +static int donick(int count) { + if (count <= 2) + return malformeddata(); if (strcmp(TOK[0], IRCNAME) == 0) { wasdate = 0; strcpy(IRCNAME, TOK[2]); @@ -302,16 +319,20 @@ static int donick() printf("*** %s is now known as %s", TOK[0], TOK[2]); return 0; } -static int donotice() +static int donotice(int count) { + if (count <= 2) + return malformeddata(); if (!ischan(TOK[2])) column = printf("-%s-", TOK[0]); else column = printf("-%s:%s-", TOK[0], TOK[2]); return 3; } -static int dopart() +static int dopart(int count) { + if (count <= 2) + return malformeddata(); printf("*** %s (%s) left %s", TOK[0], fromhost, TOK[2]); if (strcmp(TOK[0], IRCNAME) == 0) { @@ -324,13 +345,15 @@ static int dopart() } return 0; } -static int dopong() +static int dopong(int count) { column = printf("*** Got PONG from %s:", TOK[0]); return 3; } -static int doprivmsg() +static int doprivmsg(int count) { + if (count <= 3) + return malformeddata(); #ifdef DO_CTCP if (strncmp(TOK[3], "\01PING", 5) == 0) { /* lame ctcp ping hack */ sprintf(lineout, "NOTICE %s :%s\n", TOK[0], TOK[3]); @@ -356,43 +379,54 @@ static int doprivmsg() column = printf("<%s>", TOK[0]); return 3; } -static int doquit() +static int doquit(int count) { + if (count <= 2) + return malformeddata(); printf("*** %s (%s) Quit (%s)", TOK[0], fromhost, TOK[2]); return 0; } -static int dosquit() +static int dosquit(int count) { return 1; } -static int dotime() +static int dotime(int count) { return 1; } -static int dotopic() +static int dotopic(int count) { + if (count <= 3) + return malformeddata(); printf("*** %s set %s topic to \"%s\"", TOK[0], TOK[2], TOK[3]); return 0; } -int donumeric(num) -int num; +int donumeric(int num, int count) { switch (num) { case 352: + if (count <= 9) + return malformeddata(); column = printf("%-14s %-10s %-3s %s@%s :", TOK[3], TOK[7], TOK[8], TOK[4], TOK[5]); return 9; case 311: + if (count <= 6) + return malformeddata(); column = printf("*** %s is %s@%s", TOK[3], TOK[4], TOK[5]); return 6; case 324: + if (count <= 4) + return malformeddata(); if ((newobj = finditem(TOK[3], olist)) != NULL) { strcpy(newobj->mode, TOK[4]); wasdate = 0; } break; case 329: + if (count <= 4) + return malformeddata(); tmptime = atoi(TOK[4]); strcpy(lineout, ctime(&tmptime)); tmp = strchr(lineout, '\n'); @@ -401,6 +435,8 @@ int num; column = printf("*** %s formed %s", TOK[3], lineout); return 0; case 333: + if (count <= 5) + return malformeddata(); tmptime = atoi(TOK[5]); strcpy(lineout, ctime(&tmptime)); tmp = strchr(lineout, '\n'); @@ -410,6 +446,8 @@ int num; lineout); return 0; case 317: + if (count <= 5) + return malformeddata(); tmptime = atoi(TOK[5]); strcpy(lineout, ctime(&tmptime)); tmp = strchr(lineout, '\n'); @@ -498,7 +536,7 @@ int count; } int parsedata() { - int i, found = 0; + int count, i, found = 0; if (!dumb) tputs_x(tgoto(CM, 0, LI - 3)); @@ -517,6 +555,7 @@ int parsedata() if (TOK[i] != NULL && *TOK[i] == ':') TOK[i]++; TOK[++i] = NULL; + count = i; if ((tmp = strchr(TOK[0], '!'))) { fromhost = &tmp[1]; *tmp = '\0'; @@ -530,16 +569,16 @@ int parsedata() return sendline(); } if ((i = atoi(TOK[1]))) - i = donumeric(i); + i = donumeric(i, count); else { for (i = 0; i < LISTSIZE && !found; i++) found = (strcmp(clist[i], TOK[1]) == 0); if (found) - i = (*docommand[i - 1]) (); + i = (*docommand[i - 1]) (count); else - i = nop(); + i = nop(count); } - if (i) { + if (i && i < count) { if (*TOK[i] == ASCIIHEXCHAR && TOK[i + 1] == NULL) { hexascii(&TOK[i][1]); #ifdef USE_ANSICOLOR @@ -559,7 +598,7 @@ int parsedata() } if (dumb) putchar('\n'); - if (strncmp(TOK[1], "Closing", 7) == 0) + if (TOK[1] != NULL && strncmp(TOK[1], "Closing", 7) == 0) return (reconnect = 0); return 1; } debian/patches/02-drop-inetd-support.patch0000644000000000000000000000177212013436074015643 0ustar From: Jay Kominek Date: Sun, 28 Sep 1997 10:22:08 -0400 Subject: drop inetd support --- a/tinyirc.c +++ b/tinyirc.c @@ -947,11 +947,11 @@ For details please see the file COPYING.\n", RELEASE); if ((my_tty = open("/dev/tty", O_RDWR, 0)) == -1) my_tty = fileno(stdin); IRCGECOS[i = 63] = 0; - if (!getpeername(my_tty, IRCGECOS, &i)) { /* inetd */ +/* if (!getpeername(my_tty, IRCGECOS, &i)) { // inetd strcpy(IRCNAME, IRCGECOS); strcpy(IRCLOGIN, "fromident"); setenv("TERM", "vt102", 1); - } else { + } else { */ userinfo = getpwuid(getuid()); tmp = (char *) getenv("IRCNICK"); if (tmp == NULL) @@ -975,8 +975,9 @@ For details please see the file COPYING.\n", RELEASE); tmp = (char *) h->h_name; } strcpy(IRCGECOS, tmp); + if ((tmp = strchr(IRCGECOS, ','))) *tmp = '\0'; endutent(); - } +/* } */ fprintf(stderr, "*** User is %s\n", IRCGECOS); printf("*** trying port %d of %s\n\n", IRCPORT, hostname); if (makeconnect(hostname) < 0) { debian/patches/01-nospoof-fix.patch0000644000000000000000000000131012013436074014316 0ustar From: Jay Kominek Date: Sun, 8 Mar 1998 22:21:53 -0500 Subject: Corrected a bug which prevented TinyIRC from function with servers that used the nospoof patch. --- a/tinyirc.c +++ b/tinyirc.c @@ -495,10 +495,6 @@ int parsedata() { int i, found = 0; - if (serverdata[0] == 'P') { - sprintf(lineout, "PONG :%s\n", IRCNAME); - return sendline(); - } if (!dumb) tputs_x(tgoto(CM, 0, LI - 3)); TOK[i = 0] = serverdata; @@ -524,6 +520,10 @@ int parsedata() if (!dumb) putchar('\n'); column = 0; + if (serverdata[0] == 'P') { + sprintf(lineout, "PONG :%s\n", TOK[1]); + return sendline(); + } if (i = atoi(TOK[1])) i = donumeric(i); else { debian/patches/06-clean-up-several-warnings.patch0000644000000000000000000000515212013436074017055 0ustar From: Decklin Foster Date: Fri, 1 Jun 2001 16:54:21 -0400 Subject: clean up several warnings --- a/tinyirc.c +++ b/tinyirc.c @@ -171,7 +171,7 @@ struct dlist *p; } char encoded[512]; -hexascii(s) +void hexascii(s) char *s; { int ch, i, j, k, l; @@ -188,7 +188,7 @@ char *s; } encoded[j] = '\0'; } -asciihex(s) +void asciihex(s) char *s; { int i; @@ -237,7 +237,7 @@ static int doerror() static int doinvite() { printf("*** %s (%s) invites you to join %s.", - TOK[0], fromhost, &TOK[3]); + TOK[0], fromhost, TOK[3]); return 0; } static int dojoin() @@ -486,7 +486,7 @@ char *p; int count; { while (p != NULL) { - if (tmp = strchr(p, ' ')) + if ((tmp = strchr(p, ' '))) *(tmp++) = '\0'; if (strlen(p) < CO - count) count += printf(" %s", p); @@ -508,7 +508,7 @@ int parsedata() if (*TOK[i] == ':') break; else { - if (tmp = strchr(TOK[i], ' ')) { + if ((tmp = strchr(TOK[i], ' '))) { TOK[++i] = &tmp[1]; *tmp = '\0'; } else @@ -517,7 +517,7 @@ int parsedata() if (TOK[i] != NULL && *TOK[i] == ':') TOK[i]++; TOK[++i] = NULL; - if (tmp = strchr(TOK[0], '!')) { + if ((tmp = strchr(TOK[0], '!'))) { fromhost = &tmp[1]; *tmp = '\0'; } else @@ -529,7 +529,7 @@ int parsedata() sprintf(lineout, "PONG :%s\n", TOK[1]); return sendline(); } - if (i = atoi(TOK[1])) + if ((i = atoi(TOK[1]))) i = donumeric(i); else { for (i = 0; i < LISTSIZE && !found; i++) @@ -586,7 +586,7 @@ void parseinput() strcpy(inputbuf, linein); TOK[i = 0] = inputbuf; while (TOK[i] != NULL && i < 5) - if (tmp = strchr(TOK[i], ' ')) { + if ((tmp = strchr(TOK[i], ' '))) { TOK[++i] = &tmp[1]; *tmp = '\0'; } else @@ -612,7 +612,7 @@ void parseinput() return; } #ifndef AUTOJOIN - if (i == DO_JOIN) + if (i == DO_JOIN) { if ((newobj = finditem(TOK[1], olist)) != NULL) { wasdate = 0; obj = newobj; @@ -624,6 +624,7 @@ void parseinput() wasdate = 0; return; } + } if (i == DO_PART && !ischan(TOK[1])) if ((newobj = finditem(TOK[1], olist)) != NULL) { wasdate = 0; @@ -890,7 +891,7 @@ char *hostname; sa.sin_family = hp->h_addrtype; sa.sin_port = htons((unsigned short) IRCPORT); s = socket(hp->h_addrtype, SOCK_STREAM, 0); - if (s > 0) + if (s > 0) { if (connect(s, (struct sockaddr *) &sa, sizeof(sa)) < 0) { close(s); s = -1; @@ -910,10 +911,11 @@ char *hostname; sendline(); } /* error checking will be done later */ } + } } return s; } -main(argc, argv) +int main(argc, argv) int argc; char **argv; { debian/patches/20-argc.patch0000644000000000000000000000733012013444316012772 0ustar From: Jari Aalto Subject: Correct argument handling. Support any port number (Closes: #625862). --- tinyirc.c | 91 ++++++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 60 insertions(+), 31 deletions(-) --- a/tinyirc.c +++ b/tinyirc.c @@ -61,7 +61,6 @@ char mode[64]; struct dlist *next; }; - #define ischan(x) (x && (*x == '#' || *x == '&' || *x == '+')) #define OBJ obj->name #define raise_sig(x) kill(getpid(), x) @@ -458,7 +457,7 @@ return 0; case 432: case 433: - printf("*** You've chosen an invalid nick. Choose again."); + printf("*** You've chosen an invalid or reserved nick. Choose again."); tmp = IRCNAME; if (!dumb) { tputs_x(tgoto(CM, 0, LI - 1)); @@ -954,6 +953,8 @@ } return s; } + +const char *ircgecos = "unknown"; int main(argc, argv) int argc; char **argv; @@ -961,35 +962,58 @@ struct utmp ut, *utmp; char hostname[64]; int i = 0; + + strncpy(hostname, DEFAULTSERVER, sizeof(hostname)); + printf("%s Copyright (C) 1991-1996 Nathan Laredo\n\ This is free software with ABSOLUTELY NO WARRANTY.\n\ For details please see the file COPYING.\n", RELEASE); - if (!(tmp = (char *) getenv("IRCSERVER"))) - strcpy(hostname, DEFAULTSERVER); - else { - while (*tmp && *tmp != ':') - hostname[i++] = *(tmp++); - hostname[i] = '\0'; - if (*tmp == ':') - IRCPORT = (unsigned short) atoi(++tmp); - } - if (argc > 1) { - for (i = 1; i < argc; i++) - if (argv[i][0] == '-') { - if (argv[i][1] == 'd') - dumb = 1; - else { - fprintf(stderr, "usage: %s %s\n", argv[0], - "[nick] [server] [port] [-dumb]"); - exit(1); - } - } else if (strchr(argv[i], '.')) - strcpy(hostname, argv[i]); - else if (atoi(argv[i]) > 255) - IRCPORT = atoi(argv[i]); - else - strncpy(IRCNAME, argv[i], sizeof(IRCNAME)); + + if ( (tmp = (char *) getenv("IRCSERVER")) && tmp[0] != '\0' ) + strncpy(hostname, tmp, sizeof(hostname)); + + int argok = 0; + int offset = 1; + int ircname = 0; + + if (argc > offset) { + if ( (argv[offset][0] == '-') && (argv[offset][1] == 'd') ) { + dumb = 1; + offset++; + } + } + + if (argc > offset) { + strncpy(IRCNAME, argv[offset], sizeof(IRCNAME)); + IRCNAME[ sizeof(IRCNAME) - 1 ] = '\0'; + offset++; + argok++; + ircname = 1; } + + if (argc > offset) { + strncpy(hostname, argv[offset], sizeof(hostname)); + hostname[ sizeof(hostname) - 1 ] = '\0'; + offset++; + argok++; + } + + if (argc > offset) { + const char ch = argv[offset][0]; + + if ( (ch >= '0') && (ch <= '9' ) ) { + IRCPORT = atoi(argv[offset]); + offset++; + argok++; + } + } + + if ( ! argok ) { + fprintf(stderr, "usage: %s %s\n", argv[0], + "[-dumb] nick [server [port]]"); + exit(1); + } + if ((my_tty = open("/dev/tty", O_RDWR, 0)) == -1) my_tty = fileno(stdin); IRCGECOS[i = 63] = 0; @@ -1000,10 +1024,12 @@ } else { */ userinfo = getpwuid(getuid()); tmp = (char *) getenv("IRCNICK"); - if (tmp == NULL) - strncpy(IRCNAME, userinfo->pw_name, sizeof(IRCNAME)); - else - strncpy(IRCNAME, tmp, sizeof(IRCNAME)); + if (!ircname) { + if (tmp == NULL) + strncpy(IRCNAME, userinfo->pw_name, sizeof(IRCNAME)); + else + strncpy(IRCNAME, tmp, sizeof(IRCNAME)); + } strcpy(IRCLOGIN, userinfo->pw_name); setutent(); strcpy(ut.ut_line, isatty(0) ? strrchr(ttyname(0), '/') + 1 : ""); @@ -1024,6 +1050,9 @@ if ((tmp = strchr(IRCGECOS, ','))) *tmp = '\0'; endutent(); /* } */ + if ( strlen(IRCGECOS) == 0 ) + strcpy(IRCGECOS, ircgecos); /* Use default value */ + fprintf(stderr, "*** User is %s\n", IRCGECOS); printf("*** trying port %d of %s\n\n", IRCPORT, hostname); if (makeconnect(hostname) < 0) { debian/patches/07-add-isatty-3-check-in-case-of-stdin.patch0000644000000000000000000000121412013436074020374 0ustar From: Decklin Foster Date: Tue, 19 Aug 2003 10:17:50 -0400 Subject: add isatty(3) check in case of stdin Bug-Debian: http://bugs.debian.org/176213 --- a/tinyirc.c +++ b/tinyirc.c @@ -967,7 +967,7 @@ For details please see the file COPYING.\n", RELEASE); strncpy(IRCNAME, tmp, sizeof(IRCNAME)); strcpy(IRCLOGIN, userinfo->pw_name); setutent(); - strcpy(ut.ut_line, strrchr(ttyname(0), '/') + 1); + strcpy(ut.ut_line, isatty(0) ? strrchr(ttyname(0), '/') + 1 : ""); if ((utmp = getutline(&ut)) == NULL || !(utmp->ut_addr) || *((char *) utmp->ut_host) == ':' /* X connection */ ) tmp = userinfo->pw_gecos; debian/patches/04-fix-definition-of-bp-for-tgetent-call.patch0000644000000000000000000000127212013436074021143 0ustar From: Decklin Foster Date: Fri, 1 Jun 2001 16:54:21 -0400 Subject: fix definition of bp for tgetent call --- a/tinyirc.c +++ b/tinyirc.c @@ -70,7 +70,7 @@ unsigned short IRCPORT = DEFAULTPORT; int my_tcp, sok = 1, my_tty, hline, dumb = 0, CO, LI, column; char *tmp, *linein, *CM, *CS, *CE, *SO, *SE, *DC, *ptr, *term, *fromhost, *TOK[20], IRCNAME[32], IRCLOGIN[64], IRCGECOS[64], inputbuf[512], ib[IB_SIZE], - serverdata[512], ch, *bp[1024], lineout[512], *hist[HISTLEN], termcap[1024]; + serverdata[512], ch, bp[1024], lineout[512], *hist[HISTLEN], termcap[1024]; int cursd = 0, curli = 0, curx = 0, noinput = 0, reconnect = 1; fd_set readfs; struct timeval timeout; debian/patches/03-add-several-missing-includes.patch0000644000000000000000000000073612013436074017526 0ustar From: Decklin Foster Date: Fri, 1 Jun 2001 16:54:21 -0400 Subject: add several missing #includes Bug-Debian: http://bugs.debian.org/99030 diff --git a/tinyirc.c b/tinyirc.c index 832cd71..4cfefea 100644 --- a/tinyirc.c +++ b/tinyirc.c @@ -52,6 +52,10 @@ #include #include #include +#include +#include +#include +#include struct dlist { char name[64]; char mode[64]; debian/patches/series0000644000000000000000000000044712013436705012040 0ustar 01-nospoof-fix.patch 02-drop-inetd-support.patch 03-add-several-missing-includes.patch 04-fix-definition-of-bp-for-tgetent-call.patch 05-prevent-segfault-on-part.patch 06-clean-up-several-warnings.patch 07-add-isatty-3-check-in-case-of-stdin.patch 08-avoid-NULL-dereferences.patch 20-argc.patch debian/compat0000644000000000000000000000000212013436074010364 0ustar 9 debian/control0000644000000000000000000000116512013436074010574 0ustar Source: tinyirc Section: net Priority: optional Maintainer: Jari Aalto Standards-Version: 3.9.3 Vcs-Browser: http://git.debian.org/?p=collab-maint/tinyirc.git Vcs-Git: git://git.debian.org/git/collab-maint/tinyirc.git Build-Depends: debhelper (>= 9), libncurses5-dev Homepage: http://code.google.com/p/tinyirc Package: tinyirc Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} Description: tiny IRC client A very small, stripped down IRC client. It doesn't have most of the more advanced commands in the ircII family of IRC Clients, nor does it have any color, but it works, and it's tiny. debian/install0000644000000000000000000000002012013436074010547 0ustar tinyirc usr/bin debian/changelog0000644000000000000000000001170112015157006011035 0ustar tinyirc (1:1.1.dfsg.1-3) unstable; urgency=low * New maintainer (Closes: #660510). - Upgrade to packaging format "3.0 (quilt)". * debian/clean - New file. * debian/compat - Update from 4 to 9. * debian/control - (Build-Depends): Update to debhelper 9. - (Description): remove article (Lintian). - (Depends): Add ${shlibs:Depends}. - (Standards-Version): Update from 3.6.2 to 3.9.3. - (Vcs-*): Add new fields. * debian/copyright - Update to Format 1.0. * debian/install - New file. * debian/menu - (section): Update to Applications/Network/Communication. * debian/pod2man.mk - New file. * debian/patches - (20): New; argument handling. Allow any port number (Closes: #625862). * debian/rules - Convert to dh(1). - Use all hardened build flags. http://wiki.debian.org/ReleaseGoals/SecurityHardeningBuildFlags * debian/tinyirc.pod - Convert raw *.1 to maintainable *.pod format. - Clarify arguments (Closes: #499692). * debian/tinyirc.* - Simplify files by dropping tinyirc.* prefix. Like tinyirc.manpages => manpages. * debian/watch - New file. * Makfile, tinyirc.c - Restore original sources. -- Jari Aalto Wed, 22 Aug 2012 16:26:30 +0300 tinyirc (1:1.1.dfsg.1-2) unstable; urgency=low * QA upload * set maintainer to Debian QA Group * split monolithic .diff into patches to make them more readable * record new upstream address and add homepage field (Closes: 441441) * use dpkg-buildflags (with hardening=+all) * fix NULL dereferences (Closes: 452029) * add build-arch and build-indep targets * add missing prerequisite of install target * update to new menu policy -- Bernhard R. Link Mon, 02 Jul 2012 16:52:42 +0200 tinyirc (1:1.1.dfsg.1-1) unstable; urgency=low * Repack source without RFC 1459. * Bump Standards-Version to 3.6.2. -- Decklin Foster Sat, 6 Aug 2005 13:10:02 -0400 tinyirc (1:1.1-11) unstable; urgency=low * Fix typo in package description (Closes: #277255) -- Decklin Foster Mon, 25 Oct 2004 01:55:38 -0400 tinyirc (1:1.1-10) unstable; urgency=low * Updated URL reference to RFC 1459 (Closes: #262656) * Bumped Standards-Version to 3.6.1. -- Decklin Foster Sat, 2 Oct 2004 07:11:00 -0400 tinyirc (1:1.1-9) unstable; urgency=low * Provide irc alternative (Closes: #183015, #204664) * Add isatty(3) check in case of stdin (Closes: #176213) * Update to debhelper v4 and policy 3.6.0 -- Decklin Foster Tue, 19 Aug 2003 10:17:50 -0400 tinyirc (1:1.1-8) unstable; urgency=low * debian/changelog: removed local Emacs settings. * Changed man page section from 1x to 1 (whoops). -- Decklin Foster Fri, 1 Feb 2002 14:49:36 -0500 tinyirc (1:1.1-7) unstable; urgency=low * Updated priority from from extra to optional to match override file. -- Decklin Foster Sat, 2 Jun 2001 16:06:10 -0400 tinyirc (1:1.1-6) unstable; urgency=low * Added build-dep on libncurses5-dev, and several missing #includes - Should now build on arm (Closes: #99030) * Added a few small patches: - Print channel name correctly for /invites - Fix definition of bp for tgetent call - Clean up several warnings * Use debhelpher v3 and policy 3.5.4 - added DEB_BUILD_OPTIONS support * Fixed URL typo in debian/copyright -- Decklin Foster Fri, 1 Jun 2001 16:54:21 -0400 tinyirc (1:1.1-5) unstable; urgency=low * New maintainer (Closes: #81891) * Recompile against libncurses5 (Closes: #63369) * Updated debian/copyright * Wrote a man page (Closes: #68823) * Wrote patch to prevent segfault on /part (Closes: #70671) * Wrote patch to suppress extra fields in GECOS (Closes: #66443) * Updated debhelper rules to v2 * debian/control: added Build-Depends, bumped Standards-Version to 3.2.1.0 -- Decklin Foster Fri, 12 Jan 2001 15:59:33 -0500 tinyirc (1:1.1-4) unstable; urgency=low * Rebuilt to make use of the new ncurses stuffs. -- Jay Kominek Fri, 30 Oct 1998 22:45:41 -0700 tinyirc (1:1.1-3) unstable; urgency=low * Converted to use debhelper. * Removed server-numerics from the documentation, as it is not particularly useful or interesting. * Corrected a bug which prevented TinyIRC from function with servers that used the nospoof patch. -- Jay Kominek Sun, 8 Mar 1998 22:21:53 -0500 tinyirc (1:1.1-2) unstable; urgency=low * Fixed portability problem in the Makefile. -- Jay Kominek Sun, 2 Nov 1997 12:16:24 -0500 tinyirc (1:1.1-1) unstable; urgency=low * New upstream release. -- Jay Kominek Thu, 16 Oct 1997 17:08:41 -0400 tinyirc (pre1.0-1) unstable; urgency=low * Initial Release. -- Jay Kominek Sun, 28 Sep 1997 10:22:08 -0400 debian/watch0000644000000000000000000000006512013440222010206 0ustar # Upstream has no releases. Get from version control debian/rules0000755000000000000000000000153612013442721010247 0ustar #!/usr/bin/make -f PACKAGE = tinyirc export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_CFLAGS_MAINT_APPEND = -pedantic -Wall -DPOSIX -DDO_CTCP export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed man: # target: man - convert *.pod to manual page $(MAKE) -C debian -f pod2man.mk PACKAGE=$(PACKAGE) \ PODCENTER="Misc" MANSECT=1 makeman # For manual testing. debug: gcc -DPOSIX -O -DDEFAULTSERVER=\"irc.freenode.org\" -DDEFAULTPORT=6667 \ -g tinyirc.c -o tinyirc -lncurses override_dh_auto_build: man $(MAKE) tinyirc \ CC='gcc' \ CFLAGS='$(CPPFLAGS) $(CFLAGS) $(LDFLAGS)' \ LIBS='-lncurses' \ DEFINES='-DPOSIX -DDEFAULTSERVER=\"irc.freenode.org\" -DDEFAULTPORT=6667' override_dh_installchangelogs: dh_installchangelogs announce override_dh_auto_clean: # Skip. There is no such Makefile target %: dh $@ .PHONY: man # End of file debian/tinyirc.1.pod0000644000000000000000000000435412013436074011520 0ustar # Copyright # # Copyright (C) 2012 Jari Aalto # # License # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Description # # To learn what TOP LEVEL sections to use in manual pages, # see POSIX/Susv standard and "Utility Description Defaults" at # http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap01.html#tag_01_11 # # This is manual page in Perl POD format. Read more at # http://perldoc.perl.org/perlpod.html or run command: # # perldoc perlpod | less # # To check the syntax: # # podchecker *.pod # # Create manual page with command: # # pod2man PAGE.N.pod > PAGE.N =pod =head1 NAME tinyirc - A tiny IRC client =head1 SYNOPSIS tinyirc [-d] nick [server [port]] =head1 DESCRIPTION A stripped down IRC client, providing basic IRC commands and an curses-based interface. =head1 OPTIONS =over 4 =item B<-d> Dumb mode. Do not use the curses interface; simply write to stdout and read commands from stdin. =back =head1 EXAMPLES Join Freenode: tinyirc mynick irc.freenode.org =head1 ENVIRONMENT =over 4 =item B Sets the default server to connect to. Format is I. =item B Sets the default nickname to use. =back =head1 FILES None. =head1 STANDARDS RFC 1459 =head1 SEE ALSO irssi(1) =head1 AUTHORS Program was written by This manual page was written by Decklin Foster . Updated by . Released under license GNU GPL version 2 or (at your option) any later version. For more information about the license, visit . =cut debian/docs0000644000000000000000000000003212013436074010034 0ustar DCC.doc announce ctcp.doc debian/copyright0000644000000000000000000000242012015157134011116 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0 Upstream-Name: tinyirc Upstream-Contact: Nathan Laredo Source: http://code.google.com/p/tinyirc/ Comment: In 2007 upstream imported code to Google Vcs repository. No releases. Files: * Copyright: 1991-1996 Nathan Laredo License: GPL-2+ Files: debian/* Copyright: 2012 Jari Aalto 2001-2005 Decklin Foster 1997-1998 Jay Kominek License: GPL-2+ License: GPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU General Public License can be found in "/usr/share/common-licenses/GPL-2". debian/source/0000755000000000000000000000000012013436074010466 5ustar debian/source/format0000644000000000000000000000001412013436074011674 0ustar 3.0 (quilt) debian/pod2man.mk0000644000000000000000000000335512013436074011065 0ustar # pod2man.mk -- Makefile portion to convert *.pod files to manual pages # # Copyright information # # Copyright (C) 2008-2012 Jari Aalto # # License # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Description # # Convert *.pod files to manual pages. Add this to Makefile: # # PACKAGE = package # # man: # make -f pod2man.mk PACKAGE=$(PACKAGE) makeman # # build: man ifneq (,) This makefile requires GNU Make. endif # This variable *must* be set when called PACKAGE ?= package # Optional variables to set MANSECT ?= 1 PODCENTER ?= User Commands PODDATE ?= $$(date "+%Y-%m-%d") # Directories MANSRC ?= MANDEST ?= $(MANSRC) MANPOD ?= $(MANSRC)$(PACKAGE).$(MANSECT).pod MANPAGE ?= $(MANDEST)$(PACKAGE).$(MANSECT) POD2MAN ?= pod2man POD2MAN_FLAGS ?= --utf8 makeman: $(MANPAGE) $(MANPAGE): $(MANPOD) # make target - create manual page from a *.pod page podchecker $(MANPOD) LC_ALL= LANG=C $(POD2MAN) $(POD2MAN_FLAGS) \ --center="$(PODCENTER)" \ --date="$(PODDATE)" \ --name="$(PACKAGE)" \ --section="$(MANSECT)" \ $(MANPOD) \ | sed 's,[Pp]erl v[0-9.]\+,$(PACKAGE),' \ > $(MANPAGE) && \ rm -f pod*.tmp # End of of Makefile part debian/clean0000644000000000000000000000002712013436074010172 0ustar tinyirc *.o debian/*.1 debian/manpages0000644000000000000000000000002112013436074010675 0ustar debian/tinyirc.1