Ignore:
Timestamp:
Nov 27, 2012, 4:43:17 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: updated trunk to 3.6.0

Location:
trunk/server
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/server

  • trunk/server/source4/auth/credentials/credentials.h

    r414 r745  
    4545};
    4646
     47enum credentials_krb_forwardable {
     48        CRED_AUTO_KRB_FORWARDABLE = 0, /* Default, follow library defaults */
     49        CRED_NO_KRB_FORWARDABLE,       /* not forwardable */
     50        CRED_FORCE_KRB_FORWARDABLE     /* forwardable */
     51};
     52
    4753#define CLI_CRED_NTLM2       0x01
    4854#define CLI_CRED_NTLMv2_AUTH 0x02
     
    7783        const char *realm;
    7884        const char *principal;
    79         const char *salt_principal;
     85        char *salt_principal;
     86        char *impersonate_principal;
     87        char *target_service;
    8088
    8189        const char *bind_dn;
     
    106114        enum netr_SchannelType secure_channel_type;
    107115        int kvno;
     116        time_t password_last_changed_time;
    108117
    109118        struct smb_krb5_context *smb_krb5_context;
     
    120129        enum credentials_use_kerberos use_kerberos;
    121130
     131        /* Should we get a forwardable ticket? */
     132        enum credentials_krb_forwardable krb_forwardable;
     133
    122134        /* gensec features which should be used for connections */
    123135        uint32_t gensec_features;
     
    131143
    132144struct ldb_context;
     145struct ldb_message;
    133146struct loadparm_context;
    134147struct ccache_container;
     
    156169const char *cli_credentials_get_username(struct cli_credentials *cred);
    157170int cli_credentials_get_krb5_context(struct cli_credentials *cred,
    158                                      struct tevent_context *event_ctx,
    159171                                     struct loadparm_context *lp_ctx,
    160172                                     struct smb_krb5_context **smb_krb5_context);
     
    162174                               struct tevent_context *event_ctx,
    163175                               struct loadparm_context *lp_ctx,
    164                                struct ccache_container **ccc);
     176                               struct ccache_container **ccc,
     177                               const char **error_string);
     178int cli_credentials_get_named_ccache(struct cli_credentials *cred,
     179                                     struct tevent_context *event_ctx,
     180                                     struct loadparm_context *lp_ctx,
     181                                     char *ccache_name,
     182                                     struct ccache_container **ccc, const char **error_string);
    165183int cli_credentials_get_keytab(struct cli_credentials *cred,
    166                                struct tevent_context *event_ctx,
    167184                               struct loadparm_context *lp_ctx,
    168185                               struct keytab_container **_ktc);
     
    175192const char *cli_credentials_get_principal(struct cli_credentials *cred, TALLOC_CTX *mem_ctx);
    176193int cli_credentials_get_server_gss_creds(struct cli_credentials *cred,
    177                                          struct tevent_context *event_ctx,
    178194                                         struct loadparm_context *lp_ctx,
    179195                                         struct gssapi_creds_container **_gcc);
     
    181197                                         struct tevent_context *event_ctx,
    182198                                         struct loadparm_context *lp_ctx,
    183                                          struct gssapi_creds_container **_gcc);
     199                                         struct gssapi_creds_container **_gcc,
     200                                         const char **error_string);
    184201void cli_credentials_set_kerberos_state(struct cli_credentials *creds,
    185202                                        enum credentials_use_kerberos use_kerberos);
     203void cli_credentials_set_krb_forwardable(struct cli_credentials *creds,
     204                                         enum credentials_krb_forwardable krb_forwardable);
    186205bool cli_credentials_set_domain(struct cli_credentials *cred,
    187206                                const char *val,
     
    210229void cli_credentials_set_secure_channel_type(struct cli_credentials *cred,
    211230                                     enum netr_SchannelType secure_channel_type);
     231void cli_credentials_set_password_last_changed_time(struct cli_credentials *cred,
     232                                                             time_t last_change_time);
    212233void cli_credentials_set_netlogon_creds(struct cli_credentials *cred,
    213234                                        struct netlogon_creds_CredentialState *netlogon_creds);
     
    215236                                          struct smb_krb5_context *smb_krb5_context);
    216237NTSTATUS cli_credentials_set_stored_principal(struct cli_credentials *cred,
    217                                               struct tevent_context *event_ctx,
    218238                                              struct loadparm_context *lp_ctx,
    219239                                              const char *serviceprincipal);
     
    231251                                           const char *(*password_cb) (struct cli_credentials *));
    232252enum netr_SchannelType cli_credentials_get_secure_channel_type(struct cli_credentials *cred);
     253time_t cli_credentials_get_password_last_changed_time(struct cli_credentials *cred);
    233254void cli_credentials_set_kvno(struct cli_credentials *cred,
    234255                              int kvno);
     
    241262                                       enum credentials_obtained obtained);
    242263int cli_credentials_set_keytab_name(struct cli_credentials *cred,
    243                                     struct tevent_context *event_ctx,
    244264                                    struct loadparm_context *lp_ctx,
    245265                                    const char *keytab_name,
    246266                                    enum credentials_obtained obtained);
    247 int cli_credentials_update_keytab(struct cli_credentials *cred,
    248                                   struct tevent_context *event_ctx,
    249                                   struct loadparm_context *lp_ctx);
    250267void cli_credentials_set_gensec_features(struct cli_credentials *creds, uint32_t gensec_features);
    251268uint32_t cli_credentials_get_gensec_features(struct cli_credentials *creds);
    252269int cli_credentials_set_ccache(struct cli_credentials *cred,
    253                                struct tevent_context *event_ctx,
    254270                               struct loadparm_context *lp_ctx,
    255271                               const char *name,
    256                                enum credentials_obtained obtained);
     272                               enum credentials_obtained obtained,
     273                               const char **error_string);
    257274bool cli_credentials_parse_password_file(struct cli_credentials *credentials, const char *file, enum credentials_obtained obtained);
    258275bool cli_credentials_parse_password_fd(struct cli_credentials *credentials,
     
    261278                                       enum credentials_obtained obtained);
    262279void cli_credentials_set_salt_principal(struct cli_credentials *cred, const char *principal);
     280void cli_credentials_set_impersonate_principal(struct cli_credentials *cred, const char *principal);
     281void cli_credentials_set_target_service(struct cli_credentials *cred, const char *principal);
     282const char *cli_credentials_get_salt_principal(struct cli_credentials *cred);
     283const char *cli_credentials_get_impersonate_principal(struct cli_credentials *cred);
     284const char *cli_credentials_get_target_service(struct cli_credentials *cred);
    263285enum credentials_use_kerberos cli_credentials_get_kerberos_state(struct cli_credentials *creds);
     286enum credentials_krb_forwardable cli_credentials_get_krb_forwardable(struct cli_credentials *creds);
    264287NTSTATUS cli_credentials_set_secrets(struct cli_credentials *cred,
    265                                      struct tevent_context *event_ctx,
    266288                                     struct loadparm_context *lp_ctx,
    267289                                     struct ldb_context *ldb,
    268290                                     const char *base,
    269                                      const char *filter);
     291                                     const char *filter,
     292                                     char **error_string);
    270293 int cli_credentials_get_kvno(struct cli_credentials *cred);
    271294
     295
    272296#endif /* __CREDENTIALS_H__ */
Note: See TracChangeset for help on using the changeset viewer.