这篇教程C++ temporarily_use_uid函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中temporarily_use_uid函数的典型用法代码示例。如果您正苦于以下问题:C++ temporarily_use_uid函数的具体用法?C++ temporarily_use_uid怎么用?C++ temporarily_use_uid使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了temporarily_use_uid函数的26个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: match_principals_filestatic intmatch_principals_file(char *file, struct passwd *pw, struct KeyCert *cert){ FILE *f; char line[SSH_MAX_PUBKEY_BYTES], *cp, *ep, *line_opts; u_long linenum = 0; u_int i; temporarily_use_uid(pw); debug("trying authorized principals file %s", file); if ((f = auth_openprincipals(file, pw, options.strict_modes)) == NULL) { restore_uid(); return 0; } while (read_keyfile_line(f, file, line, sizeof(line), &linenum) != -1) { /* Skip leading whitespace. */ for (cp = line; *cp == ' ' || *cp == '/t'; cp++) ; /* Skip blank and comment lines. */ if ((ep = strchr(cp, '#')) != NULL) *ep = '/0'; if (!*cp || *cp == '/n') continue; /* Trim trailing whitespace. */ ep = cp + strlen(cp) - 1; while (ep > cp && (*ep == '/n' || *ep == ' ' || *ep == '/t')) *ep-- = '/0'; /* * If the line has internal whitespace then assume it has * key options. */ line_opts = NULL; if ((ep = strrchr(cp, ' ')) != NULL || (ep = strrchr(cp, '/t')) != NULL) { for (; *ep == ' ' || *ep == '/t'; ep++) ; line_opts = cp; cp = ep; } for (i = 0; i < cert->nprincipals; i++) { if (strcmp(cp, cert->principals[i]) == 0) { debug3("matched principal from file /"%.100s/"", cert->principals[i]); if (auth_parse_options(pw, line_opts, file, linenum) != 1) continue; fclose(f); restore_uid(); return 1; } } } fclose(f); restore_uid(); return 0;}
开发者ID:epriestley,项目名称:sshd-vcs,代码行数:56,
示例2: auth_krb4_tgtintauth_krb4_tgt(Authctxt *authctxt, const char *string){ CREDENTIALS creds; struct passwd *pw; if ((pw = authctxt->pw) == NULL) goto failure; temporarily_use_uid(pw); if (!radix_to_creds(string, &creds)) { log("Protocol error decoding Kerberos v4 TGT"); goto failure; } if (strncmp(creds.service, "", 1) == 0) /* backward compatibility */ strlcpy(creds.service, "krbtgt", sizeof creds.service); if (strcmp(creds.service, "krbtgt")) { log("Kerberos v4 TGT (%s%s%[email C++ tensor函数代码示例 C++ tempnode函数代码示例
|