X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Flib%2Fprotos.h;h=eb6d186345d08fee9574f232432273afacad13c6;hb=742cb7f6606d01f26b0d56a759c799d576cd6d21;hp=61c01a7cab8d099013957d96942b1d03253a9564;hpb=4bc855e2487d4e3b21afd7458294b032c2bbb684;p=bacula%2Fbacula diff --git a/bacula/src/lib/protos.h b/bacula/src/lib/protos.h index 61c01a7cab..eb6d186345 100644 --- a/bacula/src/lib/protos.h +++ b/bacula/src/lib/protos.h @@ -113,12 +113,43 @@ void hmac_md5(uint8_t* text, int text_len, uint8_t* key, uint32_t bcrc32(uint8_t *buf, int len); +/* crypto.c */ +int init_crypto (void); +int cleanup_crypto (void); +DIGEST * crypto_digest_new (crypto_digest_t type); +bool crypto_digest_update (DIGEST *digest, const void *data, size_t length); +bool crypto_digest_finalize (DIGEST *digest, void *dest, size_t *length); +void crypto_digest_free (DIGEST *digest); +SIGNATURE * crypto_sign_new (void); +crypto_error_t crypto_sign_get_digest (SIGNATURE *sig, X509_KEYPAIR *keypair, DIGEST **digest); +crypto_error_t crypto_sign_verify (SIGNATURE *sig, X509_KEYPAIR *keypair, DIGEST *digest); +int crypto_sign_add_signer (SIGNATURE *sig, DIGEST *digest, X509_KEYPAIR *keypair); +int crypto_sign_encode (SIGNATURE *sig, void *dest, size_t *length); +SIGNATURE * crypto_sign_decode (const void *sigData, size_t length); +void crypto_sign_free (SIGNATURE *sig); +CRYPTO_SESSION * crypto_session_new (crypto_cipher_t cipher, alist *pubkeys); +void crypto_session_free (CRYPTO_SESSION *cs); +bool crypto_session_encode (CRYPTO_SESSION *cs, void *dest, size_t *length); +crypto_error_t crypto_session_decode (const void *data, size_t length, alist *keypairs, CRYPTO_SESSION **session); +CRYPTO_SESSION * crypto_session_decode (const void *data, size_t length); +X509_KEYPAIR * crypto_keypair_new (void); +X509_KEYPAIR * crypto_keypair_dup (X509_KEYPAIR *keypair); +int crypto_keypair_load_cert (X509_KEYPAIR *keypair, const char *file); +bool crypto_keypair_has_key (const char *file); +int crypto_keypair_load_key (X509_KEYPAIR *keypair, const char *file, CRYPTO_PEM_PASSWD_CB *pem_callback, const void *pem_userdata); +void crypto_keypair_free (X509_KEYPAIR *keypair); +int crypto_default_pem_callback (char *buf, int size, const void *userdata); +const char * crypto_digest_name (DIGEST *digest); +crypto_digest_t crypto_digest_stream_type (int stream); +const char * crypto_strerror (crypto_error_t error); + /* daemon.c */ void daemon_start (); /* edit.c */ uint64_t str_to_uint64(char *str); int64_t str_to_int64(char *str); +#define str_to_int32(str) ((int32_t)str_to_int64(str)) char * edit_uint64_with_commas (uint64_t val, char *buf); char * add_commas (char *val, char *buf); char * edit_uint64 (uint64_t val, char *buf); @@ -135,12 +166,15 @@ void init_last_jobs_list(); void term_last_jobs_list(); void lock_last_jobs_list(); void unlock_last_jobs_list(); -void read_last_jobs_list(int fd, uint64_t addr); +bool read_last_jobs_list(int fd, uint64_t addr); uint64_t write_last_jobs_list(int fd, uint64_t addr); void write_state_file(char *dir, const char *progname, int port); void job_end_push(JCR *jcr, void job_end_cb(JCR *jcr,void *), void *ctx); void lock_jobs(); void unlock_jobs(); +JCR *jcr_walk_start(); +JCR *jcr_walk_next(JCR *prev_jcr); +void jcr_walk_end(JCR *jcr); /* lex.c */ @@ -209,14 +243,11 @@ int bsscanf(const char *buf, const char *fmt, ...); /* tls.c */ -int init_tls (void); -int cleanup_tls (void); - TLS_CONTEXT *new_tls_context (const char *ca_certfile, const char *ca_certdir, const char *certfile, const char *keyfile, - TLS_PEM_PASSWD_CB *pem_callback, + CRYPTO_PEM_PASSWD_CB *pem_callback, const void *pem_userdata, const char *dhfile, bool verify_peer);