diff options
Diffstat (limited to 'recipes/sscep')
-rw-r--r-- | recipes/sscep/files/ca_segfault.patch | 10 | ||||
-rw-r--r-- | recipes/sscep/files/httphost.patch | 66 | ||||
-rw-r--r-- | recipes/sscep/files/memleak.patch | 25 | ||||
-rw-r--r-- | recipes/sscep/sscep_0.0.20081211.bb | 21 |
4 files changed, 122 insertions, 0 deletions
diff --git a/recipes/sscep/files/ca_segfault.patch b/recipes/sscep/files/ca_segfault.patch new file mode 100644 index 0000000000..1a438b9be1 --- /dev/null +++ b/recipes/sscep/files/ca_segfault.patch @@ -0,0 +1,10 @@ +--- a/sscep.c 2009-07-10 11:43:14.000000000 -0400 ++++ b/sscep.c 2009-07-10 10:53:37.000000000 -0400 +@@ -469,6 +469,7 @@ + pname, c_char); + (void)fclose(fp); + pkistatus = SCEP_PKISTATUS_SUCCESS; ++ scep_t.pki_status = SCEP_PKISTATUS_SUCCESS; + break; + + case SCEP_OPERATION_GETCERT: diff --git a/recipes/sscep/files/httphost.patch b/recipes/sscep/files/httphost.patch new file mode 100644 index 0000000000..313df16309 --- /dev/null +++ b/recipes/sscep/files/httphost.patch @@ -0,0 +1,66 @@ +commit cb3827e31b14e4830bdfd309c12f5510e0402d8d +Author: michael <michael@ea9f5d8b-f83d-0410-bf23-ec2180cbb196> +Date: Mon Jun 25 21:52:51 2007 +0000 + + 20040325.1: add HTTP Host: header to work behind Hughes satellite autoproxy + + + git-svn-id: file:///usr/local/httpd/SourceForge/home/users/michael/svn/svnrepos/os/packages/sscep/trunk@37 ea9f5d8b-f83d-0410-bf23-ec2180cbb196 + +diff --git a/sscep.c b/sscep.c +index 6ec2a4d..6eefdc9 100644 +--- a/sscep.c ++++ b/sscep.c +@@ -16,6 +16,7 @@ main(int argc, char **argv) { + int c, host_port = 80, count = 1; + char *host_name, *p, *dir_name = NULL; + char http_string[16384]; ++ char http_host[256]; + struct http_reply reply; + unsigned int n; + unsigned char md[EVP_MAX_MD_SIZE]; +@@ -250,6 +251,9 @@ main(int argc, char **argv) { + if (p_flag) { + host_name = strdup(p_char); + dir_name = url_char; ++ ++ /* I won't bother with the Host: header for proxy mode. */ ++ http_host[0] = '\0'; + } + + /* Break down the URL */ +@@ -289,6 +293,12 @@ main(int argc, char **argv) { + host_port); + exit (SCEP_PKISTATUS_ERROR); + } ++ if (!p_flag) { ++ if (snprintf(http_host, sizeof(http_host), "Host: %s:%d\r\n", ++ host_name, host_port) >= sizeof(http_host)) { ++ http_host[0] = '\0'; ++ } ++ } + if (v_flag) { + fprintf(stdout, "%s: hostname: %s\n", pname, host_name); + fprintf(stdout, "%s: directory: %s\n", pname, dir_name); +@@ -349,8 +359,8 @@ main(int argc, char **argv) { + /* Forge the HTTP message */ + snprintf(http_string, sizeof(http_string), + "GET %s%s?operation=GetCACert&message=%s " +- "HTTP/1.0\r\n\r\n", p_flag ? "" : "/", dir_name, +- i_char); ++ "HTTP/1.0\r\n%s\r\n", p_flag ? "" : "/", ++ dir_name, i_char, http_host); + printf("%s: requesting CA certificate\n", pname); + if (d_flag) + fprintf(stdout, "%s: scep msg: %s", pname, +@@ -549,8 +559,8 @@ not_enroll: + snprintf(http_string, sizeof(http_string), + "GET %s%s?operation=" + "PKIOperation&message=" +- "%s HTTP/1.0\r\n\r\n", +- p_flag ? "" : "/", dir_name, p); ++ "%s HTTP/1.0\r\n%s\r\n", ++ p_flag ? "" : "/", dir_name, p, http_host); + + free(p); + p = NULL; diff --git a/recipes/sscep/files/memleak.patch b/recipes/sscep/files/memleak.patch new file mode 100644 index 0000000000..59256a49c8 --- /dev/null +++ b/recipes/sscep/files/memleak.patch @@ -0,0 +1,25 @@ +commit ec9b27537400def0bee1ebbbdd69f2cf5486a99a +Author: michael <michael@ea9f5d8b-f83d-0410-bf23-ec2180cbb196> +Date: Mon May 9 16:10:54 2005 +0000 + + Maybe fix a memory leak + + + git-svn-id: file:///usr/local/httpd/SourceForge/home/users/michael/svn/svnrepos/os/packages/sscep/trunk@15 ea9f5d8b-f83d-0410-bf23-ec2180cbb196 + +diff --git a/sscep.c b/sscep.c +index 637f1f0..b8f3289 100644 +--- a/sscep.c ++++ b/sscep.c +@@ -539,7 +539,10 @@ not_enroll: + "GET %s%s?operation=" + "PKIOperation&message=" + "%s HTTP/1.0\r\n\r\n", +- p_flag ? "" : "/", dir_name, p); ++ p_flag ? "" : "/", dir_name, p); ++ ++ free(p); ++ p = NULL; + + if (d_flag) + fprintf(stdout, "%s: scep msg: %s", diff --git a/recipes/sscep/sscep_0.0.20081211.bb b/recipes/sscep/sscep_0.0.20081211.bb new file mode 100644 index 0000000000..7791e23546 --- /dev/null +++ b/recipes/sscep/sscep_0.0.20081211.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Simple SCEP Client for Unix" +SECTION = "console/utils" +LICENSE = "BSD" + +SRC_URI = " \ + http://www.klake.org/~jt/sscep/sscep.tgz \ + file://memleak.patch;patch=1 \ + file://httphost.patch;patch=1 \ + file://ca_segfault.patch;patch=1 \ +" + +S = "${WORKDIR}/${PN}" + +do_compile() { + oe_runmake +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 sscep ${D}${bindir}/sscep +} |