diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2013-11-08 22:14:07 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2013-11-08 22:17:10 +0100 |
commit | 76c93d23c073ef8b885503b7d28a31ffe2add6d8 (patch) | |
tree | 1dd2d22a197bc40c5330e516969a7cb1ae9bc96f /lib/auth/psk_passwd.c | |
parent | 559a144f6bbcbb611453f82e655dd7438c14d1a7 (diff) | |
download | gnutls-76c93d23c073ef8b885503b7d28a31ffe2add6d8.tar.gz |
reindented code
Diffstat (limited to 'lib/auth/psk_passwd.c')
-rw-r--r-- | lib/auth/psk_passwd.c | 294 |
1 files changed, 138 insertions, 156 deletions
diff --git a/lib/auth/psk_passwd.c b/lib/auth/psk_passwd.c index b27161a663..5f39955c9c 100644 --- a/lib/auth/psk_passwd.c +++ b/lib/auth/psk_passwd.c @@ -42,50 +42,46 @@ /* this function parses passwd.psk file. Format is: * string(username):hex(passwd) */ -static int -pwd_put_values (gnutls_datum_t * psk, char *str) +static int pwd_put_values(gnutls_datum_t * psk, char *str) { - char *p; - int len, ret; - size_t size; - - p = strchr (str, ':'); - if (p == NULL) - { - gnutls_assert (); - return GNUTLS_E_SRP_PWD_PARSING_ERROR; - } - - *p = '\0'; - p++; - - /* skip username - */ - - /* read the key - */ - len = strlen (p); - if (p[len - 1] == '\n' || p[len - 1] == ' ') - len--; - - size = psk->size = len / 2; - psk->data = gnutls_malloc (size); - if (psk->data == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } - - ret = _gnutls_hex2bin (p, len, psk->data, &size); - psk->size = (unsigned int) size; - if (ret < 0) - { - gnutls_assert (); - return ret; - } - - - return 0; + char *p; + int len, ret; + size_t size; + + p = strchr(str, ':'); + if (p == NULL) { + gnutls_assert(); + return GNUTLS_E_SRP_PWD_PARSING_ERROR; + } + + *p = '\0'; + p++; + + /* skip username + */ + + /* read the key + */ + len = strlen(p); + if (p[len - 1] == '\n' || p[len - 1] == ' ') + len--; + + size = psk->size = len / 2; + psk->data = gnutls_malloc(size); + if (psk->data == NULL) { + gnutls_assert(); + return GNUTLS_E_MEMORY_ERROR; + } + + ret = _gnutls_hex2bin(p, len, psk->data, &size); + psk->size = (unsigned int) size; + if (ret < 0) { + gnutls_assert(); + return ret; + } + + + return 0; } @@ -93,132 +89,118 @@ pwd_put_values (gnutls_datum_t * psk, char *str) /* Randomizes the given password entry. It actually sets a random password. * Returns 0 on success. */ -static int -_randomize_psk (gnutls_datum_t * psk) +static int _randomize_psk(gnutls_datum_t * psk) { - int ret; + int ret; - psk->data = gnutls_malloc (16); - if (psk->data == NULL) - { - gnutls_assert (); - return GNUTLS_E_MEMORY_ERROR; - } + psk->data = gnutls_malloc(16); + if (psk->data == NULL) { + gnutls_assert(); + return GNUTLS_E_MEMORY_ERROR; + } - psk->size = 16; + psk->size = 16; - ret = _gnutls_rnd (GNUTLS_RND_NONCE, (char *) psk->data, 16); - if (ret < 0) - { - gnutls_assert (); - return ret; - } + ret = _gnutls_rnd(GNUTLS_RND_NONCE, (char *) psk->data, 16); + if (ret < 0) { + gnutls_assert(); + return ret; + } - return 0; + return 0; } /* Returns the PSK key of the given user. * If the user doesn't exist a random password is returned instead. */ int -_gnutls_psk_pwd_find_entry (gnutls_session_t session, char *username, - gnutls_datum_t * psk) +_gnutls_psk_pwd_find_entry(gnutls_session_t session, char *username, + gnutls_datum_t * psk) { - gnutls_psk_server_credentials_t cred; - FILE *fd; - char line[2 * 1024]; - unsigned i, len; - int ret; - - cred = (gnutls_psk_server_credentials_t) - _gnutls_get_cred (session, GNUTLS_CRD_PSK, NULL); - if (cred == NULL) - { - gnutls_assert (); - return GNUTLS_E_INSUFFICIENT_CREDENTIALS; - } - - /* if the callback which sends the parameters is - * set, use it. - */ - if (cred->pwd_callback != NULL) - { - ret = cred->pwd_callback (session, username, psk); - - if (ret == 1) - { /* the user does not exist */ - ret = _randomize_psk (psk); - if (ret < 0) - { - gnutls_assert (); - return ret; - } - return 0; - } - - if (ret < 0) - { - gnutls_assert (); - return GNUTLS_E_SRP_PWD_ERROR; - } - - return 0; - } - - /* The callback was not set. Proceed. - */ - if (cred->password_file == NULL) - { - gnutls_assert (); - return GNUTLS_E_SRP_PWD_ERROR; - } - - /* Open the selected password file. - */ - fd = fopen (cred->password_file, "r"); - if (fd == NULL) - { - gnutls_assert (); - return GNUTLS_E_SRP_PWD_ERROR; - } - - len = strlen (username); - while (fgets (line, sizeof (line), fd) != NULL) - { - /* move to first ':' */ - i = 0; - while ((line[i] != ':') && (line[i] != '\0') && (i < sizeof (line))) - { - i++; - } - - if (strncmp (username, line, MAX (i, len)) == 0) - { - ret = pwd_put_values (psk, line); - fclose (fd); - if (ret < 0) - { - gnutls_assert (); - return GNUTLS_E_SRP_PWD_ERROR; - } - return 0; - } - } - fclose (fd); - - /* user was not found. Fake him. - * the last index found and randomize the entry. - */ - ret = _randomize_psk (psk); - if (ret < 0) - { - gnutls_assert (); - return ret; - } - - return 0; + gnutls_psk_server_credentials_t cred; + FILE *fd; + char line[2 * 1024]; + unsigned i, len; + int ret; + + cred = (gnutls_psk_server_credentials_t) + _gnutls_get_cred(session, GNUTLS_CRD_PSK, NULL); + if (cred == NULL) { + gnutls_assert(); + return GNUTLS_E_INSUFFICIENT_CREDENTIALS; + } + + /* if the callback which sends the parameters is + * set, use it. + */ + if (cred->pwd_callback != NULL) { + ret = cred->pwd_callback(session, username, psk); + + if (ret == 1) { /* the user does not exist */ + ret = _randomize_psk(psk); + if (ret < 0) { + gnutls_assert(); + return ret; + } + return 0; + } + + if (ret < 0) { + gnutls_assert(); + return GNUTLS_E_SRP_PWD_ERROR; + } + + return 0; + } + + /* The callback was not set. Proceed. + */ + if (cred->password_file == NULL) { + gnutls_assert(); + return GNUTLS_E_SRP_PWD_ERROR; + } + + /* Open the selected password file. + */ + fd = fopen(cred->password_file, "r"); + if (fd == NULL) { + gnutls_assert(); + return GNUTLS_E_SRP_PWD_ERROR; + } + + len = strlen(username); + while (fgets(line, sizeof(line), fd) != NULL) { + /* move to first ':' */ + i = 0; + while ((line[i] != ':') && (line[i] != '\0') + && (i < sizeof(line))) { + i++; + } + + if (strncmp(username, line, MAX(i, len)) == 0) { + ret = pwd_put_values(psk, line); + fclose(fd); + if (ret < 0) { + gnutls_assert(); + return GNUTLS_E_SRP_PWD_ERROR; + } + return 0; + } + } + fclose(fd); + + /* user was not found. Fake him. + * the last index found and randomize the entry. + */ + ret = _randomize_psk(psk); + if (ret < 0) { + gnutls_assert(); + return ret; + } + + return 0; } -#endif /* ENABLE PSK */ +#endif /* ENABLE PSK */ |