本文整理汇总了C++中secrets_init函数的典型用法代码示例。如果您正苦于以下问题:C++ secrets_init函数的具体用法?C++ secrets_init怎么用?C++ secrets_init使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了secrets_init函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: net_ads_leave
static int net_ads_leave(int argc, const char **argv)
{
ADS_STRUCT *ads = NULL;
ADS_STATUS rc;
if (!secrets_init()) {
DEBUG(1,("Failed to initialise secrets database\n"));
return -1;
}
if (!opt_password) {
net_use_machine_password();
}
if (!(ads = ads_startup())) {
return -1;
}
rc = ads_leave_realm(ads, global_myname());
if (!ADS_ERR_OK(rc)) {
d_printf("Failed to delete host '%s' from the '%s' realm.\n",
global_myname(), ads->config.realm);
ads_destroy(&ads);
return -1;
}
d_printf("Removed '%s' from realm '%s'\n", global_myname(), ads->config.realm);
ads_destroy(&ads);
return 0;
}
开发者ID:niubl,项目名称:camera_project,代码行数:30,代码来源:net_ads.c
示例2: net_afs_key
static int net_afs_key(int argc, const char **argv)
{
int fd;
struct afs_keyfile keyfile;
if (argc != 2) {
d_printf("usage: 'net afs key <keyfile> cell'\n");
return -1;
}
if (!secrets_init()) {
d_fprintf(stderr, "Could not open secrets.tdb\n");
return -1;
}
if ((fd = open(argv[0], O_RDONLY, 0)) < 0) {
d_fprintf(stderr, "Could not open %s\n", argv[0]);
return -1;
}
if (read(fd, &keyfile, sizeof(keyfile)) != sizeof(keyfile)) {
d_fprintf(stderr, "Could not read keyfile\n");
return -1;
}
if (!secrets_store_afs_keyfile(argv[1], &keyfile)) {
d_fprintf(stderr, "Could not write keyfile to secrets.tdb\n");
return -1;
}
return 0;
}
开发者ID:AllardJ,项目名称:Tomato,代码行数:32,代码来源:net.c
示例3: net_afs_key
int net_afs_key(struct net_context *c, int argc, const char **argv)
{
int fd;
struct afs_keyfile keyfile;
if (argc != 2) {
d_printf("%s net afs key <keyfile> cell\n", _("Usage:"));
return -1;
}
if (!secrets_init()) {
d_fprintf(stderr, _("Could not open secrets.tdb\n"));
return -1;
}
if ((fd = open(argv[0], O_RDONLY, 0)) < 0) {
d_fprintf(stderr, _("Could not open %s\n"), argv[0]);
return -1;
}
if (read(fd, &keyfile, sizeof(keyfile)) != sizeof(keyfile)) {
d_fprintf(stderr, _("Could not read keyfile\n"));
close(fd);
return -1;
}
close(fd);
if (!secrets_store_afs_keyfile(argv[1], &keyfile)) {
d_fprintf(stderr, _("Could not write keyfile to secrets.tdb\n"));
return -1;
}
return 0;
}
开发者ID:Alexandr-Galko,项目名称:samba,代码行数:34,代码来源:net_afs.c
示例4: memdup
/* read a entry from the secrets database - the caller must free the result
if size is non-null then the size of the entry is put in there
*/
void *secrets_fetch(const char *key, size_t *size)
{
TDB_DATA dbuf;
void *result;
NTSTATUS status;
if (!secrets_init()) {
return NULL;
}
status = dbwrap_fetch(db_ctx, talloc_tos(), string_tdb_data(key),
&dbuf);
if (!NT_STATUS_IS_OK(status)) {
return NULL;
}
result = memdup(dbuf.dptr, dbuf.dsize);
if (result == NULL) {
return NULL;
}
TALLOC_FREE(dbuf.dptr);
if (size) {
*size = dbuf.dsize;
}
return result;
}
开发者ID:srimalik,项目名称:samba,代码行数:31,代码来源:secrets.c
示例5: set_cmdline_auth_info_machine_account_creds
bool set_cmdline_auth_info_machine_account_creds(struct user_auth_info *auth_info)
{
char *pass = NULL;
char *account = NULL;
if (!get_cmdline_auth_info_use_machine_account(auth_info)) {
return false;
}
if (!secrets_init()) {
d_printf("ERROR: Unable to open secrets database\n");
return false;
}
if (asprintf(&account, "%[email protected]%s", lp_netbios_name(), lp_realm()) < 0) {
return false;
}
pass = secrets_fetch_machine_password(lp_workgroup(), NULL, NULL);
if (!pass) {
d_printf("ERROR: Unable to fetch machine password for "
"%s in domain %s\n",
account, lp_workgroup());
SAFE_FREE(account);
return false;
}
set_cmdline_auth_info_username(auth_info, account);
set_cmdline_auth_info_password(auth_info, pass);
SAFE_FREE(account);
SAFE_FREE(pass);
return true;
}
开发者ID:ekohl,项目名称:samba,代码行数:35,代码来源:util_cmdline.c
示例6: memdup
/* read a entry from the secrets database - the caller must free the result
if size is non-null then the size of the entry is put in there
*/
void *secrets_fetch(const char *key, size_t *size)
{
TDB_DATA dbuf;
void *result;
if (!secrets_init()) {
return NULL;
}
if (db_ctx->fetch(db_ctx, talloc_tos(), string_tdb_data(key),
&dbuf) != 0) {
return NULL;
}
result = memdup(dbuf.dptr, dbuf.dsize);
if (result == NULL) {
return NULL;
}
TALLOC_FREE(dbuf.dptr);
if (size) {
*size = dbuf.dsize;
}
return result;
}
开发者ID:eduardok,项目名称:samba,代码行数:29,代码来源:secrets.c
示例7:
struct db_context *secrets_db_ctx(void)
{
if (!secrets_init()) {
return NULL;
}
return db_ctx;
}
开发者ID:srimalik,项目名称:samba,代码行数:8,代码来源:secrets.c
示例8: cmd_netlogon_sam_deltas
static NTSTATUS cmd_netlogon_sam_deltas(struct cli_state *cli,
TALLOC_CTX *mem_ctx, int argc,
char **argv)
{
NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
unsigned char trust_passwd[16];
uint32 database_id, num_deltas, tmp;
SAM_DELTA_HDR *hdr_deltas;
SAM_DELTA_CTR *deltas;
UINT64_S seqnum;
if (argc != 3) {
fprintf(stderr, "Usage: %s database_id seqnum\n", argv[0]);
return NT_STATUS_OK;
}
database_id = atoi(argv[1]);
tmp = atoi(argv[2]);
seqnum.low = tmp & 0xffff;
seqnum.high = 0;
if (!secrets_init()) {
fprintf(stderr, "Unable to initialise secrets database\n");
goto done;
}
/* Initialise session credentials */
if (!secrets_fetch_trust_account_password(lp_workgroup(), trust_passwd,
NULL)) {
fprintf(stderr, "could not fetch trust account password\n");
goto done;
}
result = cli_nt_setup_creds(cli, trust_passwd);
if (!NT_STATUS_IS_OK(result)) {
fprintf(stderr, "Error initialising session creds\n");
goto done;
}
/* Synchronise sam database */
result = cli_netlogon_sam_deltas(cli, mem_ctx, database_id,
seqnum, &num_deltas,
&hdr_deltas, &deltas);
if (!NT_STATUS_IS_OK(result))
goto done;
/* Display results */
display_sam_sync(num_deltas, hdr_deltas, deltas);
done:
return result;
}
开发者ID:jophxy,项目名称:samba,代码行数:58,代码来源:cmd_netlogon.c
示例9: cmd_netlogon_sam_sync
static NTSTATUS cmd_netlogon_sam_sync(struct cli_state *cli,
TALLOC_CTX *mem_ctx, int argc,
char **argv)
{
NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
unsigned char trust_passwd[16];
uint32 database_id = 0, num_deltas;
SAM_DELTA_HDR *hdr_deltas;
SAM_DELTA_CTR *deltas;
DOM_CRED ret_creds;
if (argc > 2) {
fprintf(stderr, "Usage: %s [database_id]\n", argv[0]);
return NT_STATUS_OK;
}
if (argc == 2)
database_id = atoi(argv[1]);
if (!secrets_init()) {
fprintf(stderr, "Unable to initialise secrets database\n");
return result;
}
/* Initialise session credentials */
if (!secrets_fetch_trust_account_password(lp_workgroup(), trust_passwd,
NULL)) {
fprintf(stderr, "could not fetch trust account password\n");
goto done;
}
result = cli_nt_setup_creds(cli, trust_passwd);
if (!NT_STATUS_IS_OK(result)) {
fprintf(stderr, "Error initialising session creds\n");
goto done;
}
/* on first call the returnAuthenticator is empty */
memset(&ret_creds, 0, sizeof(ret_creds));
/* Synchronise sam database */
result = cli_netlogon_sam_sync(cli, mem_ctx, &ret_creds, database_id,
&num_deltas, &hdr_deltas, &deltas);
if (!NT_STATUS_IS_OK(result))
goto done;
/* Display results */
display_sam_sync(num_deltas, hdr_deltas, deltas);
done:
return result;
}
开发者ID:jophxy,项目名称:samba,代码行数:57,代码来源:cmd_netlogon.c
示例10:
void *secrets_get_trust_account_lock(TALLOC_CTX *mem_ctx, const char *domain)
{
if (!secrets_init()) {
return NULL;
}
return db_ctx->fetch_locked(
db_ctx, mem_ctx, string_term_tdb_data(trust_keystr(domain)));
}
开发者ID:jameshilliard,项目名称:WECB-BH-GPL,代码行数:9,代码来源:secrets.c
示例11: store_ldap_admin_pw
/*******************************************************************
Store the LDAP admin password in secrets.tdb
******************************************************************/
static BOOL store_ldap_admin_pw (char* pw)
{
if (!pw)
return False;
if (!secrets_init())
return False;
return secrets_store_ldap_pw(lp_ldap_admin_dn(), pw);
}
开发者ID:antonywcl,项目名称:AR-5315u_PLD,代码行数:13,代码来源:smbpasswd.c
示例12: store_ldap_admin_pw
/*******************************************************************
Store the LDAP admin password in secrets.tdb
******************************************************************/
static bool store_ldap_admin_pw (char* pw)
{
if (!pw)
return False;
if (!secrets_init())
return False;
return secrets_store_ldap_pw(lp_ldap_admin_dn(talloc_tos()), pw);
}
开发者ID:DanilKorotenko,项目名称:samba,代码行数:13,代码来源:smbpasswd.c
示例13: secrets_delete
/* delete a secets database entry
*/
BOOL secrets_delete(const char *key)
{
TDB_DATA kbuf;
secrets_init();
if (!tdb)
return False;
kbuf.dptr = (char *)key;
kbuf.dsize = strlen(key);
return tdb_delete(tdb, kbuf) == 0;
}
开发者ID:cmtsij,项目名称:Vizio_XWR100_GPL,代码行数:12,代码来源:secrets.c
示例14: cmd_netlogon_sam_logon
static NTSTATUS cmd_netlogon_sam_logon(struct cli_state *cli,
TALLOC_CTX *mem_ctx, int argc,
char **argv)
{
unsigned char trust_passwd[16];
NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
int logon_type = NET_LOGON_TYPE;
char *username, *password;
/* Check arguments */
if (argc < 3 || argc > 4) {
fprintf(stderr, "Usage: samlogon <username> <password> "
"[logon_type]\n");
return NT_STATUS_OK;
}
username = argv[1];
password = argv[2];
if (argc == 4)
sscanf(argv[3], "%i", &logon_type);
/* Authenticate ourselves with the domain controller */
if (!secrets_init()) {
fprintf(stderr, "Unable to initialise secrets database\n");
return result;
}
if (!secrets_fetch_trust_account_password(lp_workgroup(), trust_passwd,
NULL)) {
fprintf(stderr, "could not fetch trust account password\n");
goto done;
}
result = cli_nt_setup_creds(cli, trust_passwd);
if (!NT_STATUS_IS_OK(result)) {
fprintf(stderr, "Error initialising session creds\n");
goto done;
}
/* Perform the sam logon */
result = cli_netlogon_sam_logon(cli, mem_ctx, username, password,
logon_type);
if (!NT_STATUS_IS_OK(result))
goto done;
done:
return result;
}
开发者ID:jophxy,项目名称:samba,代码行数:54,代码来源:cmd_netlogon.c
示例15: secrets_delete
/* delete a secets database entry
*/
bool secrets_delete(const char *key)
{
NTSTATUS status;
if (!secrets_init()) {
return false;
}
status = dbwrap_trans_delete(db_ctx, string_tdb_data(key));
return NT_STATUS_IS_OK(status);
}
开发者ID:srimalik,项目名称:samba,代码行数:13,代码来源:secrets.c
示例16: secrets_store
/* store a secrets entry
*/
BOOL secrets_store(const char *key, const void *data, size_t size)
{
TDB_DATA kbuf, dbuf;
secrets_init();
if (!tdb)
return False;
kbuf.dptr = (char *)key;
kbuf.dsize = strlen(key);
dbuf.dptr = (char *)data;
dbuf.dsize = size;
return tdb_store(tdb, kbuf, dbuf, TDB_REPLACE) == 0;
}
开发者ID:cmtsij,项目名称:Vizio_XWR100_GPL,代码行数:14,代码来源:secrets.c
示例17: dbwrap_fetch_locked
void *secrets_get_trust_account_lock(TALLOC_CTX *mem_ctx, const char *domain)
{
struct db_context *db_ctx;
if (!secrets_init()) {
return NULL;
}
db_ctx = secrets_db_ctx();
return dbwrap_fetch_locked(
db_ctx, mem_ctx, string_term_tdb_data(trust_keystr(domain)));
}
开发者ID:srimalik,项目名称:samba,代码行数:12,代码来源:machine_account_secrets.c
示例18: secrets_store
/* store a secrets entry
*/
bool secrets_store(const char *key, const void *data, size_t size)
{
NTSTATUS status;
if (!secrets_init()) {
return false;
}
status = dbwrap_trans_store(db_ctx, string_tdb_data(key),
make_tdb_data((const uint8 *)data, size),
TDB_REPLACE);
return NT_STATUS_IS_OK(status);
}
开发者ID:srimalik,项目名称:samba,代码行数:15,代码来源:secrets.c
示例19: secrets_init
/* read a entry from the secrets database - the caller must free the result
if size is non-null then the size of the entry is put in there
*/
void *secrets_fetch(const char *key, size_t *size)
{
TDB_DATA kbuf, dbuf;
secrets_init();
if (!tdb)
return NULL;
kbuf.dptr = (char *)key;
kbuf.dsize = strlen(key);
dbuf = tdb_fetch(tdb, kbuf);
if (size)
*size = dbuf.dsize;
return dbuf.dptr;
}
开发者ID:cmtsij,项目名称:Vizio_XWR100_GPL,代码行数:16,代码来源:secrets.c
示例20: create_new_key_and_activate
static void create_new_key_and_activate( char *filename )
{
char key[17] = {0};
if (!secrets_init()) {
printf("Error opening secrets database.");
exit(1);
}
generate_key(key);
delete_key();
secrets_store("smb_traffic_analyzer_key", key, strlen(key)+1 );
printf("Key installed, encryption activated.\n");
create_file_from_key(filename);
}
开发者ID:AIdrifter,项目名称:samba,代码行数:15,代码来源:smbta-util.c
注:本文中的secrets_init函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论