123 lines
1.9 KiB
C
Executable File
123 lines
1.9 KiB
C
Executable File
|
|
TRILLIAN
|
|
GetPasswd(WORD *laenge, char **inbuf, int Len, char *outbuf)
|
|
{
|
|
char Buffer[80 + 1];
|
|
char *bufpoi;
|
|
char zeichen;
|
|
WORD i;
|
|
char *p = *inbuf;
|
|
WORD n = *laenge;
|
|
|
|
skipsp(&n, &p);
|
|
|
|
bufpoi = Buffer;
|
|
i = 0;
|
|
while (n > 0)
|
|
{
|
|
if (((zeichen = (char)(*p)) == ' ' ))
|
|
break;
|
|
|
|
if (i++ == Len - 1)
|
|
return(ERRORS);
|
|
|
|
*bufpoi++ = zeichen;
|
|
++p;
|
|
--n;
|
|
}
|
|
|
|
if (i == 0)
|
|
return(NO);
|
|
|
|
Buffer[i] = 0;
|
|
|
|
memset(outbuf, 0, sizeof(outbuf));
|
|
|
|
strncpy(outbuf, Buffer, NAMESIZE);
|
|
*laenge = n;
|
|
*inbuf = p;
|
|
|
|
return(YES);
|
|
}
|
|
|
|
|
|
/* Eine SIMPLE Kodierung eines Strings. */
|
|
/* Koennte man spaeter noch weiter ausbauen! */
|
|
void PasswdKodierung(const char *in, char *out)
|
|
{
|
|
char passwd[80 + 1] = DEFAULT_PASS;
|
|
int i,
|
|
a = 0;
|
|
int j = 0;
|
|
|
|
/* String leer? */
|
|
if (in[0] == FALSE)
|
|
{
|
|
out[0] = 0;
|
|
return;
|
|
}
|
|
|
|
j = strlen(in);
|
|
|
|
if ( (j < 5)
|
|
||(j > 81))
|
|
{
|
|
out[0] = 0;
|
|
return;
|
|
}
|
|
|
|
/* Frischer Buffer. */
|
|
memset(out, 0, sizeof(out));
|
|
|
|
for (i = 0; i < j; i++)
|
|
{
|
|
a = passwd[i] + in[i];
|
|
out[i] = a;
|
|
}
|
|
|
|
/* Und zum Schluss das 0 Zeichen. */
|
|
out[i] = 0;
|
|
return;
|
|
}
|
|
|
|
/* Eine SIMPLE Dekodierung eines Strings. */
|
|
/* Koennte man spaeter noch weiter ausbauen! */
|
|
void PasswdDekodierung(const char *in, char *out)
|
|
{
|
|
char passwd[80 + 1] = DEFAULT_PASS;
|
|
int i,
|
|
a = 0;
|
|
int j;
|
|
|
|
/* String leer? */
|
|
if (in[0] == FALSE)
|
|
{
|
|
out[0] = 0;
|
|
return;
|
|
}
|
|
|
|
j = strlen(in);
|
|
|
|
if ( (j < 5)
|
|
||(j > 81))
|
|
{
|
|
out[0] = 0;
|
|
return;
|
|
}
|
|
|
|
/* Frischer Buffer. */
|
|
memset(out, 0, sizeof(out));
|
|
|
|
for (i = 0; i < j; i++)
|
|
{
|
|
a = in[i] - passwd[i];
|
|
out[i] = a;
|
|
}
|
|
|
|
/* Und zum Schluss das 0 Zeichen. */
|
|
out[i] = 0;
|
|
return;
|
|
}
|
|
|
|
/* End of src/cvs_passwd.c */
|