void kadmin_keytab_add(int argc, char **argv) { krb5_keytab keytab = 0; char *keytab_str = NULL, **princs; int code, num, i; krb5_error_code retval; int n_ks_tuple = 0; krb5_boolean keepold = FALSE; krb5_key_salt_tuple *ks_tuple = NULL; argc--; argv++; quiet = 0; #ifdef KADMIN_LOCAL norandkey = 0; #endif while (argc) { if (strncmp(*argv, "-k", 2) == 0) { argc--; argv++; if (!argc || keytab_str) { add_usage(); return; } keytab_str = *argv; } else if (strcmp(*argv, "-q") == 0) { quiet++; #ifdef KADMIN_LOCAL } else if (strcmp(*argv, "-norandkey") == 0) { norandkey++; #endif } else if (strcmp(*argv, "-e") == 0) { argc--; if (argc < 1) { add_usage(); return; } retval = krb5_string_to_keysalts(*++argv, ", \t", ":.-", 0, &ks_tuple, &n_ks_tuple); if (retval) { com_err("ktadd", retval, "while parsing keysalts %s", *argv); return; } } else break; argc--; argv++; } if (argc == 0) { add_usage(); return; } #ifdef KADMIN_LOCAL if (norandkey && ks_tuple) { fprintf(stderr, "cannot specify keysaltlist when not changing key\n"); return; } #endif if (process_keytab(context, &keytab_str, &keytab)) return; while (*argv) { if (strcmp(*argv, "-glob") == 0) { if (*++argv == NULL) { add_usage(); break; } code = kadm5_get_principals(handle, *argv, &princs, &num); if (code) { com_err(whoami, code, "while expanding expression \"%s\".", *argv); argv++; continue; } for (i = 0; i < num; i++) add_principal(handle, keytab_str, keytab, keepold, n_ks_tuple, ks_tuple, princs[i]); kadm5_free_name_list(handle, princs, num); } else { add_principal(handle, keytab_str, keytab, keepold, n_ks_tuple, ks_tuple, *argv); argv++; } } code = krb5_kt_close(context, keytab); if (code != 0) com_err(whoami, code, "while closing keytab"); free(keytab_str); }
bool MyASTVisitor::VisitDesignatedInitExpr(clang::DesignatedInitExpr* expr) { for(auto it = expr->designators_begin(); it != expr->designators_end(); ++it) { add_usage(it->getFieldLoc(), it->getField()->getNameAsString(), it->getField()); } return true; }
bool MyASTVisitor::VisitMemberExpr(clang::MemberExpr* expr) { add_usage(expr->getMemberLoc(), expr->getMemberDecl()->getNameAsString(), expr->getMemberDecl()); return true; }
bool MyASTVisitor::VisitDeclRefExpr(clang::DeclRefExpr* expr) { add_usage(expr->getLocStart(), expr->getFoundDecl()->getNameAsString(), expr->getFoundDecl()); return true; }
bool MyASTVisitor::VisitGotoStmt(clang::GotoStmt* stmt) { if(!stmt->getLabel()->getStmt()) return true; add_usage(stmt->getLabelLoc(), stmt->getLabel()->getStmt()->getName(), stmt->getLabel()); return true; }
void Profile::add_usage(Formula *p) { auto search = formula_origin.find(p); if(search!=formula_origin.end()) add_usage(search->second); }