Commit e7534d60 authored by Richard Levitte's avatar Richard Levitte
Browse files

Recent changes from 0.9.6-stable.

parent 91de3e19
Loading
Loading
Loading
Loading
+30 −2
Original line number Diff line number Diff line
@@ -302,8 +302,36 @@ static int get_cert_by_subject(X509_LOOKUP *xl, int type, X509_NAME *name,
		k=0;
		for (;;)
			{
			sprintf(b->data,"%s/%08lx.%s%d",ctx->dirs[i],h,
			char c = '/';
#ifdef VMS
			c = ctx->dirs[i][strlen(ctx->dirs[i])-1];
			if (c != ':' && c != '>' && c != ']')
				{
				/* If no separator is present, we assume the
				   directory specifier is a logical name, and
				   add a colon.  We really should use better
				   VMS routines for merging things like this,
				   but this will do for now...
				   -- Richard Levitte */
				c = ':';
				}
			else
				{
				c = '\0';
				}
#endif
			if (c == '\0')
				{
				/* This is special.  When c == '\0', no
				   directory separator should be added. */
				sprintf(b->data,"%s%08lx.%s%d",ctx->dirs[i],h,
					postfix,k);
				}
			else
				{
				snprintf(b->data,"%s%c%08lx.%s%d",
					ctx->dirs[i],c,h,postfix,k);
				}
			k++;
			if (stat(b->data,&st) < 0)
				break;