From a0f048c8e344d714c3c2bcc8543606b455df0d2d Mon Sep 17 00:00:00 2001 From: drochner Date: Thu, 11 Aug 2005 17:58:33 +0000 Subject: import sipsak-0.9.1, a commandline SIP tester, based on the work of Georg Schwarz in pkgsrc-wip --- net/sipsak/DESCR | 3 + net/sipsak/Makefile | 15 +++++ net/sipsak/PLIST | 3 + net/sipsak/distinfo | 6 ++ net/sipsak/patches/patch-aa | 148 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 175 insertions(+) create mode 100644 net/sipsak/DESCR create mode 100644 net/sipsak/Makefile create mode 100644 net/sipsak/PLIST create mode 100644 net/sipsak/distinfo create mode 100644 net/sipsak/patches/patch-aa (limited to 'net/sipsak') diff --git a/net/sipsak/DESCR b/net/sipsak/DESCR new file mode 100644 index 00000000000..3b9e28310e8 --- /dev/null +++ b/net/sipsak/DESCR @@ -0,0 +1,3 @@ +sipsak is a small comand line tool for developers and administrators of +Session Initiation Protocol (SIP) applications. It can be used for some +simple tests on SIP applications and devices. diff --git a/net/sipsak/Makefile b/net/sipsak/Makefile new file mode 100644 index 00000000000..d78039107a9 --- /dev/null +++ b/net/sipsak/Makefile @@ -0,0 +1,15 @@ +# $NetBSD: Makefile,v 1.1.1.1 2005/08/11 17:58:33 drochner Exp $ +# + +DISTNAME= sipsak-0.9.1 +CATEGORIES= net comms +MASTER_SITES= http://download.berlios.de/sipsak/ + +MAINTAINER= schwarz@NetBSD.org +HOMEPAGE= http://sipsak.org/ +COMMENT= Command-line SIP testing utility + +GNU_CONFIGURE= yes + +.include "../../security/openssl/buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/net/sipsak/PLIST b/net/sipsak/PLIST new file mode 100644 index 00000000000..1472a8d3c5f --- /dev/null +++ b/net/sipsak/PLIST @@ -0,0 +1,3 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2005/08/11 17:58:33 drochner Exp $ +bin/sipsak +man/man1/sipsak.1 diff --git a/net/sipsak/distinfo b/net/sipsak/distinfo new file mode 100644 index 00000000000..247c85bd04e --- /dev/null +++ b/net/sipsak/distinfo @@ -0,0 +1,6 @@ +$NetBSD: distinfo,v 1.1.1.1 2005/08/11 17:58:33 drochner Exp $ + +SHA1 (sipsak-0.9.1.tar.gz) = e4039b51708194d504618b059b41e074f2533f77 +RMD160 (sipsak-0.9.1.tar.gz) = 48d2f49344406cdb874b847d6a7e958a977aaf3b +Size (sipsak-0.9.1.tar.gz) = 144812 bytes +SHA1 (patch-aa) = 9c332267bd199920a3e22914997bec77164183aa diff --git a/net/sipsak/patches/patch-aa b/net/sipsak/patches/patch-aa new file mode 100644 index 00000000000..a418eda77e8 --- /dev/null +++ b/net/sipsak/patches/patch-aa @@ -0,0 +1,148 @@ +$NetBSD: patch-aa,v 1.1.1.1 2005/08/11 17:58:33 drochner Exp $ + +--- shoot.c.orig 2005-07-29 01:04:15.000000000 +0200 ++++ shoot.c +@@ -340,7 +340,7 @@ int recv_message(char *buf, int size) { + #endif + *(buf+ ret) = '\0'; + if (ret > 0) { +- if (!inv_trans && (regexec(&proexp, rec, 0, 0, 0) != REG_NOERROR)) { ++ if (!inv_trans && (regexec(&proexp, rec, 0, 0, 0) != 0)) { + retryAfter = SIP_T1; + } + /* store the biggest delay if one occured */ +@@ -407,7 +407,7 @@ void handle_3xx(struct sockaddr_in *tadr + /* we'll try to handle 301 and 302 here, other 3xx are to complex */ + regcomp(&redexp, "^SIP/[0-9]\\.[0-9] 30[125] ", + REG_EXTENDED|REG_NOSUB|REG_ICASE); +- if (regexec(&redexp, rec, 0, 0, 0) == REG_NOERROR) { ++ if (regexec(&redexp, rec, 0, 0, 0) == 0) { + /* try to find the contact in the redirect */ + contact = uri_from_contact(rec); + if (contact==NULL) { +@@ -451,7 +451,7 @@ void trace_reply() + { + char *contact; + +- if (regexec(&tmhexp, rec, 0, 0, 0) == REG_NOERROR) { ++ if (regexec(&tmhexp, rec, 0, 0, 0) == 0) { + /* we received 483 to many hops */ + printf("%i: ", namebeg); + if (verbose > 2) { +@@ -470,7 +470,7 @@ void trace_reply() + set_maxforw(req, namebeg); + return; + } +- else if (regexec(&proexp, rec, 0, 0, 0) == REG_NOERROR) { ++ else if (regexec(&proexp, rec, 0, 0, 0) == 0) { + /* we received a provisional response */ + printf("%i: ", namebeg); + if (verbose > 2) { +@@ -504,7 +504,7 @@ void trace_reply() + else { + printf("\twithout Contact header\n"); + } +- if (regexec(&okexp, rec, 0, 0, 0) == REG_NOERROR) ++ if (regexec(&okexp, rec, 0, 0, 0) == 0) + on_success(rec); + else + exit_code(1); +@@ -516,7 +516,7 @@ void handle_default() + { + /* in the normal send and reply case anything other + then 1xx will be treated as final response*/ +- if (regexec(&proexp, rec, 0, 0, 0) == REG_NOERROR) { ++ if (regexec(&proexp, rec, 0, 0, 0) == 0) { + if (verbose > 1) { + printf("%s\n\n", rec); + printf("** reply received "); +@@ -564,7 +564,7 @@ void handle_default() + else if (timing) { + printf("%.3f ms\n", deltaT(&firstsendt, &recvtime)); + } +- if (regexec(&okexp, rec, 0, 0, 0) == REG_NOERROR) { ++ if (regexec(&okexp, rec, 0, 0, 0) == 0) { + on_success(rec); + } + else { +@@ -578,7 +578,7 @@ void handle_randtrash() + { + /* in randomzing trash we are expexting 4?? error codes + everything else should not be normal */ +- if (regexec(&errexp, rec, 0, 0, 0) == REG_NOERROR) { ++ if (regexec(&errexp, rec, 0, 0, 0) == 0) { + if (verbose > 2) + printf("received:\n%s\n", rec); + if (verbose > 1) { +@@ -620,7 +620,7 @@ void handle_usrloc() + char *crlf; + char ruri[11+12+20]; //FIXME: username length 20 should be dynamic + +- if (regexec(&proexp, rec, 0, 0, 0) == REG_NOERROR) { ++ if (regexec(&proexp, rec, 0, 0, 0) == 0) { + if (verbose > 2) { + print_message_line(rec); + printf("ignoring provisional response\n\n"); +@@ -638,7 +638,7 @@ void handle_usrloc() + case REG_REP: + /* we have sent a register and look + at the response now */ +- if (regexec(&okexp, rec, 0, 0, 0) == REG_NOERROR) { ++ if (regexec(&okexp, rec, 0, 0, 0) == 0) { + if (verbose > 1) { + printf ("\tOK\n"); + } +@@ -748,7 +748,7 @@ void handle_usrloc() + dontsend=1; + return; + } +- if (regexec(&okexp, rec, 0, 0, 0) == REG_NOERROR) { ++ if (regexec(&okexp, rec, 0, 0, 0) == 0) { + if (verbose > 1) { + printf("\t200 OK received\n"); + } +@@ -891,7 +891,7 @@ void handle_usrloc() + dontsend=1; + return; + } +- if (regexec(&okexp, rec, 0, 0, 0) == REG_NOERROR) { ++ if (regexec(&okexp, rec, 0, 0, 0) == 0) { + if (verbose > 1) { + printf(" reply received\n\n"); + } +@@ -986,7 +986,7 @@ void handle_usrloc() + dontsend=1; + return; + } +- if (regexec(&okexp, rec, 0, 0, 0) == REG_NOERROR) { ++ if (regexec(&okexp, rec, 0, 0, 0) == 0) { + if (verbose > 1) { + printf(" OK\n\n"); + } +@@ -1313,7 +1313,7 @@ void shoot(char *buf, int buff_size) + } + /* send ACK for non-provisional reply on INVITE */ + if ((STRNCASECMP(req, "INVITE", 6)==0) && +- (regexec(&replyexp, rec, 0, 0, 0) == REG_NOERROR) && ++ (regexec(&replyexp, rec, 0, 0, 0) == 0) && + (regexec(&proexp, rec, 0, 0, 0) == REG_NOMATCH)) { + build_ack(req, rec); + dontsend = 0; +@@ -1331,7 +1331,7 @@ void shoot(char *buf, int buff_size) + dontsend = 1; + continue; + } +- else if (regexec(&authexp, rec, 0, 0, 0) == REG_NOERROR) { ++ else if (regexec(&authexp, rec, 0, 0, 0) == 0) { + if (!username) { + printf("%s\nerror: received 401 but cannot " + "authentication without a username\n", rec); +@@ -1346,7 +1346,7 @@ void shoot(char *buf, int buff_size) + continue; + } /* if auth...*/ + /* lets see if received a redirect */ +- if (redirects == 1 && regexec(&redexp, rec, 0, 0, 0) == REG_NOERROR) { ++ if (redirects == 1 && regexec(&redexp, rec, 0, 0, 0) == 0) { + handle_3xx(&addr); + } /* if redircts... */ + else if (trace == 1) { -- cgit v1.2.3