[sr-dev] git:sr_3.0: Remove obsolete gen_ha1.

Jan Janak jan at iptel.org
Thu Oct 15 12:34:16 CEST 2009


Module: sip-router
Branch: sr_3.0
Commit: e79a572382aa269b25db21990faa232d07a1343c
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=e79a572382aa269b25db21990faa232d07a1343c

Author: Jan Janak <jan at ryngle.com>
Committer: Jan Janak <jan at ryngle.com>
Date:   Thu Oct 15 12:19:29 2009 +0200

Remove obsolete gen_ha1.

The tool gen_ha1 is not needed anymore. It was used by an old version
of the script serctl. The same functionality can be achieved by other
means either on the command line or in MySQL with server-side commands.

---

 Makefile                 |    4 +-
 utils/gen_ha1/.cvsignore |    2 -
 utils/gen_ha1/Makefile   |   13 ----
 utils/gen_ha1/calc.c     |  139 ----------------------------------------------
 utils/gen_ha1/calc.h     |   62 --------------------
 utils/gen_ha1/gen_ha1.c  |   51 -----------------
 6 files changed, 2 insertions(+), 269 deletions(-)

diff --git a/Makefile b/Makefile
index 80fcf22..258ac0e 100644
--- a/Makefile
+++ b/Makefile
@@ -341,10 +341,10 @@ cmodules=$(foreach mods,$(modules_dirs), $($(mods)))
 
 
 # list of utils directories that should be compiled by make utils
-C_COMPILE_UTILS=	utils/gen_ha1 utils/sercmd
+C_COMPILE_UTILS=	utils/sercmd
 # list of binaries that should be installed alongside
 # (they should be created after make utils, see C_COMPILE_UTILS)
-C_INSTALL_BIN=	utils/gen_ha1/gen_ha1 # sercmd is now installed by ctl
+C_INSTALL_BIN=	# sercmd is now installed by ctl
 
 # which utils know to install themselves and should be installed
 # along the core (list of utils directories)
diff --git a/utils/gen_ha1/.cvsignore b/utils/gen_ha1/.cvsignore
deleted file mode 100644
index 77502d1..0000000
--- a/utils/gen_ha1/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-gen_ha1
-
diff --git a/utils/gen_ha1/Makefile b/utils/gen_ha1/Makefile
deleted file mode 100644
index 79e4d58..0000000
--- a/utils/gen_ha1/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-# $Id$
-#
-#  gen_ha1 Makefile
-# 
-
-include ../../Makefile.defs
-
-auto_gen=
-NAME=gen_ha1
-LIBS=../../md5.o
-
-
-include ../../Makefile.utils
diff --git a/utils/gen_ha1/calc.c b/utils/gen_ha1/calc.c
deleted file mode 100644
index 326860a..0000000
--- a/utils/gen_ha1/calc.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * $Id$
- *
- * Copyright (C) 2001-2003 FhG Fokus
- *
- * This file is part of ser, a free SIP server.
- *
- * ser 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
- *
- * For a license to use the ser software under conditions
- * other than those described here, or to purchase support for this
- * software, please contact iptel.org by e-mail at the following addresses:
- *    info at iptel.org
- *
- * ser 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, write to the Free Software 
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-
-#include <sys/types.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "calc.h"
-#include "../../md5global.h"
-#include "../../md5.h"
-
-
-void CvtHex(HASH Bin, HASHHEX Hex)
-{
-	unsigned short i;
-	unsigned char j;
-    
-	for (i = 0; i < HASHLEN; i++) {
-		j = (Bin[i] >> 4) & 0xf;
-		if (j <= 9)
-			Hex[i*2] = (j + '0');
-		else
-			Hex[i*2] = (j + 'a' - 10);
-		j = Bin[i] & 0xf;
-		if (j <= 9)
-			Hex[i*2+1] = (j + '0');
-		else
-			Hex[i*2+1] = (j + 'a' - 10);
-	};
-	Hex[HASHHEXLEN] = '\0';
-}
-
-
-/* 
- * calculate H(A1) as per spec 
- */
-void DigestCalcHA1(const char * pszAlg, const char * pszUserName,
-		   const char * pszRealm, const char * pszPassword,
-		   const char * pszNonce, const char * pszCNonce,
-		   HASHHEX SessionKey)
-{
-	MD5_CTX Md5Ctx;
-	HASH HA1;
-	
-	MD5Init(&Md5Ctx);
-	MD5Update(&Md5Ctx, pszUserName, strlen(pszUserName));
-	MD5Update(&Md5Ctx, ":", 1);
-	MD5Update(&Md5Ctx, pszRealm, strlen(pszRealm));
-	MD5Update(&Md5Ctx, ":", 1);
-	MD5Update(&Md5Ctx, pszPassword, strlen(pszPassword));
-	MD5Final(HA1, &Md5Ctx);
-	if (strcmp(pszAlg, "md5-sess") == 0) {
-		MD5Init(&Md5Ctx);
-		MD5Update(&Md5Ctx, HA1, HASHLEN);
-		MD5Update(&Md5Ctx, ":", 1);
-		MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
-		MD5Update(&Md5Ctx, ":", 1);
-		MD5Update(&Md5Ctx, pszCNonce, strlen(pszCNonce));
-		MD5Final(HA1, &Md5Ctx);
-	};
-	CvtHex(HA1, SessionKey);
-}
-
-
-/* 
- * calculate request-digest/response-digest as per HTTP Digest spec 
- */
-void DigestCalcResponse(
-			HASHHEX HA1,                 /* H(A1) */
-			const char * pszNonce,       /* nonce from server */
-			const char * pszNonceCount,  /* 8 hex digits */
-			const char * pszCNonce,      /* client nonce */
-			const char * pszQop,         /* qop-value: "", "auth", "auth-int" */
-			const char * pszMethod,      /* method from the request */
-			const char * pszDigestUri,   /* requested URL */
-			HASHHEX HEntity,             /* H(entity body) if qop="auth-int" */
-			HASHHEX Response             /* request-digest or response-digest */)
-{
-	MD5_CTX Md5Ctx;
-	HASH HA2;
-	HASH RespHash;
-	HASHHEX HA2Hex;
-	
-	     /* calculate H(A2) */
-	MD5Init(&Md5Ctx);
-	MD5Update(&Md5Ctx, pszMethod, strlen(pszMethod));
-	MD5Update(&Md5Ctx, ":", 1);
-	MD5Update(&Md5Ctx, pszDigestUri, strlen(pszDigestUri));
-	if (strcmp(pszQop, "auth-int") == 0) {
-		MD5Update(&Md5Ctx, ":", 1);
-		MD5Update(&Md5Ctx, HEntity, HASHHEXLEN);
-	};
-	MD5Final(HA2, &Md5Ctx);
-	CvtHex(HA2, HA2Hex);
-	
-	     /* calculate response */
-	MD5Init(&Md5Ctx);
-	MD5Update(&Md5Ctx, HA1, HASHHEXLEN);
-	MD5Update(&Md5Ctx, ":", 1);
-	MD5Update(&Md5Ctx, pszNonce, strlen(pszNonce));
-	MD5Update(&Md5Ctx, ":", 1);
-	if (*pszQop) {
-		MD5Update(&Md5Ctx, pszNonceCount, strlen(pszNonceCount));
-		MD5Update(&Md5Ctx, ":", 1);
-		MD5Update(&Md5Ctx, pszCNonce, strlen(pszCNonce));
-		MD5Update(&Md5Ctx, ":", 1);
-		MD5Update(&Md5Ctx, pszQop, strlen(pszQop));
-		MD5Update(&Md5Ctx, ":", 1);
-	};
-	MD5Update(&Md5Ctx, HA2Hex, HASHHEXLEN);
-	MD5Final(RespHash, &Md5Ctx);
-	CvtHex(RespHash, Response);
-}
-
diff --git a/utils/gen_ha1/calc.h b/utils/gen_ha1/calc.h
deleted file mode 100644
index bc9044e..0000000
--- a/utils/gen_ha1/calc.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * $Id$
- *
- * Copyright (C) 2001-2003 FhG Fokus
- *
- * This file is part of ser, a free SIP server.
- *
- * ser 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
- *
- * For a license to use the ser software under conditions
- * other than those described here, or to purchase support for this
- * software, please contact iptel.org by e-mail at the following addresses:
- *    info at iptel.org
- *
- * ser 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, write to the Free Software 
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-
-#ifndef CALC_H
-#define CALC_H
-
-
-#define HASHLEN 16
-typedef char HASH[HASHLEN];
-
-
-#define HASHHEXLEN 32
-typedef char HASHHEX[HASHHEXLEN+1];
-
-
-void CvtHex(HASH Bin, HASHHEX Hex);
-
-/* 
- * calculate H(A1) as per HTTP Digest spec 
- */
-void DigestCalcHA1(const char * pszAlg, const char * pszUserName, const char * pszRealm,
-		   const char * pszPassword, const char * pszNonce, const char * pszCNonce,
-		   HASHHEX SessionKey);
-
-/* calculate request-digest/response-digest as per HTTP Digest spec */
-void DigestCalcResponse(HASHHEX HA1,           /* H(A1) */
-			const char * pszNonce,       /* nonce from server */
-			const char * pszNonceCount,  /* 8 hex digits */
-			const char * pszCNonce,      /* client nonce */
-			const char * pszQop,         /* qop-value: "", "auth", "auth-int" */
-			const char * pszMethod,      /* method from the request */
-			const char * pszDigestUri,   /* requested URL */
-			HASHHEX HEntity,       /* H(entity body) if qop="auth-int" */
-			HASHHEX Response      /* request-digest or response-digest */);
-
-
-#endif
diff --git a/utils/gen_ha1/gen_ha1.c b/utils/gen_ha1/gen_ha1.c
deleted file mode 100644
index 799da62..0000000
--- a/utils/gen_ha1/gen_ha1.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * $Id$
- *
- * Copyright (C) 2001-2003 FhG Fokus
- *
- * This file is part of ser, a free SIP server.
- *
- * ser 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
- *
- * For a license to use the ser software under conditions
- * other than those described here, or to purchase support for this
- * software, please contact iptel.org by e-mail at the following addresses:
- *    info at iptel.org
- *
- * ser 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, write to the Free Software 
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "../../md5global.h"
-#include "../../md5.h"
-#include "calc.h"
-
-
-
-int main(int argc, char** argv)
-{
-	HASHHEX ha1;
-
-	if (argc != 4) {
-		printf("Usage: gen_ha1 <username> <realm> <password> \n");
-		/* return EXIT_SUCCESS; -jku */
-		return 1;
-	}
-
-	DigestCalcHA1("md5", argv[1], argv[2], argv[3], "", "", ha1);
-	printf("%s\n", ha1);
-	
-	return 0; /* jku */
-}




More information about the sr-dev mailing list