argh
OBS-URL: https://build.opensuse.org/package/show/network:utilities/openslp?expand=0&rev=40
This commit is contained in:
parent
ecb992de40
commit
d49686d237
@ -1,3 +1,36 @@
|
|||||||
|
--- ./common/slp_auth.c.orig 2016-09-12 14:33:58.923718969 +0000
|
||||||
|
+++ ./common/slp_auth.c 2016-09-12 14:35:19.660448155 +0000
|
||||||
|
@@ -237,6 +237,7 @@ static int SLPAuthSignDigest(int spistrl
|
||||||
|
curpos += spistrlen;
|
||||||
|
|
||||||
|
/* sign the digest and put it in the authblock */
|
||||||
|
+ memset(curpos, 0, signaturelen);
|
||||||
|
if (SLPCryptoDSASign(key, digest, SLPAUTH_SHA1_DIGEST_SIZE,
|
||||||
|
curpos, &signaturelen))
|
||||||
|
{
|
||||||
|
--- ./common/slp_crypto.c.orig 2016-09-12 14:30:13.053476772 +0000
|
||||||
|
+++ ./common/slp_crypto.c 2016-09-12 14:31:32.443210397 +0000
|
||||||
|
@@ -153,6 +153,20 @@ int SLPCryptoDSASign(SLPCryptoDSAKey * k
|
||||||
|
int SLPCryptoDSAVerify(SLPCryptoDSAKey * key, const unsigned char * digest,
|
||||||
|
int digestlen, const unsigned char * signature, int signaturelen)
|
||||||
|
{
|
||||||
|
+ /* newer openssl versions need the exact size. trim down. */
|
||||||
|
+ if (signaturelen > 2 && *signature == 0x30)
|
||||||
|
+ {
|
||||||
|
+ int l = 0;
|
||||||
|
+ if (signature[1] < 128)
|
||||||
|
+ l = 2 + signature[1];
|
||||||
|
+ else if (signature[1] == 129)
|
||||||
|
+ l = 3 + signature[2];
|
||||||
|
+ else if (signature[1] == 130)
|
||||||
|
+ l = 4 + (signature[2] << 8 | signature[3]);
|
||||||
|
+ if (l && l < signaturelen)
|
||||||
|
+ signaturelen = l;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
/* it does not look like the type param is used? */
|
||||||
|
/* broken DSA_verify() declaration */
|
||||||
|
return DSA_verify(0, digest, digestlen, (unsigned char *)signature,
|
||||||
--- ./common/slp_v2message.c.orig 2016-09-12 10:51:36.284400063 +0000
|
--- ./common/slp_v2message.c.orig 2016-09-12 10:51:36.284400063 +0000
|
||||||
+++ ./common/slp_v2message.c 2016-09-12 10:55:19.553648752 +0000
|
+++ ./common/slp_v2message.c 2016-09-12 10:55:19.553648752 +0000
|
||||||
@@ -150,13 +150,6 @@ static int v2ParseUrlEntry(SLPBuffer buf
|
@@ -150,13 +150,6 @@ static int v2ParseUrlEntry(SLPBuffer buf
|
||||||
@ -165,13 +198,13 @@
|
|||||||
if (cb_result == SLP_FALSE)
|
if (cb_result == SLP_FALSE)
|
||||||
break;
|
break;
|
||||||
--- ./slpd/slpd_regfile.c.orig 2016-09-12 11:12:02.353273706 +0000
|
--- ./slpd/slpd_regfile.c.orig 2016-09-12 11:12:02.353273706 +0000
|
||||||
+++ ./slpd/slpd_regfile.c 2016-09-12 11:30:56.987463452 +0000
|
+++ ./slpd/slpd_regfile.c 2016-09-12 14:29:17.611662818 +0000
|
||||||
@@ -657,7 +657,7 @@ int SLPDRegFileWriteSrvReg(FILE * fd, SL
|
@@ -657,7 +657,7 @@ int SLPDRegFileWriteSrvReg(FILE * fd, SL
|
||||||
|
|
||||||
if (fd)
|
if (fd)
|
||||||
{
|
{
|
||||||
- fprintf(fd, "%s,%s,%d\n", msg->body.srvreg.urlentry.url, msg->header.langtag, msg->body.srvreg.urlentry.lifetime);
|
- fprintf(fd, "%s,%s,%d\n", msg->body.srvreg.urlentry.url, msg->header.langtag, msg->body.srvreg.urlentry.lifetime);
|
||||||
+ fprintf(fd, "%*s,%s,%d\n", (int)(msg->body.srvreg.urlentry.urllen), msg->body.srvreg.urlentry.url, msg->header.langtag, msg->body.srvreg.urlentry.lifetime);
|
+ fprintf(fd, "%.*s,%s,%d\n", (int)(msg->body.srvreg.urlentry.urllen), msg->body.srvreg.urlentry.url, msg->header.langtag, msg->body.srvreg.urlentry.lifetime);
|
||||||
if (msg->body.srvreg.source == SLP_REG_SOURCE_PULL_PEER_DA)
|
if (msg->body.srvreg.source == SLP_REG_SOURCE_PULL_PEER_DA)
|
||||||
fprintf(fd, "slp-source=pulled-from-da-%s\n", SLPNetSockAddrStorageToString(&msg->peer, addr_str, sizeof(addr_str)));
|
fprintf(fd, "slp-source=pulled-from-da-%s\n", SLPNetSockAddrStorageToString(&msg->peer, addr_str, sizeof(addr_str)));
|
||||||
else if (msg->body.srvreg.source == SLP_REG_SOURCE_LOCAL)
|
else if (msg->body.srvreg.source == SLP_REG_SOURCE_LOCAL)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user