Lines Matching defs:alg

113 static void free_crypt_alg(struct crypt_alg_s *alg);
146 struct crypt_alg_s *alg;
172 * If alg is NULL but found = B_TRUE then there is a problem with
181 alg = getalgbyname(algname, &found);
182 if ((alg == NULL) || !found) {
190 ciphertext = alg->a_genhash(ctbuffer, CRYPT_MAXCIPHERTEXTLEN,
191 plaintext, salt, (const char **)alg->a_params);
195 free_crypt_alg(alg);
219 struct crypt_alg_s *alg = NULL;
249 alg = getalgbyname(algname, &found);
250 if (alg == NULL || !found) {
255 newsalt = alg->a_gensalt(gsbuffer, CRYPT_MAXCIPHERTEXTLEN,
256 oldsalt, userinfo, (const char **)alg->a_params);
261 free_crypt_alg(alg);
479 * On success the alg details including an open handle to the lib
490 struct crypt_alg_s *alg = NULL;
597 if ((alg = malloc(sizeof (struct crypt_alg_s))) == NULL) {
601 alg->a_libhandle = NULL;
602 alg->a_genhash = NULL;
603 alg->a_gensalt = NULL;
604 alg->a_params = NULL;
605 alg->a_nparams = 0;
613 if ((alg->a_libhandle = dlopen(pathname, RTLD_NOW)) == NULL) {
621 alg->a_genhash =
622 (char *(*)())dlsym(alg->a_libhandle, "crypt_genhash_impl");
623 if (alg->a_genhash == NULL) {
630 alg->a_gensalt =
631 (char *(*)())dlsym(alg->a_libhandle, "crypt_gensalt_impl");
632 if (alg->a_gensalt == NULL) {
661 alg->a_params = calloc(nparams + 1, sizeof (char *));
662 if (alg->a_params == NULL) {
668 alg->a_params[alg->a_nparams++] = token;
674 free_crypt_alg(alg);
675 alg = NULL;
688 return (alg);
692 free_crypt_alg(struct crypt_alg_s *alg)
694 if (alg == NULL)
697 if (alg->a_libhandle != NULL) {
698 (void) dlclose(alg->a_libhandle);
700 if (alg->a_nparams != NULL) {
701 free(alg->a_params);
703 free(alg);