dmake: do not set MAKEFLAGS=k
[unleashed/tickless.git] / usr / src / lib / crypt_modules / bsdbf / bsdbf.c
blobe5238ebcf354913f3f65a425fda57dd9c1a35146
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
20 * CDDL HEADER END
23 * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
27 #pragma ident "%Z%%M% %I% %E% SMI"
29 #include <crypt.h>
30 #include <errno.h>
31 #include <string.h>
32 #include <stdlib.h>
34 extern char *bcrypt_gensalt(uint8_t);
35 extern char *bcrypt(const char *, const char *);
36 extern int _bcrypt_autorounds(void);
38 /*ARGSUSED2*/
39 char *
40 crypt_gensalt_impl(char *gsbuffer,
41 size_t gsbufflen,
42 const char *oldsalt,
43 const struct passwd *userinfo,
44 const char **params)
46 int logr = _bcrypt_autorounds();
48 if (params != NULL) {
49 logr = atoi(params[0]);
51 (void) strlcpy(gsbuffer, bcrypt_gensalt(logr), gsbufflen);
52 return (gsbuffer);
56 /*ARGSUSED4*/
57 char *
58 crypt_genhash_impl(char *ctbuffer,
59 size_t ctbufflen,
60 const char *plaintext,
61 const char *salt,
62 const char **params)
64 (void) strlcpy(ctbuffer, bcrypt(plaintext, salt), ctbufflen);
65 return (ctbuffer);