* Version $Id$
*/
/*
- Copyright (C) 2000-2006 Kern Sibbald
+ Bacula® - The Network Backup Solution
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- version 2 as amended with additional clauses defined in the
- file LICENSE in the main source directory.
+ Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- the file LICENSE for additional details.
+ The main author of Bacula is Kern Sibbald, with contributions from
+ many others, a complete list can be found in the file AUTHORS.
+ This program is Free Software; you can redistribute it and/or
+ modify it under the terms of version two of the GNU General Public
+ License as published by the Free Software Foundation plus additions
+ that are listed in the file LICENSE.
- */
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+
+ Bacula® is a registered trademark of John Walker.
+ The licensor of Bacula is the Free Software Foundation Europe
+ (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+ Switzerland, email:ftf@fsfeurope.org.
+*/
class JCR;
void base64_init (void);
int to_base64 (intmax_t value, char *where);
int from_base64 (intmax_t *value, char *where);
-int bin_to_base64 (char *buf, char *bin, int len);
+int bin_to_base64 (char *buf, int buflen, char *bin, int binlen,
+ int compatible);
/* bsys.c */
char *bstrncpy (char *dest, const char *src, int maxlen);
bool bstrcmp (const char *s1, const char *s2);
int cstrlen (const char *str);
void *b_malloc (const char *file, int line, size_t size);
-#ifndef DEBUG
+#ifndef bmalloc
void *bmalloc (size_t size);
#endif
+void bfree (void *buf);
void *brealloc (void *buf, size_t size);
void *bcalloc (size_t size1, size_t size2);
int bsnprintf (char *str, int32_t size, const char *format, ...);
#endif
void read_state_file(char *dir, const char *progname, int port);
int bstrerror(int errnum, char *buf, size_t bufsiz);
+char *escape_filename(const char *file_path);
/* bnet.c */
int32_t bnet_recv (BSOCK *bsock);
bool bnet_fsend (BSOCK *bs, const char *fmt, ...);
bool bnet_set_buffer_size (BSOCK *bs, uint32_t size, int rw);
bool bnet_sig (BSOCK *bs, int sig);
-int bnet_tls_server (TLS_CONTEXT *ctx, BSOCK *bsock,
+bool bnet_tls_server (TLS_CONTEXT *ctx, BSOCK *bsock,
alist *verify_list);
-int bnet_tls_client (TLS_CONTEXT *ctx, BSOCK *bsock);
+bool bnet_tls_client (TLS_CONTEXT *ctx, BSOCK *bsock);
BSOCK * bnet_connect (JCR *jcr, int retry_interval,
int max_retry_time, const char *name, char *host, char *service,
int port, int verbose);
void bnet_close (BSOCK *bsock);
BSOCK * init_bsock (JCR *jcr, int sockfd, const char *who, const char *ip,
int port, struct sockaddr *client_addr);
-#ifdef WIN32
+#ifdef HAVE_WIN32
#ifndef socklen_t
#define socklen_t int
#endif
int close_bpipe(BPIPE *bpipe);
/* cram-md5.c */
-int cram_md5_get_auth(BSOCK *bs, char *password, int *tls_remote_need);
-int cram_md5_auth(BSOCK *bs, char *password, int tls_local_need);
-void hmac_md5(uint8_t* text, int text_len, uint8_t* key,
- int key_len, uint8_t *hmac);
+bool cram_md5_respond(BSOCK *bs, char *password, int *tls_remote_need, int *compatible);
+bool cram_md5_challenge(BSOCK *bs, char *password, int tls_local_need, int compatible);
+void hmac_md5(uint8_t* text, int text_len, uint8_t* key, int key_len, uint8_t *hmac);
/* crc32.c */
char *next_arg(char **s);
int parse_args(POOLMEM *cmd, POOLMEM **args, int *argc,
char **argk, char **argv, int max_args);
+int parse_args_only(POOLMEM *cmd, POOLMEM **args, int *argc,
+ char **argk, char **argv, int max_args);
void split_path_and_filename(const char *fname, POOLMEM **path,
int *pnl, POOLMEM **file, int *fnl);
int bsscanf(const char *buf, const char *fmt, ...);
/* util.c */
-int is_buf_zero (char *buf, int len);
+bool is_buf_zero (char *buf, int len);
void lcase (char *str);
void bash_spaces (char *str);
void bash_spaces (POOL_MEM &pm);
const char * job_status_to_str (int stat);
const char * job_level_to_str (int level);
void make_session_key (char *key, char *seed, int mode);
-POOLMEM *edit_job_codes(JCR *jcr, char *omsg, char *imsg, const char *to);
-void set_working_directory(char *wd);
+POOLMEM * edit_job_codes (JCR *jcr, char *omsg, char *imsg, const char *to);
+void set_working_directory (char *wd);
+const char * last_path_separator (const char *str);
/* watchdog.c */