/*
Authors:
Jan Cholasta <jcholast@redhat.com>
Copyright (C) 2012 Red Hat
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "util/crypto/sss_crypto.h"
struct ldb_message *msg,
struct sss_ssh_ent **result)
{
const char *name;
unsigned int i;
if (!tmp_ctx) {
return ENOMEM;
}
if (!name) {
goto done;
}
if (!res) {
goto done;
}
goto done;
}
if (el) {
res->num_pubkeys);
goto done;
}
for (i = 0; i < el->num_values; i++) {
goto done;
}
}
}
if (el) {
goto done;
}
for (i = 0; i < el->num_values; i++) {
goto done;
}
}
}
done:
return ret;
}
static errno_t
struct sss_ssh_pubkey *pubkey,
char **result)
{
size_t c = 0;
char *algo;
return EINVAL;
}
/* the maximum length of 64 is defined in RFC 4250 */
return EINVAL;
}
if (!algo) {
return ENOMEM;
}
return EOK;
}
struct sss_ssh_pubkey *pubkey,
char **result)
{
char *blob;
char *algo;
if (!tmp_ctx) {
return ENOMEM;
}
/* All valid public key blobs start with 3 null bytes (see RFC 4253
* section 6.6, RFC 4251 section 5 and RFC 4250 section 4.6)
*/
if (!blob) {
goto done;
}
goto done;
}
if (!out) {
goto done;
}
} else {
/* Not a valid public key blob, so this must be a textual public key */
goto done;
}
}
len--;
}
goto done;
}
}
done:
return ret;
}