diff -Naur opendnssec-2.1.6-orig/enforcer/src/daemon/cfg.h opendnssec-2.1.6/enforcer/src/daemon/cfg.h --- opendnssec-2.1.6-orig/enforcer/src/daemon/cfg.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/daemon/cfg.h 2020-02-18 23:08:38.104360549 -0500 @@ -88,7 +88,7 @@ * \return engineconfig_type* engine configuration * */ -engineconfig_type* engine_config(const char* cfgfile, +extern engineconfig_type* engine_config(const char* cfgfile, int cmdline_verbosity, engineconfig_type* oldcfg); /** @@ -97,7 +97,7 @@ * \return ods_status status * */ -ods_status engine_config_check(engineconfig_type* config); +extern ods_status engine_config_check(engineconfig_type* config); /** * Print engine configuration. @@ -105,13 +105,13 @@ * \param[in] config engine configuration * */ -void engine_config_print(FILE* out, engineconfig_type* config); +extern void engine_config_print(FILE* out, engineconfig_type* config); /** * Clean up config. * \param[in] config engine configuration * */ -void engine_config_cleanup(engineconfig_type* config); +extern void engine_config_cleanup(engineconfig_type* config); #endif /* DAEMON_CONFIG_H */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/daemon/ctrl_cmd.h opendnssec-2.1.6/enforcer/src/daemon/ctrl_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/daemon/ctrl_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/daemon/ctrl_cmd.h 2020-02-18 23:10:25.428818116 -0500 @@ -29,6 +29,6 @@ #ifndef _CTRL_CMD_H_ #define _CTRL_CMD_H_ -struct cmd_func_block ctrl_funcblock; +extern struct cmd_func_block ctrl_funcblock; #endif /* _CTRL_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/daemon/enforcercommands.h opendnssec-2.1.6/enforcer/src/daemon/enforcercommands.h --- opendnssec-2.1.6-orig/enforcer/src/daemon/enforcercommands.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/daemon/enforcercommands.h 2020-02-18 23:08:38.108360604 -0500 @@ -37,9 +37,9 @@ #include "engine.h" #include "db/db_connection.h" -struct cmd_func_block** enforcercommands; +extern struct cmd_func_block** enforcercommands; -engine_type* getglobalcontext(cmdhandler_ctx_type*); -db_connection_t* getconnectioncontext(cmdhandler_ctx_type*); +extern engine_type* getglobalcontext(cmdhandler_ctx_type*); +extern db_connection_t* getconnectioncontext(cmdhandler_ctx_type*); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/daemon/engine.h opendnssec-2.1.6/enforcer/src/daemon/engine.h --- opendnssec-2.1.6-orig/enforcer/src/daemon/engine.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/daemon/engine.h 2020-02-18 23:08:38.109360617 -0500 @@ -72,7 +72,7 @@ * \param engine, the engine containing database configuration * \return connection on success, NULL on failure. */ -db_connection_t* get_database_connection(engine_type* engine); +extern db_connection_t* get_database_connection(engine_type* engine); /** @@ -84,16 +84,16 @@ * for the command to a socket. */ -ods_status engine_setup(void); +extern ods_status engine_setup(void); /** * Clean up engine. * \param[in] engine engine * */ -void engine_teardown(engine_type* engine); +extern void engine_teardown(engine_type* engine); -void engine_init(engine_type* engine, int daemonize); +extern void engine_init(engine_type* engine, int daemonize); typedef void (*start_cb_t)(engine_type* engine); @@ -106,29 +106,29 @@ * \return 0 if terminated normally, 1 on unrecoverable error. * */ -int engine_run(engine_type* engine, start_cb_t start, int single_run); +extern int engine_run(engine_type* engine, start_cb_t start, int single_run); /** * Stop the engine after engine_runloop returns. * \param[in] engine engine * */ -void engine_stop(engine_type* engine); +extern void engine_stop(engine_type* engine); /** * Wake up workers. * \param[in] engine engine * */ -void engine_wakeup_workers(engine_type* engine); +extern void engine_wakeup_workers(engine_type* engine); /** signal all workers to stop. Blocks until all workers are joined. * \param[in] engine engine */ -void engine_stop_workers(engine_type* engine); +extern void engine_stop_workers(engine_type* engine); /** start all workers. * \param[in] engine engine */ -void engine_start_workers(engine_type* engine); +extern void engine_start_workers(engine_type* engine); -engine_type* engine_alloc(void); -void engine_dealloc(engine_type* engine); +extern engine_type* engine_alloc(void); +extern void engine_dealloc(engine_type* engine); #endif /* DAEMON_ENGINE_H */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/daemon/help_cmd.h opendnssec-2.1.6/enforcer/src/daemon/help_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/daemon/help_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/daemon/help_cmd.h 2020-02-18 23:09:07.505759849 -0500 @@ -29,6 +29,6 @@ #ifndef _HELP_CMD_H_ #define _HELP_CMD_H_ -struct cmd_func_block help_funcblock; +extern struct cmd_func_block help_funcblock; #endif /* _HELP_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/daemon/queue_cmd.h opendnssec-2.1.6/enforcer/src/daemon/queue_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/daemon/queue_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/daemon/queue_cmd.h 2020-02-18 23:09:48.166312056 -0500 @@ -29,7 +29,7 @@ #ifndef _QUEUE_CMD_H_ #define _QUEUE_CMD_H_ -struct cmd_func_block queue_funcblock; -struct cmd_func_block flush_funcblock; +extern struct cmd_func_block queue_funcblock; +extern struct cmd_func_block flush_funcblock; #endif /* _QUEUE_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/daemon/time_leap_cmd.h opendnssec-2.1.6/enforcer/src/daemon/time_leap_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/daemon/time_leap_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/daemon/time_leap_cmd.h 2020-02-18 23:09:31.203081678 -0500 @@ -29,6 +29,6 @@ #ifndef _TIME_LEAP_CMD_H_ #define _TIME_LEAP_CMD_H_ -struct cmd_func_block time_leap_funcblock; +extern struct cmd_func_block time_leap_funcblock; #endif /* _TIME_LEAP_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/daemon/verbosity_cmd.h opendnssec-2.1.6/enforcer/src/daemon/verbosity_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/daemon/verbosity_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/daemon/verbosity_cmd.h 2020-02-18 23:10:04.748537259 -0500 @@ -29,6 +29,6 @@ #ifndef _VERBOSITY_CMD_H_ #define _VERBOSITY_CMD_H_ -struct cmd_func_block verbosity_funcblock; +extern struct cmd_func_block verbosity_funcblock; #endif /* _VERBOSITY_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/database_version_ext.h opendnssec-2.1.6/enforcer/src/db/database_version_ext.h --- opendnssec-2.1.6-orig/enforcer/src/db/database_version_ext.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/database_version_ext.h 2020-02-18 23:08:38.109360617 -0500 @@ -37,6 +37,6 @@ * \param[in] a db_connection_t pointer. * \return an integer with the database version or zero on error. */ -int database_version_get_version(db_connection_t* connection); +extern int database_version_get_version(db_connection_t* connection); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/database_version.h opendnssec-2.1.6/enforcer/src/db/database_version.h --- opendnssec-2.1.6-orig/enforcer/src/db/database_version.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/database_version.h 2020-02-18 23:08:38.109360617 -0500 @@ -54,13 +54,13 @@ * \param[in] connection a db_connection_t pointer. * \return a database_version_t pointer or NULL on error. */ -database_version_t* database_version_new(const db_connection_t* connection); +extern database_version_t* database_version_new(const db_connection_t* connection); /** * Delete a database version object, this does not delete it from the database. * \param[in] database_version a database_version_t pointer. */ -void database_version_free(database_version_t* database_version); +extern void database_version_free(database_version_t* database_version); /** * Set the content of a database version object based on a database result. @@ -68,14 +68,14 @@ * \param[in] result a db_result_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int database_version_from_result(database_version_t* database_version, const db_result_t* result); +extern int database_version_from_result(database_version_t* database_version, const db_result_t* result); /** * Get the version of a database version object. Undefined behavior if `database_version` is NULL. * \param[in] database_version a database_version_t pointer. * \return an unsigned integer. */ -unsigned int database_version_version(const database_version_t* database_version); +extern unsigned int database_version_version(const database_version_t* database_version); /** * A list of database version objects. @@ -98,27 +98,27 @@ * \param[in] connection a db_connection_t pointer. * \return a database_version_list_t pointer or NULL on error. */ -database_version_list_t* database_version_list_new(const db_connection_t* connection); +extern database_version_list_t* database_version_list_new(const db_connection_t* connection); /** * Delete a database version object list. * \param[in] database_version_list a database_version_list_t pointer. */ -void database_version_list_free(database_version_list_t* database_version_list); +extern void database_version_list_free(database_version_list_t* database_version_list); /** * Get all database version objects. * \param[in] database_version_list a database_version_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int database_version_list_get(database_version_list_t* database_version_list); +extern int database_version_list_get(database_version_list_t* database_version_list); /** * Get a new list with all database version objects. * \param[in] connection a db_connection_t pointer. * \return a database_version_list_t pointer or NULL on error. */ -database_version_list_t* database_version_list_new_get(const db_connection_t* connection); +extern database_version_list_t* database_version_list_new_get(const db_connection_t* connection); /** * Get the next database version object in a database version object list. @@ -128,6 +128,6 @@ * \return a database_version_t pointer or NULL on error or if there are no more * database version objects in the database version object list. */ -const database_version_t* database_version_list_next(database_version_list_t* database_version_list); +extern const database_version_t* database_version_list_next(database_version_list_t* database_version_list); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/db_backend.h opendnssec-2.1.6/enforcer/src/db/db_backend.h --- opendnssec-2.1.6-orig/enforcer/src/db/db_backend.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/db_backend.h 2020-02-18 23:08:38.109360617 -0500 @@ -187,21 +187,21 @@ * Create a new database backend handle. * \return a db_backend_handle_t pointer or NULL on error. */ -db_backend_handle_t* db_backend_handle_new(void); +extern db_backend_handle_t* db_backend_handle_new(void); /** * Delete a database backend handle, disconnecting the backend and freeing the * backend specific data. * \param[in] backend_handle a db_backend_handle_t pointer. */ -void db_backend_handle_free(db_backend_handle_t* backend_handle); +extern void db_backend_handle_free(db_backend_handle_t* backend_handle); /** * Initiate the backend of a database backend. * \param[in] backend_handle a db_backend_handle_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_initialize(const db_backend_handle_t* backend_handle); +extern int db_backend_handle_initialize(const db_backend_handle_t* backend_handle); /** * Connect to the database of a database backend, the connection specific @@ -210,7 +210,7 @@ * \param[in] configuration_list a db_configuration_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_connect(const db_backend_handle_t* backend_handle, const db_configuration_list_t* configuration_list); +extern int db_backend_handle_connect(const db_backend_handle_t* backend_handle, const db_configuration_list_t* configuration_list); /** * Create an object in the database. The `object` refer to the database object @@ -222,7 +222,7 @@ * \param[in] value_set a db_value_set_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_create(const db_backend_handle_t* backend_handle, const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set); +extern int db_backend_handle_create(const db_backend_handle_t* backend_handle, const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set); /** * Read an object or objects from the database. @@ -233,7 +233,7 @@ * \return a db_result_list_t pointer or NULL on error or if no objects where * read. */ -db_result_list_t* db_backend_handle_read(const db_backend_handle_t* backend_handle, const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list); +extern db_result_list_t* db_backend_handle_read(const db_backend_handle_t* backend_handle, const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list); /** * Update an object or objects in the database. @@ -244,7 +244,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_update(const db_backend_handle_t* backend_handle, const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set, const db_clause_list_t* clause_list); +extern int db_backend_handle_update(const db_backend_handle_t* backend_handle, const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set, const db_clause_list_t* clause_list); /** * Delete an object or objects from the database. @@ -253,7 +253,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_delete(const db_backend_handle_t* backend_handle, const db_object_t* object, const db_clause_list_t* clause_list); +extern int db_backend_handle_delete(const db_backend_handle_t* backend_handle, const db_object_t* object, const db_clause_list_t* clause_list); /** * Count objects from the database. Return the count in `count`. @@ -264,7 +264,7 @@ * \param[out] count a size_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_count(const db_backend_handle_t* backend_handle, const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list, size_t* count); +extern int db_backend_handle_count(const db_backend_handle_t* backend_handle, const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list, size_t* count); /** * Set the initialize function of a database backend handle. @@ -272,7 +272,7 @@ * \param[in] initialize_function a db_backend_handle_initialize_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_initialize(db_backend_handle_t* backend_handle, db_backend_handle_initialize_t initialize_function); +extern int db_backend_handle_set_initialize(db_backend_handle_t* backend_handle, db_backend_handle_initialize_t initialize_function); /** * Set the shutdown function of a database backend handle. @@ -280,7 +280,7 @@ * \param[in] shutdown_function a db_backend_handle_shutdown_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_shutdown(db_backend_handle_t* backend_handle, db_backend_handle_shutdown_t shutdown_function); +extern int db_backend_handle_set_shutdown(db_backend_handle_t* backend_handle, db_backend_handle_shutdown_t shutdown_function); /** * Set the connect function of a database backend handle. @@ -288,7 +288,7 @@ * \param[in] connect_function a db_backend_handle_connect_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_connect(db_backend_handle_t* backend_handle, db_backend_handle_connect_t connect_function); +extern int db_backend_handle_set_connect(db_backend_handle_t* backend_handle, db_backend_handle_connect_t connect_function); /** * Set the disconnect function of a database backend handle. @@ -296,7 +296,7 @@ * \param[in] disconnect_function a db_backend_handle_disconnect_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_disconnect(db_backend_handle_t* backend_handle, db_backend_handle_disconnect_t disconnect_function); +extern int db_backend_handle_set_disconnect(db_backend_handle_t* backend_handle, db_backend_handle_disconnect_t disconnect_function); /** * Set the create function of a database backend handle. @@ -304,7 +304,7 @@ * \param[in] create_function a db_backend_handle_create_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_create(db_backend_handle_t* backend_handle, db_backend_handle_create_t create_function); +extern int db_backend_handle_set_create(db_backend_handle_t* backend_handle, db_backend_handle_create_t create_function); /** * Set the read function of a database backend handle. @@ -312,7 +312,7 @@ * \param[in] read_function a db_backend_handle_read_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_read(db_backend_handle_t* backend_handle, db_backend_handle_read_t read_function); +extern int db_backend_handle_set_read(db_backend_handle_t* backend_handle, db_backend_handle_read_t read_function); /** * Set the update function of a database backend handle. @@ -320,7 +320,7 @@ * \param[in] update_function a db_backend_handle_update_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_update(db_backend_handle_t* backend_handle, db_backend_handle_update_t update_function); +extern int db_backend_handle_set_update(db_backend_handle_t* backend_handle, db_backend_handle_update_t update_function); /** * Set the delete function of a database backend handle. @@ -328,7 +328,7 @@ * \param[in] delete_function a db_backend_handle_delete_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_delete(db_backend_handle_t* backend_handle, db_backend_handle_delete_t delete_function); +extern int db_backend_handle_set_delete(db_backend_handle_t* backend_handle, db_backend_handle_delete_t delete_function); /** * Set the count function of a database backend handle. @@ -336,7 +336,7 @@ * \param[in] count_function a db_backend_handle_count_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_count(db_backend_handle_t* backend_handle, db_backend_handle_count_t count_function); +extern int db_backend_handle_set_count(db_backend_handle_t* backend_handle, db_backend_handle_count_t count_function); /** * Set the free function of a database backend handle. @@ -344,7 +344,7 @@ * \param[in] free_function a db_backend_handle_free_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_free(db_backend_handle_t* backend_handle, db_backend_handle_free_t free_function); +extern int db_backend_handle_set_free(db_backend_handle_t* backend_handle, db_backend_handle_free_t free_function); /** * Set the transaction begin function of a database backend handle. @@ -352,7 +352,7 @@ * \param[in] transaction_begin_function a db_backend_handle_transaction_begin_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_transaction_begin(db_backend_handle_t* backend_handle, db_backend_handle_transaction_begin_t transaction_begin_function); +extern int db_backend_handle_set_transaction_begin(db_backend_handle_t* backend_handle, db_backend_handle_transaction_begin_t transaction_begin_function); /** * Set the transaction commit function of a database backend handle. @@ -360,7 +360,7 @@ * \param[in] transaction_commit_function a db_backend_handle_transaction_commit_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_transaction_commit(db_backend_handle_t* backend_handle, db_backend_handle_transaction_commit_t transaction_commit_function); +extern int db_backend_handle_set_transaction_commit(db_backend_handle_t* backend_handle, db_backend_handle_transaction_commit_t transaction_commit_function); /** * Set the transaction rollback function of a database backend handle. @@ -368,7 +368,7 @@ * \param[in] transaction_rollback_function a db_backend_handle_transaction_rollback_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_transaction_rollback(db_backend_handle_t* backend_handle, db_backend_handle_transaction_rollback_t transaction_rollback_function); +extern int db_backend_handle_set_transaction_rollback(db_backend_handle_t* backend_handle, db_backend_handle_transaction_rollback_t transaction_rollback_function); /** * Set the backend specific data of a database backend handle. @@ -376,7 +376,7 @@ * \param[in] data a void pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_handle_set_data(db_backend_handle_t* backend_handle, void* data); +extern int db_backend_handle_set_data(db_backend_handle_t* backend_handle, void* data); /** * A database backend. @@ -391,13 +391,13 @@ * Create a new database backend. * \return a db_backend_t pointer or NULL on error. */ -db_backend_t* db_backend_new(void); +extern db_backend_t* db_backend_new(void); /** * Delete a database backend. * \param[in] backend a db_backend_t pointer. */ -void db_backend_free(db_backend_t* backend); +extern void db_backend_free(db_backend_t* backend); /** * Get the database backend handle of a database backend. @@ -405,7 +405,7 @@ * \return a db_backend_handle_t pointer or NULL on error or if no database * backend handle has been set. */ -const db_backend_handle_t* db_backend_handle(const db_backend_t* backend); +extern const db_backend_handle_t* db_backend_handle(const db_backend_t* backend); /** * Set the name of a database backend. @@ -413,7 +413,7 @@ * \param[in] name a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_set_name(db_backend_t* backend, const char* name); +extern int db_backend_set_name(db_backend_t* backend, const char* name); /** * Det the database backend handle of a database backend, this takes over the @@ -422,14 +422,14 @@ * \param[in] handle a db_backend_handle_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_set_handle(db_backend_t* backend, db_backend_handle_t* handle); +extern int db_backend_set_handle(db_backend_t* backend, db_backend_handle_t* handle); /** * Initiate the backend of a database backend. * \param[in] backend a db_backend_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_initialize(const db_backend_t* backend); +extern int db_backend_initialize(const db_backend_t* backend); /** * Connect to the database of a database backend, the connection specific @@ -438,7 +438,7 @@ * \param[in] configuration_list a db_configuration_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_connect(const db_backend_t* backend, const db_configuration_list_t* configuration_list); +extern int db_backend_connect(const db_backend_t* backend, const db_configuration_list_t* configuration_list); /** * Create an object in the database. The `object` refer to the database object @@ -450,7 +450,7 @@ * \param[in] value_set a db_value_set_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_create(const db_backend_t* backend, const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set); +extern int db_backend_create(const db_backend_t* backend, const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set); /** * Read an object or objects from the database. @@ -461,7 +461,7 @@ * \return a db_result_list_t pointer or NULL on error or if no objects where * read. */ -db_result_list_t* db_backend_read(const db_backend_t* backend, const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list); +extern db_result_list_t* db_backend_read(const db_backend_t* backend, const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list); /** * Update an object or objects in the database. @@ -472,7 +472,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_update(const db_backend_t* backend, const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set, const db_clause_list_t* clause_list); +extern int db_backend_update(const db_backend_t* backend, const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set, const db_clause_list_t* clause_list); /** * Delete an object or objects from the database. @@ -481,7 +481,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_delete(const db_backend_t* backend, const db_object_t* object, const db_clause_list_t* clause_list); +extern int db_backend_delete(const db_backend_t* backend, const db_object_t* object, const db_clause_list_t* clause_list); /** * Count objects from the database. Return the count in `count`. @@ -492,7 +492,7 @@ * \param[out] count a size_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_backend_count(const db_backend_t* backend, const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list, size_t* count); +extern int db_backend_count(const db_backend_t* backend, const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list, size_t* count); /** * Get a new database backend by the name supplied in `name`. @@ -500,6 +500,6 @@ * \return a db_backend_t pointer or NULL on error or if the database backend * does not exist. */ -db_backend_t* db_backend_factory_get_backend(const char* name); +extern db_backend_t* db_backend_factory_get_backend(const char* name); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/db_backend_mysql.h opendnssec-2.1.6/enforcer/src/db/db_backend_mysql.h --- opendnssec-2.1.6-orig/enforcer/src/db/db_backend_mysql.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/db_backend_mysql.h 2020-02-18 23:08:38.109360617 -0500 @@ -40,6 +40,6 @@ * Create a new database backend handle for SQLite. * \return a db_backend_handle_t pointer or NULL on error. */ -db_backend_handle_t* db_backend_mysql_new_handle(void); +extern db_backend_handle_t* db_backend_mysql_new_handle(void); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/db_backend_sqlite.h opendnssec-2.1.6/enforcer/src/db/db_backend_sqlite.h --- opendnssec-2.1.6-orig/enforcer/src/db/db_backend_sqlite.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/db_backend_sqlite.h 2020-02-18 23:08:38.109360617 -0500 @@ -39,6 +39,6 @@ * Create a new database backend handle for SQLite. * \return a db_backend_handle_t pointer or NULL on error. */ -db_backend_handle_t* db_backend_sqlite_new_handle(void); +extern db_backend_handle_t* db_backend_sqlite_new_handle(void); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/db_clause.h opendnssec-2.1.6/enforcer/src/db/db_clause.h --- opendnssec-2.1.6-orig/enforcer/src/db/db_clause.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/db_clause.h 2020-02-18 23:08:38.110360631 -0500 @@ -129,41 +129,41 @@ * Create a new database clause. * \return a db_clause_t pointer or NULL on error. */ -db_clause_t* db_clause_new(void); +extern db_clause_t* db_clause_new(void); /** * Delete a database clause. * \param[in] clause a db_clause_t pointer. */ -void db_clause_free(db_clause_t* clause); +extern void db_clause_free(db_clause_t* clause); /** * Get the field name of a database clause. * \param[in] a db_clause_t pointer. * \return a character pointer or NULL on error or if no field name has been set. */ -const char* db_clause_field(const db_clause_t* clause); +extern const char* db_clause_field(const db_clause_t* clause); /** * Get the database clause type of a database clause. * \param[in] a db_clause_t pointer. * \return a db_clause_type_t. */ -db_clause_type_t db_clause_type(const db_clause_t* clause); +extern db_clause_type_t db_clause_type(const db_clause_t* clause); /** * Get the database value of a database value. * \param[in] a db_clause_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* db_clause_value(const db_clause_t* clause); +extern const db_value_t* db_clause_value(const db_clause_t* clause); /** * Get the database clause operator of a database clause. * \param[in] a db_clause_t pointer. * \return a db_clause_operator_t. */ -db_clause_operator_t db_clause_operator(const db_clause_t* clause); +extern db_clause_operator_t db_clause_operator(const db_clause_t* clause); /** * Get the database clause list of a database clause, this is used for nested @@ -172,7 +172,7 @@ * \return a db_clause_list_t pointer or NULL on error or if no database clause * list has been set. */ -const db_clause_list_t* db_clause_list(const db_clause_t* clause); +extern const db_clause_list_t* db_clause_list(const db_clause_t* clause); /** * Set the field name of a database clause. @@ -180,7 +180,7 @@ * \param[in] field a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_clause_set_field(db_clause_t* clause, const char* field); +extern int db_clause_set_field(db_clause_t* clause, const char* field); /** * Set the database clause type of a database clause. @@ -188,7 +188,7 @@ * \param[in] type a db_clause_type_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_clause_set_type(db_clause_t* clause, db_clause_type_t type); +extern int db_clause_set_type(db_clause_t* clause, db_clause_type_t type); /** * Set the database clause operator of a database clause. @@ -196,14 +196,14 @@ * \param[in] clause_operator a db_clause_operator_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_clause_set_operator(db_clause_t* clause, db_clause_operator_t clause_operator); +extern int db_clause_set_operator(db_clause_t* clause, db_clause_operator_t clause_operator); /** * Check if the database clause is not empty. * \param[in] a db_clause_t pointer. * \return DB_ERROR_* if empty, otherwise DB_OK. */ -int db_clause_not_empty(const db_clause_t* clause); +extern int db_clause_not_empty(const db_clause_t* clause); /** * Return the next database clause connected in a database clause list. @@ -211,14 +211,14 @@ * \return a db_clause_t pointer or NULL on error or if there are no more * database clauses in the list. */ -const db_clause_t* db_clause_next(const db_clause_t* clause); +extern const db_clause_t* db_clause_next(const db_clause_t* clause); /** * Get the writable database value of a database clause. * \param[in] a db_clause_t pointer. * \return a db_value_t pointer or NULL on error. */ -db_value_t* db_clause_get_value(db_clause_t* clause); +extern db_value_t* db_clause_get_value(db_clause_t* clause); /** * A list of database clauses. @@ -232,13 +232,13 @@ * Create a new database clause list. * \return a db_clause_list_t pointer or NULL on error. */ -db_clause_list_t* db_clause_list_new(void); +extern db_clause_list_t* db_clause_list_new(void); /** * Delete a database clause list and all database clauses in the list. * \param[in] clause_list a db_clause_list_t pointer. */ -void db_clause_list_free(db_clause_list_t* clause_list); +extern void db_clause_list_free(db_clause_list_t* clause_list); /** * Add a database clause to a database clause list, this takes over the @@ -247,13 +247,13 @@ * \param[in] a db_clause_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_clause_list_add(db_clause_list_t* clause_list, db_clause_t* clause); +extern int db_clause_list_add(db_clause_list_t* clause_list, db_clause_t* clause); /** * Return the first database clause of a database clause list. * \param[in] clause_list a db_clause_list_t pointer. * \return a db_clause_t pointer or NULL on error or if the list is empty. */ -const db_clause_t* db_clause_list_begin(const db_clause_list_t* clause_list); +extern const db_clause_t* db_clause_list_begin(const db_clause_list_t* clause_list); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/db_configuration.h opendnssec-2.1.6/enforcer/src/db/db_configuration.h --- opendnssec-2.1.6-orig/enforcer/src/db/db_configuration.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/db_configuration.h 2020-02-18 23:08:38.110360631 -0500 @@ -48,13 +48,13 @@ * Create a new database configuration. * \return a db_configuration_t pointer or NULL on error. */ -db_configuration_t* db_configuration_new(void); +extern db_configuration_t* db_configuration_new(void); /** * Delete a database configuration. * \param[in] configuration a db_configuration_t pointer. */ -void db_configuration_free(db_configuration_t* configuration); +extern void db_configuration_free(db_configuration_t* configuration); /** * Get the value of a database configuration. @@ -62,7 +62,7 @@ * \return a character pointer or NULL on error or if no database configuration * value has been set. */ -const char* db_configuration_value(const db_configuration_t* configuration); +extern const char* db_configuration_value(const db_configuration_t* configuration); /** * Set the name of a database configuration. @@ -70,7 +70,7 @@ * \param[in] name a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_configuration_set_name(db_configuration_t* configuration, const char* name); +extern int db_configuration_set_name(db_configuration_t* configuration, const char* name); /** * Set the value of a database configuration. @@ -78,14 +78,14 @@ * \param[in] value a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_configuration_set_value(db_configuration_t* configuration, const char* value); +extern int db_configuration_set_value(db_configuration_t* configuration, const char* value); /** * Check if the database configuration is not empty. * \param[in] configuration a db_configuration_t pointer. * \return DB_ERROR_* if empty, otherwise DB_OK. */ -int db_configuration_not_empty(const db_configuration_t* configuration); +extern int db_configuration_not_empty(const db_configuration_t* configuration); /** * A list of database configurations. @@ -99,14 +99,14 @@ * Create a new database configuration list. * \return a db_configuration_list_t pointer or NULL on error. */ -db_configuration_list_t* db_configuration_list_new(void); +extern db_configuration_list_t* db_configuration_list_new(void); /** * Delete a database configuration list and all database configurations in the * list. * \param[in] configuration_list a db_configuration_list_t pointer. */ -void db_configuration_list_free(db_configuration_list_t* configuration_list); +extern void db_configuration_list_free(db_configuration_list_t* configuration_list); /** * free global allocator. @@ -119,7 +119,7 @@ * \param[in] configuration a db_configuration_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_configuration_list_add(db_configuration_list_t* configuration_list, db_configuration_t* configuration); +extern int db_configuration_list_add(db_configuration_list_t* configuration_list, db_configuration_t* configuration); /** * Find a database configuration by name within a database configuration list. @@ -128,6 +128,6 @@ * \return a db_configuration_t pointer or NULL on error or if the database * configuration does not exist. */ -const db_configuration_t* db_configuration_list_find(const db_configuration_list_t* configuration_list, const char* name); +extern const db_configuration_t* db_configuration_list_find(const db_configuration_list_t* configuration_list, const char* name); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/db_connection.h opendnssec-2.1.6/enforcer/src/db/db_connection.h --- opendnssec-2.1.6-orig/enforcer/src/db/db_connection.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/db_connection.h 2020-02-18 23:08:38.110360631 -0500 @@ -52,13 +52,13 @@ * Create a new database connection. * \return a db_connection_t pointer or NULL on error. */ -db_connection_t* db_connection_new(void); +extern db_connection_t* db_connection_new(void); /** * Delete a database connection and the database backend within. * \param[in] connection a db_connection_t pointer. */ -void db_connection_free(db_connection_t* connection); +extern void db_connection_free(db_connection_t* connection); /** * Set the database configuration list for a database connection. @@ -66,7 +66,7 @@ * \param[in] configuration_list a db_configuration_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_connection_set_configuration_list(db_connection_t* connection, const db_configuration_list_t* configuration_list); +extern int db_connection_set_configuration_list(db_connection_t* connection, const db_configuration_list_t* configuration_list); /** * Setup the database connection, this verifies the information in the database @@ -74,14 +74,14 @@ * \param[in] connection a db_connection_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_connection_setup(db_connection_t* connection); +extern int db_connection_setup(db_connection_t* connection); /** * Connect to the database. * \param[in] connection a db_connection_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_connection_connect(const db_connection_t* connection); +extern int db_connection_connect(const db_connection_t* connection); /** * Create an object in the database. The `object` refer to the database object @@ -93,7 +93,7 @@ * \param[in] value_set a db_value_set_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_connection_create(const db_connection_t* connection, const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set); +extern int db_connection_create(const db_connection_t* connection, const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set); /** * Read an object or objects from the database. @@ -104,7 +104,7 @@ * \return a db_result_list_t pointer or NULL on error or if no objects where * read. */ -db_result_list_t* db_connection_read(const db_connection_t* connection, const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list); +extern db_result_list_t* db_connection_read(const db_connection_t* connection, const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list); /** * Update an object or objects in the database. @@ -115,7 +115,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_connection_update(const db_connection_t* connection, const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set, const db_clause_list_t* clause_list); +extern int db_connection_update(const db_connection_t* connection, const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set, const db_clause_list_t* clause_list); /** * Delete an object or objects from the database. @@ -124,7 +124,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_connection_delete(const db_connection_t* connection, const db_object_t* object, const db_clause_list_t* clause_list); +extern int db_connection_delete(const db_connection_t* connection, const db_object_t* object, const db_clause_list_t* clause_list); /** * Count objects from the database. Return the count in `count`. @@ -135,6 +135,6 @@ * \param[out] count a size_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_connection_count(const db_connection_t* connection, const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list, size_t* count); +extern int db_connection_count(const db_connection_t* connection, const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list, size_t* count); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/db_join.h opendnssec-2.1.6/enforcer/src/db/db_join.h --- opendnssec-2.1.6-orig/enforcer/src/db/db_join.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/db_join.h 2020-02-18 23:08:38.110360631 -0500 @@ -54,7 +54,7 @@ * \return a character pointer or NULL on error or if no from table name has * been set. */ -const char* db_join_from_table(const db_join_t* join); +extern const char* db_join_from_table(const db_join_t* join); /** * Get the from field name of a database join. @@ -62,7 +62,7 @@ * \return a character pointer or NULL on error or if no from field name has * been set. */ -const char* db_join_from_field(const db_join_t* join); +extern const char* db_join_from_field(const db_join_t* join); /** * Get the to table name of a database join. @@ -70,7 +70,7 @@ * \return a character pointer or NULL on error or if no to table name has been * set. */ -const char* db_join_to_table(const db_join_t* join); +extern const char* db_join_to_table(const db_join_t* join); /** * Get the to field name of a database join. @@ -78,7 +78,7 @@ * \return a character pointer or NULL on error or if no to field name has been * set. */ -const char* db_join_to_field(const db_join_t* join); +extern const char* db_join_to_field(const db_join_t* join); /** * Get the next database join connected in a database join list. @@ -86,7 +86,7 @@ * \return a db_join_t pointer or NULL on error or if there are no more database * joins in the list. */ -const db_join_t* db_join_next(const db_join_t* join); +extern const db_join_t* db_join_next(const db_join_t* join); /** * A list of database joins. @@ -101,6 +101,6 @@ * \param[in] join_list a db_join_list_t pointer. * \return a db_join_t pointer or NULL on error or if the list is empty. */ -const db_join_t* db_join_list_begin(const db_join_list_t* join_list); +extern const db_join_t* db_join_list_begin(const db_join_list_t* join_list); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/db_object.h opendnssec-2.1.6/enforcer/src/db/db_object.h --- opendnssec-2.1.6-orig/enforcer/src/db/db_object.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/db_object.h 2020-02-18 23:08:38.110360631 -0500 @@ -60,20 +60,20 @@ * Create a database object field. * \return a db_object_field_t pointer or NULL on error. */ -db_object_field_t* db_object_field_new(void); +extern db_object_field_t* db_object_field_new(void); /** * Create a database object field that is a copy of another. * \param[in] from_object_field a db_object_field_t pointer. * \return a db_object_field_t pointer or NULL on error. */ -db_object_field_t* db_object_field_new_copy(const db_object_field_t* from_object_field); +extern db_object_field_t* db_object_field_new_copy(const db_object_field_t* from_object_field); /** * Delete a database object field. * \param[in] object_field a db_object_field_t pointer. */ -void db_object_field_free(db_object_field_t* object_field); +extern void db_object_field_free(db_object_field_t* object_field); /** * Copy the content of a database object field. @@ -81,21 +81,21 @@ * \param[in] from_object_field a db_object_field_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_field_copy(db_object_field_t* object_field, const db_object_field_t* from_object_field); +extern int db_object_field_copy(db_object_field_t* object_field, const db_object_field_t* from_object_field); /** * Get the name of a database object field. * \param[in] object_field a db_object_field_t pointer. * \return a character pointer or NULL on error or if no field name has been set. */ -const char* db_object_field_name(const db_object_field_t* object_field); +extern const char* db_object_field_name(const db_object_field_t* object_field); /** * Get the type of a database object field. * \param[in] object_field a db_object_field_t pointer. * \return a db_type_t. */ -db_type_t db_object_field_type(const db_object_field_t* object_field); +extern db_type_t db_object_field_type(const db_object_field_t* object_field); /** * Set the name of a database object field. @@ -103,7 +103,7 @@ * \param[in] name a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_field_set_name(db_object_field_t* object_field, const char* name); +extern int db_object_field_set_name(db_object_field_t* object_field, const char* name); /** * Set the type of a database object field. @@ -111,7 +111,7 @@ * \param[in] type a db_type_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_field_set_type(db_object_field_t* object_field, db_type_t type); +extern int db_object_field_set_type(db_object_field_t* object_field, db_type_t type); /** * Set the enumerate set of a database object field. @@ -119,14 +119,14 @@ * \param[in] enum_set a NULL terminated db_enum_t list. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_field_set_enum_set(db_object_field_t* object_field, const db_enum_t* enum_set); +extern int db_object_field_set_enum_set(db_object_field_t* object_field, const db_enum_t* enum_set); /** * Check if the object field is not empty. * \param[in] object_field a db_object_field_t pointer. * \return DB_ERROR_* if empty, otherwise DB_OK. */ -int db_object_field_not_empty(const db_object_field_t* object_field); +extern int db_object_field_not_empty(const db_object_field_t* object_field); /** * Get the next object field connected in a database object field list. @@ -134,7 +134,7 @@ * \return a db_object_field_t pointer or NULL on error or if there are no more * object fields in the list. */ -const db_object_field_t* db_object_field_next(const db_object_field_t* object_field); +extern const db_object_field_t* db_object_field_next(const db_object_field_t* object_field); /** * A list of object fields. @@ -149,20 +149,20 @@ * Create a new object field list. * \return a db_object_field_list_t pointer or NULL on error. */ -db_object_field_list_t* db_object_field_list_new(void); +extern db_object_field_list_t* db_object_field_list_new(void); /** * Create a new object field list that is a copy of another. * \param[in] from_object_field_list a db_object_field_list_t pointer. * \return a db_object_field_list_t pointer or NULL on error. */ -db_object_field_list_t* db_object_field_list_new_copy(const db_object_field_list_t* from_object_field_list); +extern db_object_field_list_t* db_object_field_list_new_copy(const db_object_field_list_t* from_object_field_list); /** * Delete a object field list and all object fields within the list. * \param[in] object_field_list a db_object_field_list_t pointer. */ -void db_object_field_list_free(db_object_field_list_t* object_field_list); +extern void db_object_field_list_free(db_object_field_list_t* object_field_list); /** * Copy the content of a database object field list. @@ -170,7 +170,7 @@ * \param[in] from_object_field_list a db_object_field_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_field_list_copy(db_object_field_list_t* object_field_list, const db_object_field_list_t* from_object_field_list); +extern int db_object_field_list_copy(db_object_field_list_t* object_field_list, const db_object_field_list_t* from_object_field_list); /** * Add a database object field to a database object field list, this will takes @@ -179,21 +179,21 @@ * \param[in] object_field a db_object_field_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_field_list_add(db_object_field_list_t* object_field_list, db_object_field_t* object_field); +extern int db_object_field_list_add(db_object_field_list_t* object_field_list, db_object_field_t* object_field); /** * Return the first database object field in a database object field list. * \param[in] object_field_list a db_object_field_list_t pointer. * \return a db_object_field_t pointer or NULL on error or if the list is empty. */ -const db_object_field_t* db_object_field_list_begin(const db_object_field_list_t* object_field_list); +extern const db_object_field_t* db_object_field_list_begin(const db_object_field_list_t* object_field_list); /** * Return the size of a object field list. * \param[in] object_field_list a db_object_field_list_t pointer. * \return a size_t, may be zero on error. */ -size_t db_object_field_list_size(const db_object_field_list_t* object_field_list); +extern size_t db_object_field_list_size(const db_object_field_list_t* object_field_list); /** * A database object. @@ -209,14 +209,14 @@ * Create a new database object. * \return a db_object_t pointer or NULL on error. */ -db_object_t* db_object_new(void); +extern db_object_t* db_object_new(void); /** * Delete a database object and the object field list and backend meta data list * if set. * \param[in] object a db_object_t pointer. */ -void db_object_free(db_object_t* object); +extern void db_object_free(db_object_t* object); /** * Get the database connection of a database object. @@ -224,7 +224,7 @@ * \return a db_connection_t pointer or NULL on error or if no connection has * been set. */ -const db_connection_t* db_object_connection(const db_object_t* object); +extern const db_connection_t* db_object_connection(const db_object_t* object); /** * Get the table name of a database object. @@ -232,7 +232,7 @@ * \return a character pointer or NULL on error or if no table name has been * set. */ -const char* db_object_table(const db_object_t* object); +extern const char* db_object_table(const db_object_t* object); /** * Get the object field list of a database object. @@ -240,7 +240,7 @@ * \return a db_object_field_list_t pointer or NULL on error or if no object * field list has been set. */ -const db_object_field_list_t* db_object_object_field_list(const db_object_t* object); +extern const db_object_field_list_t* db_object_object_field_list(const db_object_t* object); /** * Set the database connection of a database object. @@ -248,7 +248,7 @@ * \param[in] connection a db_connection_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_set_connection(db_object_t* object, const db_connection_t* connection); +extern int db_object_set_connection(db_object_t* object, const db_connection_t* connection); /** * Set the table name of a database object. @@ -256,7 +256,7 @@ * \param[in] table a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_set_table(db_object_t* object, const char* table); +extern int db_object_set_table(db_object_t* object, const char* table); /** * Set the primary key name of a database object. @@ -264,7 +264,7 @@ * \param[in] primary_key_name a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_set_primary_key_name(db_object_t* object, const char* primary_key_name); +extern int db_object_set_primary_key_name(db_object_t* object, const char* primary_key_name); /** * Set the object field list of a database object, this takes over the ownership @@ -273,7 +273,7 @@ * \param[in] object_field_list a db_object_field_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_set_object_field_list(db_object_t* object, db_object_field_list_t* object_field_list); +extern int db_object_set_object_field_list(db_object_t* object, db_object_field_list_t* object_field_list); /** * Create an object in the database. The `object_field_list` describes the @@ -284,7 +284,7 @@ * \param[in] value_set a db_value_set_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_create(const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set); +extern int db_object_create(const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set); /** * Read an object or objects from the database. @@ -294,7 +294,7 @@ * \return a db_result_list_t pointer or NULL on error or if no objects where * read. */ -db_result_list_t* db_object_read(const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list); +extern db_result_list_t* db_object_read(const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list); /** * Update an object or objects in the database. @@ -304,7 +304,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_update(const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set, const db_clause_list_t* clause_list); +extern int db_object_update(const db_object_t* object, const db_object_field_list_t* object_field_list, const db_value_set_t* value_set, const db_clause_list_t* clause_list); /** * Delete an object or objects from the database. @@ -312,7 +312,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_delete(const db_object_t* object, const db_clause_list_t* clause_list); +extern int db_object_delete(const db_object_t* object, const db_clause_list_t* clause_list); /** * Count objects from the database. Return the count in `count`. @@ -322,6 +322,6 @@ * \param[out] count a size_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_object_count(const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list, size_t* count); +extern int db_object_count(const db_object_t* object, const db_join_list_t* join_list, const db_clause_list_t* clause_list, size_t* count); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/db_result.h opendnssec-2.1.6/enforcer/src/db/db_result.h --- opendnssec-2.1.6-orig/enforcer/src/db/db_result.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/db_result.h 2020-02-18 23:08:38.110360631 -0500 @@ -62,20 +62,20 @@ * Create a new database result. * \return a db_result_t pointer or NULL on error. */ -db_result_t* db_result_new(void); +extern db_result_t* db_result_new(void); /** * Create a new database result that is a copy of another. * \param[in] from_result a db_result_t pointer. * \return a db_result_t pointer or NULL on error. */ -db_result_t* db_result_new_copy(const db_result_t* from_result); +extern db_result_t* db_result_new_copy(const db_result_t* from_result); /** * Delete a database result and the backend meta data list if set. * \param[in] result a db_result_t pointer. */ -void db_result_free(db_result_t* result); +extern void db_result_free(db_result_t* result); /** * Copy the content of another database result. @@ -83,7 +83,7 @@ * \param[in] from_result a db_result_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_result_copy(db_result_t* result, const db_result_t* from_result); +extern int db_result_copy(db_result_t* result, const db_result_t* from_result); /** * Get the value set of a database result. @@ -91,7 +91,7 @@ * \return a db_value_set_t pointer or NULL on error or if no value set has * been set. */ -const db_value_set_t* db_result_value_set(const db_result_t* result); +extern const db_value_set_t* db_result_value_set(const db_result_t* result); /** * Set the value set of a database result. @@ -99,14 +99,14 @@ * \param[in] value_set a db_value_set_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_result_set_value_set(db_result_t* result, db_value_set_t* value_set); +extern int db_result_set_value_set(db_result_t* result, db_value_set_t* value_set); /** * Check if a database result is not empty. * \param[in] result a db_result_t pointer. * \return DB_ERROR_* if empty, otherwise DB_OK. */ -int db_result_not_empty(const db_result_t* result); +extern int db_result_not_empty(const db_result_t* result); /** * A list of database results. @@ -125,20 +125,20 @@ * Create a new database result list. * \return a db_result_list_t pointer or NULL on error. */ -db_result_list_t* db_result_list_new(void); +extern db_result_list_t* db_result_list_new(void); /** * Create a new database result list that is a copy of another. * \param[in] from_result_list a db_result_list_t pointer. * \return a db_result_list_t pointer or NULL on error. */ -db_result_list_t* db_result_list_new_copy(const db_result_list_t* from_result_list); +extern db_result_list_t* db_result_list_new_copy(const db_result_list_t* from_result_list); /** * Delete a database result list and all database results within the list. * \param[in] result_list a db_result_list_t pointer. */ -void db_result_list_free(db_result_list_t* result_list); +extern void db_result_list_free(db_result_list_t* result_list); /** * free global allocator. @@ -149,7 +149,7 @@ * \param[in] result_list a db_result_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_result_list_copy(db_result_list_t* result_list, const db_result_list_t* from_result_list); +extern int db_result_list_copy(db_result_list_t* result_list, const db_result_list_t* from_result_list); /** * Set the function pointer for fetching the next database result for a database @@ -161,7 +161,7 @@ * \param[in] size a size_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_result_list_set_next(db_result_list_t* result_list, db_result_list_next_t next_function, void* next_data, size_t size); +extern int db_result_list_set_next(db_result_list_t* result_list, db_result_list_next_t next_function, void* next_data, size_t size); /** * Add a database result to a database result list, this will takes over the @@ -170,7 +170,7 @@ * \param[in] result a db_result_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_result_list_add(db_result_list_t* result_list, db_result_t* result); +extern int db_result_list_add(db_result_list_t* result_list, db_result_t* result); /** * Return the first database result in a database result list and reset the @@ -178,7 +178,7 @@ * \param[in] result_list a db_result_list_t pointer. * \return a db_result_t pointer or NULL on error or if the list is empty. */ -const db_result_t* db_result_list_begin(db_result_list_t* result_list); +extern const db_result_t* db_result_list_begin(db_result_list_t* result_list); /** * Return the next database result in a database result list. @@ -186,7 +186,7 @@ * \return a db_result_t pointer or NULL on error or if the end of the list has * been reached. */ -const db_result_t* db_result_list_next(db_result_list_t* result_list); +extern const db_result_t* db_result_list_next(db_result_list_t* result_list); /** * Return the size of the database result list. @@ -195,7 +195,7 @@ * , if the database result list is empty or if the backend does not support * returning the size. */ -size_t db_result_list_size(const db_result_list_t* result_list); +extern size_t db_result_list_size(const db_result_list_t* result_list); /** * Make sure that all objects in this database result list is loaded into memory @@ -204,6 +204,6 @@ * \param[in] result_list a db_result_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_result_list_fetch_all(db_result_list_t* result_list); +extern int db_result_list_fetch_all(db_result_list_t* result_list); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/db_value.h opendnssec-2.1.6/enforcer/src/db/db_value.h --- opendnssec-2.1.6-orig/enforcer/src/db/db_value.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/db_value.h 2020-02-18 23:08:38.111360644 -0500 @@ -63,19 +63,19 @@ * Create a new database value. * \return a db_value_t pointer or NULL on error. */ -db_value_t* db_value_new(void); +extern db_value_t* db_value_new(void); /** * Delete a database value. * \param[in] value a db_value_t pointer. */ -void db_value_free(db_value_t* value); +extern void db_value_free(db_value_t* value); /** * Reset a database value, releasing all interal resources and marking it empty. * \param[in] value a db_value_t pointer. */ -void db_value_reset(db_value_t* value); +extern void db_value_reset(db_value_t* value); /** * Copy the contant from one database value into another. @@ -83,7 +83,7 @@ * \param[in] from_value a db_value_t pointer to copy from. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_copy(db_value_t* value, const db_value_t* from_value); +extern int db_value_copy(db_value_t* value, const db_value_t* from_value); /** * Compare two database values A and B. Sets `result` with less than, equal to, @@ -94,14 +94,14 @@ * \param[out] result an integer pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_cmp(const db_value_t* value_a, const db_value_t* value_b, int* result); +extern int db_value_cmp(const db_value_t* value_a, const db_value_t* value_b, int* result); /** * Get the type of a database value. * \param[in] value a db_value_t pointer. * \return a db_type_t. */ -db_type_t db_value_type(const db_value_t* value); +extern db_type_t db_value_type(const db_value_t* value); /** * Get a pointer for the 32bit integer in a database value. @@ -110,7 +110,7 @@ * integer value. * TODO: unit test */ -const db_type_int32_t* db_value_int32(const db_value_t* value); +extern const db_type_int32_t* db_value_int32(const db_value_t* value); /** * Get a pointer for the unsigned 32bit integer in a database value. @@ -119,7 +119,7 @@ * unsigned 32bit integer value. * TODO: unit test */ -const db_type_uint32_t* db_value_uint32(const db_value_t* value); +extern const db_type_uint32_t* db_value_uint32(const db_value_t* value); /** * Get a pointer for the 64bit integer in a database value. @@ -128,7 +128,7 @@ * integer value. * TODO: unit test */ -const db_type_int64_t* db_value_int64(const db_value_t* value); +extern const db_type_int64_t* db_value_int64(const db_value_t* value); /** * Get a pointer for the unsigned 64bit integer in a database value. @@ -137,14 +137,14 @@ * unsigned 64bit integer value. * TODO: unit test */ -const db_type_uint64_t* db_value_uint64(const db_value_t* value); +extern const db_type_uint64_t* db_value_uint64(const db_value_t* value); /** * Get a character pointer for the text in a database value. * \param[in] value a db_value_t pointer. * \return a character pointer or NULL on error, if empty or not a text value. */ -const char* db_value_text(const db_value_t* value); +extern const char* db_value_text(const db_value_t* value); /** * Sets `enum_value` with the integer value of an enumeration database value. @@ -152,14 +152,14 @@ * \param[out] enum_value an integer pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_enum_value(const db_value_t* value, int* enum_value); +extern int db_value_enum_value(const db_value_t* value, int* enum_value); /** * Check if a database value is not empty. * \param[in] value a db_value_t pointer. * \return DB_ERROR_* if empty, otherwise DB_OK. */ -int db_value_not_empty(const db_value_t* value); +extern int db_value_not_empty(const db_value_t* value); /** * Get the 32bit integer representation of the database value. @@ -167,7 +167,7 @@ * \param[out] to_int32 a db_type_int32_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_to_int32(const db_value_t* value, db_type_int32_t* to_int32); +extern int db_value_to_int32(const db_value_t* value, db_type_int32_t* to_int32); /** * Get the unsigned 32bit integer representation of the database value. @@ -175,7 +175,7 @@ * \param[out] to_uint32 a db_type_uint32_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_to_uint32(const db_value_t* value, db_type_uint32_t* to_uint32); +extern int db_value_to_uint32(const db_value_t* value, db_type_uint32_t* to_uint32); /** * Get the 64bit integer representation of the database value. @@ -183,7 +183,7 @@ * \param[out] to_int64 a db_type_int64_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_to_int64(const db_value_t* value, db_type_int64_t* to_int64); +extern int db_value_to_int64(const db_value_t* value, db_type_int64_t* to_int64); /** * Get the unsigned 64bit integer representation of the database value. @@ -191,7 +191,7 @@ * \param[out] to_uint64 a db_type_uint64_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_to_uint64(const db_value_t* value, db_type_uint64_t* to_uint64); +extern int db_value_to_uint64(const db_value_t* value, db_type_uint64_t* to_uint64); /** * Get the character representation of the database value. @@ -199,7 +199,7 @@ * \param[out] to_text a character pointer pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_to_text(const db_value_t* value, char** to_text); +extern int db_value_to_text(const db_value_t* value, char** to_text); /** * Get the integer enumeration representation of the database value. @@ -208,7 +208,7 @@ * \param[in] enum_set a db_enum_t array that MUST end with NULL. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_to_enum_value(const db_value_t* value, int* to_int, const db_enum_t* enum_set); +extern int db_value_to_enum_value(const db_value_t* value, int* to_int, const db_enum_t* enum_set); /** * Set the database value to a 32bit integer value. @@ -216,7 +216,7 @@ * \param[in] from_int32 a db_type_int32_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_from_int32(db_value_t* value, db_type_int32_t from_int32); +extern int db_value_from_int32(db_value_t* value, db_type_int32_t from_int32); /** * Set the database value to an unsigned 32bit integer value. @@ -224,7 +224,7 @@ * \param[in] from_uint32 a db_type_uint32_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_from_uint32(db_value_t* value, db_type_uint32_t from_uint32); +extern int db_value_from_uint32(db_value_t* value, db_type_uint32_t from_uint32); /** * Set the database value to a 64bit integer value. @@ -232,7 +232,7 @@ * \param[in] from_int64 a db_type_int64_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_from_int64(db_value_t* value, db_type_int64_t from_int64); +extern int db_value_from_int64(db_value_t* value, db_type_int64_t from_int64); /** * Set the database value to an unsigned 64bit integer value. @@ -240,7 +240,7 @@ * \param[in] from_uint64 a db_type_uint64_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_from_uint64(db_value_t* value, db_type_uint64_t from_uint64); +extern int db_value_from_uint64(db_value_t* value, db_type_uint64_t from_uint64); /** * Set the database value to a text value. @@ -248,7 +248,7 @@ * \param[in] from_text a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_from_text(db_value_t* value, const char* from_text); +extern int db_value_from_text(db_value_t* value, const char* from_text); /** * Set the database value to a text value. @@ -257,7 +257,7 @@ * \param[in] size a size_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_from_text2(db_value_t* value, const char* from_text, size_t size); +extern int db_value_from_text2(db_value_t* value, const char* from_text, size_t size); /** * Set the database value to an enumeration value based on an integer value. @@ -266,14 +266,14 @@ * \param[in] enum_set a db_enum_t array that MUST end with NULL. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_from_enum_value(db_value_t* value, int enum_value, const db_enum_t* enum_set); +extern int db_value_from_enum_value(db_value_t* value, int enum_value, const db_enum_t* enum_set); /** * Mark the database as a primary key. * \param[in] value a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int db_value_set_primary_key(db_value_t* value); +extern int db_value_set_primary_key(db_value_t* value); /** * A container for a fixed set of database values. @@ -288,27 +288,27 @@ * \param[in] size a size_t. * \return a db_value_set_t pointer or NULL on error. */ -db_value_set_t* db_value_set_new(size_t size); +extern db_value_set_t* db_value_set_new(size_t size); /** * Create a new set of database value that is a copy of another. * \param[in] from_value_set a db_value_set_t pointer. * \return a db_value_set_t pointer or NULL on error. */ -db_value_set_t* db_value_set_new_copy(const db_value_set_t* from_value_set); +extern db_value_set_t* db_value_set_new_copy(const db_value_set_t* from_value_set); /** * Delete a database value set and all values within the set. * \param[in] value_set a db_value_set_t pointer. */ -void db_value_set_free(db_value_set_t* value_set); +extern void db_value_set_free(db_value_set_t* value_set); /** * Get the size of database value set. * \param[in] value_set a db_value_set_t pointer. * \return a size_t. */ -size_t db_value_set_size(const db_value_set_t* value_set); +extern size_t db_value_set_size(const db_value_set_t* value_set); /** * Get a read only database value at a position in a database value set. @@ -316,7 +316,7 @@ * \param[in] at a size_t. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* db_value_set_at(const db_value_set_t* value_set, size_t at); +extern const db_value_t* db_value_set_at(const db_value_set_t* value_set, size_t at); /** * Get a writable database value at a position in a database value set. @@ -324,6 +324,6 @@ * \param[in] at a size_t. * \return a db_value_t pointer or NULL on error. */ -db_value_t* db_value_set_get(db_value_set_t* value_set, size_t at); +extern db_value_t* db_value_set_get(db_value_set_t* value_set, size_t at); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/hsm_key_ext.h opendnssec-2.1.6/enforcer/src/db/hsm_key_ext.h --- opendnssec-2.1.6-orig/enforcer/src/db/hsm_key_ext.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/hsm_key_ext.h 2020-02-18 23:08:38.111360644 -0500 @@ -35,13 +35,13 @@ /** * Return the human readable backup state of hsm_key as static string. */ -char const * +extern char const * hsm_key_to_backup_state(hsm_key_t const *hsm_key); /** * Get all HSM keys for policy/algorithm/bits/repository. * NULL on failure */ -hsm_key_list_t* hsm_key_list_new_get_by_policy_key(const policy_key_t *pkey); +extern hsm_key_list_t* hsm_key_list_new_get_by_policy_key(const policy_key_t *pkey); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/hsm_key.h opendnssec-2.1.6/enforcer/src/db/hsm_key.h --- opendnssec-2.1.6-orig/enforcer/src/db/hsm_key.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/hsm_key.h 2020-02-18 23:08:38.111360644 -0500 @@ -98,20 +98,20 @@ * \param[in] connection a db_connection_t pointer. * \return a hsm_key_t pointer or NULL on error. */ -hsm_key_t* hsm_key_new(const db_connection_t* connection); +extern hsm_key_t* hsm_key_new(const db_connection_t* connection); /** * Create a new hsm key object that is a copy of another hsm key object. * \param[in] hsm_key a hsm_key_t pointer. * \return a hsm_key_t pointer or NULL on error. */ -hsm_key_t* hsm_key_new_copy(const hsm_key_t* hsm_key); +extern hsm_key_t* hsm_key_new_copy(const hsm_key_t* hsm_key); /** * Delete a hsm key object, this does not delete it from the database. * \param[in] hsm_key a hsm_key_t pointer. */ -void hsm_key_free(hsm_key_t* hsm_key); +extern void hsm_key_free(hsm_key_t* hsm_key); /** * Copy the content of a hsm key object. @@ -119,7 +119,7 @@ * \param[in] hsm_key_copy a hsm_key_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_copy(hsm_key_t* hsm_key, const hsm_key_t* hsm_key_copy); +extern int hsm_key_copy(hsm_key_t* hsm_key, const hsm_key_t* hsm_key_copy); /** * Set the content of a hsm key object based on a database result. @@ -127,77 +127,77 @@ * \param[in] result a db_result_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_from_result(hsm_key_t* hsm_key, const db_result_t* result); +extern int hsm_key_from_result(hsm_key_t* hsm_key, const db_result_t* result); /** * Get the id of a hsm key object. * \param[in] hsm_key a hsm_key_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* hsm_key_id(const hsm_key_t* hsm_key); +extern const db_value_t* hsm_key_id(const hsm_key_t* hsm_key); /** * Get the policy_id of a hsm key object. * \param[in] hsm_key a hsm_key_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* hsm_key_policy_id(const hsm_key_t* hsm_key); +extern const db_value_t* hsm_key_policy_id(const hsm_key_t* hsm_key); /** * Get the locator of a hsm key object. * \param[in] hsm_key a hsm_key_t pointer. * \return a character pointer or NULL on error or if no locator has been set. */ -const char* hsm_key_locator(const hsm_key_t* hsm_key); +extern const char* hsm_key_locator(const hsm_key_t* hsm_key); /** * Get the state of a hsm key object. * \param[in] hsm_key a hsm_key_t pointer. * \return a hsm_key_state_t which may be HSM_KEY_STATE_INVALID on error or if no state has been set. */ -hsm_key_state_t hsm_key_state(const hsm_key_t* hsm_key); +extern hsm_key_state_t hsm_key_state(const hsm_key_t* hsm_key); /** * Get the bits of a hsm key object. Undefined behavior if `hsm_key` is NULL. * \param[in] hsm_key a hsm_key_t pointer. * \return an unsigned integer. */ -unsigned int hsm_key_bits(const hsm_key_t* hsm_key); +extern unsigned int hsm_key_bits(const hsm_key_t* hsm_key); /** * Get the algorithm of a hsm key object. Undefined behavior if `hsm_key` is NULL. * \param[in] hsm_key a hsm_key_t pointer. * \return an unsigned integer. */ -unsigned int hsm_key_algorithm(const hsm_key_t* hsm_key); +extern unsigned int hsm_key_algorithm(const hsm_key_t* hsm_key); /** * Get the role of a hsm key object. * \param[in] hsm_key a hsm_key_t pointer. * \return a hsm_key_role_t which may be HSM_KEY_ROLE_INVALID on error or if no role has been set. */ -hsm_key_role_t hsm_key_role(const hsm_key_t* hsm_key); +extern hsm_key_role_t hsm_key_role(const hsm_key_t* hsm_key); /** * Get the inception of a hsm key object. Undefined behavior if `hsm_key` is NULL. * \param[in] hsm_key a hsm_key_t pointer. * \return an unsigned integer. */ -unsigned int hsm_key_inception(const hsm_key_t* hsm_key); +extern unsigned int hsm_key_inception(const hsm_key_t* hsm_key); /** * Get the repository of a hsm key object. * \param[in] hsm_key a hsm_key_t pointer. * \return a character pointer or NULL on error or if no repository has been set. */ -const char* hsm_key_repository(const hsm_key_t* hsm_key); +extern const char* hsm_key_repository(const hsm_key_t* hsm_key); /** * Get the backup of a hsm key object. * \param[in] hsm_key a hsm_key_t pointer. * \return a hsm_key_backup_t which may be HSM_KEY_BACKUP_INVALID on error or if no backup has been set. */ -hsm_key_backup_t hsm_key_backup(const hsm_key_t* hsm_key); +extern hsm_key_backup_t hsm_key_backup(const hsm_key_t* hsm_key); /** * Set the policy_id of a hsm key object. If this fails the original value may have been lost. @@ -205,7 +205,7 @@ * \param[in] policy_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_set_policy_id(hsm_key_t* hsm_key, const db_value_t* policy_id); +extern int hsm_key_set_policy_id(hsm_key_t* hsm_key, const db_value_t* policy_id); /** * Set the locator of a hsm key object. @@ -213,7 +213,7 @@ * \param[in] locator_text a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_set_locator(hsm_key_t* hsm_key, const char* locator_text); +extern int hsm_key_set_locator(hsm_key_t* hsm_key, const char* locator_text); /** * Set the state of a hsm key object. @@ -221,7 +221,7 @@ * \param[in] state a hsm_key_state_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_set_state(hsm_key_t* hsm_key, hsm_key_state_t state); +extern int hsm_key_set_state(hsm_key_t* hsm_key, hsm_key_state_t state); /** * Set the bits of a hsm key object. @@ -229,7 +229,7 @@ * \param[in] bits an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_set_bits(hsm_key_t* hsm_key, unsigned int bits); +extern int hsm_key_set_bits(hsm_key_t* hsm_key, unsigned int bits); /** * Set the algorithm of a hsm key object. @@ -237,7 +237,7 @@ * \param[in] algorithm an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_set_algorithm(hsm_key_t* hsm_key, unsigned int algorithm); +extern int hsm_key_set_algorithm(hsm_key_t* hsm_key, unsigned int algorithm); /** * Set the role of a hsm key object. @@ -245,7 +245,7 @@ * \param[in] role a hsm_key_role_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_set_role(hsm_key_t* hsm_key, hsm_key_role_t role); +extern int hsm_key_set_role(hsm_key_t* hsm_key, hsm_key_role_t role); /** * Set the inception of a hsm key object. @@ -253,7 +253,7 @@ * \param[in] inception an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_set_inception(hsm_key_t* hsm_key, unsigned int inception); +extern int hsm_key_set_inception(hsm_key_t* hsm_key, unsigned int inception); /** * Set the key_type of a hsm key object. @@ -261,7 +261,7 @@ * \param[in] key_type a hsm_key_key_type_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_set_key_type(hsm_key_t* hsm_key, hsm_key_key_type_t key_type); +extern int hsm_key_set_key_type(hsm_key_t* hsm_key, hsm_key_key_type_t key_type); /** * Set the repository of a hsm key object. @@ -269,7 +269,7 @@ * \param[in] repository_text a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_set_repository(hsm_key_t* hsm_key, const char* repository_text); +extern int hsm_key_set_repository(hsm_key_t* hsm_key, const char* repository_text); /** * Set the backup of a hsm key object. @@ -277,7 +277,7 @@ * \param[in] backup a hsm_key_backup_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_set_backup(hsm_key_t* hsm_key, hsm_key_backup_t backup); +extern int hsm_key_set_backup(hsm_key_t* hsm_key, hsm_key_backup_t backup); /** * Create a clause for policy_id of a hsm key object and add it to a database clause list. @@ -288,7 +288,7 @@ * \param[in] policy_id a db_value_t pointer. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* hsm_key_policy_id_clause(db_clause_list_t* clause_list, const db_value_t* policy_id); +extern db_clause_t* hsm_key_policy_id_clause(db_clause_list_t* clause_list, const db_value_t* policy_id); /** * Create a clause for state of a hsm key object and add it to a database clause list. @@ -299,7 +299,7 @@ * \param[in] state a hsm_key_state_t. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* hsm_key_state_clause(db_clause_list_t* clause_list, hsm_key_state_t state); +extern db_clause_t* hsm_key_state_clause(db_clause_list_t* clause_list, hsm_key_state_t state); /** * Create a clause for bits of a hsm key object and add it to a database clause list. @@ -310,7 +310,7 @@ * \param[in] bits an unsigned integer. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* hsm_key_bits_clause(db_clause_list_t* clause_list, unsigned int bits); +extern db_clause_t* hsm_key_bits_clause(db_clause_list_t* clause_list, unsigned int bits); /** * Create a clause for algorithm of a hsm key object and add it to a database clause list. @@ -321,7 +321,7 @@ * \param[in] algorithm an unsigned integer. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* hsm_key_algorithm_clause(db_clause_list_t* clause_list, unsigned int algorithm); +extern db_clause_t* hsm_key_algorithm_clause(db_clause_list_t* clause_list, unsigned int algorithm); /** * Create a clause for role of a hsm key object and add it to a database clause list. @@ -332,7 +332,7 @@ * \param[in] role a hsm_key_role_t. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* hsm_key_role_clause(db_clause_list_t* clause_list, hsm_key_role_t role); +extern db_clause_t* hsm_key_role_clause(db_clause_list_t* clause_list, hsm_key_role_t role); /** * Create a clause for is_revoked of a hsm key object and add it to a database clause list. @@ -343,7 +343,7 @@ * \param[in] is_revoked an unsigned integer. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* hsm_key_is_revoked_clause(db_clause_list_t* clause_list, unsigned int is_revoked); +extern db_clause_t* hsm_key_is_revoked_clause(db_clause_list_t* clause_list, unsigned int is_revoked); /** * Create a clause for key_type of a hsm key object and add it to a database clause list. @@ -354,7 +354,7 @@ * \param[in] key_type a hsm_key_key_type_t. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* hsm_key_key_type_clause(db_clause_list_t* clause_list, hsm_key_key_type_t key_type); +extern db_clause_t* hsm_key_key_type_clause(db_clause_list_t* clause_list, hsm_key_key_type_t key_type); /** * Create a clause for repository of a hsm key object and add it to a database clause list. @@ -365,7 +365,7 @@ * \param[in] repository_text a character pointer. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* hsm_key_repository_clause(db_clause_list_t* clause_list, const char* repository_text); +extern db_clause_t* hsm_key_repository_clause(db_clause_list_t* clause_list, const char* repository_text); /** * Create a clause for backup of a hsm key object and add it to a database clause list. @@ -376,14 +376,14 @@ * \param[in] backup a hsm_key_backup_t. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* hsm_key_backup_clause(db_clause_list_t* clause_list, hsm_key_backup_t backup); +extern db_clause_t* hsm_key_backup_clause(db_clause_list_t* clause_list, hsm_key_backup_t backup); /** * Create a hsm key object in the database. * \param[in] hsm_key a hsm_key_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_create(hsm_key_t* hsm_key); +extern int hsm_key_create(hsm_key_t* hsm_key); /** * Get a hsm key object from the database by a id specified in `id`. @@ -391,7 +391,7 @@ * \param[in] id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_get_by_id(hsm_key_t* hsm_key, const db_value_t* id); +extern int hsm_key_get_by_id(hsm_key_t* hsm_key, const db_value_t* id); /** * Get a hsm key object from the database by a locator specified in `locator`. @@ -399,7 +399,7 @@ * \param[in] locator a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_get_by_locator(hsm_key_t* hsm_key, const char* locator); +extern int hsm_key_get_by_locator(hsm_key_t* hsm_key, const char* locator); /** * Get a new hsm key object from the database by a locator specified in `locator`. @@ -407,14 +407,14 @@ * \param[in] locator a character pointer. * \return a hsm_key_t pointer or NULL on error or if it does not exist. */ -hsm_key_t* hsm_key_new_get_by_locator(const db_connection_t* connection, const char* locator); +extern hsm_key_t* hsm_key_new_get_by_locator(const db_connection_t* connection, const char* locator); /** * Update a hsm key object in the database. * \param[in] hsm_key a hsm_key_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_update(hsm_key_t* hsm_key); +extern int hsm_key_update(hsm_key_t* hsm_key); /** * Count the number of hsm key objects in the database, if a selection of @@ -426,7 +426,7 @@ * should be counted. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_count(hsm_key_t* hsm_key, db_clause_list_t* clause_list, size_t* count); +extern int hsm_key_count(hsm_key_t* hsm_key, db_clause_list_t* clause_list, size_t* count); /** * A list of hsm key objects. @@ -450,14 +450,14 @@ * \param[in] connection a db_connection_t pointer. * \return a hsm_key_list_t pointer or NULL on error. */ -hsm_key_list_t* hsm_key_list_new(const db_connection_t* connection); +extern hsm_key_list_t* hsm_key_list_new(const db_connection_t* connection); /** * Create a new hsm key object list that is a copy of another. * \param[in] hsm_key_list a hsm_key_list_t pointer. * \return a hsm_key_list_t pointer or NULL on error. */ -hsm_key_list_t* hsm_key_list_new_copy(const hsm_key_list_t* hsm_key_copy); +extern hsm_key_list_t* hsm_key_list_new_copy(const hsm_key_list_t* hsm_key_copy); /** * Specify that objects should be stored within the list as they are fetch, @@ -465,13 +465,13 @@ * \param[in] hsm_key_list a hsm_key_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_list_object_store(hsm_key_list_t* hsm_key_list); +extern int hsm_key_list_object_store(hsm_key_list_t* hsm_key_list); /** * Delete a hsm key object list. * \param[in] hsm_key_list a hsm_key_list_t pointer. */ -void hsm_key_list_free(hsm_key_list_t* hsm_key_list); +extern void hsm_key_list_free(hsm_key_list_t* hsm_key_list); /** * free global allocator. @@ -483,7 +483,7 @@ * \param[in] from_hsm_key_list a hsm_key_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_list_copy(hsm_key_list_t* hsm_key_list, const hsm_key_list_t* from_hsm_key_list); +extern int hsm_key_list_copy(hsm_key_list_t* hsm_key_list, const hsm_key_list_t* from_hsm_key_list); /** * Get hsm key objects from the database by a clause list. @@ -491,7 +491,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_list_get_by_clauses(hsm_key_list_t* hsm_key_list, const db_clause_list_t* clause_list); +extern int hsm_key_list_get_by_clauses(hsm_key_list_t* hsm_key_list, const db_clause_list_t* clause_list); /** * Get a new list of hsm key objects from the database by a clause list. @@ -499,7 +499,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return a hsm_key_list_t pointer or NULL on error. */ -hsm_key_list_t* hsm_key_list_new_get_by_clauses(const db_connection_t* connection, const db_clause_list_t* clause_list); +extern hsm_key_list_t* hsm_key_list_new_get_by_clauses(const db_connection_t* connection, const db_clause_list_t* clause_list); /** * Get hsm key objects from the database by a policy_id specified in `policy_id`. @@ -507,7 +507,7 @@ * \param[in] policy_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int hsm_key_list_get_by_policy_id(hsm_key_list_t* hsm_key_list, const db_value_t* policy_id); +extern int hsm_key_list_get_by_policy_id(hsm_key_list_t* hsm_key_list, const db_value_t* policy_id); /** * Get a new list of hsm key objects from the database by a policy_id specified in `policy_id`. @@ -515,7 +515,7 @@ * \param[in] policy_id a db_value_t pointer. * \return a hsm_key_list_t pointer or NULL on error. */ -hsm_key_list_t* hsm_key_list_new_get_by_policy_id(const db_connection_t* connection, const db_value_t* policy_id); +extern hsm_key_list_t* hsm_key_list_new_get_by_policy_id(const db_connection_t* connection, const db_value_t* policy_id); /** * Get the first hsm key object in a hsm key object list and reset the @@ -524,7 +524,7 @@ * \return a hsm_key_t pointer or NULL on error or if there are no * hsm key objects in the hsm key object list. */ -const hsm_key_t* hsm_key_list_begin(hsm_key_list_t* hsm_key_list); +extern const hsm_key_t* hsm_key_list_begin(hsm_key_list_t* hsm_key_list); /** * Get the first hsm key object in a hsm key object list and reset the @@ -534,7 +534,7 @@ * \return a hsm_key_t pointer or NULL on error or if there are no * hsm key objects in the hsm key object list. */ -hsm_key_t* hsm_key_list_get_begin(hsm_key_list_t* hsm_key_list); +extern hsm_key_t* hsm_key_list_get_begin(hsm_key_list_t* hsm_key_list); /** * Get the next hsm key object in a hsm key object list. @@ -544,7 +544,7 @@ * \return a hsm_key_t pointer or NULL on error or if there are no more * hsm key objects in the hsm key object list. */ -const hsm_key_t* hsm_key_list_next(hsm_key_list_t* hsm_key_list); +extern const hsm_key_t* hsm_key_list_next(hsm_key_list_t* hsm_key_list); /** * Get the next hsm key object in a hsm key object list. @@ -554,6 +554,6 @@ * \return a hsm_key_t pointer or NULL on error or if there are no more * hsm key objects in the hsm key object list. */ -hsm_key_t* hsm_key_list_get_next(hsm_key_list_t* hsm_key_list); +extern hsm_key_t* hsm_key_list_get_next(hsm_key_list_t* hsm_key_list); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/key_data_ext.h opendnssec-2.1.6/enforcer/src/db/key_data_ext.h --- opendnssec-2.1.6-orig/enforcer/src/db/key_data_ext.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/key_data_ext.h 2020-02-18 23:08:38.111360644 -0500 @@ -38,7 +38,7 @@ * \param[in] key_data a key_data_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_cache_key_states(key_data_t* key_data); +extern int key_data_cache_key_states(key_data_t* key_data); /** * Get the cached DS key state object of a key data object. @@ -46,7 +46,7 @@ * \param[in] key_data a key_data_t pointer. * \return a key_state_t pointer. */ -const key_state_t* key_data_cached_ds(key_data_t* key_data); +extern const key_state_t* key_data_cached_ds(key_data_t* key_data); /** * Get the cached RRSIG key state object of a key data object. @@ -54,7 +54,7 @@ * \param[in] key_data a key_data_t pointer. * \return a key_state_t pointer. */ -const key_state_t* key_data_cached_rrsig(key_data_t* key_data); +extern const key_state_t* key_data_cached_rrsig(key_data_t* key_data); /** * Get the cached DNSKEY key state object of a key data object. @@ -62,7 +62,7 @@ * \param[in] key_data a key_data_t pointer. * \return a key_state_t pointer. */ -const key_state_t* key_data_cached_dnskey(key_data_t* key_data); +extern const key_state_t* key_data_cached_dnskey(key_data_t* key_data); /** * Get the cached RRSIG DNSKEY key state object of a key data object. @@ -70,7 +70,7 @@ * \param[in] key_data a key_data_t pointer. * \return a key_state_t pointer. */ -const key_state_t* key_data_cached_rrsigdnskey(key_data_t* key_data); +extern const key_state_t* key_data_cached_rrsigdnskey(key_data_t* key_data); /** * Get the cached DS key state object of a key data object. @@ -78,7 +78,7 @@ * \param[in] key_data a key_data_t pointer. * \return a key_state_t pointer. */ -key_state_t* key_data_get_cached_ds(key_data_t* key_data); +extern key_state_t* key_data_get_cached_ds(key_data_t* key_data); /** * Get the cached RRSIG key state object of a key data object. @@ -86,7 +86,7 @@ * \param[in] key_data a key_data_t pointer. * \return a key_state_t pointer. */ -key_state_t* key_data_get_cached_rrsig(key_data_t* key_data); +extern key_state_t* key_data_get_cached_rrsig(key_data_t* key_data); /** * Get the cached DNSKEY key state object of a key data object. @@ -94,7 +94,7 @@ * \param[in] key_data a key_data_t pointer. * \return a key_state_t pointer. */ -key_state_t* key_data_get_cached_dnskey(key_data_t* key_data); +extern key_state_t* key_data_get_cached_dnskey(key_data_t* key_data); /** * Get the cached RRSIG DNSKEY key state object of a key data object. @@ -102,7 +102,7 @@ * \param[in] key_data a key_data_t pointer. * \return a key_state_t pointer. */ -key_state_t* key_data_get_cached_rrsigdnskey(key_data_t* key_data); +extern key_state_t* key_data_get_cached_rrsigdnskey(key_data_t* key_data); /** * Get the cached hsm key object of a key data object. @@ -110,6 +110,6 @@ * \param[in] key_data a key_data_t pointer. * \return a key_state_t pointer. */ -const hsm_key_t* key_data_cached_hsm_key(const key_data_t* key_data); +extern const hsm_key_t* key_data_cached_hsm_key(const key_data_t* key_data); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/key_data.h opendnssec-2.1.6/enforcer/src/db/key_data.h --- opendnssec-2.1.6-orig/enforcer/src/db/key_data.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/key_data.h 2020-02-18 23:08:38.111360644 -0500 @@ -93,20 +93,20 @@ * \param[in] connection a db_connection_t pointer. * \return a key_data_t pointer or NULL on error. */ -key_data_t* key_data_new(const db_connection_t* connection); +extern key_data_t* key_data_new(const db_connection_t* connection); /** * Create a new key data object that is a copy of another key data object. * \param[in] key_data a key_data_t pointer. * \return a key_data_t pointer or NULL on error. */ -key_data_t* key_data_new_copy(const key_data_t* key_data); +extern key_data_t* key_data_new_copy(const key_data_t* key_data); /** * Delete a key data object, this does not delete it from the database. * \param[in] key_data a key_data_t pointer. */ -void key_data_free(key_data_t* key_data); +extern void key_data_free(key_data_t* key_data); /** * Copy the content of a key data object. @@ -114,7 +114,7 @@ * \param[in] key_data_copy a key_data_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_copy(key_data_t* key_data, const key_data_t* key_data_copy); +extern int key_data_copy(key_data_t* key_data, const key_data_t* key_data_copy); /** * Compare two key data objects and return less than, equal to, @@ -125,7 +125,7 @@ * \return less than, equal to, or greater than zero if A is found, respectively, * to be less than, to match, or be greater than B. */ -int key_data_cmp(const key_data_t* key_data_a, const key_data_t* key_data_b); +extern int key_data_cmp(const key_data_t* key_data_a, const key_data_t* key_data_b); /** * Set the content of a key data object based on a database result. @@ -133,21 +133,21 @@ * \param[in] result a db_result_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_from_result(key_data_t* key_data, const db_result_t* result); +extern int key_data_from_result(key_data_t* key_data, const db_result_t* result); /** * Get the id of a key data object. * \param[in] key_data a key_data_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* key_data_id(const key_data_t* key_data); +extern const db_value_t* key_data_id(const key_data_t* key_data); /** * Get the zone_id of a key data object. * \param[in] key_data a key_data_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* key_data_zone_id(const key_data_t* key_data); +extern const db_value_t* key_data_zone_id(const key_data_t* key_data); /** * Get the zone_id object related to a key data object. @@ -155,28 +155,28 @@ * \param[in] key_data a key_data_t pointer. * \return a zone_db_t pointer or NULL on error or if no object could be found. */ -zone_db_t* key_data_get_zone(const key_data_t* key_data); +extern zone_db_t* key_data_get_zone(const key_data_t* key_data); /** * Get the hsm_key_id of a key data object. * \param[in] key_data a key_data_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* key_data_hsm_key_id(const key_data_t* key_data); +extern const db_value_t* key_data_hsm_key_id(const key_data_t* key_data); /** * Cache the hsm_key_id object related to a key data object. * \param[in] key_data a key_data_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_cache_hsm_key(key_data_t* key_data); +extern int key_data_cache_hsm_key(key_data_t* key_data); /** * Get the hsm_key_id object related to a key data object. * \param[in] key_data a key_data_t pointer. * \return a hsm_key_t pointer or NULL on error or if no object could be found. */ -const hsm_key_t* key_data_hsm_key(const key_data_t* key_data); +extern const hsm_key_t* key_data_hsm_key(const key_data_t* key_data); /** * Get the hsm_key_id object related to a key data object. @@ -184,91 +184,91 @@ * \param[in] key_data a key_data_t pointer. * \return a hsm_key_t pointer or NULL on error or if no object could be found. */ -hsm_key_t* key_data_get_hsm_key(const key_data_t* key_data); +extern hsm_key_t* key_data_get_hsm_key(const key_data_t* key_data); /** * Get the algorithm of a key data object. Undefined behavior if `key_data` is NULL. * \param[in] key_data a key_data_t pointer. * \return an unsigned integer. */ -unsigned int key_data_algorithm(const key_data_t* key_data); +extern unsigned int key_data_algorithm(const key_data_t* key_data); /** * Get the inception of a key data object. Undefined behavior if `key_data` is NULL. * \param[in] key_data a key_data_t pointer. * \return an unsigned integer. */ -unsigned int key_data_inception(const key_data_t* key_data); +extern unsigned int key_data_inception(const key_data_t* key_data); /** * Get the role of a key data object. * \param[in] key_data a key_data_t pointer. * \return a key_data_role_t which may be KEY_DATA_ROLE_INVALID on error or if no role has been set. */ -key_data_role_t key_data_role(const key_data_t* key_data); +extern key_data_role_t key_data_role(const key_data_t* key_data); /** * Get the role as text of a key data object. * \param[in] key_data a key_data_t pointer. * \return a character pointer or NULL on error or if no role has been set. */ -const char* key_data_role_text(const key_data_t* key_data); +extern const char* key_data_role_text(const key_data_t* key_data); /** * Get the introducing of a key data object. Undefined behavior if `key_data` is NULL. * \param[in] key_data a key_data_t pointer. * \return an unsigned integer. */ -unsigned int key_data_introducing(const key_data_t* key_data); +extern unsigned int key_data_introducing(const key_data_t* key_data); /** * Get the active_zsk of a key data object. Undefined behavior if `key_data` is NULL. * \param[in] key_data a key_data_t pointer. * \return an unsigned integer. */ -unsigned int key_data_active_zsk(const key_data_t* key_data); +extern unsigned int key_data_active_zsk(const key_data_t* key_data); /** * Get the publish of a key data object. Undefined behavior if `key_data` is NULL. * \param[in] key_data a key_data_t pointer. * \return an unsigned integer. */ -unsigned int key_data_publish(const key_data_t* key_data); +extern unsigned int key_data_publish(const key_data_t* key_data); /** * Get the active_ksk of a key data object. Undefined behavior if `key_data` is NULL. * \param[in] key_data a key_data_t pointer. * \return an unsigned integer. */ -unsigned int key_data_active_ksk(const key_data_t* key_data); +extern unsigned int key_data_active_ksk(const key_data_t* key_data); /** * Get the ds_at_parent of a key data object. * \param[in] key_data a key_data_t pointer. * \return a key_data_ds_at_parent_t which may be KEY_DATA_DS_AT_PARENT_INVALID on error or if no ds_at_parent has been set. */ -key_data_ds_at_parent_t key_data_ds_at_parent(const key_data_t* key_data); +extern key_data_ds_at_parent_t key_data_ds_at_parent(const key_data_t* key_data); /** * Get the keytag of a key data object. Undefined behavior if `key_data` is NULL. * \param[in] key_data a key_data_t pointer. * \return an unsigned integer. */ -unsigned int key_data_keytag(const key_data_t* key_data); +extern unsigned int key_data_keytag(const key_data_t* key_data); /** * Get the minimize of a key data object. Undefined behavior if `key_data` is NULL. * \param[in] key_data a key_data_t pointer. * \return an unsigned integer. */ -unsigned int key_data_minimize(const key_data_t* key_data); +extern unsigned int key_data_minimize(const key_data_t* key_data); /** * Get the key_state objects related to a key data object. * \param[in] key_data a key_data_t pointer. * \return a key_state_list_t pointer or NULL on error. */ -key_state_list_t* key_data_key_state_list(key_data_t* key_data); +extern key_state_list_t* key_data_key_state_list(key_data_t* key_data); /** * Retrieve key_state objects related to a key data object. @@ -277,7 +277,7 @@ * \param[in] key_data a key_data_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_retrieve_key_state_list(key_data_t* key_data); +extern int key_data_retrieve_key_state_list(key_data_t* key_data); /** * Set the zone_id of a key data object. If this fails the original value may have been lost. @@ -285,7 +285,7 @@ * \param[in] zone_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_set_zone_id(key_data_t* key_data, const db_value_t* zone_id); +extern int key_data_set_zone_id(key_data_t* key_data, const db_value_t* zone_id); /** * Set the hsm_key_id of a key data object. If this fails the original value may have been lost. @@ -293,7 +293,7 @@ * \param[in] hsm_key_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_set_hsm_key_id(key_data_t* key_data, const db_value_t* hsm_key_id); +extern int key_data_set_hsm_key_id(key_data_t* key_data, const db_value_t* hsm_key_id); /** * Set the algorithm of a key data object. @@ -301,7 +301,7 @@ * \param[in] algorithm an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_set_algorithm(key_data_t* key_data, unsigned int algorithm); +extern int key_data_set_algorithm(key_data_t* key_data, unsigned int algorithm); /** * Set the inception of a key data object. @@ -309,7 +309,7 @@ * \param[in] inception an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_set_inception(key_data_t* key_data, unsigned int inception); +extern int key_data_set_inception(key_data_t* key_data, unsigned int inception); /** * Set the role of a key data object. @@ -317,7 +317,7 @@ * \param[in] role a key_data_role_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_set_role(key_data_t* key_data, key_data_role_t role); +extern int key_data_set_role(key_data_t* key_data, key_data_role_t role); /** * Set the introducing of a key data object. @@ -325,7 +325,7 @@ * \param[in] introducing an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_set_introducing(key_data_t* key_data, unsigned int introducing); +extern int key_data_set_introducing(key_data_t* key_data, unsigned int introducing); /** * Set the active_zsk of a key data object. @@ -333,7 +333,7 @@ * \param[in] active_zsk an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_set_active_zsk(key_data_t* key_data, unsigned int active_zsk); +extern int key_data_set_active_zsk(key_data_t* key_data, unsigned int active_zsk); /** * Set the publish of a key data object. @@ -341,7 +341,7 @@ * \param[in] publish an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_set_publish(key_data_t* key_data, unsigned int publish); +extern int key_data_set_publish(key_data_t* key_data, unsigned int publish); /** * Set the active_ksk of a key data object. @@ -349,7 +349,7 @@ * \param[in] active_ksk an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_set_active_ksk(key_data_t* key_data, unsigned int active_ksk); +extern int key_data_set_active_ksk(key_data_t* key_data, unsigned int active_ksk); /** * Set the ds_at_parent of a key data object. @@ -357,7 +357,7 @@ * \param[in] ds_at_parent a key_data_ds_at_parent_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_set_ds_at_parent(key_data_t* key_data, key_data_ds_at_parent_t ds_at_parent); +extern int key_data_set_ds_at_parent(key_data_t* key_data, key_data_ds_at_parent_t ds_at_parent); /** * Set the keytag of a key data object. @@ -365,7 +365,7 @@ * \param[in] keytag an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_set_keytag(key_data_t* key_data, unsigned int keytag); +extern int key_data_set_keytag(key_data_t* key_data, unsigned int keytag); /** * Set the minimize of a key data object. @@ -373,7 +373,7 @@ * \param[in] minimize an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_set_minimize(key_data_t* key_data, unsigned int minimize); +extern int key_data_set_minimize(key_data_t* key_data, unsigned int minimize); /** * Create a clause for zone_id of a key data object and add it to a database clause list. @@ -384,7 +384,7 @@ * \param[in] zone_id a db_value_t pointer. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* key_data_zone_id_clause(db_clause_list_t* clause_list, const db_value_t* zone_id); +extern db_clause_t* key_data_zone_id_clause(db_clause_list_t* clause_list, const db_value_t* zone_id); /** * Create a clause for hsm_key_id of a key data object and add it to a database clause list. @@ -395,7 +395,7 @@ * \param[in] hsm_key_id a db_value_t pointer. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* key_data_hsm_key_id_clause(db_clause_list_t* clause_list, const db_value_t* hsm_key_id); +extern db_clause_t* key_data_hsm_key_id_clause(db_clause_list_t* clause_list, const db_value_t* hsm_key_id); /** * Create a clause for role of a key data object and add it to a database clause list. @@ -406,7 +406,7 @@ * \param[in] role a key_data_role_t. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* key_data_role_clause(db_clause_list_t* clause_list, key_data_role_t role); +extern db_clause_t* key_data_role_clause(db_clause_list_t* clause_list, key_data_role_t role); /** * Create a clause for ds_at_parent of a key data object and add it to a database clause list. @@ -417,7 +417,7 @@ * \param[in] ds_at_parent a key_data_ds_at_parent_t. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* key_data_ds_at_parent_clause(db_clause_list_t* clause_list, key_data_ds_at_parent_t ds_at_parent); +extern db_clause_t* key_data_ds_at_parent_clause(db_clause_list_t* clause_list, key_data_ds_at_parent_t ds_at_parent); /** * Create a clause for keytag of a key data object and add it to a database clause list. @@ -428,14 +428,14 @@ * \param[in] keytag an unsigned integer. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* key_data_keytag_clause(db_clause_list_t* clause_list, unsigned int keytag); +extern db_clause_t* key_data_keytag_clause(db_clause_list_t* clause_list, unsigned int keytag); /** * Create a key data object in the database. * \param[in] key_data a key_data_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_create(key_data_t* key_data); +extern int key_data_create(key_data_t* key_data); /** * Get a key data object from the database by a id specified in `id`. @@ -443,21 +443,21 @@ * \param[in] id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_get_by_id(key_data_t* key_data, const db_value_t* id); +extern int key_data_get_by_id(key_data_t* key_data, const db_value_t* id); /** * Update a key data object in the database. * \param[in] key_data a key_data_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_update(key_data_t* key_data); +extern int key_data_update(key_data_t* key_data); /** * Delete a key data object from the database. * \param[in] key_data a key_data_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_delete(key_data_t* key_data); +extern int key_data_delete(key_data_t* key_data); /** * Count the number of key data objects in the database, if a selection of @@ -469,7 +469,7 @@ * should be counted. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_count(key_data_t* key_data, db_clause_list_t* clause_list, size_t* count); +extern int key_data_count(key_data_t* key_data, db_clause_list_t* clause_list, size_t* count); /** * A list of key data objects. @@ -494,14 +494,14 @@ * \param[in] connection a db_connection_t pointer. * \return a key_data_list_t pointer or NULL on error. */ -key_data_list_t* key_data_list_new(const db_connection_t* connection); +extern key_data_list_t* key_data_list_new(const db_connection_t* connection); /** * Create a new key data object list that is a copy of another. * \param[in] key_data_list a key_data_list_t pointer. * \return a key_data_list_t pointer or NULL on error. */ -key_data_list_t* key_data_list_new_copy(const key_data_list_t* key_data_copy); +extern key_data_list_t* key_data_list_new_copy(const key_data_list_t* key_data_copy); /** * Specify that objects should be stored within the list as they are fetch, @@ -509,13 +509,13 @@ * \param[in] key_data_list a key_data_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_list_object_store(key_data_list_t* key_data_list); +extern int key_data_list_object_store(key_data_list_t* key_data_list); /** * Delete a key data object list. * \param[in] key_data_list a key_data_list_t pointer. */ -void key_data_list_free(key_data_list_t* key_data_list); +extern void key_data_list_free(key_data_list_t* key_data_list); /** * Copy the content of another key data object list. @@ -523,21 +523,21 @@ * \param[in] from_key_data_list a key_data_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_list_copy(key_data_list_t* key_data_list, const key_data_list_t* from_key_data_list); +extern int key_data_list_copy(key_data_list_t* key_data_list, const key_data_list_t* from_key_data_list); /** * Get all key data objects. * \param[in] key_data_list a key_data_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_list_get(key_data_list_t* key_data_list); +extern int key_data_list_get(key_data_list_t* key_data_list); /** * Get a new list with all key data objects. * \param[in] connection a db_connection_t pointer. * \return a key_data_list_t pointer or NULL on error. */ -key_data_list_t* key_data_list_new_get(const db_connection_t* connection); +extern key_data_list_t* key_data_list_new_get(const db_connection_t* connection); /** * Get key data objects from the database by a clause list. @@ -545,7 +545,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_list_get_by_clauses(key_data_list_t* key_data_list, const db_clause_list_t* clause_list); +extern int key_data_list_get_by_clauses(key_data_list_t* key_data_list, const db_clause_list_t* clause_list); /** * Get a new list of key data objects from the database by a clause list. @@ -553,7 +553,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return a key_data_list_t pointer or NULL on error. */ -key_data_list_t* key_data_list_new_get_by_clauses(const db_connection_t* connection, const db_clause_list_t* clause_list); +extern key_data_list_t* key_data_list_new_get_by_clauses(const db_connection_t* connection, const db_clause_list_t* clause_list); /** * Get key data objects from the database by a zone_id specified in `zone_id`. @@ -561,7 +561,7 @@ * \param[in] zone_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_data_list_get_by_zone_id(key_data_list_t* key_data_list, const db_value_t* zone_id); +extern int key_data_list_get_by_zone_id(key_data_list_t* key_data_list, const db_value_t* zone_id); /** * Get a new list of key data objects from the database by a zone_id specified in `zone_id`. @@ -569,7 +569,7 @@ * \param[in] zone_id a db_value_t pointer. * \return a key_data_list_t pointer or NULL on error. */ -key_data_list_t* key_data_list_new_get_by_zone_id(const db_connection_t* connection, const db_value_t* zone_id); +extern key_data_list_t* key_data_list_new_get_by_zone_id(const db_connection_t* connection, const db_value_t* zone_id); /** * Get the first key data object in a key data object list and reset the @@ -578,7 +578,7 @@ * \return a key_data_t pointer or NULL on error or if there are no * key data objects in the key data object list. */ -const key_data_t* key_data_list_begin(key_data_list_t* key_data_list); +extern const key_data_t* key_data_list_begin(key_data_list_t* key_data_list); /** * Get the first key data object in a key data object list and reset the @@ -588,7 +588,7 @@ * \return a key_data_t pointer or NULL on error or if there are no * key data objects in the key data object list. */ -key_data_t* key_data_list_get_begin(key_data_list_t* key_data_list); +extern key_data_t* key_data_list_get_begin(key_data_list_t* key_data_list); /** * Get the next key data object in a key data object list. @@ -598,7 +598,7 @@ * \return a key_data_t pointer or NULL on error or if there are no more * key data objects in the key data object list. */ -const key_data_t* key_data_list_next(key_data_list_t* key_data_list); +extern const key_data_t* key_data_list_next(key_data_list_t* key_data_list); /** * Get the next key data object in a key data object list. @@ -608,7 +608,7 @@ * \return a key_data_t pointer or NULL on error or if there are no more * key data objects in the key data object list. */ -key_data_t* key_data_list_get_next(key_data_list_t* key_data_list); +extern key_data_t* key_data_list_get_next(key_data_list_t* key_data_list); /** * Get the size of a key data object list. @@ -616,9 +616,9 @@ * \return a size_t with the size of the list or zero on error, if the list is * empty or if the backend does not support returning the size. */ -size_t key_data_list_size(key_data_list_t* key_data_list); +extern size_t key_data_list_size(key_data_list_t* key_data_list); -key_data_t* key_data_new_get_by_hsm_key_id (const db_connection_t* connection, const db_value_t* hsm_key_id); +extern key_data_t* key_data_new_get_by_hsm_key_id (const db_connection_t* connection, const db_value_t* hsm_key_id); -int key_data_get_by_hsm_key_id (key_data_t* key_data, const db_value_t* hsm_key_id); +extern int key_data_get_by_hsm_key_id (key_data_t* key_data, const db_value_t* hsm_key_id); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/key_dependency.h opendnssec-2.1.6/enforcer/src/db/key_dependency.h --- opendnssec-2.1.6-orig/enforcer/src/db/key_dependency.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/key_dependency.h 2020-02-18 23:08:38.112360658 -0500 @@ -74,20 +74,20 @@ * \param[in] connection a db_connection_t pointer. * \return a key_dependency_t pointer or NULL on error. */ -key_dependency_t* key_dependency_new(const db_connection_t* connection); +extern key_dependency_t* key_dependency_new(const db_connection_t* connection); /** * Create a new key dependency object that is a copy of another key dependency object. * \param[in] key_dependency a key_dependency_t pointer. * \return a key_dependency_t pointer or NULL on error. */ -key_dependency_t* key_dependency_new_copy(const key_dependency_t* key_dependency); +extern key_dependency_t* key_dependency_new_copy(const key_dependency_t* key_dependency); /** * Delete a key dependency object, this does not delete it from the database. * \param[in] key_dependency a key_dependency_t pointer. */ -void key_dependency_free(key_dependency_t* key_dependency); +extern void key_dependency_free(key_dependency_t* key_dependency); /** * Copy the content of a key dependency object. @@ -95,7 +95,7 @@ * \param[in] key_dependency_copy a key_dependency_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_dependency_copy(key_dependency_t* key_dependency, const key_dependency_t* key_dependency_copy); +extern int key_dependency_copy(key_dependency_t* key_dependency, const key_dependency_t* key_dependency_copy); /** * Set the content of a key dependency object based on a database result. @@ -103,21 +103,21 @@ * \param[in] result a db_result_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_dependency_from_result(key_dependency_t* key_dependency, const db_result_t* result); +extern int key_dependency_from_result(key_dependency_t* key_dependency, const db_result_t* result); /** * Get the zone_id of a key dependency object. * \param[in] key_dependency a key_dependency_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* key_dependency_zone_id(const key_dependency_t* key_dependency); +extern const db_value_t* key_dependency_zone_id(const key_dependency_t* key_dependency); /** * Get the from_key_data_id of a key dependency object. * \param[in] key_dependency a key_dependency_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* key_dependency_from_key_data_id(const key_dependency_t* key_dependency); +extern const db_value_t* key_dependency_from_key_data_id(const key_dependency_t* key_dependency); /** * Get the from_key_data_id object related to a key dependency object. @@ -125,21 +125,21 @@ * \param[in] key_dependency a key_dependency_t pointer. * \return a key_data_t pointer or NULL on error or if no object could be found. */ -key_data_t* key_dependency_get_from_key_data(const key_dependency_t* key_dependency); +extern key_data_t* key_dependency_get_from_key_data(const key_dependency_t* key_dependency); /** * Get the to_key_data_id of a key dependency object. * \param[in] key_dependency a key_dependency_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* key_dependency_to_key_data_id(const key_dependency_t* key_dependency); +extern const db_value_t* key_dependency_to_key_data_id(const key_dependency_t* key_dependency); /** * Get the type of a key dependency object. * \param[in] key_dependency a key_dependency_t pointer. * \return a key_dependency_type_t which may be KEY_DEPENDENCY_TYPE_INVALID on error or if no type has been set. */ -key_dependency_type_t key_dependency_type(const key_dependency_t* key_dependency); +extern key_dependency_type_t key_dependency_type(const key_dependency_t* key_dependency); /** * Set the zone_id of a key dependency object. If this fails the original value may have been lost. @@ -147,7 +147,7 @@ * \param[in] zone_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_dependency_set_zone_id(key_dependency_t* key_dependency, const db_value_t* zone_id); +extern int key_dependency_set_zone_id(key_dependency_t* key_dependency, const db_value_t* zone_id); /** * Set the from_key_data_id of a key dependency object. If this fails the original value may have been lost. @@ -155,7 +155,7 @@ * \param[in] from_key_data_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_dependency_set_from_key_data_id(key_dependency_t* key_dependency, const db_value_t* from_key_data_id); +extern int key_dependency_set_from_key_data_id(key_dependency_t* key_dependency, const db_value_t* from_key_data_id); /** * Set the to_key_data_id of a key dependency object. If this fails the original value may have been lost. @@ -163,7 +163,7 @@ * \param[in] to_key_data_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_dependency_set_to_key_data_id(key_dependency_t* key_dependency, const db_value_t* to_key_data_id); +extern int key_dependency_set_to_key_data_id(key_dependency_t* key_dependency, const db_value_t* to_key_data_id); /** * Set the type of a key dependency object. @@ -171,14 +171,14 @@ * \param[in] type a key_dependency_type_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_dependency_set_type(key_dependency_t* key_dependency, key_dependency_type_t type); +extern int key_dependency_set_type(key_dependency_t* key_dependency, key_dependency_type_t type); /** * Create a key dependency object in the database. * \param[in] key_dependency a key_dependency_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_dependency_create(key_dependency_t* key_dependency); +extern int key_dependency_create(key_dependency_t* key_dependency); /** * Get a key dependency object from the database by a id specified in `id`. @@ -186,14 +186,14 @@ * \param[in] id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_dependency_get_by_id(key_dependency_t* key_dependency, const db_value_t* id); +extern int key_dependency_get_by_id(key_dependency_t* key_dependency, const db_value_t* id); /** * Delete a key dependency object from the database. * \param[in] key_dependency a key_dependency_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_dependency_delete(key_dependency_t* key_dependency); +extern int key_dependency_delete(key_dependency_t* key_dependency); /** * A list of key dependency objects. @@ -219,14 +219,14 @@ * \param[in] connection a db_connection_t pointer. * \return a key_dependency_list_t pointer or NULL on error. */ -key_dependency_list_t* key_dependency_list_new(const db_connection_t* connection); +extern key_dependency_list_t* key_dependency_list_new(const db_connection_t* connection); /** * Create a new key dependency object list that is a copy of another. * \param[in] key_dependency_list a key_dependency_list_t pointer. * \return a key_dependency_list_t pointer or NULL on error. */ -key_dependency_list_t* key_dependency_list_new_copy(const key_dependency_list_t* key_dependency_copy); +extern key_dependency_list_t* key_dependency_list_new_copy(const key_dependency_list_t* key_dependency_copy); /** * Specify that objects should be stored within the list as they are fetch, @@ -234,13 +234,13 @@ * \param[in] key_dependency_list a key_dependency_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_dependency_list_object_store(key_dependency_list_t* key_dependency_list); +extern int key_dependency_list_object_store(key_dependency_list_t* key_dependency_list); /** * Delete a key dependency object list. * \param[in] key_dependency_list a key_dependency_list_t pointer. */ -void key_dependency_list_free(key_dependency_list_t* key_dependency_list); +extern void key_dependency_list_free(key_dependency_list_t* key_dependency_list); /** * Copy the content of another key dependency object list. @@ -248,7 +248,7 @@ * \param[in] from_key_dependency_list a key_dependency_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_dependency_list_copy(key_dependency_list_t* key_dependency_list, const key_dependency_list_t* from_key_dependency_list); +extern int key_dependency_list_copy(key_dependency_list_t* key_dependency_list, const key_dependency_list_t* from_key_dependency_list); /** * Get key dependency objects from the database by a clause list. @@ -256,7 +256,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_dependency_list_get_by_clauses(key_dependency_list_t* key_dependency_list, const db_clause_list_t* clause_list); +extern int key_dependency_list_get_by_clauses(key_dependency_list_t* key_dependency_list, const db_clause_list_t* clause_list); /** * Get key dependency objects from the database by a zone_id specified in `zone_id`. @@ -264,7 +264,7 @@ * \param[in] zone_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_dependency_list_get_by_zone_id(key_dependency_list_t* key_dependency_list, const db_value_t* zone_id); +extern int key_dependency_list_get_by_zone_id(key_dependency_list_t* key_dependency_list, const db_value_t* zone_id); /** * Get a new list of key dependency objects from the database by a zone_id specified in `zone_id`. @@ -272,7 +272,7 @@ * \param[in] zone_id a db_value_t pointer. * \return a key_dependency_list_t pointer or NULL on error. */ -key_dependency_list_t* key_dependency_list_new_get_by_zone_id(const db_connection_t* connection, const db_value_t* zone_id); +extern key_dependency_list_t* key_dependency_list_new_get_by_zone_id(const db_connection_t* connection, const db_value_t* zone_id); /** * Get the first key dependency object in a key dependency object list and reset the @@ -281,7 +281,7 @@ * \return a key_dependency_t pointer or NULL on error or if there are no * key dependency objects in the key dependency object list. */ -const key_dependency_t* key_dependency_list_begin(key_dependency_list_t* key_dependency_list); +extern const key_dependency_t* key_dependency_list_begin(key_dependency_list_t* key_dependency_list); /** * Get the first key dependency object in a key dependency object list and reset the @@ -291,7 +291,7 @@ * \return a key_dependency_t pointer or NULL on error or if there are no * key dependency objects in the key dependency object list. */ -key_dependency_t* key_dependency_list_get_begin(key_dependency_list_t* key_dependency_list); +extern key_dependency_t* key_dependency_list_get_begin(key_dependency_list_t* key_dependency_list); /** * Get the next key dependency object in a key dependency object list. @@ -301,7 +301,7 @@ * \return a key_dependency_t pointer or NULL on error or if there are no more * key dependency objects in the key dependency object list. */ -const key_dependency_t* key_dependency_list_next(key_dependency_list_t* key_dependency_list); +extern const key_dependency_t* key_dependency_list_next(key_dependency_list_t* key_dependency_list); /** * Get the next key dependency object in a key dependency object list. @@ -311,7 +311,7 @@ * \return a key_dependency_t pointer or NULL on error or if there are no more * key dependency objects in the key dependency object list. */ -key_dependency_t* key_dependency_list_get_next(key_dependency_list_t* key_dependency_list); +extern key_dependency_t* key_dependency_list_get_next(key_dependency_list_t* key_dependency_list); /** * Get the size of a key dependency object list. @@ -319,6 +319,6 @@ * \return a size_t with the size of the list or zero on error, if the list is * empty or if the backend does not support returning the size. */ -size_t key_dependency_list_size(key_dependency_list_t* key_dependency_list); +extern size_t key_dependency_list_size(key_dependency_list_t* key_dependency_list); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/key_state.h opendnssec-2.1.6/enforcer/src/db/key_state.h --- opendnssec-2.1.6-orig/enforcer/src/db/key_state.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/key_state.h 2020-02-18 23:08:38.112360658 -0500 @@ -81,20 +81,20 @@ * \param[in] connection a db_connection_t pointer. * \return a key_state_t pointer or NULL on error. */ -key_state_t* key_state_new(const db_connection_t* connection); +extern key_state_t* key_state_new(const db_connection_t* connection); /** * Create a new key state object that is a copy of another key state object. * \param[in] key_state a key_state_t pointer. * \return a key_state_t pointer or NULL on error. */ -key_state_t* key_state_new_copy(const key_state_t* key_state); +extern key_state_t* key_state_new_copy(const key_state_t* key_state); /** * Delete a key state object, this does not delete it from the database. * \param[in] key_state a key_state_t pointer. */ -void key_state_free(key_state_t* key_state); +extern void key_state_free(key_state_t* key_state); /** * Copy the content of a key state object. @@ -102,7 +102,7 @@ * \param[in] key_state_copy a key_state_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_copy(key_state_t* key_state, const key_state_t* key_state_copy); +extern int key_state_copy(key_state_t* key_state, const key_state_t* key_state_copy); /** * Set the content of a key state object based on a database result. @@ -110,63 +110,63 @@ * \param[in] result a db_result_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_from_result(key_state_t* key_state, const db_result_t* result); +extern int key_state_from_result(key_state_t* key_state, const db_result_t* result); /** * Get the key_data_id of a key state object. * \param[in] key_state a key_state_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* key_state_key_data_id(const key_state_t* key_state); +extern const db_value_t* key_state_key_data_id(const key_state_t* key_state); /** * Get the type of a key state object. * \param[in] key_state a key_state_t pointer. * \return a key_state_type_t which may be KEY_STATE_TYPE_INVALID on error or if no type has been set. */ -key_state_type_t key_state_type(const key_state_t* key_state); +extern key_state_type_t key_state_type(const key_state_t* key_state); /** * Get the type as text of a key state object. * \param[in] key_state a key_state_t pointer. * \return a character pointer or NULL on error or if no type has been set. */ -const char* key_state_type_text(const key_state_t* key_state); +extern const char* key_state_type_text(const key_state_t* key_state); /** * Get the state of a key state object. * \param[in] key_state a key_state_t pointer. * \return a key_state_state_t which may be KEY_STATE_STATE_INVALID on error or if no state has been set. */ -key_state_state_t key_state_state(const key_state_t* key_state); +extern key_state_state_t key_state_state(const key_state_t* key_state); /** * Get the state as text of a key state object. * \param[in] key_state a key_state_t pointer. * \return a character pointer or NULL on error or if no state has been set. */ -const char* key_state_state_text(const key_state_t* key_state); +extern const char* key_state_state_text(const key_state_t* key_state); /** * Get the last_change of a key state object. Undefined behavior if `key_state` is NULL. * \param[in] key_state a key_state_t pointer. * \return an unsigned integer. */ -unsigned int key_state_last_change(const key_state_t* key_state); +extern unsigned int key_state_last_change(const key_state_t* key_state); /** * Get the minimize of a key state object. Undefined behavior if `key_state` is NULL. * \param[in] key_state a key_state_t pointer. * \return an unsigned integer. */ -unsigned int key_state_minimize(const key_state_t* key_state); +extern unsigned int key_state_minimize(const key_state_t* key_state); /** * Get the ttl of a key state object. Undefined behavior if `key_state` is NULL. * \param[in] key_state a key_state_t pointer. * \return an unsigned integer. */ -unsigned int key_state_ttl(const key_state_t* key_state); +extern unsigned int key_state_ttl(const key_state_t* key_state); /** * Set the key_data_id of a key state object. If this fails the original value may have been lost. @@ -174,7 +174,7 @@ * \param[in] key_data_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_set_key_data_id(key_state_t* key_state, const db_value_t* key_data_id); +extern int key_state_set_key_data_id(key_state_t* key_state, const db_value_t* key_data_id); /** * Set the type of a key state object. @@ -182,7 +182,7 @@ * \param[in] type a key_state_type_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_set_type(key_state_t* key_state, key_state_type_t type); +extern int key_state_set_type(key_state_t* key_state, key_state_type_t type); /** * Set the state of a key state object. @@ -190,7 +190,7 @@ * \param[in] state a key_state_state_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_set_state(key_state_t* key_state, key_state_state_t state); +extern int key_state_set_state(key_state_t* key_state, key_state_state_t state); /** * Set the last_change of a key state object. @@ -198,7 +198,7 @@ * \param[in] last_change an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_set_last_change(key_state_t* key_state, unsigned int last_change); +extern int key_state_set_last_change(key_state_t* key_state, unsigned int last_change); /** * Set the minimize of a key state object. @@ -206,7 +206,7 @@ * \param[in] minimize an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_set_minimize(key_state_t* key_state, unsigned int minimize); +extern int key_state_set_minimize(key_state_t* key_state, unsigned int minimize); /** * Set the ttl of a key state object. @@ -214,7 +214,7 @@ * \param[in] ttl an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_set_ttl(key_state_t* key_state, unsigned int ttl); +extern int key_state_set_ttl(key_state_t* key_state, unsigned int ttl); /** * Create a clause for key_data_id of a key state object and add it to a database clause list. @@ -225,14 +225,14 @@ * \param[in] key_data_id a db_value_t pointer. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* key_state_key_data_id_clause(db_clause_list_t* clause_list, const db_value_t* key_data_id); +extern db_clause_t* key_state_key_data_id_clause(db_clause_list_t* clause_list, const db_value_t* key_data_id); /** * Create a key state object in the database. * \param[in] key_state a key_state_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_create(key_state_t* key_state); +extern int key_state_create(key_state_t* key_state); /** * Get a key state object from the database by a id specified in `id`. @@ -240,21 +240,21 @@ * \param[in] id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_get_by_id(key_state_t* key_state, const db_value_t* id); +extern int key_state_get_by_id(key_state_t* key_state, const db_value_t* id); /** * Update a key state object in the database. * \param[in] key_state a key_state_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_update(key_state_t* key_state); +extern int key_state_update(key_state_t* key_state); /** * Delete a key state object from the database. * \param[in] key_state a key_state_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_delete(const key_state_t* key_state); +extern int key_state_delete(const key_state_t* key_state); /** * A list of key state objects. @@ -278,14 +278,14 @@ * \param[in] connection a db_connection_t pointer. * \return a key_state_list_t pointer or NULL on error. */ -key_state_list_t* key_state_list_new(const db_connection_t* connection); +extern key_state_list_t* key_state_list_new(const db_connection_t* connection); /** * Create a new key state object list that is a copy of another. * \param[in] key_state_list a key_state_list_t pointer. * \return a key_state_list_t pointer or NULL on error. */ -key_state_list_t* key_state_list_new_copy(const key_state_list_t* key_state_copy); +extern key_state_list_t* key_state_list_new_copy(const key_state_list_t* key_state_copy); /** * Specify that objects should be stored within the list as they are fetch, @@ -293,13 +293,13 @@ * \param[in] key_state_list a key_state_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_list_object_store(key_state_list_t* key_state_list); +extern int key_state_list_object_store(key_state_list_t* key_state_list); /** * Delete a key state object list. * \param[in] key_state_list a key_state_list_t pointer. */ -void key_state_list_free(key_state_list_t* key_state_list); +extern void key_state_list_free(key_state_list_t* key_state_list); /** * Copy the content of another key state object list. @@ -307,7 +307,7 @@ * \param[in] from_key_state_list a key_state_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_list_copy(key_state_list_t* key_state_list, const key_state_list_t* from_key_state_list); +extern int key_state_list_copy(key_state_list_t* key_state_list, const key_state_list_t* from_key_state_list); /** @@ -316,7 +316,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_list_get_by_clauses(key_state_list_t* key_state_list, const db_clause_list_t* clause_list); +extern int key_state_list_get_by_clauses(key_state_list_t* key_state_list, const db_clause_list_t* clause_list); /** * Get key state objects from the database by a key_data_id specified in `key_data_id`. @@ -324,7 +324,7 @@ * \param[in] key_data_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int key_state_list_get_by_key_data_id(key_state_list_t* key_state_list, const db_value_t* key_data_id); +extern int key_state_list_get_by_key_data_id(key_state_list_t* key_state_list, const db_value_t* key_data_id); /** * Get a new list of key state objects from the database by a key_data_id specified in `key_data_id`. @@ -332,7 +332,7 @@ * \param[in] key_data_id a db_value_t pointer. * \return a key_state_list_t pointer or NULL on error. */ -key_state_list_t* key_state_list_new_get_by_key_data_id(const db_connection_t* connection, const db_value_t* key_data_id); +extern key_state_list_t* key_state_list_new_get_by_key_data_id(const db_connection_t* connection, const db_value_t* key_data_id); /** * Get the first key state object in a key state object list and reset the @@ -341,7 +341,7 @@ * \return a key_state_t pointer or NULL on error or if there are no * key state objects in the key state object list. */ -const key_state_t* key_state_list_begin(key_state_list_t* key_state_list); +extern const key_state_t* key_state_list_begin(key_state_list_t* key_state_list); /** * Get the first key state object in a key state object list and reset the @@ -351,7 +351,7 @@ * \return a key_state_t pointer or NULL on error or if there are no * key state objects in the key state object list. */ -key_state_t* key_state_list_get_begin(key_state_list_t* key_state_list); +extern key_state_t* key_state_list_get_begin(key_state_list_t* key_state_list); /** * Get the next key state object in a key state object list. @@ -361,7 +361,7 @@ * \return a key_state_t pointer or NULL on error or if there are no more * key state objects in the key state object list. */ -const key_state_t* key_state_list_next(key_state_list_t* key_state_list); +extern const key_state_t* key_state_list_next(key_state_list_t* key_state_list); /** * Get the next key state object in a key state object list. @@ -371,6 +371,6 @@ * \return a key_state_t pointer or NULL on error or if there are no more * key state objects in the key state object list. */ -key_state_t* key_state_list_get_next(key_state_list_t* key_state_list); +extern key_state_t* key_state_list_get_next(key_state_list_t* key_state_list); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/policy_ext.h opendnssec-2.1.6/enforcer/src/db/policy_ext.h --- opendnssec-2.1.6-orig/enforcer/src/db/policy_ext.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/policy_ext.h 2020-02-18 23:08:38.112360658 -0500 @@ -41,7 +41,7 @@ * \param[in] policy_node a xmlNodePtr to the XML for the policy. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_create_from_xml(policy_t* policy, xmlNodePtr policy_node); +extern int policy_create_from_xml(policy_t* policy, xmlNodePtr policy_node); /** * Update a policy object from XML. @@ -51,13 +51,13 @@ * values in the policy was updated. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_update_from_xml(policy_t* policy, xmlNodePtr policy_node, int* updated); +extern int policy_update_from_xml(policy_t* policy, xmlNodePtr policy_node, int* updated); /** * Get the policy keys for a policy. * \param[in] policy a policy_t object. * \return a policy_key_list_t pointer or NULL on error. */ -policy_key_list_t* policy_get_policy_keys(const policy_t* policy); +extern policy_key_list_t* policy_get_policy_keys(const policy_t* policy); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/policy.h opendnssec-2.1.6/enforcer/src/db/policy.h --- opendnssec-2.1.6-orig/enforcer/src/db/policy.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/policy.h 2020-02-18 23:08:38.112360658 -0500 @@ -107,20 +107,20 @@ * \param[in] connection a db_connection_t pointer. * \return a policy_t pointer or NULL on error. */ -policy_t* policy_new(const db_connection_t* connection); +extern policy_t* policy_new(const db_connection_t* connection); /** * Create a new policy object that is a copy of another policy object. * \param[in] policy a policy_t pointer. * \return a policy_t pointer or NULL on error. */ -policy_t* policy_new_copy(const policy_t* policy); +extern policy_t* policy_new_copy(const policy_t* policy); /** * Delete a policy object, this does not delete it from the database. * \param[in] policy a policy_t pointer. */ -void policy_free(policy_t* policy); +extern void policy_free(policy_t* policy); /** * Copy the content of a policy object. @@ -128,7 +128,7 @@ * \param[in] policy_copy a policy_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_copy(policy_t* policy, const policy_t* policy_copy); +extern int policy_copy(policy_t* policy, const policy_t* policy_copy); /** * Set the content of a policy object based on a database result. @@ -136,259 +136,259 @@ * \param[in] result a db_result_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_from_result(policy_t* policy, const db_result_t* result); +extern int policy_from_result(policy_t* policy, const db_result_t* result); /** * Get the id of a policy object. * \param[in] policy a policy_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* policy_id(const policy_t* policy); +extern const db_value_t* policy_id(const policy_t* policy); /** * Get the name of a policy object. * \param[in] policy a policy_t pointer. * \return a character pointer or NULL on error or if no name has been set. */ -const char* policy_name(const policy_t* policy); +extern const char* policy_name(const policy_t* policy); /** * Get the passthrough of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_passthrough(const policy_t* policy); +extern unsigned int policy_passthrough(const policy_t* policy); /** * Get the description of a policy object. * \param[in] policy a policy_t pointer. * \return a character pointer or NULL on error or if no description has been set. */ -const char* policy_description(const policy_t* policy); +extern const char* policy_description(const policy_t* policy); /** * Get the signatures_resign of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_signatures_resign(const policy_t* policy); +extern unsigned int policy_signatures_resign(const policy_t* policy); /** * Get the signatures_refresh of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_signatures_refresh(const policy_t* policy); +extern unsigned int policy_signatures_refresh(const policy_t* policy); /** * Get the signatures_jitter of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_signatures_jitter(const policy_t* policy); +extern unsigned int policy_signatures_jitter(const policy_t* policy); /** * Get the signatures_inception_offset of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_signatures_inception_offset(const policy_t* policy); +extern unsigned int policy_signatures_inception_offset(const policy_t* policy); /** * Get the signatures_validity_default of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_signatures_validity_default(const policy_t* policy); +extern unsigned int policy_signatures_validity_default(const policy_t* policy); /** * Get the signatures_validity_denial of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_signatures_validity_denial(const policy_t* policy); +extern unsigned int policy_signatures_validity_denial(const policy_t* policy); /** * Get the signatures_validity_keyset of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_signatures_validity_keyset(const policy_t* policy); +extern unsigned int policy_signatures_validity_keyset(const policy_t* policy); /** * Get the signatures_max_zone_ttl of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_signatures_max_zone_ttl(const policy_t* policy); +extern unsigned int policy_signatures_max_zone_ttl(const policy_t* policy); /** * Get the denial_type of a policy object. * \param[in] policy a policy_t pointer. * \return a policy_denial_type_t which may be POLICY_DENIAL_TYPE_INVALID on error or if no denial_type has been set. */ -policy_denial_type_t policy_denial_type(const policy_t* policy); +extern policy_denial_type_t policy_denial_type(const policy_t* policy); /** * Get the denial_optout of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_denial_optout(const policy_t* policy); +extern unsigned int policy_denial_optout(const policy_t* policy); /** * Get the denial_ttl of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_denial_ttl(const policy_t* policy); +extern unsigned int policy_denial_ttl(const policy_t* policy); /** * Get the denial_resalt of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_denial_resalt(const policy_t* policy); +extern unsigned int policy_denial_resalt(const policy_t* policy); /** * Get the denial_algorithm of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_denial_algorithm(const policy_t* policy); +extern unsigned int policy_denial_algorithm(const policy_t* policy); /** * Get the denial_iterations of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_denial_iterations(const policy_t* policy); +extern unsigned int policy_denial_iterations(const policy_t* policy); /** * Get the denial_salt_length of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_denial_salt_length(const policy_t* policy); +extern unsigned int policy_denial_salt_length(const policy_t* policy); /** * Get the denial_salt of a policy object. * \param[in] policy a policy_t pointer. * \return a character pointer or NULL on error or if no denial_salt has been set. */ -const char* policy_denial_salt(const policy_t* policy); +extern const char* policy_denial_salt(const policy_t* policy); /** * Get the denial_salt_last_change of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_denial_salt_last_change(const policy_t* policy); +extern unsigned int policy_denial_salt_last_change(const policy_t* policy); /** * Get the keys_ttl of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_keys_ttl(const policy_t* policy); +extern unsigned int policy_keys_ttl(const policy_t* policy); /** * Get the keys_retire_safety of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_keys_retire_safety(const policy_t* policy); +extern unsigned int policy_keys_retire_safety(const policy_t* policy); /** * Get the keys_publish_safety of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_keys_publish_safety(const policy_t* policy); +extern unsigned int policy_keys_publish_safety(const policy_t* policy); /** * Get the keys_shared of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_keys_shared(const policy_t* policy); +extern unsigned int policy_keys_shared(const policy_t* policy); /** * Get the keys_purge_after of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_keys_purge_after(const policy_t* policy); +extern unsigned int policy_keys_purge_after(const policy_t* policy); /** * Get the zone_propagation_delay of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_zone_propagation_delay(const policy_t* policy); +extern unsigned int policy_zone_propagation_delay(const policy_t* policy); /** * Get the zone_soa_ttl of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_zone_soa_ttl(const policy_t* policy); +extern unsigned int policy_zone_soa_ttl(const policy_t* policy); /** * Get the zone_soa_minimum of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_zone_soa_minimum(const policy_t* policy); +extern unsigned int policy_zone_soa_minimum(const policy_t* policy); /** * Get the zone_soa_serial as text of a policy object. * \param[in] policy a policy_t pointer. * \return a character pointer or NULL on error or if no zone_soa_serial has been set. */ -const char* policy_zone_soa_serial_text(const policy_t* policy); +extern const char* policy_zone_soa_serial_text(const policy_t* policy); /** * Get the parent_registration_delay of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_parent_registration_delay(const policy_t* policy); +extern unsigned int policy_parent_registration_delay(const policy_t* policy); /** * Get the parent_propagation_delay of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_parent_propagation_delay(const policy_t* policy); +extern unsigned int policy_parent_propagation_delay(const policy_t* policy); /** * Get the parent_ds_ttl of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_parent_ds_ttl(const policy_t* policy); +extern unsigned int policy_parent_ds_ttl(const policy_t* policy); /** * Get the parent_soa_ttl of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_parent_soa_ttl(const policy_t* policy); +extern unsigned int policy_parent_soa_ttl(const policy_t* policy); /** * Get the parent_soa_minimum of a policy object. Undefined behavior if `policy` is NULL. * \param[in] policy a policy_t pointer. * \return an unsigned integer. */ -unsigned int policy_parent_soa_minimum(const policy_t* policy); +extern unsigned int policy_parent_soa_minimum(const policy_t* policy); /** * Get the zone objects related to a policy object. * \param[in] policy a policy_t pointer. * \return a zone_list_db_t pointer or NULL on error. */ -zone_list_db_t* policy_zone_list(policy_t* policy); +extern zone_list_db_t* policy_zone_list(policy_t* policy); /** * Retrieve zone objects related to a policy object. @@ -397,7 +397,7 @@ * \param[in] policy a policy_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_retrieve_zone_list(policy_t* policy); +extern int policy_retrieve_zone_list(policy_t* policy); /** * Set the name of a policy object. @@ -405,7 +405,7 @@ * \param[in] name_text a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_name(policy_t* policy, const char* name_text); +extern int policy_set_name(policy_t* policy, const char* name_text); /** * Set the passthrough of a policy object. @@ -413,7 +413,7 @@ * \param[in] passthrough an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_passthrough(policy_t* policy, unsigned int passthrough); +extern int policy_set_passthrough(policy_t* policy, unsigned int passthrough); /** * Set the description of a policy object. @@ -421,7 +421,7 @@ * \param[in] description_text a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_description(policy_t* policy, const char* description_text); +extern int policy_set_description(policy_t* policy, const char* description_text); /** * Set the signatures_resign of a policy object. @@ -429,7 +429,7 @@ * \param[in] signatures_resign an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_signatures_resign(policy_t* policy, unsigned int signatures_resign); +extern int policy_set_signatures_resign(policy_t* policy, unsigned int signatures_resign); /** * Set the signatures_refresh of a policy object. @@ -437,7 +437,7 @@ * \param[in] signatures_refresh an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_signatures_refresh(policy_t* policy, unsigned int signatures_refresh); +extern int policy_set_signatures_refresh(policy_t* policy, unsigned int signatures_refresh); /** * Set the signatures_jitter of a policy object. @@ -445,7 +445,7 @@ * \param[in] signatures_jitter an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_signatures_jitter(policy_t* policy, unsigned int signatures_jitter); +extern int policy_set_signatures_jitter(policy_t* policy, unsigned int signatures_jitter); /** * Set the signatures_inception_offset of a policy object. @@ -453,7 +453,7 @@ * \param[in] signatures_inception_offset an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_signatures_inception_offset(policy_t* policy, unsigned int signatures_inception_offset); +extern int policy_set_signatures_inception_offset(policy_t* policy, unsigned int signatures_inception_offset); /** * Set the signatures_validity_default of a policy object. @@ -461,7 +461,7 @@ * \param[in] signatures_validity_default an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_signatures_validity_default(policy_t* policy, unsigned int signatures_validity_default); +extern int policy_set_signatures_validity_default(policy_t* policy, unsigned int signatures_validity_default); /** * Set the signatures_validity_denial of a policy object. @@ -469,7 +469,7 @@ * \param[in] signatures_validity_denial an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_signatures_validity_denial(policy_t* policy, unsigned int signatures_validity_denial); +extern int policy_set_signatures_validity_denial(policy_t* policy, unsigned int signatures_validity_denial); /** * Set the signatures_validity_keyset of a policy object. @@ -477,7 +477,7 @@ * \param[in] signatures_validity_keyset an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_signatures_validity_keyset(policy_t* policy, unsigned int signatures_validity_keyset); +extern int policy_set_signatures_validity_keyset(policy_t* policy, unsigned int signatures_validity_keyset); /** * Set the signatures_max_zone_ttl of a policy object. @@ -485,7 +485,7 @@ * \param[in] signatures_max_zone_ttl an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_signatures_max_zone_ttl(policy_t* policy, unsigned int signatures_max_zone_ttl); +extern int policy_set_signatures_max_zone_ttl(policy_t* policy, unsigned int signatures_max_zone_ttl); /** * Set the denial_type of a policy object. @@ -493,7 +493,7 @@ * \param[in] denial_type a policy_denial_type_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_denial_type(policy_t* policy, policy_denial_type_t denial_type); +extern int policy_set_denial_type(policy_t* policy, policy_denial_type_t denial_type); /** * Set the denial_optout of a policy object. @@ -501,7 +501,7 @@ * \param[in] denial_optout an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_denial_optout(policy_t* policy, unsigned int denial_optout); +extern int policy_set_denial_optout(policy_t* policy, unsigned int denial_optout); /** * Set the denial_ttl of a policy object. @@ -509,7 +509,7 @@ * \param[in] denial_ttl an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_denial_ttl(policy_t* policy, unsigned int denial_ttl); +extern int policy_set_denial_ttl(policy_t* policy, unsigned int denial_ttl); /** * Set the denial_resalt of a policy object. @@ -517,7 +517,7 @@ * \param[in] denial_resalt an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_denial_resalt(policy_t* policy, unsigned int denial_resalt); +extern int policy_set_denial_resalt(policy_t* policy, unsigned int denial_resalt); /** * Set the denial_algorithm of a policy object. @@ -525,7 +525,7 @@ * \param[in] denial_algorithm an unsigned integer with a maximum value of 255. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_denial_algorithm(policy_t* policy, unsigned int denial_algorithm); +extern int policy_set_denial_algorithm(policy_t* policy, unsigned int denial_algorithm); /** * Set the denial_iterations of a policy object. @@ -533,7 +533,7 @@ * \param[in] denial_iterations an unsigned integer with a maximum value of 65535. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_denial_iterations(policy_t* policy, unsigned int denial_iterations); +extern int policy_set_denial_iterations(policy_t* policy, unsigned int denial_iterations); /** * Set the denial_salt_length of a policy object. @@ -541,7 +541,7 @@ * \param[in] denial_salt_length an unsigned integer with a maximum value of 255. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_denial_salt_length(policy_t* policy, unsigned int denial_salt_length); +extern int policy_set_denial_salt_length(policy_t* policy, unsigned int denial_salt_length); /** * Set the denial_salt of a policy object. @@ -549,7 +549,7 @@ * \param[in] denial_salt_text a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_denial_salt(policy_t* policy, const char* denial_salt_text); +extern int policy_set_denial_salt(policy_t* policy, const char* denial_salt_text); /** * Set the denial_salt_last_change of a policy object. @@ -557,7 +557,7 @@ * \param[in] denial_salt_last_change an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_denial_salt_last_change(policy_t* policy, unsigned int denial_salt_last_change); +extern int policy_set_denial_salt_last_change(policy_t* policy, unsigned int denial_salt_last_change); /** * Set the keys_ttl of a policy object. @@ -565,7 +565,7 @@ * \param[in] keys_ttl an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_keys_ttl(policy_t* policy, unsigned int keys_ttl); +extern int policy_set_keys_ttl(policy_t* policy, unsigned int keys_ttl); /** * Set the keys_retire_safety of a policy object. @@ -573,7 +573,7 @@ * \param[in] keys_retire_safety an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_keys_retire_safety(policy_t* policy, unsigned int keys_retire_safety); +extern int policy_set_keys_retire_safety(policy_t* policy, unsigned int keys_retire_safety); /** * Set the keys_publish_safety of a policy object. @@ -581,7 +581,7 @@ * \param[in] keys_publish_safety an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_keys_publish_safety(policy_t* policy, unsigned int keys_publish_safety); +extern int policy_set_keys_publish_safety(policy_t* policy, unsigned int keys_publish_safety); /** * Set the keys_shared of a policy object. @@ -589,7 +589,7 @@ * \param[in] keys_shared an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_keys_shared(policy_t* policy, unsigned int keys_shared); +extern int policy_set_keys_shared(policy_t* policy, unsigned int keys_shared); /** * Set the keys_purge_after of a policy object. @@ -597,7 +597,7 @@ * \param[in] keys_purge_after an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_keys_purge_after(policy_t* policy, unsigned int keys_purge_after); +extern int policy_set_keys_purge_after(policy_t* policy, unsigned int keys_purge_after); /** * Set the zone_propagation_delay of a policy object. @@ -605,7 +605,7 @@ * \param[in] zone_propagation_delay an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_zone_propagation_delay(policy_t* policy, unsigned int zone_propagation_delay); +extern int policy_set_zone_propagation_delay(policy_t* policy, unsigned int zone_propagation_delay); /** * Set the zone_soa_ttl of a policy object. @@ -613,7 +613,7 @@ * \param[in] zone_soa_ttl an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_zone_soa_ttl(policy_t* policy, unsigned int zone_soa_ttl); +extern int policy_set_zone_soa_ttl(policy_t* policy, unsigned int zone_soa_ttl); /** * Set the zone_soa_minimum of a policy object. @@ -621,7 +621,7 @@ * \param[in] zone_soa_minimum an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_zone_soa_minimum(policy_t* policy, unsigned int zone_soa_minimum); +extern int policy_set_zone_soa_minimum(policy_t* policy, unsigned int zone_soa_minimum); /** * Set the zone_soa_serial of a policy object from text. @@ -629,7 +629,7 @@ * \param[in] zone_soa_serial a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_zone_soa_serial_text(policy_t* policy, const char* zone_soa_serial); +extern int policy_set_zone_soa_serial_text(policy_t* policy, const char* zone_soa_serial); /** * Set the parent_registration_delay of a policy object. @@ -637,7 +637,7 @@ * \param[in] parent_registration_delay an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_parent_registration_delay(policy_t* policy, unsigned int parent_registration_delay); +extern int policy_set_parent_registration_delay(policy_t* policy, unsigned int parent_registration_delay); /** * Set the parent_propagation_delay of a policy object. @@ -645,7 +645,7 @@ * \param[in] parent_propagation_delay an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_parent_propagation_delay(policy_t* policy, unsigned int parent_propagation_delay); +extern int policy_set_parent_propagation_delay(policy_t* policy, unsigned int parent_propagation_delay); /** * Set the parent_ds_ttl of a policy object. @@ -653,7 +653,7 @@ * \param[in] parent_ds_ttl an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_parent_ds_ttl(policy_t* policy, unsigned int parent_ds_ttl); +extern int policy_set_parent_ds_ttl(policy_t* policy, unsigned int parent_ds_ttl); /** * Set the parent_soa_ttl of a policy object. @@ -661,7 +661,7 @@ * \param[in] parent_soa_ttl an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_parent_soa_ttl(policy_t* policy, unsigned int parent_soa_ttl); +extern int policy_set_parent_soa_ttl(policy_t* policy, unsigned int parent_soa_ttl); /** * Set the parent_soa_minimum of a policy object. @@ -669,7 +669,7 @@ * \param[in] parent_soa_minimum an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_set_parent_soa_minimum(policy_t* policy, unsigned int parent_soa_minimum); +extern int policy_set_parent_soa_minimum(policy_t* policy, unsigned int parent_soa_minimum); /** * Create a clause for denial_type of a policy object and add it to a database clause list. @@ -680,14 +680,14 @@ * \param[in] denial_type a policy_denial_type_t. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* policy_denial_type_clause(db_clause_list_t* clause_list, policy_denial_type_t denial_type); +extern db_clause_t* policy_denial_type_clause(db_clause_list_t* clause_list, policy_denial_type_t denial_type); /** * Create a policy object in the database. * \param[in] policy a policy_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_create(policy_t* policy); +extern int policy_create(policy_t* policy); /** * Get a policy object from the database by a id specified in `id`. @@ -695,7 +695,7 @@ * \param[in] id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_get_by_id(policy_t* policy, const db_value_t* id); +extern int policy_get_by_id(policy_t* policy, const db_value_t* id); /** * Get a policy object from the database by a name specified in `name`. @@ -703,7 +703,7 @@ * \param[in] name a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_get_by_name(policy_t* policy, const char* name); +extern int policy_get_by_name(policy_t* policy, const char* name); /** * Get a new policy object from the database by a name specified in `name`. @@ -711,21 +711,21 @@ * \param[in] name a character pointer. * \return a policy_t pointer or NULL on error or if it does not exist. */ -policy_t* policy_new_get_by_name(const db_connection_t* connection, const char* name); +extern policy_t* policy_new_get_by_name(const db_connection_t* connection, const char* name); /** * Update a policy object in the database. * \param[in] policy a policy_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_update(policy_t* policy); +extern int policy_update(policy_t* policy); /** * Delete a policy object from the database. * \param[in] policy a policy_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_delete(policy_t* policy); +extern int policy_delete(policy_t* policy); /** * A list of policy objects. @@ -748,14 +748,14 @@ * \param[in] connection a db_connection_t pointer. * \return a policy_list_t pointer or NULL on error. */ -policy_list_t* policy_list_new(const db_connection_t* connection); +extern policy_list_t* policy_list_new(const db_connection_t* connection); /** * Create a new policy object list that is a copy of another. * \param[in] policy_list a policy_list_t pointer. * \return a policy_list_t pointer or NULL on error. */ -policy_list_t* policy_list_new_copy(const policy_list_t* policy_copy); +extern policy_list_t* policy_list_new_copy(const policy_list_t* policy_copy); /** * Specify that objects should be stored within the list as they are fetch, @@ -763,13 +763,13 @@ * \param[in] policy_list a policy_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_list_object_store(policy_list_t* policy_list); +extern int policy_list_object_store(policy_list_t* policy_list); /** * Delete a policy object list. * \param[in] policy_list a policy_list_t pointer. */ -void policy_list_free(policy_list_t* policy_list); +extern void policy_list_free(policy_list_t* policy_list); /** * Copy the content of another policy object list. @@ -777,21 +777,21 @@ * \param[in] from_policy_list a policy_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_list_copy(policy_list_t* policy_list, const policy_list_t* from_policy_list); +extern int policy_list_copy(policy_list_t* policy_list, const policy_list_t* from_policy_list); /** * Get all policy objects. * \param[in] policy_list a policy_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_list_get(policy_list_t* policy_list); +extern int policy_list_get(policy_list_t* policy_list); /** * Get a new list with all policy objects. * \param[in] connection a db_connection_t pointer. * \return a policy_list_t pointer or NULL on error. */ -policy_list_t* policy_list_new_get(const db_connection_t* connection); +extern policy_list_t* policy_list_new_get(const db_connection_t* connection); /** * Get policy objects from the database by a clause list. @@ -799,7 +799,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_list_get_by_clauses(policy_list_t* policy_list, const db_clause_list_t* clause_list); +extern int policy_list_get_by_clauses(policy_list_t* policy_list, const db_clause_list_t* clause_list); /** * Get a new list of policy objects from the database by a clause list. @@ -807,7 +807,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return a policy_list_t pointer or NULL on error. */ -policy_list_t* policy_list_new_get_by_clauses(const db_connection_t* connection, const db_clause_list_t* clause_list); +extern policy_list_t* policy_list_new_get_by_clauses(const db_connection_t* connection, const db_clause_list_t* clause_list); /** * Get the first policy object in a policy object list and reset the @@ -816,7 +816,7 @@ * \return a policy_t pointer or NULL on error or if there are no * policy objects in the policy object list. */ -const policy_t* policy_list_begin(policy_list_t* policy_list); +extern const policy_t* policy_list_begin(policy_list_t* policy_list); /** * Get the next policy object in a policy object list. @@ -826,7 +826,7 @@ * \return a policy_t pointer or NULL on error or if there are no more * policy objects in the policy object list. */ -const policy_t* policy_list_next(policy_list_t* policy_list); +extern const policy_t* policy_list_next(policy_list_t* policy_list); /** * Get the next policy object in a policy object list. @@ -836,6 +836,6 @@ * \return a policy_t pointer or NULL on error or if there are no more * policy objects in the policy object list. */ -policy_t* policy_list_get_next(policy_list_t* policy_list); +extern policy_t* policy_list_get_next(policy_list_t* policy_list); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/policy_key_ext.h opendnssec-2.1.6/enforcer/src/db/policy_key_ext.h --- opendnssec-2.1.6-orig/enforcer/src/db/policy_key_ext.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/policy_key_ext.h 2020-02-18 23:08:38.113360672 -0500 @@ -44,6 +44,6 @@ * \param[in] key_node a xmlNodePtr to the XML for the policy key. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_create_from_xml(policy_key_t* policy_key, xmlNodePtr key_node); +extern int policy_key_create_from_xml(policy_key_t* policy_key, xmlNodePtr key_node); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/policy_key.h opendnssec-2.1.6/enforcer/src/db/policy_key.h --- opendnssec-2.1.6-orig/enforcer/src/db/policy_key.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/policy_key.h 2020-02-18 23:08:38.113360672 -0500 @@ -74,26 +74,26 @@ * \param[in] connection a db_connection_t pointer. * \return a policy_key_t pointer or NULL on error. */ -policy_key_t* policy_key_new(const db_connection_t* connection); +extern policy_key_t* policy_key_new(const db_connection_t* connection); /** * Create a new policy key object that is a copy of another policy key object. * \param[in] policy_key a policy_key_t pointer. * \return a policy_key_t pointer or NULL on error. */ -policy_key_t* policy_key_new_copy(const policy_key_t* policy_key); +extern policy_key_t* policy_key_new_copy(const policy_key_t* policy_key); /** * Delete a policy key object, this does not delete it from the database. * \param[in] policy_key a policy_key_t pointer. */ -void policy_key_free(policy_key_t* policy_key); +extern void policy_key_free(policy_key_t* policy_key); /** * Reset the content of a policy key object making it as if its new. This does not change anything in the database. * \param[in] policy_key a policy_key_t pointer. */ -void policy_key_reset(policy_key_t* policy_key); +extern void policy_key_reset(policy_key_t* policy_key); /** * Copy the content of a policy key object. @@ -101,7 +101,7 @@ * \param[in] policy_key_copy a policy_key_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_copy(policy_key_t* policy_key, const policy_key_t* policy_key_copy); +extern int policy_key_copy(policy_key_t* policy_key, const policy_key_t* policy_key_copy); /** * Compare two policy key objects and return less than, equal to, @@ -112,7 +112,7 @@ * \return less than, equal to, or greater than zero if A is found, respectively, * to be less than, to match, or be greater than B. */ -int policy_key_cmp(const policy_key_t* policy_key_a, const policy_key_t* policy_key_b); +extern int policy_key_cmp(const policy_key_t* policy_key_a, const policy_key_t* policy_key_b); /** * Set the content of a policy key object based on a database result. @@ -120,21 +120,21 @@ * \param[in] result a db_result_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_from_result(policy_key_t* policy_key, const db_result_t* result); +extern int policy_key_from_result(policy_key_t* policy_key, const db_result_t* result); /** * Get the policy_id of a policy key object. * \param[in] policy_key a policy_key_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* policy_key_policy_id(const policy_key_t* policy_key); +extern const db_value_t* policy_key_policy_id(const policy_key_t* policy_key); /** * Get the policy_id object related to a policy key object. * \param[in] policy_key a policy_key_t pointer. * \return a policy_t pointer or NULL on error or if no object could be found. */ -const policy_t* policy_key_policy(const policy_key_t* policy_key); +extern const policy_t* policy_key_policy(const policy_key_t* policy_key); /** * Get the policy_id object related to a policy key object. @@ -142,77 +142,77 @@ * \param[in] policy_key a policy_key_t pointer. * \return a policy_t pointer or NULL on error or if no object could be found. */ -policy_t* policy_key_get_policy(const policy_key_t* policy_key); +extern policy_t* policy_key_get_policy(const policy_key_t* policy_key); /** * Get the role of a policy key object. * \param[in] policy_key a policy_key_t pointer. * \return a policy_key_role_t which may be POLICY_KEY_ROLE_INVALID on error or if no role has been set. */ -policy_key_role_t policy_key_role(const policy_key_t* policy_key); +extern policy_key_role_t policy_key_role(const policy_key_t* policy_key); /** * Get the role as text of a policy key object. * \param[in] policy_key a policy_key_t pointer. * \return a character pointer or NULL on error or if no role has been set. */ -const char* policy_key_role_text(const policy_key_t* policy_key); +extern const char* policy_key_role_text(const policy_key_t* policy_key); /** * Get the algorithm of a policy key object. Undefined behavior if `policy_key` is NULL. * \param[in] policy_key a policy_key_t pointer. * \return an unsigned integer. */ -unsigned int policy_key_algorithm(const policy_key_t* policy_key); +extern unsigned int policy_key_algorithm(const policy_key_t* policy_key); /** * Get the bits of a policy key object. Undefined behavior if `policy_key` is NULL. * \param[in] policy_key a policy_key_t pointer. * \return an unsigned integer. */ -unsigned int policy_key_bits(const policy_key_t* policy_key); +extern unsigned int policy_key_bits(const policy_key_t* policy_key); /** * Get the lifetime of a policy key object. Undefined behavior if `policy_key` is NULL. * \param[in] policy_key a policy_key_t pointer. * \return an unsigned integer. */ -unsigned int policy_key_lifetime(const policy_key_t* policy_key); +extern unsigned int policy_key_lifetime(const policy_key_t* policy_key); /** * Get the repository of a policy key object. * \param[in] policy_key a policy_key_t pointer. * \return a character pointer or NULL on error or if no repository has been set. */ -const char* policy_key_repository(const policy_key_t* policy_key); +extern const char* policy_key_repository(const policy_key_t* policy_key); /** * Get the standby of a policy key object. Undefined behavior if `policy_key` is NULL. * \param[in] policy_key a policy_key_t pointer. * \return an integer. */ -int policy_key_standby(const policy_key_t* policy_key); +extern int policy_key_standby(const policy_key_t* policy_key); /** * Get the manual_rollover of a policy key object. Undefined behavior if `policy_key` is NULL. * \param[in] policy_key a policy_key_t pointer. * \return an unsigned integer. */ -unsigned int policy_key_manual_rollover(const policy_key_t* policy_key); +extern unsigned int policy_key_manual_rollover(const policy_key_t* policy_key); /** * Get the rfc5011 of a policy key object. Undefined behavior if `policy_key` is NULL. * \param[in] policy_key a policy_key_t pointer. * \return an unsigned integer. */ -unsigned int policy_key_rfc5011(const policy_key_t* policy_key); +extern unsigned int policy_key_rfc5011(const policy_key_t* policy_key); /** * Get the minimize of a policy key object. Undefined behavior if `policy_key` is NULL. * \param[in] policy_key a policy_key_t pointer. * \return an unsigned integer. */ -unsigned int policy_key_minimize(const policy_key_t* policy_key); +extern unsigned int policy_key_minimize(const policy_key_t* policy_key); /** * Set the policy_id of a policy key object. If this fails the original value may have been lost. @@ -220,7 +220,7 @@ * \param[in] policy_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_set_policy_id(policy_key_t* policy_key, const db_value_t* policy_id); +extern int policy_key_set_policy_id(policy_key_t* policy_key, const db_value_t* policy_id); /** * Set the role of a policy key object. @@ -228,7 +228,7 @@ * \param[in] role a policy_key_role_t. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_set_role(policy_key_t* policy_key, policy_key_role_t role); +extern int policy_key_set_role(policy_key_t* policy_key, policy_key_role_t role); /** * Set the algorithm of a policy key object. @@ -236,7 +236,7 @@ * \param[in] algorithm an unsigned integer with a maximum value of 255. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_set_algorithm(policy_key_t* policy_key, unsigned int algorithm); +extern int policy_key_set_algorithm(policy_key_t* policy_key, unsigned int algorithm); /** * Set the bits of a policy key object. @@ -244,7 +244,7 @@ * \param[in] bits an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_set_bits(policy_key_t* policy_key, unsigned int bits); +extern int policy_key_set_bits(policy_key_t* policy_key, unsigned int bits); /** * Set the lifetime of a policy key object. @@ -252,7 +252,7 @@ * \param[in] lifetime an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_set_lifetime(policy_key_t* policy_key, unsigned int lifetime); +extern int policy_key_set_lifetime(policy_key_t* policy_key, unsigned int lifetime); /** * Set the repository of a policy key object. @@ -260,7 +260,7 @@ * \param[in] repository_text a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_set_repository(policy_key_t* policy_key, const char* repository_text); +extern int policy_key_set_repository(policy_key_t* policy_key, const char* repository_text); /** * Set the standby of a policy key object. @@ -268,7 +268,7 @@ * \param[in] standby an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_set_standby(policy_key_t* policy_key, unsigned int standby); +extern int policy_key_set_standby(policy_key_t* policy_key, unsigned int standby); /** * Set the manual_rollover of a policy key object. @@ -276,7 +276,7 @@ * \param[in] manual_rollover an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_set_manual_rollover(policy_key_t* policy_key, unsigned int manual_rollover); +extern int policy_key_set_manual_rollover(policy_key_t* policy_key, unsigned int manual_rollover); /** * Set the rfc5011 of a policy key object. @@ -284,7 +284,7 @@ * \param[in] rfc5011 an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_set_rfc5011(policy_key_t* policy_key, unsigned int rfc5011); +extern int policy_key_set_rfc5011(policy_key_t* policy_key, unsigned int rfc5011); /** * Set the minimize of a policy key object. @@ -292,14 +292,14 @@ * \param[in] minimize an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_set_minimize(policy_key_t* policy_key, unsigned int minimize); +extern int policy_key_set_minimize(policy_key_t* policy_key, unsigned int minimize); /** * Create a policy key object in the database. * \param[in] policy_key a policy_key_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_create(policy_key_t* policy_key); +extern int policy_key_create(policy_key_t* policy_key); /** * Get a policy key object from the database by a id specified in `id`. @@ -307,14 +307,14 @@ * \param[in] id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_get_by_id(policy_key_t* policy_key, const db_value_t* id); +extern int policy_key_get_by_id(policy_key_t* policy_key, const db_value_t* id); /** * Delete a policy key object from the database. * \param[in] policy_key a policy_key_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_delete(policy_key_t* policy_key); +extern int policy_key_delete(policy_key_t* policy_key); /** * A list of policy key objects. @@ -338,14 +338,14 @@ * \param[in] connection a db_connection_t pointer. * \return a policy_key_list_t pointer or NULL on error. */ -policy_key_list_t* policy_key_list_new(const db_connection_t* connection); +extern policy_key_list_t* policy_key_list_new(const db_connection_t* connection); /** * Create a new policy key object list that is a copy of another. * \param[in] policy_key_list a policy_key_list_t pointer. * \return a policy_key_list_t pointer or NULL on error. */ -policy_key_list_t* policy_key_list_new_copy(const policy_key_list_t* policy_key_copy); +extern policy_key_list_t* policy_key_list_new_copy(const policy_key_list_t* policy_key_copy); /** * Specify that objects should be stored within the list as they are fetch, @@ -353,13 +353,13 @@ * \param[in] policy_key_list a policy_key_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_list_object_store(policy_key_list_t* policy_key_list); +extern int policy_key_list_object_store(policy_key_list_t* policy_key_list); /** * Delete a policy key object list. * \param[in] policy_key_list a policy_key_list_t pointer. */ -void policy_key_list_free(policy_key_list_t* policy_key_list); +extern void policy_key_list_free(policy_key_list_t* policy_key_list); /** * Copy the content of another policy key object list. @@ -367,7 +367,7 @@ * \param[in] from_policy_key_list a policy_key_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_list_copy(policy_key_list_t* policy_key_list, const policy_key_list_t* from_policy_key_list); +extern int policy_key_list_copy(policy_key_list_t* policy_key_list, const policy_key_list_t* from_policy_key_list); /** * Get policy key objects from the database by a clause list. @@ -375,7 +375,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_list_get_by_clauses(policy_key_list_t* policy_key_list, const db_clause_list_t* clause_list); +extern int policy_key_list_get_by_clauses(policy_key_list_t* policy_key_list, const db_clause_list_t* clause_list); /** * Get policy key objects from the database by a policy_id specified in `policy_id`. @@ -383,7 +383,7 @@ * \param[in] policy_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int policy_key_list_get_by_policy_id(policy_key_list_t* policy_key_list, const db_value_t* policy_id); +extern int policy_key_list_get_by_policy_id(policy_key_list_t* policy_key_list, const db_value_t* policy_id); /** * Get a new list of policy key objects from the database by a policy_id specified in `policy_id`. @@ -391,7 +391,7 @@ * \param[in] policy_id a db_value_t pointer. * \return a policy_key_list_t pointer or NULL on error. */ -policy_key_list_t* policy_key_list_new_get_by_policy_id(const db_connection_t* connection, const db_value_t* policy_id); +extern policy_key_list_t* policy_key_list_new_get_by_policy_id(const db_connection_t* connection, const db_value_t* policy_id); /** * Get the first policy key object in a policy key object list and reset the @@ -400,7 +400,7 @@ * \return a policy_key_t pointer or NULL on error or if there are no * policy key objects in the policy key object list. */ -const policy_key_t* policy_key_list_begin(policy_key_list_t* policy_key_list); +extern const policy_key_t* policy_key_list_begin(policy_key_list_t* policy_key_list); /** * Get the next policy key object in a policy key object list. @@ -410,7 +410,7 @@ * \return a policy_key_t pointer or NULL on error or if there are no more * policy key objects in the policy key object list. */ -const policy_key_t* policy_key_list_next(policy_key_list_t* policy_key_list); +extern const policy_key_t* policy_key_list_next(policy_key_list_t* policy_key_list); /** * Get the next policy key object in a policy key object list. @@ -420,7 +420,7 @@ * \return a policy_key_t pointer or NULL on error or if there are no more * policy key objects in the policy key object list. */ -policy_key_t* policy_key_list_get_next(policy_key_list_t* policy_key_list); +extern policy_key_t* policy_key_list_get_next(policy_key_list_t* policy_key_list); /** * Get the size of a policy key object list. @@ -428,9 +428,9 @@ * \return a size_t with the size of the list or zero on error, if the list is * empty or if the backend does not support returning the size. */ -size_t policy_key_list_size(policy_key_list_t* policy_key_list); +extern size_t policy_key_list_size(policy_key_list_t* policy_key_list); -policy_key_t * policy_key_new_get_by_policyid_and_role (const db_connection_t* connection, const db_value_t* policyid, const policy_key_role_t role); +extern policy_key_t * policy_key_new_get_by_policyid_and_role (const db_connection_t* connection, const db_value_t* policyid, const policy_key_role_t role); -int policy_key_get_by_policyid_and_role(policy_key_t* policy_key, const db_value_t* policyid , const policy_key_role_t role); +extern int policy_key_get_by_policyid_and_role(policy_key_t* policy_key, const db_value_t* policyid , const policy_key_role_t role); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/test/test_database_version.h opendnssec-2.1.6/enforcer/src/db/test/test_database_version.h --- opendnssec-2.1.6-orig/enforcer/src/db/test/test_database_version.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/test/test_database_version.h 2020-02-18 23:08:38.113360672 -0500 @@ -30,6 +30,6 @@ #ifndef __test_database_version_h #define __test_database_version_h -int test_database_version_add_suite(void); +extern int test_database_version_add_suite(void); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/test/test.h opendnssec-2.1.6/enforcer/src/db/test/test.h --- opendnssec-2.1.6-orig/enforcer/src/db/test/test.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/test/test.h 2020-02-18 23:08:38.113360672 -0500 @@ -32,53 +32,53 @@ #ifndef __test_test_h #define __test_test_h -int init_suite_classes(void); -int clean_suite_classes(void); -void test_class_db_backend_handle(void); -void test_class_db_backend(void); -void test_class_db_clause(void); -void test_class_db_clause_list(void); -void test_class_db_configuration(void); -void test_class_db_configuration_list(void); -void test_class_db_connection(void); -void test_class_db_join(void); -void test_class_db_join_list(void); -void test_class_db_object_field(void); -void test_class_db_object_field_list(void); -void test_class_db_object(void); -void test_class_db_value_set(void); -void test_class_db_result(void); -void test_class_db_result_list(void); -void test_class_db_value(void); -void test_class_end(void); +extern int init_suite_classes(void); +extern int clean_suite_classes(void); +extern void test_class_db_backend_handle(void); +extern void test_class_db_backend(void); +extern void test_class_db_clause(void); +extern void test_class_db_clause_list(void); +extern void test_class_db_configuration(void); +extern void test_class_db_configuration_list(void); +extern void test_class_db_connection(void); +extern void test_class_db_join(void); +extern void test_class_db_join_list(void); +extern void test_class_db_object_field(void); +extern void test_class_db_object_field_list(void); +extern void test_class_db_object(void); +extern void test_class_db_value_set(void); +extern void test_class_db_result(void); +extern void test_class_db_result_list(void); +extern void test_class_db_value(void); +extern void test_class_end(void); -int init_suite_initialization(void); -int clean_suite_initialization(void); -void test_initialization_configuration(void); -void test_initialization_connection(void); +extern int init_suite_initialization(void); +extern int clean_suite_initialization(void); +extern void test_initialization_configuration(void); +extern void test_initialization_connection(void); #if defined(ENFORCER_DATABASE_SQLITE3) -int init_suite_database_operations_sqlite(void); +extern int init_suite_database_operations_sqlite(void); #endif -int init_suite_database_operations_mysql(void); -int clean_suite_database_operations(void); -void test_database_operations_read_object1(void); -void test_database_operations_create_object2(void); -void test_database_operations_read_object2(void); -void test_database_operations_update_object2(void); -void test_database_operations_delete_object2(void); -void test_database_operations_create_object3(void); -void test_database_operations_delete_object3(void); -void test_database_operations_read_all(void); -void test_database_operations_count(void); +extern int init_suite_database_operations_mysql(void); +extern int clean_suite_database_operations(void); +extern void test_database_operations_read_object1(void); +extern void test_database_operations_create_object2(void); +extern void test_database_operations_read_object2(void); +extern void test_database_operations_update_object2(void); +extern void test_database_operations_delete_object2(void); +extern void test_database_operations_create_object3(void); +extern void test_database_operations_delete_object3(void); +extern void test_database_operations_read_all(void); +extern void test_database_operations_count(void); -void test_database_operations_read_object1_2(void); -void test_database_operations_create_object2_2(void); -void test_database_operations_read_object2_2(void); -void test_database_operations_update_object2_2(void); -void test_database_operations_delete_object2_2(void); -void test_database_operations_create_object3_2(void); -void test_database_operations_delete_object3_2(void); -void test_database_operations_update_objects_revisions(void); +extern void test_database_operations_read_object1_2(void); +extern void test_database_operations_create_object2_2(void); +extern void test_database_operations_read_object2_2(void); +extern void test_database_operations_update_object2_2(void); +extern void test_database_operations_delete_object2_2(void); +extern void test_database_operations_create_object3_2(void); +extern void test_database_operations_delete_object3_2(void); +extern void test_database_operations_update_objects_revisions(void); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/test/test_hsm_key.h opendnssec-2.1.6/enforcer/src/db/test/test_hsm_key.h --- opendnssec-2.1.6-orig/enforcer/src/db/test/test_hsm_key.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/test/test_hsm_key.h 2020-02-18 23:08:38.113360672 -0500 @@ -30,6 +30,6 @@ #ifndef __test_hsm_key_h #define __test_hsm_key_h -int test_hsm_key_add_suite(void); +extern int test_hsm_key_add_suite(void); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/test/test_key_data.h opendnssec-2.1.6/enforcer/src/db/test/test_key_data.h --- opendnssec-2.1.6-orig/enforcer/src/db/test/test_key_data.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/test/test_key_data.h 2020-02-18 23:08:38.113360672 -0500 @@ -30,6 +30,6 @@ #ifndef __test_key_data_h #define __test_key_data_h -int test_key_data_add_suite(void); +extern int test_key_data_add_suite(void); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/test/test_key_dependency.h opendnssec-2.1.6/enforcer/src/db/test/test_key_dependency.h --- opendnssec-2.1.6-orig/enforcer/src/db/test/test_key_dependency.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/test/test_key_dependency.h 2020-02-18 23:08:38.113360672 -0500 @@ -30,6 +30,6 @@ #ifndef __test_key_dependency_h #define __test_key_dependency_h -int test_key_dependency_add_suite(void); +extern int test_key_dependency_add_suite(void); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/test/test_key_state.h opendnssec-2.1.6/enforcer/src/db/test/test_key_state.h --- opendnssec-2.1.6-orig/enforcer/src/db/test/test_key_state.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/test/test_key_state.h 2020-02-18 23:08:38.113360672 -0500 @@ -30,6 +30,6 @@ #ifndef __test_key_state_h #define __test_key_state_h -int test_key_state_add_suite(void); +extern int test_key_state_add_suite(void); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/test/test_policy.h opendnssec-2.1.6/enforcer/src/db/test/test_policy.h --- opendnssec-2.1.6-orig/enforcer/src/db/test/test_policy.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/test/test_policy.h 2020-02-18 23:08:38.114360685 -0500 @@ -30,6 +30,6 @@ #ifndef __test_policy_h #define __test_policy_h -int test_policy_add_suite(void); +extern int test_policy_add_suite(void); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/test/test_policy_key.h opendnssec-2.1.6/enforcer/src/db/test/test_policy_key.h --- opendnssec-2.1.6-orig/enforcer/src/db/test/test_policy_key.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/test/test_policy_key.h 2020-02-18 23:08:38.114360685 -0500 @@ -30,6 +30,6 @@ #ifndef __test_policy_key_h #define __test_policy_key_h -int test_policy_key_add_suite(void); +extern int test_policy_key_add_suite(void); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/test/test_zone.h opendnssec-2.1.6/enforcer/src/db/test/test_zone.h --- opendnssec-2.1.6-orig/enforcer/src/db/test/test_zone.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/test/test_zone.h 2020-02-18 23:08:38.114360685 -0500 @@ -30,6 +30,6 @@ #ifndef __test_zone_h #define __test_zone_h -int test_zone_add_suite(void); +extern int test_zone_add_suite(void); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/zone_db_ext.h opendnssec-2.1.6/enforcer/src/db/zone_db_ext.h --- opendnssec-2.1.6-orig/enforcer/src/db/zone_db_ext.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/zone_db_ext.h 2020-02-18 23:08:38.114360685 -0500 @@ -39,7 +39,7 @@ * Convert zone ID to name, caller must free resulting string. * return NULL on error */ -char * +extern char * zone_db_ext_zonename_from_id(const db_connection_t* connection, const db_value_t* id); @@ -48,14 +48,14 @@ * \param[in] zone an zone_db_t pointer. * \return a key_data_list_t pointer or NULL on error. */ -key_data_list_t* zone_db_get_keys(const zone_db_t* zone); +extern key_data_list_t* zone_db_get_keys(const zone_db_t* zone); /** * Get a list of key dependencies for an enforcer zone object. * \param[in] zone an zone_db_t pointer. * \return a key_dependency_list_t pointer or NULL on error. */ -key_dependency_list_t* zone_db_get_key_dependencies(const zone_db_t* zone); +extern key_dependency_list_t* zone_db_get_key_dependencies(const zone_db_t* zone); /** * Create a zone object from XML. @@ -63,7 +63,7 @@ * \param[in] zone_node a xmlNodePtr to the XML for the zone. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_create_from_xml(zone_db_t* zone, xmlNodePtr zone_node); +extern int zone_db_create_from_xml(zone_db_t* zone, xmlNodePtr zone_node); /** * Update a zone object from XML. @@ -73,6 +73,6 @@ * values in the zone was updated. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_update_from_xml(zone_db_t* zone, xmlNodePtr zone_node, int* updated); +extern int zone_db_update_from_xml(zone_db_t* zone, xmlNodePtr zone_node, int* updated); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/db/zone_db.h opendnssec-2.1.6/enforcer/src/db/zone_db.h --- opendnssec-2.1.6-orig/enforcer/src/db/zone_db.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/db/zone_db.h 2020-02-18 23:08:38.114360685 -0500 @@ -76,20 +76,20 @@ * \param[in] connection a db_connection_t pointer. * \return a zone_db_t pointer or NULL on error. */ -zone_db_t* zone_db_new(const db_connection_t* connection); +extern zone_db_t* zone_db_new(const db_connection_t* connection); /** * Create a new zone object that is a copy of another zone object. * \param[in] zone a zone_db_t pointer. * \return a zone_db_t pointer or NULL on error. */ -zone_db_t* zone_db_new_copy(const zone_db_t* zone); +extern zone_db_t* zone_db_new_copy(const zone_db_t* zone); /** * Delete a zone object, this does not delete it from the database. * \param[in] zone a zone_db_t pointer. */ -void zone_db_free(zone_db_t* zone); +extern void zone_db_free(zone_db_t* zone); /** * Copy the content of a zone object. @@ -97,7 +97,7 @@ * \param[in] zone_copy a zone_db_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_copy(zone_db_t* zone, const zone_db_t* zone_copy); +extern int zone_db_copy(zone_db_t* zone, const zone_db_t* zone_copy); /** * Set the content of a zone object based on a database result. @@ -105,21 +105,21 @@ * \param[in] result a db_result_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_from_result(zone_db_t* zone, const db_result_t* result); +extern int zone_db_from_result(zone_db_t* zone, const db_result_t* result); /** * Get the id of a zone object. * \param[in] zone a zone_db_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* zone_db_id(const zone_db_t* zone); +extern const db_value_t* zone_db_id(const zone_db_t* zone); /** * Get the policy_id of a zone object. * \param[in] zone a zone_db_t pointer. * \return a db_value_t pointer or NULL on error. */ -const db_value_t* zone_db_policy_id(const zone_db_t* zone); +extern const db_value_t* zone_db_policy_id(const zone_db_t* zone); /** * Get the policy_id object related to a zone object. @@ -127,126 +127,126 @@ * \param[in] zone a zone_db_t pointer. * \return a policy_t pointer or NULL on error or if no object could be found. */ -policy_t* zone_db_get_policy(const zone_db_t* zone); +extern policy_t* zone_db_get_policy(const zone_db_t* zone); /** * Get the name of a zone object. * \param[in] zone a zone_db_t pointer. * \return a character pointer or NULL on error or if no name has been set. */ -const char* zone_db_name(const zone_db_t* zone); +extern const char* zone_db_name(const zone_db_t* zone); /** * Get the signconf_needs_writing of a zone object. Undefined behavior if `zone` is NULL. * \param[in] zone a zone_db_t pointer. * \return an unsigned integer. */ -unsigned int zone_db_signconf_needs_writing(const zone_db_t* zone); +extern unsigned int zone_db_signconf_needs_writing(const zone_db_t* zone); /** * Get the signconf_path of a zone object. * \param[in] zone a zone_db_t pointer. * \return a character pointer or NULL on error or if no signconf_path has been set. */ -const char* zone_db_signconf_path(const zone_db_t* zone); +extern const char* zone_db_signconf_path(const zone_db_t* zone); /** * Get the next_change of a zone object. Undefined behavior if `zone` is NULL. * \param[in] zone a zone_db_t pointer. * \return an integer. */ -int zone_db_next_change(const zone_db_t* zone); +extern int zone_db_next_change(const zone_db_t* zone); /** * Get the ttl_end_ds of a zone object. Undefined behavior if `zone` is NULL. * \param[in] zone a zone_db_t pointer. * \return an unsigned integer. */ -unsigned int zone_db_ttl_end_ds(const zone_db_t* zone); +extern unsigned int zone_db_ttl_end_ds(const zone_db_t* zone); /** * Get the ttl_end_dk of a zone object. Undefined behavior if `zone` is NULL. * \param[in] zone a zone_db_t pointer. * \return an unsigned integer. */ -unsigned int zone_db_ttl_end_dk(const zone_db_t* zone); +extern unsigned int zone_db_ttl_end_dk(const zone_db_t* zone); /** * Get the ttl_end_rs of a zone object. Undefined behavior if `zone` is NULL. * \param[in] zone a zone_db_t pointer. * \return an unsigned integer. */ -unsigned int zone_db_ttl_end_rs(const zone_db_t* zone); +extern unsigned int zone_db_ttl_end_rs(const zone_db_t* zone); /** * Get the roll_ksk_now of a zone object. Undefined behavior if `zone` is NULL. * \param[in] zone a zone_db_t pointer. * \return an unsigned integer. */ -unsigned int zone_db_roll_ksk_now(const zone_db_t* zone); +extern unsigned int zone_db_roll_ksk_now(const zone_db_t* zone); /** * Get the roll_zsk_now of a zone object. Undefined behavior if `zone` is NULL. * \param[in] zone a zone_db_t pointer. * \return an unsigned integer. */ -unsigned int zone_db_roll_zsk_now(const zone_db_t* zone); +extern unsigned int zone_db_roll_zsk_now(const zone_db_t* zone); /** * Get the roll_csk_now of a zone object. Undefined behavior if `zone` is NULL. * \param[in] zone a zone_db_t pointer. * \return an unsigned integer. */ -unsigned int zone_db_roll_csk_now(const zone_db_t* zone); +extern unsigned int zone_db_roll_csk_now(const zone_db_t* zone); /** * Get the input_adapter_type of a zone object. * \param[in] zone a zone_db_t pointer. * \return a character pointer or NULL on error or if no input_adapter_type has been set. */ -const char* zone_db_input_adapter_type(const zone_db_t* zone); +extern const char* zone_db_input_adapter_type(const zone_db_t* zone); /** * Get the input_adapter_uri of a zone object. * \param[in] zone a zone_db_t pointer. * \return a character pointer or NULL on error or if no input_adapter_uri has been set. */ -const char* zone_db_input_adapter_uri(const zone_db_t* zone); +extern const char* zone_db_input_adapter_uri(const zone_db_t* zone); /** * Get the output_adapter_type of a zone object. * \param[in] zone a zone_db_t pointer. * \return a character pointer or NULL on error or if no output_adapter_type has been set. */ -const char* zone_db_output_adapter_type(const zone_db_t* zone); +extern const char* zone_db_output_adapter_type(const zone_db_t* zone); /** * Get the output_adapter_uri of a zone object. * \param[in] zone a zone_db_t pointer. * \return a character pointer or NULL on error or if no output_adapter_uri has been set. */ -const char* zone_db_output_adapter_uri(const zone_db_t* zone); +extern const char* zone_db_output_adapter_uri(const zone_db_t* zone); /** * Get the next_ksk_roll of a zone object. Undefined behavior if `zone` is NULL. * \param[in] zone a zone_db_t pointer. * \return an unsigned integer. */ -unsigned int zone_db_next_ksk_roll(const zone_db_t* zone); +extern unsigned int zone_db_next_ksk_roll(const zone_db_t* zone); /** * Get the next_zsk_roll of a zone object. Undefined behavior if `zone` is NULL. * \param[in] zone a zone_db_t pointer. * \return an unsigned integer. */ -unsigned int zone_db_next_zsk_roll(const zone_db_t* zone); +extern unsigned int zone_db_next_zsk_roll(const zone_db_t* zone); /** * Get the next_csk_roll of a zone object. Undefined behavior if `zone` is NULL. * \param[in] zone a zone_db_t pointer. * \return an unsigned integer. */ -unsigned int zone_db_next_csk_roll(const zone_db_t* zone); +extern unsigned int zone_db_next_csk_roll(const zone_db_t* zone); /** * Set the policy_id of a zone object. If this fails the original value may have been lost. @@ -254,7 +254,7 @@ * \param[in] policy_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_policy_id(zone_db_t* zone, const db_value_t* policy_id); +extern int zone_db_set_policy_id(zone_db_t* zone, const db_value_t* policy_id); /** * Set the name of a zone object. @@ -262,7 +262,7 @@ * \param[in] name_text a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_name(zone_db_t* zone, const char* name_text); +extern int zone_db_set_name(zone_db_t* zone, const char* name_text); /** * Set the signconf_needs_writing of a zone object. @@ -270,7 +270,7 @@ * \param[in] signconf_needs_writing an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_signconf_needs_writing(zone_db_t* zone, unsigned int signconf_needs_writing); +extern int zone_db_set_signconf_needs_writing(zone_db_t* zone, unsigned int signconf_needs_writing); /** * Set the signconf_path of a zone object. @@ -278,7 +278,7 @@ * \param[in] signconf_path_text a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_signconf_path(zone_db_t* zone, const char* signconf_path_text); +extern int zone_db_set_signconf_path(zone_db_t* zone, const char* signconf_path_text); /** * Set the next_change of a zone object. @@ -286,7 +286,7 @@ * \param[in] next_change an integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_next_change(zone_db_t* zone, int next_change); +extern int zone_db_set_next_change(zone_db_t* zone, int next_change); /** * Set the ttl_end_ds of a zone object. @@ -294,7 +294,7 @@ * \param[in] ttl_end_ds an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_ttl_end_ds(zone_db_t* zone, unsigned int ttl_end_ds); +extern int zone_db_set_ttl_end_ds(zone_db_t* zone, unsigned int ttl_end_ds); /** * Set the ttl_end_dk of a zone object. @@ -302,7 +302,7 @@ * \param[in] ttl_end_dk an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_ttl_end_dk(zone_db_t* zone, unsigned int ttl_end_dk); +extern int zone_db_set_ttl_end_dk(zone_db_t* zone, unsigned int ttl_end_dk); /** * Set the ttl_end_rs of a zone object. @@ -310,7 +310,7 @@ * \param[in] ttl_end_rs an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_ttl_end_rs(zone_db_t* zone, unsigned int ttl_end_rs); +extern int zone_db_set_ttl_end_rs(zone_db_t* zone, unsigned int ttl_end_rs); /** * Set the roll_ksk_now of a zone object. @@ -318,7 +318,7 @@ * \param[in] roll_ksk_now an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_roll_ksk_now(zone_db_t* zone, unsigned int roll_ksk_now); +extern int zone_db_set_roll_ksk_now(zone_db_t* zone, unsigned int roll_ksk_now); /** * Set the roll_zsk_now of a zone object. @@ -326,7 +326,7 @@ * \param[in] roll_zsk_now an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_roll_zsk_now(zone_db_t* zone, unsigned int roll_zsk_now); +extern int zone_db_set_roll_zsk_now(zone_db_t* zone, unsigned int roll_zsk_now); /** * Set the roll_csk_now of a zone object. @@ -334,7 +334,7 @@ * \param[in] roll_csk_now an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_roll_csk_now(zone_db_t* zone, unsigned int roll_csk_now); +extern int zone_db_set_roll_csk_now(zone_db_t* zone, unsigned int roll_csk_now); /** * Set the input_adapter_type of a zone object. @@ -342,7 +342,7 @@ * \param[in] input_adapter_type_text a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_input_adapter_type(zone_db_t* zone, const char* input_adapter_type_text); +extern int zone_db_set_input_adapter_type(zone_db_t* zone, const char* input_adapter_type_text); /** * Set the input_adapter_uri of a zone object. @@ -350,7 +350,7 @@ * \param[in] input_adapter_uri_text a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_input_adapter_uri(zone_db_t* zone, const char* input_adapter_uri_text); +extern int zone_db_set_input_adapter_uri(zone_db_t* zone, const char* input_adapter_uri_text); /** * Set the output_adapter_type of a zone object. @@ -358,7 +358,7 @@ * \param[in] output_adapter_type_text a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_output_adapter_type(zone_db_t* zone, const char* output_adapter_type_text); +extern int zone_db_set_output_adapter_type(zone_db_t* zone, const char* output_adapter_type_text); /** * Set the output_adapter_uri of a zone object. @@ -366,7 +366,7 @@ * \param[in] output_adapter_uri_text a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_output_adapter_uri(zone_db_t* zone, const char* output_adapter_uri_text); +extern int zone_db_set_output_adapter_uri(zone_db_t* zone, const char* output_adapter_uri_text); /** * Set the next_ksk_roll of a zone object. @@ -374,7 +374,7 @@ * \param[in] next_ksk_roll an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_next_ksk_roll(zone_db_t* zone, unsigned int next_ksk_roll); +extern int zone_db_set_next_ksk_roll(zone_db_t* zone, unsigned int next_ksk_roll); /** * Set the next_zsk_roll of a zone object. @@ -382,7 +382,7 @@ * \param[in] next_zsk_roll an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_next_zsk_roll(zone_db_t* zone, unsigned int next_zsk_roll); +extern int zone_db_set_next_zsk_roll(zone_db_t* zone, unsigned int next_zsk_roll); /** * Set the next_csk_roll of a zone object. @@ -390,7 +390,7 @@ * \param[in] next_csk_roll an unsigned integer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_set_next_csk_roll(zone_db_t* zone, unsigned int next_csk_roll); +extern int zone_db_set_next_csk_roll(zone_db_t* zone, unsigned int next_csk_roll); /** * Create a clause for policy_id of a zone object and add it to a database clause list. @@ -401,14 +401,14 @@ * \param[in] policy_id a db_value_t pointer. * \return a db_clause_t pointer to the added clause or NULL on error. */ -db_clause_t* zone_db_policy_id_clause(db_clause_list_t* clause_list, const db_value_t* policy_id); +extern db_clause_t* zone_db_policy_id_clause(db_clause_list_t* clause_list, const db_value_t* policy_id); /** * Create a zone object in the database. * \param[in] zone a zone_db_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_create(zone_db_t* zone); +extern int zone_db_create(zone_db_t* zone); /** * Get a zone object from the database by a id specified in `id`. @@ -416,7 +416,7 @@ * \param[in] id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_get_by_id(zone_db_t* zone, const db_value_t* id); +extern int zone_db_get_by_id(zone_db_t* zone, const db_value_t* id); /** * Get a zone object from the database by a name specified in `name`. @@ -424,7 +424,7 @@ * \param[in] name a character pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_get_by_name(zone_db_t* zone, const char* name); +extern int zone_db_get_by_name(zone_db_t* zone, const char* name); /** * Get a new zone object from the database by a name specified in `name`. @@ -432,21 +432,21 @@ * \param[in] name a character pointer. * \return a zone_db_t pointer or NULL on error or if it does not exist. */ -zone_db_t* zone_db_new_get_by_name(const db_connection_t* connection, const char* name); +extern zone_db_t* zone_db_new_get_by_name(const db_connection_t* connection, const char* name); /** * Update a zone object in the database. * \param[in] zone a zone_db_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_update(zone_db_t* zone); +extern int zone_db_update(zone_db_t* zone); /** * Delete a zone object from the database. * \param[in] zone a zone_db_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_delete(zone_db_t* zone); +extern int zone_db_delete(zone_db_t* zone); /** * Count the number of zone objects in the database, if a selection of @@ -458,7 +458,7 @@ * should be counted. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_db_count(zone_db_t* zone, db_clause_list_t* clause_list, size_t* count); +extern int zone_db_count(zone_db_t* zone, db_clause_list_t* clause_list, size_t* count); /** * A list of zone objects. @@ -482,14 +482,14 @@ * \param[in] connection a db_connection_t pointer. * \return a zone_list_db_t pointer or NULL on error. */ -zone_list_db_t* zone_list_db_new(const db_connection_t* connection); +extern zone_list_db_t* zone_list_db_new(const db_connection_t* connection); /** * Create a new zone object list that is a copy of another. * \param[in] zone_list_db a zone_list_db_t pointer. * \return a zone_list_db_t pointer or NULL on error. */ -zone_list_db_t* zone_list_db_new_copy(const zone_list_db_t* zone_copy); +extern zone_list_db_t* zone_list_db_new_copy(const zone_list_db_t* zone_copy); /** * Specify that objects should be stored within the list as they are fetch, @@ -497,13 +497,13 @@ * \param[in] zone_list_db a zone_list_db_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_list_db_object_store(zone_list_db_t* zone_list_db); +extern int zone_list_db_object_store(zone_list_db_t* zone_list_db); /** * Delete a zone object list. * \param[in] zone_list_db a zone_list_db_t pointer. */ -void zone_list_db_free(zone_list_db_t* zone_list_db); +extern void zone_list_db_free(zone_list_db_t* zone_list_db); /** * Copy the content of another zone object list. @@ -511,21 +511,21 @@ * \param[in] from_zone_list_db a zone_list_db_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_list_db_copy(zone_list_db_t* zone_list_db, const zone_list_db_t* from_zone_list_db); +extern int zone_list_db_copy(zone_list_db_t* zone_list_db, const zone_list_db_t* from_zone_list_db); /** * Get all zone objects. * \param[in] zone_list_db a zone_list_db_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_list_db_get(zone_list_db_t* zone_list_db); +extern int zone_list_db_get(zone_list_db_t* zone_list_db); /** * Get a new list with all zone objects. * \param[in] connection a db_connection_t pointer. * \return a zone_list_db_t pointer or NULL on error. */ -zone_list_db_t* zone_list_db_new_get(const db_connection_t* connection); +extern zone_list_db_t* zone_list_db_new_get(const db_connection_t* connection); /** * Get zone objects from the database by a clause list. @@ -533,7 +533,7 @@ * \param[in] clause_list a db_clause_list_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_list_db_get_by_clauses(zone_list_db_t* zone_list_db, const db_clause_list_t* clause_list); +extern int zone_list_db_get_by_clauses(zone_list_db_t* zone_list_db, const db_clause_list_t* clause_list); /** * Get zone objects from the database by a policy_id specified in `policy_id`. @@ -541,7 +541,7 @@ * \param[in] policy_id a db_value_t pointer. * \return DB_ERROR_* on failure, otherwise DB_OK. */ -int zone_list_db_get_by_policy_id(zone_list_db_t* zone_list_db, const db_value_t* policy_id); +extern int zone_list_db_get_by_policy_id(zone_list_db_t* zone_list_db, const db_value_t* policy_id); /** * Get a new list of zone objects from the database by a policy_id specified in `policy_id`. @@ -549,7 +549,7 @@ * \param[in] policy_id a db_value_t pointer. * \return a zone_list_db_t pointer or NULL on error. */ -zone_list_db_t* zone_list_db_new_get_by_policy_id(const db_connection_t* connection, const db_value_t* policy_id); +extern zone_list_db_t* zone_list_db_new_get_by_policy_id(const db_connection_t* connection, const db_value_t* policy_id); /** * Get the first zone object in a zone object list and reset the @@ -558,7 +558,7 @@ * \return a zone_db_t pointer or NULL on error or if there are no * zone objects in the zone object list. */ -const zone_db_t* zone_list_db_begin(zone_list_db_t* zone_list_db); +extern const zone_db_t* zone_list_db_begin(zone_list_db_t* zone_list_db); /** * Get the next zone object in a zone object list. @@ -568,7 +568,7 @@ * \return a zone_db_t pointer or NULL on error or if there are no more * zone objects in the zone object list. */ -const zone_db_t* zone_list_db_next(zone_list_db_t* zone_list_db); +extern const zone_db_t* zone_list_db_next(zone_list_db_t* zone_list_db); /** * Get the next zone object in a zone object list. @@ -578,7 +578,7 @@ * \return a zone_db_t pointer or NULL on error or if there are no more * zone objects in the zone object list. */ -zone_db_t* zone_list_db_get_next(zone_list_db_t* zone_list_db); +extern zone_db_t* zone_list_db_get_next(zone_list_db_t* zone_list_db); /** * Get the size of a zone object list. @@ -586,6 +586,6 @@ * \return a size_t with the size of the list or zero on error, if the list is * empty or if the backend does not support returning the size. */ -size_t zone_list_db_size(zone_list_db_t* zone_list_db); +extern size_t zone_list_db_size(zone_list_db_t* zone_list_db); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/enforcer/autostart_cmd.h opendnssec-2.1.6/enforcer/src/enforcer/autostart_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/enforcer/autostart_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/enforcer/autostart_cmd.h 2020-02-18 23:08:38.114360685 -0500 @@ -32,6 +32,6 @@ #include "daemon/engine.h" -void autostart(engine_type* engine); +extern void autostart(engine_type* engine); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/enforcer/enforce_cmd.h opendnssec-2.1.6/enforcer/src/enforcer/enforce_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/enforcer/enforce_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/enforcer/enforce_cmd.h 2020-02-18 23:08:38.114360685 -0500 @@ -30,6 +30,6 @@ #ifndef _ENFORCER_ENFORCE_CMD_H_ #define _ENFORCER_ENFORCE_CMD_H_ -struct cmd_func_block enforce_funcblock; +extern struct cmd_func_block enforce_funcblock; #endif /* _ENFORCER_ENFORCE_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/enforcer/enforcer.h opendnssec-2.1.6/enforcer/src/enforcer/enforcer.h --- opendnssec-2.1.6-orig/enforcer/src/enforcer/enforcer.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/enforcer/enforcer.h 2020-02-18 23:08:38.114360685 -0500 @@ -47,7 +47,7 @@ * @param[in] keyfactory * @return time_t Time the function wishes to be called again. * */ -time_t +extern time_t update(engine_type *engine, db_connection_t *dbconn, zone_db_t *zone, policy_t const *policy, time_t now, int *zone_updated); #endif /* _ENFORCER_ENFORCER_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/enforcer/enforce_task.h opendnssec-2.1.6/enforcer/src/enforcer/enforce_task.h --- opendnssec-2.1.6-orig/enforcer/src/enforcer/enforce_task.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/enforcer/enforce_task.h 2020-02-18 23:08:38.115360699 -0500 @@ -35,19 +35,19 @@ #include "scheduler/task.h" #include "db/policy.h" -task_type *enforce_task(engine_type *engine, char const *owner); +extern task_type *enforce_task(engine_type *engine, char const *owner); -time_t enforce_task_perform(task_type* task, char const *owner, void *context, +extern time_t enforce_task_perform(task_type* task, char const *owner, void *context, void *dbconn); /* Schedule enforce tasks for *now* for zone. */ -void enforce_task_flush_zone(engine_type *engine, char const *zonename); +extern void enforce_task_flush_zone(engine_type *engine, char const *zonename); /* Schedule enforce tasks for *now* for ALL zones of policy. */ -void enforce_task_flush_policy(engine_type *engine, db_connection_t *dbconn, +extern void enforce_task_flush_policy(engine_type *engine, db_connection_t *dbconn, policy_t const *policy); /* Schedule enforce tasks for *now* for ALL zones. */ -void enforce_task_flush_all(engine_type *engine, db_connection_t *dbconn); +extern void enforce_task_flush_all(engine_type *engine, db_connection_t *dbconn); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/enforcer/repositorylist_cmd.h opendnssec-2.1.6/enforcer/src/enforcer/repositorylist_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/enforcer/repositorylist_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/enforcer/repositorylist_cmd.h 2020-02-18 23:18:13.218838340 -0500 @@ -28,6 +28,6 @@ #ifndef _ENFORCER_REPOSITORYLIST_CMD_H_ #define _ENFORCER_REPOSITORYLIST_CMD_H_ -struct cmd_func_block repositorylist_funcblock; +extern struct cmd_func_block repositorylist_funcblock; #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/enforcer/update_all_cmd.h opendnssec-2.1.6/enforcer/src/enforcer/update_all_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/enforcer/update_all_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/enforcer/update_all_cmd.h 2020-02-18 23:18:15.366865499 -0500 @@ -30,6 +30,6 @@ #ifndef UPDATE_ALL_CMD_H_ #define UPDATE_ALL_CMD_H_ -struct cmd_func_block update_all_funcblock; +extern struct cmd_func_block update_all_funcblock; #endif /* UPDATE_ALL_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/enforcer/update_conf_cmd.h opendnssec-2.1.6/enforcer/src/enforcer/update_conf_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/enforcer/update_conf_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/enforcer/update_conf_cmd.h 2020-02-18 23:18:18.125900384 -0500 @@ -29,6 +29,6 @@ #ifndef UPDATE_CONF_CMD_H_ #define UPDATE_CONF_CMD_H_ -struct cmd_func_block update_conf_funcblock; +extern struct cmd_func_block update_conf_funcblock; #endif /* UPDATE_CONF_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/enforcer/update_repositorylist_cmd.h opendnssec-2.1.6/enforcer/src/enforcer/update_repositorylist_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/enforcer/update_repositorylist_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/enforcer/update_repositorylist_cmd.h 2020-02-18 23:18:09.930796767 -0500 @@ -30,6 +30,6 @@ #ifndef UPDATE_REPOSITORYLIST_CMD_H_ #define UPDATE_REPOSITORYLIST_CMD_H_ -struct cmd_func_block update_repositorylist_funcblock; +extern struct cmd_func_block update_repositorylist_funcblock; #endif /* UPDATE_REPOSITORYLIST_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/hsmkey/backup_hsmkeys_cmd.h opendnssec-2.1.6/enforcer/src/hsmkey/backup_hsmkeys_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/hsmkey/backup_hsmkeys_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/hsmkey/backup_hsmkeys_cmd.h 2020-02-18 23:11:50.156968800 -0500 @@ -30,6 +30,6 @@ #ifndef _HSMKEY_BACKUP_CMD_H_ #define _HSMKEY_BACKUP_CMD_H_ -struct cmd_func_block backup_funcblock; +extern struct cmd_func_block backup_funcblock; #endif /* _HSMKEY_BACKUP_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/hsmkey/hsm_key_factory.h opendnssec-2.1.6/enforcer/src/hsmkey/hsm_key_factory.h --- opendnssec-2.1.6-orig/enforcer/src/hsmkey/hsm_key_factory.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/hsmkey/hsm_key_factory.h 2020-02-18 23:08:38.115360699 -0500 @@ -35,12 +35,12 @@ #include -void hsm_key_factory_deinit(void); +extern void hsm_key_factory_deinit(void); /** * TODO * \return 0 success, 1 error */ -int hsm_key_factory_generate(engine_type* engine, +extern int hsm_key_factory_generate(engine_type* engine, const db_connection_t* connection, const policy_t* policy, const policy_key_t* policy_key, time_t duration); @@ -55,7 +55,7 @@ * TODO * \return 0 success, 1 error */ -int hsm_key_factory_generate_all(engine_type* engine, +extern int hsm_key_factory_generate_all(engine_type* engine, const db_connection_t* connection, time_t duration); @@ -68,7 +68,7 @@ * if its zero then the duration from conf.xml is taken. * \return non-zero on error. */ -int hsm_key_factory_schedule_generate_policy(engine_type* engine, +extern int hsm_key_factory_schedule_generate_policy(engine_type* engine, const policy_t* policy_orig, time_t duration); /** @@ -79,7 +79,7 @@ * if its zero then the duration from conf.xml is taken. * \return non-zero on error. */ -int hsm_key_factory_schedule_generate_all(engine_type* engine, time_t duration); +extern int hsm_key_factory_schedule_generate_all(engine_type* engine, time_t duration); /** * Allocate a private or shared HSM key for the policy key provided. This will @@ -92,7 +92,7 @@ * \return an allocated HSM key or NULL on error or if there are no unused keys * available for allocation right now. */ -hsm_key_t* hsm_key_factory_get_key(engine_type* engine, +extern hsm_key_t* hsm_key_factory_get_key(engine_type* engine, const db_connection_t* connection, const policy_key_t* policy_key, hsm_key_state_t hsm_key_state); @@ -101,7 +101,7 @@ * \param[in] hsm_key_id a db_value_t pointer with the hsm_key database id. * \return non-zero on error. */ -int hsm_key_factory_release_key_id(const db_value_t* hsm_key_id, +extern int hsm_key_factory_release_key_id(const db_value_t* hsm_key_id, const db_connection_t* connection); /** @@ -109,7 +109,7 @@ * \param[in] hsm_key a hsm_key_t pointer with the hsm_key to release. * \return non-zero on error. */ -int hsm_key_factory_release_key(hsm_key_t* hsm_key, +extern int hsm_key_factory_release_key(hsm_key_t* hsm_key, const db_connection_t* connection); #endif /* _HSM_KEY_FACTORY_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/hsmkey/key_generate_cmd.h opendnssec-2.1.6/enforcer/src/hsmkey/key_generate_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/hsmkey/key_generate_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/hsmkey/key_generate_cmd.h 2020-02-18 23:12:13.673288174 -0500 @@ -29,6 +29,6 @@ #ifndef HSMKEY_KEY_GENERATE_CMD_H_ #define HSMKEY_KEY_GENERATE_CMD_H_ -struct cmd_func_block key_generate_funcblock; +extern struct cmd_func_block key_generate_funcblock; #endif /* HSMKEY_KEY_GENERATE_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/key_purge_cmd.h opendnssec-2.1.6/enforcer/src/keystate/key_purge_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/key_purge_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/key_purge_cmd.h 2020-02-18 23:17:59.806668762 -0500 @@ -1,7 +1,7 @@ #ifndef _KEYSTATE_KEY_PURGE_CMD_H_ #define _KEYSTATE_KEY_PURGE_CMD_H_ -struct cmd_func_block key_purge_funcblock; +extern struct cmd_func_block key_purge_funcblock; #endif /* _KEYSTATE_KEY_PURGE_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/key_purge.h opendnssec-2.1.6/enforcer/src/keystate/key_purge.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/key_purge.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/key_purge.h 2020-02-18 23:08:38.115360699 -0500 @@ -6,7 +6,7 @@ #include "db/zone_db.h" #include "db/policy.h" -int removeDeadKeysNow(int sockfd, db_connection_t *dbconn, policy_t *policy, zone_db_t *rzone); +extern int removeDeadKeysNow(int sockfd, db_connection_t *dbconn, policy_t *policy, zone_db_t *rzone); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds_gone_cmd.h opendnssec-2.1.6/enforcer/src/keystate/keystate_ds_gone_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds_gone_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/keystate_ds_gone_cmd.h 2020-02-18 23:17:54.732604608 -0500 @@ -30,6 +30,6 @@ #ifndef _KEYSTATE_DS_GONE_CMD_H_ #define _KEYSTATE_DS_GONE_CMD_H_ -struct cmd_func_block key_ds_gone_funcblock; +extern struct cmd_func_block key_ds_gone_funcblock; #endif /* _KEYSTATE_DS_GONE_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds.h opendnssec-2.1.6/enforcer/src/keystate/keystate_ds.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/keystate_ds.h 2020-02-18 23:08:38.115360699 -0500 @@ -30,13 +30,13 @@ #include "db/key_data.h" -int +extern int change_keys_from_to(db_connection_t *dbconn, int sockfd, const char *zonename, const hsm_key_t* hsmkey, int keytag, key_data_ds_at_parent_t state_from, key_data_ds_at_parent_t state_to, engine_type* engine); -int run_ds_cmd(int sockfd, const char *cmd, +extern int run_ds_cmd(int sockfd, const char *cmd, db_connection_t *dbconn, key_data_ds_at_parent_t state_from, key_data_ds_at_parent_t state_to, engine_type* engine); diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds_retract_cmd.h opendnssec-2.1.6/enforcer/src/keystate/keystate_ds_retract_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds_retract_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/keystate_ds_retract_cmd.h 2020-02-18 23:17:52.621577917 -0500 @@ -30,6 +30,6 @@ #ifndef _KEYSTATE_DS_RETRACT_CMD_H_ #define _KEYSTATE_DS_RETRACT_CMD_H_ -struct cmd_func_block key_ds_retract_funcblock; +extern struct cmd_func_block key_ds_retract_funcblock; #endif /* _KEYSTATE_DS_RETRACT_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds_retract_task.h opendnssec-2.1.6/enforcer/src/keystate/keystate_ds_retract_task.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds_retract_task.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/keystate_ds_retract_task.h 2020-02-18 23:08:38.115360699 -0500 @@ -30,7 +30,7 @@ #ifndef _KEYSTATE_DS_RETRACT_TASK_H_ #define _KEYSTATE_DS_RETRACT_TASK_H_ -task_type * +extern task_type * keystate_ds_retract_task(engine_type *engine, char const *owner); #endif /*_KEYSTATE_DS_RETRACT_TASK_H_*/ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds_seen_cmd.h opendnssec-2.1.6/enforcer/src/keystate/keystate_ds_seen_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds_seen_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/keystate_ds_seen_cmd.h 2020-02-18 23:17:50.392549734 -0500 @@ -32,6 +32,6 @@ #include "daemon/engine.h" -struct cmd_func_block key_ds_seen_funcblock; +extern struct cmd_func_block key_ds_seen_funcblock; #endif /* _KEYSTATE_DS_SEEN_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds_submit_cmd.h opendnssec-2.1.6/enforcer/src/keystate/keystate_ds_submit_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds_submit_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/keystate_ds_submit_cmd.h 2020-02-18 23:17:48.185521829 -0500 @@ -30,6 +30,6 @@ #ifndef _KEYSTATE_DS_SUBMIT_CMD_H_ #define _KEYSTATE_DS_SUBMIT_CMD_H_ -struct cmd_func_block key_ds_submit_funcblock; +extern struct cmd_func_block key_ds_submit_funcblock; #endif /* _KEYSTATE_DS_SUBMIT_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds_submit_task.h opendnssec-2.1.6/enforcer/src/keystate/keystate_ds_submit_task.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_ds_submit_task.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/keystate_ds_submit_task.h 2020-02-18 23:08:38.115360699 -0500 @@ -30,7 +30,7 @@ #ifndef _KEYSTATE_DS_SUBMIT_TASK_H_ #define _KEYSTATE_DS_SUBMIT_TASK_H_ -task_type * +extern task_type * keystate_ds_submit_task(engine_type *engine, char const *owner); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_export_cmd.h opendnssec-2.1.6/enforcer/src/keystate/keystate_export_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_export_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/keystate_export_cmd.h 2020-02-18 23:16:09.403272877 -0500 @@ -30,6 +30,6 @@ #ifndef _KEYSTATE_EXPORT_CMD_H_ #define _KEYSTATE_EXPORT_CMD_H_ -struct cmd_func_block key_export_funcblock; +extern struct cmd_func_block key_export_funcblock; #endif /* _KEYSTATE_EXPORT_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_import_cmd.h opendnssec-2.1.6/enforcer/src/keystate/keystate_import_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_import_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/keystate_import_cmd.h 2020-02-18 23:17:42.005443692 -0500 @@ -28,7 +28,7 @@ #ifndef _KEYSTATE_IMPORT_CMD_H_ #define _KEYSTATE_IMPORT_CMD_H_ -struct cmd_func_block key_import_funcblock; +extern struct cmd_func_block key_import_funcblock; #endif /* _KEYSTATE_IMPORT_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_list_cmd.h opendnssec-2.1.6/enforcer/src/keystate/keystate_list_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_list_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/keystate_list_cmd.h 2020-02-18 23:16:03.363196509 -0500 @@ -32,8 +32,8 @@ #include "db/key_data.h" -struct cmd_func_block key_list_funcblock; +extern struct cmd_func_block key_list_funcblock; -const char* map_keystate(key_data_t *key); +extern const char* map_keystate(key_data_t *key); #endif /* _KEYSTATE_LIST_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_rollover_cmd.h opendnssec-2.1.6/enforcer/src/keystate/keystate_rollover_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/keystate_rollover_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/keystate_rollover_cmd.h 2020-02-18 23:17:57.082634320 -0500 @@ -30,6 +30,6 @@ #ifndef _KEYSTATE_ROLLOVER_CMD_H_ #define _KEYSTATE_ROLLOVER_CMD_H_ -struct cmd_func_block key_rollover_funcblock; +extern struct cmd_func_block key_rollover_funcblock; #endif /* _KEYSTATE_ROLLOVER_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/rollover_list_cmd.h opendnssec-2.1.6/enforcer/src/keystate/rollover_list_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/rollover_list_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/rollover_list_cmd.h 2020-02-18 23:16:06.639237929 -0500 @@ -30,6 +30,6 @@ #ifndef _ROLLOVER_LIST_CMD_H_ #define _ROLLOVER_LIST_CMD_H_ -struct cmd_func_block rollover_list_funcblock; +extern struct cmd_func_block rollover_list_funcblock; #endif /* _ROLLOVER_LIST_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/zone_add_cmd.h opendnssec-2.1.6/enforcer/src/keystate/zone_add_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/zone_add_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/zone_add_cmd.h 2020-02-18 23:13:08.797989394 -0500 @@ -30,6 +30,6 @@ #ifndef _KEYSTATE_ZONE_ADD_CMD_H_ #define _KEYSTATE_ZONE_ADD_CMD_H_ -struct cmd_func_block zone_add_funcblock; +extern struct cmd_func_block zone_add_funcblock; #endif /* _KEYSTATE_ZONE_ADD_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/zone_del_cmd.h opendnssec-2.1.6/enforcer/src/keystate/zone_del_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/zone_del_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/zone_del_cmd.h 2020-02-18 23:15:39.850899231 -0500 @@ -30,6 +30,6 @@ #ifndef _KEYSTATE_ZONE_DEL_CMD_H_ #define _KEYSTATE_ZONE_DEL_CMD_H_ -struct cmd_func_block zone_del_funcblock; +extern struct cmd_func_block zone_del_funcblock; #endif /* _KEYSTATE_ZONE_DEL_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/zone_list_cmd.h opendnssec-2.1.6/enforcer/src/keystate/zone_list_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/zone_list_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/zone_list_cmd.h 2020-02-18 23:12:32.216526873 -0500 @@ -30,6 +30,6 @@ #ifndef _KEYSTATE_ZONE_LIST_CMD_H_ #define _KEYSTATE_ZONE_LIST_CMD_H_ -struct cmd_func_block zone_list_funcblock; +extern struct cmd_func_block zone_list_funcblock; #endif /* _KEYSTATE_ZONE_LIST_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/zonelist_export_cmd.h opendnssec-2.1.6/enforcer/src/keystate/zonelist_export_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/zonelist_export_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/zonelist_export_cmd.h 2020-02-18 23:18:07.869770709 -0500 @@ -29,6 +29,6 @@ #ifndef _KEYSTATE_ZONELIST_EXPORT_CMD_H_ #define _KEYSTATE_ZONELIST_EXPORT_CMD_H_ -struct cmd_func_block zonelist_export_funcblock; +extern struct cmd_func_block zonelist_export_funcblock; #endif /* _KEYSTATE_ZONELIST_EXPORT_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/zonelist_export.h opendnssec-2.1.6/enforcer/src/keystate/zonelist_export.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/zonelist_export.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/zonelist_export.h 2020-02-18 23:08:38.115360699 -0500 @@ -64,6 +64,6 @@ * \param[in] comment if non-zero include a comment about the zonelist file. * \return ZONELIST_EXPORT_ERR_* on error otherwise ZONELIST_EXPORT_OK. */ -int zonelist_export(int sockfd, db_connection_t* connection, const char* filename, int comment); +extern int zonelist_export(int sockfd, db_connection_t* connection, const char* filename, int comment); #endif /* _KEYSTATE_ZONELIST_EXPORT_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/zonelist_import_cmd.h opendnssec-2.1.6/enforcer/src/keystate/zonelist_import_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/zonelist_import_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/zonelist_import_cmd.h 2020-02-18 23:18:02.925708198 -0500 @@ -29,6 +29,6 @@ #ifndef _KEYSTATE_ZONELIST_IMPORT_CMD_H_ #define _KEYSTATE_ZONELIST_IMPORT_CMD_H_ -struct cmd_func_block zonelist_import_funcblock; +extern struct cmd_func_block zonelist_import_funcblock; #endif /* _KEYSTATE_ZONELIST_IMPORT_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/zonelist_import.h opendnssec-2.1.6/enforcer/src/keystate/zonelist_import.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/zonelist_import.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/zonelist_import.h 2020-02-18 23:08:38.115360699 -0500 @@ -68,7 +68,7 @@ * \return ZONELIST_IMPORT_ERR_* on error otherwise ZONELIST_IMPORT_OK or * ZONELIST_IMPORT_NO_CHANGE. */ -int zonelist_import(int sockfd, engine_type* engine, db_connection_t *dbconn, +extern int zonelist_import(int sockfd, engine_type* engine, db_connection_t *dbconn, int do_delete, const char* zonelist_path); #endif /* _KEYSTATE_ZONELIST_IMPORT_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/zonelist_update.h opendnssec-2.1.6/enforcer/src/keystate/zonelist_update.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/zonelist_update.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/zonelist_update.h 2020-02-18 23:08:38.115360699 -0500 @@ -64,7 +64,7 @@ * \param[in] comment if non-zero include a comment about the zonelist file. * \return ZONELIST_UPDATE_ERR_* on error otherwise ZONELIST_UPDATE_OK. */ -int zonelist_update_add(int sockfd, const char* filename, const zone_db_t* zone, int comment); +extern int zonelist_update_add(int sockfd, const char* filename, const zone_db_t* zone, int comment); /** * Update a zonelist and remove the supplied zone from it. @@ -74,6 +74,6 @@ * \param[in] comment if non-zero include a comment about the zonelist file. * \return ZONELIST_UPDATE_ERR_* on error otherwise ZONELIST_UPDATE_OK. */ -int zonelist_update_delete(int sockfd, const char* filename, const zone_db_t* zone, int comment); +extern int zonelist_update_delete(int sockfd, const char* filename, const zone_db_t* zone, int comment); #endif /* _KEYSTATE_ZONELIST_UPDATE_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/keystate/zone_set_policy_cmd.h opendnssec-2.1.6/enforcer/src/keystate/zone_set_policy_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/keystate/zone_set_policy_cmd.h 2020-02-10 12:25:12.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/keystate/zone_set_policy_cmd.h 2020-02-18 23:15:47.325993743 -0500 @@ -29,6 +29,6 @@ #ifndef _KEYSTATE_ZONE_SET_POLICY_CMD_H_ #define _KEYSTATE_ZONE_SET_POLICY_CMD_H_ -struct cmd_func_block zone_set_policy_funcblock; +extern struct cmd_func_block zone_set_policy_funcblock; #endif /* _KEYSTATE_ZONE_SET_POLICY_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/parser/confparser.h opendnssec-2.1.6/enforcer/src/parser/confparser.h --- opendnssec-2.1.6-orig/enforcer/src/parser/confparser.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/parser/confparser.h 2020-02-18 23:08:38.115360699 -0500 @@ -44,7 +44,7 @@ * \return ods_status status * */ -ods_status parse_file_check(const char* cfgfile, const char* rngfile); +extern ods_status parse_file_check(const char* cfgfile, const char* rngfile); /** * Parse elements from the configuration file. @@ -54,7 +54,7 @@ * \return const char* string value * */ -const char* parse_conf_string(const char* cfgfile, const char* expr, +extern const char* parse_conf_string(const char* cfgfile, const char* expr, int required); /** @@ -66,25 +66,25 @@ */ /** Common */ -const char* parse_conf_policy_filename(const char* cfgfile); -const char* parse_conf_zonelist_filename(const char* cfgfile); -const char* parse_conf_zonefetch_filename(const char* cfgfile); -const char* parse_conf_log_filename(const char* cfgfile); +extern const char* parse_conf_policy_filename(const char* cfgfile); +extern const char* parse_conf_zonelist_filename(const char* cfgfile); +extern const char* parse_conf_zonefetch_filename(const char* cfgfile); +extern const char* parse_conf_log_filename(const char* cfgfile); /** Enforcer specific */ -const char* parse_conf_pid_filename(const char* cfgfile); -const char* parse_conf_delegation_signer_submit_command(const char* cfgfile); -const char* parse_conf_delegation_signer_retract_command(const char* cfgfile); -const char* parse_conf_clisock_filename(const char* cfgfile); -const char* parse_conf_working_dir(const char* cfgfile); -const char* parse_conf_username(const char* cfgfile); -const char* parse_conf_group(const char* cfgfile); -const char* parse_conf_chroot(const char* cfgfile); -const char* parse_conf_datastore(const char* cfgfile); -const char* parse_conf_db_host(const char* cfgfile); -const char* parse_conf_db_username(const char* cfgfile); -const char* parse_conf_db_password(const char* cfgfile); -engineconfig_database_type_t parse_conf_db_type(const char *cfgfile); +extern const char* parse_conf_pid_filename(const char* cfgfile); +extern const char* parse_conf_delegation_signer_submit_command(const char* cfgfile); +extern const char* parse_conf_delegation_signer_retract_command(const char* cfgfile); +extern const char* parse_conf_clisock_filename(const char* cfgfile); +extern const char* parse_conf_working_dir(const char* cfgfile); +extern const char* parse_conf_username(const char* cfgfile); +extern const char* parse_conf_group(const char* cfgfile); +extern const char* parse_conf_chroot(const char* cfgfile); +extern const char* parse_conf_datastore(const char* cfgfile); +extern const char* parse_conf_db_host(const char* cfgfile); +extern const char* parse_conf_db_username(const char* cfgfile); +extern const char* parse_conf_db_password(const char* cfgfile); +extern engineconfig_database_type_t parse_conf_db_type(const char *cfgfile); /** * Parse elements from the configuration file. @@ -94,15 +94,15 @@ */ /** Common */ -int parse_conf_use_syslog(const char* cfgfile); -int parse_conf_verbosity(const char* cfgfile); +extern int parse_conf_use_syslog(const char* cfgfile); +extern int parse_conf_verbosity(const char* cfgfile); /** Enforcer specific */ -int parse_conf_worker_threads(const char* cfgfile); -int parse_conf_manual_keygen(const char* cfgfile); -int parse_conf_db_port(const char *cfgfile); -time_t parse_conf_automatic_keygen_period(const char* cfgfile); -time_t parse_conf_rollover_notification(const char* cfgfile); -hsm_repository_t* parse_conf_repositories(const char* cfgfile); +extern int parse_conf_worker_threads(const char* cfgfile); +extern int parse_conf_manual_keygen(const char* cfgfile); +extern int parse_conf_db_port(const char *cfgfile); +extern time_t parse_conf_automatic_keygen_period(const char* cfgfile); +extern time_t parse_conf_rollover_notification(const char* cfgfile); +extern hsm_repository_t* parse_conf_repositories(const char* cfgfile); #endif /* PARSE_CONFPARSER_H */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/policy/policy_export_cmd.h opendnssec-2.1.6/enforcer/src/policy/policy_export_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/policy/policy_export_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/policy/policy_export_cmd.h 2020-02-18 23:10:40.656024915 -0500 @@ -30,6 +30,6 @@ #ifndef _POLICY_POLICY_EXPORT_CMD_H_ #define _POLICY_POLICY_EXPORT_CMD_H_ -struct cmd_func_block policy_export_funcblock; +extern struct cmd_func_block policy_export_funcblock; #endif /* _POLICY_POLICY_EXPORT_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/policy/policy_export.h opendnssec-2.1.6/enforcer/src/policy/policy_export.h --- opendnssec-2.1.6-orig/enforcer/src/policy/policy_export.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/policy/policy_export.h 2020-02-18 23:08:38.116360712 -0500 @@ -64,7 +64,7 @@ * \param[in] filename the filename to write to, if NULL write to stdout. * \return POLICY_EXPORT_ERR_* on error otherwise POLICY_EXPORT_OK. */ -int policy_export_all(int sockfd, const db_connection_t* connection, const char* filename); +extern int policy_export_all(int sockfd, const db_connection_t* connection, const char* filename); /** * Export the policy from the database to XML. @@ -73,6 +73,6 @@ * \param[in] filename the filename to write to, if NULL write to stdout. * \return POLICY_EXPORT_ERR_* on error otherwise POLICY_EXPORT_OK. */ -int policy_export(int sockfd, const policy_t* policy, const char* filename); +extern int policy_export(int sockfd, const policy_t* policy, const char* filename); #endif /* _POLICY_POLICY_EXPORT_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/policy/policy_import_cmd.h opendnssec-2.1.6/enforcer/src/policy/policy_import_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/policy/policy_import_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/policy/policy_import_cmd.h 2020-02-18 23:11:07.911395068 -0500 @@ -30,6 +30,6 @@ #ifndef _POLICY_POLICY_IMPORT_CMD_H_ #define _POLICY_POLICY_IMPORT_CMD_H_ -struct cmd_func_block policy_import_funcblock; +extern struct cmd_func_block policy_import_funcblock; #endif /* _POLICY_POLICY_IMPORT_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/policy/policy_import.h opendnssec-2.1.6/enforcer/src/policy/policy_import.h --- opendnssec-2.1.6-orig/enforcer/src/policy/policy_import.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/policy/policy_import.h 2020-02-18 23:08:38.116360712 -0500 @@ -62,7 +62,7 @@ * in the KASP if non-zero. * \return POLICY_IMPORT_ERR_* on error otherwise POLICY_IMPORT_OK. */ -int policy_import(int sockfd, engine_type* engine, db_connection_t *dbconn, +extern int policy_import(int sockfd, engine_type* engine, db_connection_t *dbconn, int do_delete); #endif /* _POLICY_POLICY_IMPORT_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/policy/policy_list_cmd.h opendnssec-2.1.6/enforcer/src/policy/policy_list_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/policy/policy_list_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/policy/policy_list_cmd.h 2020-02-18 23:11:22.168588694 -0500 @@ -30,6 +30,6 @@ #ifndef _POLICY_POLICY_LIST_CMD_H_ #define _POLICY_POLICY_LIST_CMD_H_ -struct cmd_func_block policy_list_funcblock; +extern struct cmd_func_block policy_list_funcblock; #endif /* _POLICY_POLICY_LIST_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/policy/policy_purge_cmd.h opendnssec-2.1.6/enforcer/src/policy/policy_purge_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/policy/policy_purge_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/policy/policy_purge_cmd.h 2020-02-18 23:10:56.045233914 -0500 @@ -1,6 +1,6 @@ #ifndef _POLICY_POLICY_PURGE_CMD_H_ #define _POLICY_POLICY_PURGE_CMD_H_ -struct cmd_func_block policy_purge_funcblock; +extern struct cmd_func_block policy_purge_funcblock; #endif /* _POLICY_POLICY_PURGE_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/policy/policy_resalt_cmd.h opendnssec-2.1.6/enforcer/src/policy/policy_resalt_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/policy/policy_resalt_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/policy/policy_resalt_cmd.h 2020-02-18 23:11:35.034763428 -0500 @@ -30,6 +30,6 @@ #ifndef _POLICY_POLICY_RESALT_CMD_H_ #define _POLICY_POLICY_RESALT_CMD_H_ -struct cmd_func_block resalt_funcblock; +extern struct cmd_func_block resalt_funcblock; #endif /*_POLICY_POLICY_RESALT_CMD_H_*/ diff -Naur opendnssec-2.1.6-orig/enforcer/src/policy/policy_resalt_task.h opendnssec-2.1.6/enforcer/src/policy/policy_resalt_task.h --- opendnssec-2.1.6-orig/enforcer/src/policy/policy_resalt_task.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/policy/policy_resalt_task.h 2020-02-18 23:08:38.116360712 -0500 @@ -33,6 +33,6 @@ #include "daemon/engine.h" #include "scheduler/task.h" -int flush_resalt_task_all(engine_type *engine, db_connection_t *dbconn); +extern int flush_resalt_task_all(engine_type *engine, db_connection_t *dbconn); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/signconf/signconf_cmd.h opendnssec-2.1.6/enforcer/src/signconf/signconf_cmd.h --- opendnssec-2.1.6-orig/enforcer/src/signconf/signconf_cmd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/signconf/signconf_cmd.h 2020-02-18 23:08:38.116360712 -0500 @@ -30,6 +30,6 @@ #ifndef _SIGNCONF_SIGNCONF_CMD_H_ #define _SIGNCONF_SIGNCONF_CMD_H_ -struct cmd_func_block signconf_funcblock; +extern struct cmd_func_block signconf_funcblock; #endif /* _SIGNCONF_SIGNCONF_CMD_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/signconf/signconf_task.h opendnssec-2.1.6/enforcer/src/signconf/signconf_task.h --- opendnssec-2.1.6-orig/enforcer/src/signconf/signconf_task.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/signconf/signconf_task.h 2020-02-18 23:08:38.116360712 -0500 @@ -33,12 +33,12 @@ #include "db/db_connection.h" #include "db/policy.h" -void signconf_task_flush_zone(engine_type *engine, db_connection_t *dbconn, +extern void signconf_task_flush_zone(engine_type *engine, db_connection_t *dbconn, const char* zonename); -void signconf_task_flush_policy(engine_type *engine, db_connection_t *dbconn, +extern void signconf_task_flush_policy(engine_type *engine, db_connection_t *dbconn, policy_t const *policy); -void signconf_task_flush_all(engine_type *engine, db_connection_t *dbconn); +extern void signconf_task_flush_all(engine_type *engine, db_connection_t *dbconn); #endif diff -Naur opendnssec-2.1.6-orig/enforcer/src/signconf/signconf_xml.h opendnssec-2.1.6/enforcer/src/signconf/signconf_xml.h --- opendnssec-2.1.6-orig/enforcer/src/signconf/signconf_xml.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/signconf/signconf_xml.h 2020-02-18 23:08:38.116360712 -0500 @@ -72,7 +72,7 @@ * \return SIGNCONF_EXPORT_ERR_* on error, otherwise SIGNCONF_EXPORT_OK or * SIGNCONF_EXPORT_NO_CHANGE. */ -int signconf_export_all(int sockfd, const db_connection_t* connection, int force); +extern int signconf_export_all(int sockfd, const db_connection_t* connection, int force); /** * Export the signconf XML for zone. @@ -81,7 +81,7 @@ * \return SIGNCONF_EXPORT_ERR_* on error, otherwise SIGNCONF_EXPORT_OK or * SIGNCONF_EXPORT_NO_CHANGE. */ -int +extern int signconf_export_zone(char const *zonename, db_connection_t* dbconn); /** @@ -94,6 +94,6 @@ * \return SIGNCONF_EXPORT_ERR_* on error, otherwise SIGNCONF_EXPORT_OK or * SIGNCONF_EXPORT_NO_CHANGE. */ -int signconf_export_policy(int sockfd, const db_connection_t* connection, const policy_t* policy, int force); +extern int signconf_export_policy(int sockfd, const db_connection_t* connection, const policy_t* policy, int force); #endif /* SIGNCONF_SIGNCONF_H_ */ diff -Naur opendnssec-2.1.6-orig/enforcer/src/utils/kc_helper.h opendnssec-2.1.6/enforcer/src/utils/kc_helper.h --- opendnssec-2.1.6-orig/enforcer/src/utils/kc_helper.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/enforcer/src/utils/kc_helper.h 2020-02-18 23:08:38.116360712 -0500 @@ -45,44 +45,44 @@ char *TokenLabel; } KC_REPO; -int check_conf(const char *conf, char **kasp, char **zonelist, +extern int check_conf(const char *conf, char **kasp, char **zonelist, char ***repo_listout, int *repo_countout, int verbose); -int check_kasp(const char *kasp, char **repo_list, int repo_count, int verbose, +extern int check_kasp(const char *kasp, char **repo_list, int repo_count, int verbose, char ***policy_names_out, int *policy_count_out); -int check_zonelist(const char *zonelist, int verbose, char **policy_names, +extern int check_zonelist(const char *zonelist, int verbose, char **policy_names, int policy_count); -void log_init(int facility, const char *program_name); -void log_switch(int facility, const char *program_name); -void dual_log(const char *format, ...) +extern void log_init(int facility, const char *program_name); +extern void log_switch(int facility, const char *program_name); +extern void dual_log(const char *format, ...) #ifdef HAVE___ATTRIBUTE__ __attribute__ ((format (printf, 1, 2))) #endif ; -int check_rng(const char *filename, const char *rngfilename, int verbose); +extern int check_rng(const char *filename, const char *rngfilename, int verbose); -int check_file(const char *filename, const char *log_string); -int check_file_from_xpath(xmlXPathContextPtr xpath_ctx, const char *log_string, const xmlChar *file_xexpr); +extern int check_file(const char *filename, const char *log_string); +extern int check_file_from_xpath(xmlXPathContextPtr xpath_ctx, const char *log_string, const xmlChar *file_xexpr); -int check_path(const char *pathname, const char *log_string); -int check_path_from_xpath(xmlXPathContextPtr xpath_ctx, const char *log_string, const xmlChar *path_xexpr); +extern int check_path(const char *pathname, const char *log_string); +extern int check_path_from_xpath(xmlXPathContextPtr xpath_ctx, const char *log_string, const xmlChar *path_xexpr); -int check_user_group(xmlXPathContextPtr xpath_ctx, const xmlChar *user_xexpr, const xmlChar *group_xexpr); +extern int check_user_group(xmlXPathContextPtr xpath_ctx, const xmlChar *user_xexpr, const xmlChar *group_xexpr); -int check_time_def(const char *time_expr, const char *location, const char *field, const char *filename, int* interval); -int check_time_def_from_xpath(xmlXPathContextPtr xpath_ctx, const xmlChar *time_xexpr, const char *location, const char *field, const char *filename); +extern int check_time_def(const char *time_expr, const char *location, const char *field, const char *filename, int* interval); +extern int check_time_def_from_xpath(xmlXPathContextPtr xpath_ctx, const xmlChar *time_xexpr, const char *location, const char *field, const char *filename); /* if repo_list NULL, will skip the check to see all repositories in kasp are available in conf */ -int check_policy(xmlNode *curNode, const char *policy_name, char **repo_list, int repo_count, const char *kasp); +extern int check_policy(xmlNode *curNode, const char *policy_name, char **repo_list, int repo_count, const char *kasp); -int DtXMLIntervalSeconds(const char* text, int* interval); -int StrStrtoi(const char* string, int* value); -int StrStrtol(const char* string, long* value); -char* StrStrdup(const char* string); -void StrTrimR(char *text); -char* StrTrimL(char* text); -void* MemCalloc(size_t nmemb, size_t size); +extern int DtXMLIntervalSeconds(const char* text, int* interval); +extern int StrStrtoi(const char* string, int* value); +extern int StrStrtol(const char* string, long* value); +extern char* StrStrdup(const char* string); +extern void StrTrimR(char *text); +extern char* StrTrimL(char* text); +extern void* MemCalloc(size_t nmemb, size_t size); #endif /* KC_HELPER_H */ diff -Naur opendnssec-2.1.6-orig/libhsm/src/lib/libhsmdns.h opendnssec-2.1.6/libhsm/src/lib/libhsmdns.h --- opendnssec-2.1.6-orig/libhsm/src/lib/libhsmdns.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/libhsm/src/lib/libhsmdns.h 2020-02-18 23:08:38.116360712 -0500 @@ -50,7 +50,7 @@ /*! * Returns an allocated hsm_sign_params_t with some defaults */ -hsm_sign_params_t * hsm_sign_params_new(void); +extern hsm_sign_params_t * hsm_sign_params_new(void); /*! @@ -61,7 +61,7 @@ \param params The signer parameters to free */ -void +extern void hsm_sign_params_free(hsm_sign_params_t *params); @@ -74,7 +74,7 @@ \param key Key pair used to sign \return ldns_rr* Signed RRset */ -ldns_rr* +extern ldns_rr* hsm_sign_rrset(hsm_ctx_t *ctx, const ldns_rr_list* rrset, const libhsm_key_t *key, @@ -90,7 +90,7 @@ \param sign_params the signing parameters (flags, algorithm, etc) \return ldns_rr* */ -ldns_rr* +extern ldns_rr* hsm_get_dnskey(hsm_ctx_t *ctx, const libhsm_key_t *key, const hsm_sign_params_t *sign_params); @@ -103,6 +103,6 @@ * @param[out] keytag: the calculated keytag * return: non-zero in case of failure */ -int hsm_keytag(const char* loc, int alg, int ksk, uint16_t* keytag); +extern int hsm_keytag(const char* loc, int alg, int ksk, uint16_t* keytag); #endif /* HSMDNS_H */ diff -Naur opendnssec-2.1.6-orig/libhsm/src/lib/libhsm.h opendnssec-2.1.6/libhsm/src/lib/libhsm.h --- opendnssec-2.1.6-orig/libhsm/src/lib/libhsm.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/libhsm/src/lib/libhsm.h 2020-02-18 23:08:38.117360726 -0500 @@ -158,7 +158,7 @@ \param action action for which the error occured \param message error message format string */ -void +extern void hsm_ctx_set_error(hsm_ctx_t *ctx, int error, const char *action, const char *message, ...) #ifdef HAVE___ATTRIBUTE__ @@ -181,7 +181,7 @@ function that takes a context can be passed NULL, in which case the global context will be used) and log into each HSM. */ -int +extern int hsm_open2(hsm_repository_t* rlist, char *(pin_callback)(unsigned int, const char *, unsigned int)); @@ -195,7 +195,7 @@ \param use_pubkey Whether to store the public key in the HSM. \return The created repository. */ -hsm_repository_t * +extern hsm_repository_t * hsm_repository_new(char* name, char* module, char* tokenlabel, char* pin, uint8_t use_pubkey, uint8_t allowextract, uint8_t require_backup); @@ -203,7 +203,7 @@ \param r Repository list. */ -void +extern void hsm_repository_free(hsm_repository_t* r); /*! Function that queries for a PIN, can be used as callback @@ -215,7 +215,7 @@ \param mode The type of mode the function should run in. \return The string the user enters */ -char * +extern char * hsm_prompt_pin(unsigned int id, const char *repository, unsigned int mode); @@ -227,7 +227,7 @@ \param mode The type of mode the function should run in. \return The string the user enters */ -char * +extern char * hsm_check_pin(unsigned int id, const char *repository, unsigned int mode); @@ -237,7 +237,7 @@ semaphore. Any authenticated process will still be able to interact with the HSM. */ -int +extern int hsm_logout_pin(void); @@ -247,7 +247,7 @@ This cleans up all data for libhsm, and should be the last function called. */ -void +extern void hsm_close(void); @@ -256,7 +256,7 @@ Creates a new session for each attached HSM. The returned hsm_ctx_t * can be freed with hsm_destroy_context() */ -hsm_ctx_t * +extern hsm_ctx_t * hsm_create_context(void); @@ -268,7 +268,7 @@ \param context HSM context \return 0 if successful, !0 if failed */ -int +extern int hsm_check_context(); @@ -278,10 +278,10 @@ Also destroys any associated sessions. */ -void +extern void hsm_destroy_context(hsm_ctx_t *context); -void +extern void libhsm_key_free(libhsm_key_t *key); /*! List all known keys in all attached HSMs @@ -296,7 +296,7 @@ \param context HSM context \param count location to store the number of keys found */ -libhsm_key_t ** +extern libhsm_key_t ** hsm_list_keys(hsm_ctx_t *context, size_t *count); @@ -313,7 +313,7 @@ \param count location to store the number of keys found \param repository repository to list the keys in */ -libhsm_key_t ** +extern libhsm_key_t ** hsm_list_keys_repository(hsm_ctx_t *context, size_t *count, const char *repository); @@ -329,7 +329,7 @@ string of hex characters) \return key identifier or NULL if not found (or invalid input) */ -libhsm_key_t * +extern libhsm_key_t * hsm_find_key_by_id(hsm_ctx_t *context, const char *id); @@ -346,7 +346,7 @@ \param keysize Size of RSA key \return return key identifier or NULL if key generation failed */ -libhsm_key_t * +extern libhsm_key_t * hsm_generate_rsa_key(hsm_ctx_t *context, const char *repository, unsigned long keysize); @@ -363,7 +363,7 @@ \param keysize Size of DSA key \return return key identifier or NULL if key generation failed */ -libhsm_key_t * +extern libhsm_key_t * hsm_generate_dsa_key(hsm_ctx_t *context, const char *repository, unsigned long keysize); @@ -379,7 +379,7 @@ \param repository repository in where to create the key \return return key identifier or NULL if key generation failed */ -libhsm_key_t * +extern libhsm_key_t * hsm_generate_gost_key(hsm_ctx_t *context, const char *repository); @@ -395,7 +395,7 @@ \param curve which curve to use \return return key identifier or NULL if key generation failed */ -libhsm_key_t * +extern libhsm_key_t * hsm_generate_ecdsa_key(hsm_ctx_t *context, const char *repository, const char *curve); @@ -410,7 +410,7 @@ \param key Key pair to be removed \return 0 if successful, !0 if failed */ -int +extern int hsm_remove_key(hsm_ctx_t *context, libhsm_key_t *key); @@ -420,7 +420,7 @@ \param key_list The array of keys to free \param count The number of keys in the array */ -void +extern void libhsm_key_list_free(libhsm_key_t **key_list, size_t count); @@ -432,7 +432,7 @@ \param key Key pair to get the ID from \return id of key pair */ -char * +extern char * hsm_get_key_id(hsm_ctx_t *context, const libhsm_key_t *key); @@ -446,7 +446,7 @@ \param key Key pair to get information about \return key information */ -libhsm_key_info_t * +extern libhsm_key_info_t * hsm_get_key_info(hsm_ctx_t *context, const libhsm_key_t *key); @@ -455,7 +455,7 @@ \param key_info The structure to free */ -void +extern void libhsm_key_info_free(libhsm_key_info_t *key_info); /*! Fill a buffer with random data from any attached HSM @@ -466,7 +466,7 @@ \return 0 if successful, !0 if failed */ -int +extern int hsm_random_buffer(hsm_ctx_t *ctx, unsigned char *buffer, unsigned long length); @@ -477,7 +477,7 @@ \return 32-bit random number, or 0 if no HSM with a random generator is attached */ -uint32_t +extern uint32_t hsm_random32(hsm_ctx_t *ctx); @@ -486,7 +486,7 @@ \return 64-bit random number, or 0 if no HSM with a random generator is attached */ -uint64_t +extern uint64_t hsm_random64(hsm_ctx_t *ctx); @@ -506,7 +506,7 @@ \param config optional configuration \return 0 on success, -1 on error */ -int +extern int hsm_attach(const char *repository, const char *token_name, const char *path, @@ -518,7 +518,7 @@ \param token_name The name of the token \return 1 if the token is attached, 0 if not found */ -int +extern int hsm_token_attached(hsm_ctx_t *ctx, const char *repository); @@ -530,15 +530,15 @@ \return error message string */ -char * +extern char * hsm_get_error(hsm_ctx_t *gctx); /* a few debug functions for applications */ -void hsm_print_session(hsm_session_t *session); -void hsm_print_ctx(hsm_ctx_t *ctx); -void hsm_print_key(hsm_ctx_t *ctx, libhsm_key_t *key); -void hsm_print_error(hsm_ctx_t *ctx); -void hsm_print_tokeninfo(hsm_ctx_t *ctx); +extern void hsm_print_session(hsm_session_t *session); +extern void hsm_print_ctx(hsm_ctx_t *ctx); +extern void hsm_print_key(hsm_ctx_t *ctx, libhsm_key_t *key); +extern void hsm_print_error(hsm_ctx_t *ctx); +extern void hsm_print_tokeninfo(hsm_ctx_t *ctx); /* implementation of a key cache per context, needs changing see * OPENDNSSEC-799. diff -Naur opendnssec-2.1.6-orig/signer/src/adapter/adapi.h opendnssec-2.1.6/signer/src/adapter/adapi.h --- opendnssec-2.1.6-orig/signer/src/adapter/adapi.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/adapter/adapi.h 2020-02-18 23:08:38.117360726 -0500 @@ -44,7 +44,7 @@ * \return uint32_t inbound serial * */ -uint32_t adapi_get_serial(zone_type* zone); +extern uint32_t adapi_get_serial(zone_type* zone); /** * Set the inbound serial. @@ -52,7 +52,7 @@ * \param[in] serial inbound serial * */ -void adapi_set_serial(zone_type* zone, uint32_t serial); +extern void adapi_set_serial(zone_type* zone, uint32_t serial); /** * Get origin. @@ -60,7 +60,7 @@ * \return ldns_rdf* origin * */ -ldns_rdf* adapi_get_origin(zone_type* zone); +extern ldns_rdf* adapi_get_origin(zone_type* zone); /** * Get ttl. @@ -68,7 +68,7 @@ * \return uint32_t ttl * */ -uint32_t adapi_get_ttl(zone_type* zone); +extern uint32_t adapi_get_ttl(zone_type* zone); /* * Do full zone transaction. @@ -76,7 +76,7 @@ * \param[in] more_coming more transactions are possible * */ -void adapi_trans_full(zone_type* zone, unsigned more_coming); +extern void adapi_trans_full(zone_type* zone, unsigned more_coming); /* * Do incremental zone transaction. @@ -84,7 +84,7 @@ * \param[in] more_coming more transactions are possible * */ -void adapi_trans_diff(zone_type* zone, unsigned more_coming); +extern void adapi_trans_diff(zone_type* zone, unsigned more_coming); /** * Add RR. @@ -94,7 +94,7 @@ * \return ods_status status * */ -ods_status adapi_add_rr(zone_type* zone, ldns_rr* rr, int backup); +extern ods_status adapi_add_rr(zone_type* zone, ldns_rr* rr, int backup); /** * Delete RR. @@ -104,7 +104,7 @@ * \return ods_status status * */ -ods_status adapi_del_rr(zone_type* zone, ldns_rr* rr, int backup); +extern ods_status adapi_del_rr(zone_type* zone, ldns_rr* rr, int backup); /** * Print zonefile. @@ -113,7 +113,7 @@ * \return ods_status status * */ -ods_status adapi_printzone(FILE* fd, zone_type* zone); +extern ods_status adapi_printzone(FILE* fd, zone_type* zone); /** * Print axfr. @@ -122,7 +122,7 @@ * \return ods_status status * */ -ods_status adapi_printaxfr(FILE* fd, zone_type* zone); +extern ods_status adapi_printaxfr(FILE* fd, zone_type* zone); /** * Print ixfr. @@ -131,6 +131,6 @@ * \return ods_status status * */ -ods_status adapi_printixfr(FILE* fd, zone_type* zone); +extern ods_status adapi_printixfr(FILE* fd, zone_type* zone); #endif /* ADAPTER_ADAPI_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/adapter/adapter.h opendnssec-2.1.6/signer/src/adapter/adapter.h --- opendnssec-2.1.6-orig/signer/src/adapter/adapter.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/adapter/adapter.h 2020-02-18 23:08:38.117360726 -0500 @@ -71,7 +71,7 @@ * \return adapter_type* created adapter * */ -adapter_type* adapter_create(const char* str, adapter_mode type, unsigned in); +extern adapter_type* adapter_create(const char* str, adapter_mode type, unsigned in); /** * Load configuration. @@ -79,7 +79,7 @@ * \return ods_status status * */ -ods_status adapter_load_config(adapter_type* adapter); +extern ods_status adapter_load_config(adapter_type* adapter); /** * Compare adapters. @@ -88,7 +88,7 @@ * \return int 0 on equal, -1 if a1 < a2, 1 if a1 > a2 * */ -int adapter_compare(adapter_type* a1, adapter_type* a2); +extern int adapter_compare(adapter_type* a1, adapter_type* a2); /** * Read zone from input adapter. @@ -96,7 +96,7 @@ * \return ods_status status * */ -ods_status adapter_read(zone_type* zone); +extern ods_status adapter_read(zone_type* zone); /** * Write zone to output adapter. @@ -104,13 +104,13 @@ * \return ods_status status * */ -ods_status adapter_write(zone_type* zone); +extern ods_status adapter_write(zone_type* zone); /** * Clean up adapter. * \param[in] adapter adapter to cleanup * */ -void adapter_cleanup(adapter_type* adapter); +extern void adapter_cleanup(adapter_type* adapter); #endif /* ADAPTER_ADAPTER_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/adapter/addns.h opendnssec-2.1.6/signer/src/adapter/addns.h --- opendnssec-2.1.6-orig/signer/src/adapter/addns.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/adapter/addns.h 2020-02-18 23:08:38.117360726 -0500 @@ -70,14 +70,14 @@ * \return dnsin_type* DNS input adapter * */ -dnsin_type* dnsin_create(void); +extern dnsin_type* dnsin_create(void); /** * Create DNS output adapter. * \return dnsout_type* DNS output adapter * */ -dnsout_type* dnsout_create(void); +extern dnsout_type* dnsout_create(void); /** * Update DNS input adapter. @@ -87,7 +87,7 @@ * \return ods_status status * */ -ods_status dnsin_update(dnsin_type** addns, const char* filename, +extern ods_status dnsin_update(dnsin_type** addns, const char* filename, time_t* last_mod); /** @@ -98,7 +98,7 @@ * \return ods_status status * */ -ods_status dnsout_update(dnsout_type** addns, const char* filename, +extern ods_status dnsout_update(dnsout_type** addns, const char* filename, time_t* last_mod); /** @@ -113,7 +113,7 @@ * \return ldns_rr* RR * */ -ldns_rr* addns_read_rr(FILE* fd, char* line, ldns_rdf** orig, ldns_rdf** prev, +extern ldns_rr* addns_read_rr(FILE* fd, char* line, ldns_rdf** orig, ldns_rdf** prev, uint32_t* ttl, ldns_status* status, unsigned int* l); @@ -123,7 +123,7 @@ * \return ods_status status * */ -ods_status addns_read(void* zone); +extern ods_status addns_read(void* zone); /** * Write zone to DNS output adapter. @@ -131,20 +131,20 @@ * \return ods_status status * */ -ods_status addns_write(void* zone); +extern ods_status addns_write(void* zone); /** * Clean up DNS input adapter. * \param[in] addns DNS input adapter * */ -void dnsin_cleanup(dnsin_type* addns); +extern void dnsin_cleanup(dnsin_type* addns); /** * Clean up DNS output adapter. * \param[in] addns DNS output adapter * */ -void dnsout_cleanup(dnsout_type* addns); +extern void dnsout_cleanup(dnsout_type* addns); #endif /* ADAPTER_ADDNS_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/adapter/adfile.h opendnssec-2.1.6/signer/src/adapter/adfile.h --- opendnssec-2.1.6-orig/signer/src/adapter/adfile.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/adapter/adfile.h 2020-02-18 23:08:38.117360726 -0500 @@ -49,7 +49,7 @@ * \return ods_status status * */ -ods_status adfile_read(void* zone); +extern ods_status adfile_read(void* zone); /** * Write zone to output file adapter. @@ -58,6 +58,6 @@ * \return ods_status status * */ -ods_status adfile_write(void* zone, const char* filename); +extern ods_status adfile_write(void* zone, const char* filename); #endif /* ADAPTER_ADFILE_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/adapter/adutil.h opendnssec-2.1.6/signer/src/adapter/adutil.h --- opendnssec-2.1.6-orig/signer/src/adapter/adutil.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/adapter/adutil.h 2020-02-18 23:08:38.117360726 -0500 @@ -48,7 +48,7 @@ * \return int number of characters read * */ -int adutil_readline_frm_file(FILE* fd, char* line, unsigned int* l, +extern int adutil_readline_frm_file(FILE* fd, char* line, unsigned int* l, int keep_comments); /* @@ -57,7 +57,7 @@ * \param[out] line_len maintain line length * */ -void adutil_rtrim_line(char* line, int* line_len); +extern void adutil_rtrim_line(char* line, int* line_len); /** * Check for white space. @@ -65,6 +65,6 @@ * \param[in] line_len line length * */ -int adutil_whitespace_line(char* line, int line_len); +extern int adutil_whitespace_line(char* line, int line_len); #endif /* ADAPTER_ADUTIL_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/daemon/cfg.h opendnssec-2.1.6/signer/src/daemon/cfg.h --- opendnssec-2.1.6-orig/signer/src/daemon/cfg.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/daemon/cfg.h 2020-02-18 23:08:38.117360726 -0500 @@ -69,7 +69,7 @@ * \return engineconfig_type* engine configuration * */ -engineconfig_type* +extern engineconfig_type* engine_config(const char* cfgfile, int cmdline_verbosity); /** @@ -80,7 +80,7 @@ * else: error in configuration settings * */ -ods_status engine_config_check(engineconfig_type* config); +extern ods_status engine_config_check(engineconfig_type* config); /** * Print engine configuration. @@ -88,13 +88,13 @@ * \param[in] config engine configuration * */ -void engine_config_print(FILE* out, engineconfig_type* config); +extern void engine_config_print(FILE* out, engineconfig_type* config); /** * Clean up config. * \param[in] config engine configuration * */ -void engine_config_cleanup(engineconfig_type* config); +extern void engine_config_cleanup(engineconfig_type* config); #endif /* DAEMON_CONFIG_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/daemon/dnshandler.h opendnssec-2.1.6/signer/src/daemon/dnshandler.h --- opendnssec-2.1.6-orig/signer/src/daemon/dnshandler.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/daemon/dnshandler.h 2020-02-18 23:08:38.117360726 -0500 @@ -67,7 +67,7 @@ * \return dnshandler_type* created dns handler * */ -dnshandler_type* dnshandler_create(listener_type* interfaces); +extern dnshandler_type* dnshandler_create(listener_type* interfaces); /** * Start dns handler listener. @@ -75,21 +75,21 @@ * \return ods_status status * */ -ods_status dnshandler_listen(dnshandler_type* dnshandler); +extern ods_status dnshandler_listen(dnshandler_type* dnshandler); /** * Start dns handler. * \param[in] dnshandler_type* dns handler * */ -void dnshandler_start(dnshandler_type* dnshandler); +extern void dnshandler_start(dnshandler_type* dnshandler); /** * Signal dns handler. * \param[in] dnshandler_type* dns handler * */ -void dnshandler_signal(dnshandler_type* dnshandler); +extern void dnshandler_signal(dnshandler_type* dnshandler); /** * Forward notify to zone transfer handler. @@ -98,7 +98,7 @@ * \param[in] len packet length * */ -void dnshandler_fwd_notify(dnshandler_type* dnshandler, +extern void dnshandler_fwd_notify(dnshandler_type* dnshandler, uint8_t* pkt, size_t len); /** @@ -106,6 +106,6 @@ * \param[in] dnshandler_type* dns handler * */ -void dnshandler_cleanup(dnshandler_type* dnshandler); +extern void dnshandler_cleanup(dnshandler_type* dnshandler); #endif /* DAEMON_DNSHANDLER_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/daemon/engine.h opendnssec-2.1.6/signer/src/daemon/engine.h --- opendnssec-2.1.6-orig/signer/src/daemon/engine.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/daemon/engine.h 2020-02-18 23:08:38.117360726 -0500 @@ -82,7 +82,7 @@ * \return 0 if successful, 1 on error * */ -int engine_start(const char* cfgfile, int cmdline_verbosity, +extern int engine_start(const char* cfgfile, int cmdline_verbosity, int daemonize, int info); /** @@ -90,7 +90,7 @@ * \param[in] engine engine * */ -void engine_wakeup_workers(engine_type* engine); +extern void engine_wakeup_workers(engine_type* engine); /** * Update zones. @@ -98,13 +98,13 @@ * \param[in] zl_changed whether the zonelist has changed or not * */ -void engine_update_zones(engine_type* engine, ods_status zl_changed); +extern void engine_update_zones(engine_type* engine, ods_status zl_changed); /** * Clean up engine. * \param[in] engine engine * */ -void engine_cleanup(engine_type* engine); +extern void engine_cleanup(engine_type* engine); #endif /* DAEMON_ENGINE_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/daemon/signercommands.h opendnssec-2.1.6/signer/src/daemon/signercommands.h --- opendnssec-2.1.6-orig/signer/src/daemon/signercommands.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/daemon/signercommands.h 2020-02-19 17:04:19.583845991 -0500 @@ -35,7 +35,7 @@ #include "config.h" #include "cmdhandler.h" -struct cmd_func_block** signercommands; +extern struct cmd_func_block** signercommands; extern engine_type* getglobalcontext(cmdhandler_ctx_type*); diff -Naur opendnssec-2.1.6-orig/signer/src/daemon/signertasks.h opendnssec-2.1.6/signer/src/daemon/signertasks.h --- opendnssec-2.1.6-orig/signer/src/daemon/signertasks.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/daemon/signertasks.h 2020-02-18 23:08:38.118360739 -0500 @@ -42,14 +42,14 @@ time_t clock_in; }; -void drudge(worker_type* worker); -void task_schedule_easy(const char* zonename, task_id class, task_id type, time_t(*fn)(task_type*,const char*,void*,void*), void*, time_t time); +extern void drudge(worker_type* worker); +extern void task_schedule_easy(const char* zonename, task_id class, task_id type, time_t(*fn)(task_type*,const char*,void*,void*), void*, time_t time); -time_t do_readsignconf(task_type* task, const char* zonename, void* zonearg, void *contextarg); -time_t do_forcereadsignconf(task_type* task, const char* zonename, void* zonearg, void *contextarg); -time_t do_signzone(task_type* task, const char* zonename, void* zonearg, void *contextarg); -time_t do_readzone(task_type* task, const char* zonename, void* zonearg, void *contextarg); -time_t do_forcereadzone(task_type* task, const char* zonename, void* zonearg, void *contextarg); -time_t do_writezone(task_type* task, const char* zonename, void* zonearg, void *contextarg); +extern time_t do_readsignconf(task_type* task, const char* zonename, void* zonearg, void *contextarg); +extern time_t do_forcereadsignconf(task_type* task, const char* zonename, void* zonearg, void *contextarg); +extern time_t do_signzone(task_type* task, const char* zonename, void* zonearg, void *contextarg); +extern time_t do_readzone(task_type* task, const char* zonename, void* zonearg, void *contextarg); +extern time_t do_forcereadzone(task_type* task, const char* zonename, void* zonearg, void *contextarg); +extern time_t do_writezone(task_type* task, const char* zonename, void* zonearg, void *contextarg); #endif /* SIGNERTASKS_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/daemon/xfrhandler.h opendnssec-2.1.6/signer/src/daemon/xfrhandler.h --- opendnssec-2.1.6-orig/signer/src/daemon/xfrhandler.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/daemon/xfrhandler.h 2020-02-18 23:08:38.118360739 -0500 @@ -79,14 +79,14 @@ * \return xfrhandler_type* created zoned transfer handler * */ -xfrhandler_type* xfrhandler_create(void); +extern xfrhandler_type* xfrhandler_create(void); /** * Start zone transfer handler. * \param[in] xfrhandler_type* zone transfer handler * */ -void xfrhandler_start(xfrhandler_type* xfrhandler); +extern void xfrhandler_start(xfrhandler_type* xfrhandler); /** * Get current time from the zone transfer handler. @@ -94,20 +94,20 @@ * \return time_t current time * */ -time_t xfrhandler_time(xfrhandler_type* xfrhandler); +extern time_t xfrhandler_time(xfrhandler_type* xfrhandler); /** * Signal zone transfer handler. * \param[in] xfrhandler_type* zone transfer handler * */ -void xfrhandler_signal(xfrhandler_type* xfrhandler); +extern void xfrhandler_signal(xfrhandler_type* xfrhandler); /** * Cleanup zone transfer handler. * \param[in] xfrhandler_type* zone transfer handler * */ -void xfrhandler_cleanup(xfrhandler_type* xfrhandler); +extern void xfrhandler_cleanup(xfrhandler_type* xfrhandler); #endif /* DAEMON_XFRHANDLER_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/hsm.h opendnssec-2.1.6/signer/src/hsm.h --- opendnssec-2.1.6-orig/signer/src/hsm.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/hsm.h 2020-02-18 23:08:38.118360739 -0500 @@ -51,7 +51,7 @@ * \return ods_status status * */ -ods_status lhsm_get_key(hsm_ctx_t* ctx, ldns_rdf* owner, key_type* key_id, int skip_hsm_access); +extern ods_status lhsm_get_key(hsm_ctx_t* ctx, ldns_rdf* owner, key_type* key_id, int skip_hsm_access); /** * Get RRSIG from one of the HSMs, given a RRset and a key. @@ -64,7 +64,7 @@ * \return ldns_rr* RRSIG record * */ -ldns_rr* lhsm_sign(hsm_ctx_t* ctx, ldns_rr_list* rrset, key_type* key_id, +extern ldns_rr* lhsm_sign(hsm_ctx_t* ctx, ldns_rr_list* rrset, key_type* key_id, ldns_rdf* owner, time_t inception, time_t expiration); #endif /* SHARED_HSM_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/parser/addnsparser.h opendnssec-2.1.6/signer/src/parser/addnsparser.h --- opendnssec-2.1.6-orig/signer/src/parser/addnsparser.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/parser/addnsparser.h 2020-02-18 23:08:38.118360739 -0500 @@ -46,7 +46,7 @@ * \return acl_type* ACL * */ -acl_type* parse_addns_request_xfr(const char* filename, tsig_type* tsig); +extern acl_type* parse_addns_request_xfr(const char* filename, tsig_type* tsig); /** * Parse . @@ -56,7 +56,7 @@ * \return acl_type* ACL * */ -acl_type* parse_addns_allow_notify(const char* filename, tsig_type* tsig); +extern acl_type* parse_addns_allow_notify(const char* filename, tsig_type* tsig); /** * Parse . @@ -66,7 +66,7 @@ * \return acl_type* ACL * */ -acl_type* parse_addns_provide_xfr(const char* filename, tsig_type* tsig); +extern acl_type* parse_addns_provide_xfr(const char* filename, tsig_type* tsig); /** * Parse . @@ -76,7 +76,7 @@ * \return acl_type* ACL * */ -acl_type* parse_addns_do_notify(const char* filename, tsig_type* tsig); +extern acl_type* parse_addns_do_notify(const char* filename, tsig_type* tsig); /** * Parse . @@ -85,6 +85,6 @@ * \return tsig_type* TSIG * */ -tsig_type* parse_addns_tsig(const char* filename); +extern tsig_type* parse_addns_tsig(const char* filename); #endif /* PARSER_ADDNSPARSER_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/parser/confparser.h opendnssec-2.1.6/signer/src/parser/confparser.h --- opendnssec-2.1.6-orig/signer/src/parser/confparser.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/parser/confparser.h 2020-02-18 23:08:38.118360739 -0500 @@ -46,7 +46,7 @@ * \return ods_status status * */ -ods_status parse_file_check(const char* cfgfile, const char* rngfile); +extern ods_status parse_file_check(const char* cfgfile, const char* rngfile); /** * Parse elements from the configuration file. @@ -56,7 +56,7 @@ * \return const char* string value * */ -const char* parse_conf_string(const char* cfgfile, const char* expr, +extern const char* parse_conf_string(const char* cfgfile, const char* expr, int required); /** @@ -65,7 +65,7 @@ * \return hsm_repository_t* repositories * */ -hsm_repository_t* parse_conf_repositories(const char* cfgfile); +extern hsm_repository_t* parse_conf_repositories(const char* cfgfile); /** * Parse the listener interfaces. @@ -74,7 +74,7 @@ * \return listener_type* listener interfaces * */ -listener_type* parse_conf_listener(const char* cfgfile); +extern listener_type* parse_conf_listener(const char* cfgfile); /** * Parse elements from the configuration file. @@ -85,17 +85,17 @@ */ /** Common */ -const char* parse_conf_zonelist_filename(const char* cfgfile); -const char* parse_conf_log_filename(const char* cfgfile); +extern const char* parse_conf_zonelist_filename(const char* cfgfile); +extern const char* parse_conf_log_filename(const char* cfgfile); /** Signer specific */ -const char* parse_conf_pid_filename(const char* cfgfile); -const char* parse_conf_notify_command(const char* cfgfile); -const char* parse_conf_clisock_filename(const char* cfgfile); -const char* parse_conf_working_dir(const char* cfgfile); -const char* parse_conf_username(const char* cfgfile); -const char* parse_conf_group(const char* cfgfile); -const char* parse_conf_chroot(const char* cfgfile); +extern const char* parse_conf_pid_filename(const char* cfgfile); +extern const char* parse_conf_notify_command(const char* cfgfile); +extern const char* parse_conf_clisock_filename(const char* cfgfile); +extern const char* parse_conf_working_dir(const char* cfgfile); +extern const char* parse_conf_username(const char* cfgfile); +extern const char* parse_conf_group(const char* cfgfile); +extern const char* parse_conf_chroot(const char* cfgfile); /** * Parse elements from the configuration file. @@ -105,11 +105,11 @@ */ /** Common */ -int parse_conf_use_syslog(const char* cfgfile); -int parse_conf_verbosity(const char* cfgfile); +extern int parse_conf_use_syslog(const char* cfgfile); +extern int parse_conf_verbosity(const char* cfgfile); /** Signer specific */ -int parse_conf_worker_threads(const char* cfgfile); -int parse_conf_signer_threads(const char* cfgfile); +extern int parse_conf_worker_threads(const char* cfgfile); +extern int parse_conf_signer_threads(const char* cfgfile); #endif /* PARSE_CONFPARSER_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/parser/signconfparser.h opendnssec-2.1.6/signer/src/parser/signconfparser.h --- opendnssec-2.1.6-orig/signer/src/parser/signconfparser.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/parser/signconfparser.h 2020-02-18 23:08:38.118360739 -0500 @@ -47,7 +47,7 @@ * \return keylist_type* key list * */ -keylist_type* parse_sc_keys(void* sc, const char* cfgfile); +extern keylist_type* parse_sc_keys(void* sc, const char* cfgfile); /** * Parse elements from the configuration file. @@ -55,19 +55,19 @@ * \return duration_type* duration * */ -duration_type* parse_sc_sig_resign_interval(const char* cfgfile); -duration_type* parse_sc_sig_refresh_interval(const char* cfgfile); -duration_type* parse_sc_sig_validity_default(const char* cfgfile); -duration_type* parse_sc_sig_validity_denial(const char* cfgfile); -duration_type* parse_sc_sig_validity_keyset(const char* cfgfile); -duration_type* parse_sc_sig_jitter(const char* cfgfile); -duration_type* parse_sc_sig_inception_offset(const char* cfgfile); -duration_type* parse_sc_dnskey_ttl(const char* cfgfile); -const char** parse_sc_dnskey_sigrrs(const char* cfgfile); -duration_type* parse_sc_nsec3param_ttl(const char* cfgfile); -duration_type* parse_sc_soa_ttl(const char* cfgfile); -duration_type* parse_sc_soa_min(const char* cfgfile); -duration_type* parse_sc_max_zone_ttl(const char* cfgfile); +extern duration_type* parse_sc_sig_resign_interval(const char* cfgfile); +extern duration_type* parse_sc_sig_refresh_interval(const char* cfgfile); +extern duration_type* parse_sc_sig_validity_default(const char* cfgfile); +extern duration_type* parse_sc_sig_validity_denial(const char* cfgfile); +extern duration_type* parse_sc_sig_validity_keyset(const char* cfgfile); +extern duration_type* parse_sc_sig_jitter(const char* cfgfile); +extern duration_type* parse_sc_sig_inception_offset(const char* cfgfile); +extern duration_type* parse_sc_dnskey_ttl(const char* cfgfile); +extern const char** parse_sc_dnskey_sigrrs(const char* cfgfile); +extern duration_type* parse_sc_nsec3param_ttl(const char* cfgfile); +extern duration_type* parse_sc_soa_ttl(const char* cfgfile); +extern duration_type* parse_sc_soa_min(const char* cfgfile); +extern duration_type* parse_sc_max_zone_ttl(const char* cfgfile); /** * Parse elements from the configuration file. @@ -75,7 +75,7 @@ * \return ldns_rr_type rr type * */ -ldns_rr_type parse_sc_nsec_type(const char* cfgfile); +extern ldns_rr_type parse_sc_nsec_type(const char* cfgfile); /** * Parse elements from the configuration file. @@ -83,8 +83,8 @@ * \return uint32_t integer * */ -uint32_t parse_sc_nsec3_algorithm(const char* cfgfile); -uint32_t parse_sc_nsec3_iterations(const char* cfgfile); +extern uint32_t parse_sc_nsec3_algorithm(const char* cfgfile); +extern uint32_t parse_sc_nsec3_iterations(const char* cfgfile); /** * Parse elements from the configuration file. @@ -92,14 +92,14 @@ * \return int integer * */ -int parse_sc_nsec3_optout(const char* cfgfile); +extern int parse_sc_nsec3_optout(const char* cfgfile); /** * Parse elements from the configuration file. * \param[in] cfgfile the configuration file name. * \return boolean */ -int parse_sc_passthrough(const char* cfgfile); +extern int parse_sc_passthrough(const char* cfgfile); /** * Parse elements from the configuration file. @@ -107,7 +107,7 @@ * \return const char* string * */ -const char* parse_sc_soa_serial(const char* cfgfile); -const char* parse_sc_nsec3_salt(const char* cfgfile); +extern const char* parse_sc_soa_serial(const char* cfgfile); +extern const char* parse_sc_nsec3_salt(const char* cfgfile); #endif /* PARSER_SIGNCONFPARSER_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/parser/zonelistparser.h opendnssec-2.1.6/signer/src/parser/zonelistparser.h --- opendnssec-2.1.6-orig/signer/src/parser/zonelistparser.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/parser/zonelistparser.h 2020-02-18 23:08:38.118360739 -0500 @@ -45,6 +45,6 @@ * \return ods_status status * */ -ods_status parse_zonelist_zones(void* zlist, const char* zlfile); +extern ods_status parse_zonelist_zones(void* zlist, const char* zlfile); #endif /* PARSER_ZONELISTPARSER_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/signer/backup.h opendnssec-2.1.6/signer/src/signer/backup.h --- opendnssec-2.1.6-orig/signer/src/signer/backup.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/signer/backup.h 2020-02-18 23:08:38.118360739 -0500 @@ -45,7 +45,7 @@ * \return char* read token * */ -char* backup_read_token(FILE* in); +extern char* backup_read_token(FILE* in); /** * Read and match a string from backup file. @@ -54,7 +54,7 @@ * \return 1 if string was read and matched, 0 otherwise * */ -int backup_read_check_str(FILE* in, const char* str); +extern int backup_read_check_str(FILE* in, const char* str); /** * Read a string from backup file. @@ -63,7 +63,7 @@ * \return int 1 on success, 0 otherwise * */ -int backup_read_str(FILE* in, const char** str); +extern int backup_read_str(FILE* in, const char** str); /** * Read time from backup file. @@ -72,7 +72,7 @@ * \return int 1 on success, 0 otherwise * */ -int backup_read_time_t(FILE* in, time_t* v); +extern int backup_read_time_t(FILE* in, time_t* v); /** * Read duration from backup file. @@ -81,7 +81,7 @@ * \return int 1 on success, 0 otherwise * */ -int backup_read_duration(FILE* in, duration_type** v); +extern int backup_read_duration(FILE* in, duration_type** v); /** * Read rr type from backup file. @@ -90,7 +90,7 @@ * \return int 1 on success, 0 otherwise * */ -int backup_read_rr_type(FILE* in, ldns_rr_type* v); +extern int backup_read_rr_type(FILE* in, ldns_rr_type* v); /** * Read integer from backup file. @@ -99,7 +99,7 @@ * \return int 1 on success, 0 otherwise * */ -int backup_read_int(FILE* in, int* v); +extern int backup_read_int(FILE* in, int* v); /** * Read 8bit unsigned integer from backup file. @@ -108,7 +108,7 @@ * \return int 1 on success, 0 otherwise * */ -int backup_read_uint8_t(FILE* in, uint8_t* v); +extern int backup_read_uint8_t(FILE* in, uint8_t* v); /** * Read 32bit unsigned integer from backup file. @@ -117,7 +117,7 @@ * \return int 1 on success, 0 otherwise * */ -int backup_read_uint32_t(FILE* in, uint32_t* v); +extern int backup_read_uint32_t(FILE* in, uint32_t* v); /** * Read namedb from backup file. @@ -126,7 +126,7 @@ * \return ods_status status * */ -ods_status backup_read_namedb(FILE* in, void* zone); +extern ods_status backup_read_namedb(FILE* in, void* zone); /** * Read ixfr journal from file. @@ -135,6 +135,6 @@ * \return ods_status status * */ -ods_status backup_read_ixfr(FILE* in, void* zone); +extern ods_status backup_read_ixfr(FILE* in, void* zone); #endif /* SIGNER_BACKUP_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/signer/denial.h opendnssec-2.1.6/signer/src/signer/denial.h --- opendnssec-2.1.6-orig/signer/src/signer/denial.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/signer/denial.h 2020-02-18 23:08:38.118360739 -0500 @@ -64,14 +64,14 @@ * \return denial_type* denial of existence data point * */ -denial_type* denial_create(zone_type* zoneptr, ldns_rdf* dname); +extern denial_type* denial_create(zone_type* zoneptr, ldns_rdf* dname); /** * Apply differences at denial. * \param[in] denial Denial of Existence data point * */ -void denial_diff(denial_type* denial); +extern void denial_diff(denial_type* denial); /** * Add NSEC(3) to the Denial of Existence data point. @@ -79,7 +79,7 @@ * \param[in] rr NSEC(3) resource record * */ -void denial_add_rr(denial_type* denial, ldns_rr* rr); +extern void denial_add_rr(denial_type* denial, ldns_rr* rr); /** * Nsecify Denial of Existence data point. @@ -88,7 +88,7 @@ * \param[out] num_added number of RRs added * */ -void denial_nsecify(denial_type* denial, denial_type* nxt, uint32_t* num_added); +extern void denial_nsecify(denial_type* denial, denial_type* nxt, uint32_t* num_added); /** * Print Denial of Existence data point. @@ -97,13 +97,13 @@ * \param[out] status status * */ -void denial_print(FILE* fd, denial_type* denial, ods_status* status); +extern void denial_print(FILE* fd, denial_type* denial, ods_status* status); /** * Cleanup Denial of Existence data point. * \param[in] denial denial of existence data point * */ -void denial_cleanup(denial_type* denial); +extern void denial_cleanup(denial_type* denial); #endif /* SIGNER_DENIAL_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/signer/domain.h opendnssec-2.1.6/signer/src/signer/domain.h --- opendnssec-2.1.6-orig/signer/src/signer/domain.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/signer/domain.h 2020-02-18 23:08:38.119360753 -0500 @@ -67,7 +67,7 @@ * \param[in] level log level * */ -void log_dname(ldns_rdf* rdf, const char* pre, int level); +extern void log_dname(ldns_rdf* rdf, const char* pre, int level); /** * Create domain. @@ -76,7 +76,7 @@ * \return domain_type* domain * */ -domain_type* domain_create(zone_type* zone, ldns_rdf* dname); +extern domain_type* domain_create(zone_type* zone, ldns_rdf* dname); /** * Count the number of RRsets at this domain with RRs that have is_added. @@ -84,7 +84,7 @@ * \return size_t number of RRsets * */ -size_t domain_count_rrset_is_added(domain_type* domain); +extern size_t domain_count_rrset_is_added(domain_type* domain); /** * Look up RRset at this domain. @@ -93,7 +93,7 @@ * \return rrset_type* RRset, if found * */ -rrset_type* domain_lookup_rrset(domain_type* domain, ldns_rr_type rrtype); +extern rrset_type* domain_lookup_rrset(domain_type* domain, ldns_rr_type rrtype); /** * Add RRset to domain. @@ -101,7 +101,7 @@ * \param[in] rrset RRset * */ -void domain_add_rrset(domain_type* domain, rrset_type* rrset); +extern void domain_add_rrset(domain_type* domain, rrset_type* rrset); /** * Apply differences at domain. @@ -110,7 +110,7 @@ * \param[in] more_coming more transactions possible * */ -void domain_diff(domain_type* domain, unsigned is_ixfr, unsigned more_coming); +extern void domain_diff(domain_type* domain, unsigned is_ixfr, unsigned more_coming); /** * Rollback differences at domain. @@ -118,7 +118,7 @@ * \param[in] keepsc keep RRs that did not came from the adapter * */ -void domain_rollback(domain_type* domain, int keepsc); +extern void domain_rollback(domain_type* domain, int keepsc); /** * Check whether a domain is an empty non-terminal to an unsigned delegation. @@ -126,7 +126,7 @@ * \return int yes or no * */ -int domain_ent2unsignedns(domain_type* domain); +extern int domain_ent2unsignedns(domain_type* domain); /** * Check whether a domain is a delegation, regardless of parent. @@ -137,7 +137,7 @@ * LDNS_RR_TYPE_SOA Authoritative data (or signed delegation) * */ -ldns_rr_type domain_is_delegpt(domain_type* domain); +extern ldns_rr_type domain_is_delegpt(domain_type* domain); /** * Check whether the domain is occluded. @@ -148,7 +148,7 @@ * LDNS_RR_TYPE_SOA Authoritative data or delegation * */ -ldns_rr_type domain_is_occluded(domain_type* domain); +extern ldns_rr_type domain_is_occluded(domain_type* domain); /** * Print domain. @@ -157,14 +157,14 @@ * \param[out] status status * */ -void domain_print(FILE* fd, domain_type* domain, ods_status* status); +extern void domain_print(FILE* fd, domain_type* domain, ods_status* status); /** * Clean up domain. * \param[in] domain domain to cleanup * */ -void domain_cleanup(domain_type* domain); +extern void domain_cleanup(domain_type* domain); /** * Backup domain. @@ -173,6 +173,6 @@ * \param[in] sigs do RRSIGS if true, otherwise do RRset * */ -void domain_backup2(FILE* fd, domain_type* domain, int sigs); +extern void domain_backup2(FILE* fd, domain_type* domain, int sigs); #endif /* SIGNER_DOMAIN_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/signer/ixfr.h opendnssec-2.1.6/signer/src/signer/ixfr.h --- opendnssec-2.1.6-orig/signer/src/signer/ixfr.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/signer/ixfr.h 2020-02-18 23:08:38.119360753 -0500 @@ -70,7 +70,7 @@ * \return ixfr_type* ixfr * */ -ixfr_type* ixfr_create(void); +extern ixfr_type* ixfr_create(void); /** * Add +RR to ixfr journal. @@ -78,7 +78,7 @@ * \param[in] rr +RR * */ -void ixfr_add_rr(ixfr_type* ixfr, ldns_rr* rr); +extern void ixfr_add_rr(ixfr_type* ixfr, ldns_rr* rr); /** * Add -RR to ixfr journal. @@ -86,7 +86,7 @@ * \param[in] rr -RR * */ -void ixfr_del_rr(ixfr_type* ixfr, ldns_rr* rr); +extern void ixfr_del_rr(ixfr_type* ixfr, ldns_rr* rr); /** * Print the ixfr journal. @@ -94,20 +94,20 @@ * \param[in] ixfr journal * */ -int ixfr_print(FILE* fd, ixfr_type* ixfr); +extern int ixfr_print(FILE* fd, ixfr_type* ixfr); /** * Purge the ixfr journal. * \param[in] ixfr journal * */ -void ixfr_purge(ixfr_type* ixfr, char const *zonename); +extern void ixfr_purge(ixfr_type* ixfr, char const *zonename); /** * Cleanup the ixfr journal. * \param[in] ixfr journal * */ -void ixfr_cleanup(ixfr_type* ixfr); +extern void ixfr_cleanup(ixfr_type* ixfr); #endif /* SIGNER_IXFR_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/signer/keys.h opendnssec-2.1.6/signer/src/signer/keys.h --- opendnssec-2.1.6-orig/signer/src/signer/keys.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/signer/keys.h 2020-02-18 23:08:38.119360753 -0500 @@ -75,7 +75,7 @@ * \return keylist_type* key list * */ -keylist_type* keylist_create(signconf_type* sc); +extern keylist_type* keylist_create(signconf_type* sc); /** * Lookup a key in the key list by locator. @@ -84,7 +84,7 @@ * \return key_type* key if it exists, NULL otherwise * */ -key_type* keylist_lookup_by_locator(keylist_type* kl, const char* locator); +extern key_type* keylist_lookup_by_locator(keylist_type* kl, const char* locator); /** * Push a key to the keylist. @@ -98,7 +98,7 @@ * \return key_type* key * */ -key_type* keylist_push(keylist_type* kl, const char* locator, const char* resourcerecord, +extern key_type* keylist_push(keylist_type* kl, const char* locator, const char* resourcerecord, uint8_t algorithm, uint32_t flags, int publish, int ksk, int zsk); /** @@ -107,14 +107,14 @@ * \param[in] name zone name * */ -void keylist_log(keylist_type* kl, const char* name); +extern void keylist_log(keylist_type* kl, const char* name); /** * Clean up key list. * \param[in] kl key list to clean up * */ -void keylist_cleanup(keylist_type* kl); +extern void keylist_cleanup(keylist_type* kl); /** * Recover key from backup. @@ -123,7 +123,7 @@ * \return key_type* key * */ -key_type* key_recover2(FILE* fd, keylist_type* kl); +extern key_type* key_recover2(FILE* fd, keylist_type* kl); /** * Backup key list. @@ -132,6 +132,6 @@ * \param[in] version version string * */ -void keylist_backup(FILE* fd, keylist_type* kl, const char* version); +extern void keylist_backup(FILE* fd, keylist_type* kl, const char* version); #endif /* SIGNER_KEYS_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/signer/namedb.h opendnssec-2.1.6/signer/src/signer/namedb.h --- opendnssec-2.1.6-orig/signer/src/signer/namedb.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/signer/namedb.h 2020-02-18 23:08:38.119360753 -0500 @@ -65,7 +65,7 @@ * \param[in] db namedb * */ -void namedb_init_denials(namedb_type* db); +extern void namedb_init_denials(namedb_type* db); /** * Create a new namedb. @@ -73,7 +73,7 @@ * \return namedb_type* namedb * */ -namedb_type* namedb_create(void* zone); +extern namedb_type* namedb_create(void* zone); /** * Determine new SOA SERIAL. @@ -84,7 +84,7 @@ * \return ods_status status * */ -ods_status namedb_update_serial(namedb_type* db, const char* zone_name, +extern ods_status namedb_update_serial(namedb_type* db, const char* zone_name, const char* format, uint32_t inbound_serial); /** @@ -95,7 +95,7 @@ * \return ods_status status * */ -ods_status namedb_domain_entize(namedb_type* db, domain_type* domain, +extern ods_status namedb_domain_entize(namedb_type* db, domain_type* domain, ldns_rdf* apex); /** @@ -105,7 +105,7 @@ * \return domain_type* domain, if found * */ -domain_type* namedb_lookup_domain(namedb_type* db, ldns_rdf* dname); +extern domain_type* namedb_lookup_domain(namedb_type* db, ldns_rdf* dname); /** * Add domain to namedb. @@ -114,7 +114,7 @@ * \return domain_type* added domain * */ -domain_type* namedb_add_domain(namedb_type* db, ldns_rdf* dname); +extern domain_type* namedb_add_domain(namedb_type* db, ldns_rdf* dname); /** * Delete domain from namedb @@ -123,7 +123,7 @@ * \return domain_type* deleted domain * */ -domain_type* namedb_del_domain(namedb_type* db, domain_type* domain); +extern domain_type* namedb_del_domain(namedb_type* db, domain_type* domain); /** * Lookup denial. @@ -132,7 +132,7 @@ * \return denial_type* denial, if found * */ -denial_type* namedb_lookup_denial(namedb_type* db, ldns_rdf* dname); +extern denial_type* namedb_lookup_denial(namedb_type* db, ldns_rdf* dname); /** * Add denial to namedb. @@ -142,7 +142,7 @@ * \return denial_type* added denial * */ -denial_type* namedb_add_denial(namedb_type* db, ldns_rdf* dname, +extern denial_type* namedb_add_denial(namedb_type* db, ldns_rdf* dname, nsec3params_type* n3p); /** @@ -152,7 +152,7 @@ * \return denial_type* deleted denial * */ -denial_type* namedb_del_denial(namedb_type* db, denial_type* denial); +extern denial_type* namedb_del_denial(namedb_type* db, denial_type* denial); /** * Examine updates to namedb. @@ -160,7 +160,7 @@ * \return ods_status status * */ -ods_status namedb_examine(namedb_type* db); +extern ods_status namedb_examine(namedb_type* db); /** * Apply differences in db. @@ -169,7 +169,7 @@ * \param[in] more_coming more transactions possible * */ -void namedb_diff(namedb_type* db, unsigned is_ixfr, unsigned more_coming); +extern void namedb_diff(namedb_type* db, unsigned is_ixfr, unsigned more_coming); /** * Rollback differences in db. @@ -177,7 +177,7 @@ * \param[in] keepsc keep RRs that did not came from the adapter. * */ -void namedb_rollback(namedb_type* db, unsigned keepsc); +extern void namedb_rollback(namedb_type* db, unsigned keepsc); /** * Nsecify db. @@ -185,7 +185,7 @@ * \param[out] num_added number of NSEC RRs added * */ -void namedb_nsecify(namedb_type* db, uint32_t* num_added); +extern void namedb_nsecify(namedb_type* db, uint32_t* num_added); /** * Export db to file. @@ -194,28 +194,28 @@ * \param[out] status status * */ -void namedb_export(FILE* fd, namedb_type* db, ods_status* status); +extern void namedb_export(FILE* fd, namedb_type* db, ods_status* status); /** * Wipe out all NSEC(3) RRsets. * \param[in] db namedb * */ -void namedb_wipe_denial(namedb_type* db); +extern void namedb_wipe_denial(namedb_type* db); /** * Clean up denial of existence chain. * \param[in] db namedb * */ -void namedb_cleanup_denials(namedb_type* db); +extern void namedb_cleanup_denials(namedb_type* db); /** * Clean up namedb. * \param[in] namedb namedb * */ -void namedb_cleanup(namedb_type* db); +extern void namedb_cleanup(namedb_type* db); /** * Backup namedb. @@ -223,6 +223,6 @@ * \param[in] zd zone data * */ -void namedb_backup2(FILE* fd, namedb_type* db); +extern void namedb_backup2(FILE* fd, namedb_type* db); #endif /* SIGNER_NAMEDB_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/signer/nsec3params.h opendnssec-2.1.6/signer/src/signer/nsec3params.h --- opendnssec-2.1.6-orig/signer/src/signer/nsec3params.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/signer/nsec3params.h 2020-02-18 23:08:38.119360753 -0500 @@ -62,7 +62,7 @@ * \return ods_status status * */ -ods_status nsec3params_create_salt(const char* salt_str, uint8_t* salt_len, +extern ods_status nsec3params_create_salt(const char* salt_str, uint8_t* salt_len, uint8_t** salt); /** @@ -75,7 +75,7 @@ * \return nsec3params_type* the created nsec3params * */ -nsec3params_type* nsec3params_create(void* sc, uint8_t algo, uint8_t flags, +extern nsec3params_type* nsec3params_create(void* sc, uint8_t algo, uint8_t flags, uint16_t iter, const char* salt); /** @@ -89,7 +89,7 @@ * \param[in] version version string * */ -void nsec3params_backup(FILE* fd, uint8_t algo, uint8_t flags, +extern void nsec3params_backup(FILE* fd, uint8_t algo, uint8_t flags, uint16_t iter, const char* salt, ldns_rr* rr, const char* version); /** @@ -97,6 +97,6 @@ * \param[in] nsec3params the nsec3param to be deleted * */ -void nsec3params_cleanup(nsec3params_type* nsec3params); +extern void nsec3params_cleanup(nsec3params_type* nsec3params); #endif /* SIGNER_NSEC3PARAMS_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/signer/rrset.h opendnssec-2.1.6/signer/src/signer/rrset.h --- opendnssec-2.1.6-orig/signer/src/signer/rrset.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/signer/rrset.h 2020-02-18 23:08:38.119360753 -0500 @@ -74,7 +74,7 @@ * \param[in] level log level * */ -void log_rr(ldns_rr* rr, const char* pre, int level); +extern void log_rr(ldns_rr* rr, const char* pre, int level); /** * Log RRset. @@ -84,7 +84,7 @@ * \param[in] level log level * */ -void log_rrset(ldns_rdf* dname, ldns_rr_type type, const char* pre, int level); +extern void log_rrset(ldns_rdf* dname, ldns_rr_type type, const char* pre, int level); /** * Get the string-format of RRtype. @@ -92,7 +92,7 @@ * \return const char* string-format of RRtype * */ -const char* rrset_type2str(ldns_rr_type type); +extern const char* rrset_type2str(ldns_rr_type type); /** * Create RRset. @@ -101,7 +101,7 @@ * \return rrset_type* RRset * */ -rrset_type* rrset_create(zone_type* zone, ldns_rr_type type); +extern rrset_type* rrset_create(zone_type* zone, ldns_rr_type type); /** * Lookup RR in RRset. @@ -110,13 +110,13 @@ * \return rr_type* RR if found * */ -rr_type* rrset_lookup_rr(rrset_type* rrset, ldns_rr* rr); +extern rr_type* rrset_lookup_rr(rrset_type* rrset, ldns_rr* rr); /** * What TTL should new RR's in this RRS get? * */ -uint32_t rrset_lookup_ttl(rrset_type* rrset, uint32_t default_ttl); +extern uint32_t rrset_lookup_ttl(rrset_type* rrset, uint32_t default_ttl); /** * Count the number of RRs in this RRset that have is_added. @@ -124,7 +124,7 @@ * \return size_t number of RRs * */ -size_t rrset_count_rr_is_added(rrset_type* rrset); +extern size_t rrset_count_rr_is_added(rrset_type* rrset); /** * Add RR to RRset. @@ -133,7 +133,7 @@ * \return rr_type* added RR * */ -rr_type* rrset_add_rr(rrset_type* rrset, ldns_rr* rr); +extern rr_type* rrset_add_rr(rrset_type* rrset, ldns_rr* rr); /** * Delete RR from RRset. @@ -141,7 +141,7 @@ * \param[in] rrnum position of RR * */ -void rrset_del_rr(rrset_type* rrset, uint16_t rrnum); +extern void rrset_del_rr(rrset_type* rrset, uint16_t rrnum); /** * Add RRSIG to RRset. @@ -151,7 +151,7 @@ * \param[in] flags key flags * */ -void rrset_add_rrsig(rrset_type* rrset, ldns_rr* rr, +extern void rrset_add_rrsig(rrset_type* rrset, ldns_rr* rr, const char* locator, uint32_t flags); /** @@ -160,7 +160,7 @@ * \param[in] rrnum position of RRSIG * */ -void rrset_drop_rrsigs(zone_type* zone, rrset_type* rrset); +extern void rrset_drop_rrsigs(zone_type* zone, rrset_type* rrset); /** * Apply differences at RRset. @@ -169,7 +169,7 @@ * \param[in] more_coming more transactions possible * */ -void rrset_diff(rrset_type* rrset, unsigned is_ixfr, unsigned more_coming); +extern void rrset_diff(rrset_type* rrset, unsigned is_ixfr, unsigned more_coming); /** * Sign RRset. @@ -179,7 +179,7 @@ * \return ods_status status * */ -ods_status rrset_sign(hsm_ctx_t* ctx, rrset_type* rrset, time_t signtime); +extern ods_status rrset_sign(hsm_ctx_t* ctx, rrset_type* rrset, time_t signtime); /** * Obtain a resource record (containing a signature of a dnskeyset or @@ -189,7 +189,7 @@ * \param[in] ttl the time-to-live to use if non is specified * \param[in] apex the owner domain is none can be determined from input string */ -ods_status rrset_getliteralrr(ldns_rr** dnskey, const char *resourcerecord, uint32_t ttl, ldns_rdf* apex); +extern ods_status rrset_getliteralrr(ldns_rr** dnskey, const char *resourcerecord, uint32_t ttl, ldns_rdf* apex); /** * Print RRset. @@ -199,7 +199,7 @@ * \param[out] status status * */ -void rrset_print(FILE* fd, rrset_type* rrset, int skip_rrsigs, +extern void rrset_print(FILE* fd, rrset_type* rrset, int skip_rrsigs, ods_status* status); /** @@ -207,7 +207,7 @@ * \param[in] rrset RRset to be cleaned up * */ -void rrset_cleanup(rrset_type* rrset); +extern void rrset_cleanup(rrset_type* rrset); /** * Backup RRset. @@ -215,8 +215,8 @@ * \param[in] rrset RRset * */ -void rrset_backup2(FILE* fd, rrset_type* rrset); +extern void rrset_backup2(FILE* fd, rrset_type* rrset); -collection_class rrset_store_initialize(void); +extern collection_class rrset_store_initialize(void); #endif /* SIGNER_RRSET_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/signer/signconf.h opendnssec-2.1.6/signer/src/signer/signconf.h --- opendnssec-2.1.6-orig/signer/src/signer/signconf.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/signer/signconf.h 2020-02-18 23:08:38.119360753 -0500 @@ -77,7 +77,7 @@ * \return signconf_type* signer configuration * */ -signconf_type* signconf_create(void); +extern signconf_type* signconf_create(void); /** * Update signer configuration. @@ -87,7 +87,7 @@ * \return ods_status status * */ -ods_status signconf_update(signconf_type** signconf, const char* scfile, +extern ods_status signconf_update(signconf_type** signconf, const char* scfile, time_t last_modified); /** @@ -97,7 +97,7 @@ * \param[in] version version string * */ -void signconf_backup(FILE* fd, signconf_type* sc, const char* version); +extern void signconf_backup(FILE* fd, signconf_type* sc, const char* version); /** * Check signer configuration. @@ -105,7 +105,7 @@ * \return ods_status status * */ -ods_status signconf_check(signconf_type* signconf); +extern ods_status signconf_check(signconf_type* signconf); /** * Compare signer configurations on denial of existence material. @@ -114,7 +114,7 @@ * \return task_id what task needs to be scheduled * */ -task_id signconf_compare_denial(signconf_type* a, signconf_type* b); +extern task_id signconf_compare_denial(signconf_type* a, signconf_type* b); /** * Log signer configuration. @@ -122,13 +122,13 @@ * \param[in] name zone name * */ -void signconf_log(signconf_type* sc, const char* name); +extern void signconf_log(signconf_type* sc, const char* name); /** * Clean up signer configuration. * \param[in] sc signconf to cleanup * */ -void signconf_cleanup(signconf_type* sc); +extern void signconf_cleanup(signconf_type* sc); #endif /* SIGNER_SIGNCONF_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/signer/stats.h opendnssec-2.1.6/signer/src/signer/stats.h --- opendnssec-2.1.6-orig/signer/src/signer/stats.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/signer/stats.h 2020-02-18 23:08:38.119360753 -0500 @@ -68,7 +68,7 @@ * \return the initialized stats; * */ -stats_type* stats_create(void); +extern stats_type* stats_create(void); /** * Log statistics. @@ -78,7 +78,7 @@ * \param[in] nsec_type NSEC or NSEC3 * */ -void stats_log(stats_type* stats, const char* name, uint32_t serial, +extern void stats_log(stats_type* stats, const char* name, uint32_t serial, ldns_rr_type nsec_type); /** @@ -86,13 +86,13 @@ * \param[in] stats statistics to be cleared * */ -void stats_clear(stats_type* stats); +extern void stats_clear(stats_type* stats); /** * Clean up statistics. * \param[in] stats statistics to be deleted * */ -void stats_cleanup(stats_type* stats); +extern void stats_cleanup(stats_type* stats); #endif /* SIGNER_STATS_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/signer/tools.h opendnssec-2.1.6/signer/src/signer/tools.h --- opendnssec-2.1.6-orig/signer/src/signer/tools.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/signer/tools.h 2020-02-18 23:08:38.120360767 -0500 @@ -38,7 +38,7 @@ * \return ods_status status * */ -ods_status tools_signconf(zone_type* zone); +extern ods_status tools_signconf(zone_type* zone); /** * Read zone from input adapter. @@ -46,7 +46,7 @@ * \return ods_status status * */ -ods_status tools_input(zone_type* zone); +extern ods_status tools_input(zone_type* zone); /** * Write zone to output adapter. @@ -55,6 +55,6 @@ * \return ods_status status * */ -ods_status tools_output(zone_type* zone, engine_type* engine); +extern ods_status tools_output(zone_type* zone, engine_type* engine); #endif /* SIGNER_TOOLS_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/signer/zone.h opendnssec-2.1.6/signer/src/signer/zone.h --- opendnssec-2.1.6-orig/signer/src/signer/zone.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/signer/zone.h 2020-02-18 23:08:38.120360767 -0500 @@ -98,7 +98,7 @@ * \return zone_type* zone * */ -zone_type* zone_create(char* name, ldns_rr_class klass); +extern zone_type* zone_create(char* name, ldns_rr_class klass); /** * Load signer configuration for zone. @@ -110,7 +110,7 @@ * other: signer configuration not loaded, error occurred * */ -ods_status zone_load_signconf(zone_type* zone, signconf_type** new_signconf); +extern ods_status zone_load_signconf(zone_type* zone, signconf_type** new_signconf); /** * Reschedule task for zone. @@ -120,7 +120,7 @@ * \return ods_status status * */ -ods_status zone_reschedule_task(zone_type* zone, schedule_type* taskq, +extern ods_status zone_reschedule_task(zone_type* zone, schedule_type* taskq, task_id what); /** @@ -129,14 +129,14 @@ * \return ods_status status * */ -ods_status zone_publish_dnskeys(zone_type* zone, int skip_hsm_access); +extern ods_status zone_publish_dnskeys(zone_type* zone, int skip_hsm_access); /** * Unlink DNSKEY RRs. * \param[in] zone zone * */ -void zone_rollback_dnskeys(zone_type* zone); +extern void zone_rollback_dnskeys(zone_type* zone); /** * Publish the NSEC3 parameters as indicated by the signer configuration. @@ -144,14 +144,14 @@ * \return ods_status status * */ -ods_status zone_publish_nsec3param(zone_type* zone); +extern ods_status zone_publish_nsec3param(zone_type* zone); /** * Unlink NSEC3PARAM RR. * \param[in] zone zone * */ -void zone_rollback_nsec3param(zone_type* zone); +extern void zone_rollback_nsec3param(zone_type* zone); /** * Prepare keys for signing. @@ -159,7 +159,7 @@ * \return ods_status status * */ -ods_status zone_prepare_keys(zone_type* zone); +extern ods_status zone_prepare_keys(zone_type* zone); /** * Update serial. @@ -167,7 +167,7 @@ * \return ods_status status * */ -ods_status zone_update_serial(zone_type* zone); +extern ods_status zone_update_serial(zone_type* zone); /** * Lookup RRset. @@ -177,7 +177,7 @@ * \return rrset_type* RRset, if found * */ -rrset_type* zone_lookup_rrset(zone_type* zone, ldns_rdf* owner, +extern rrset_type* zone_lookup_rrset(zone_type* zone, ldns_rdf* owner, ldns_rr_type type); /** @@ -191,7 +191,7 @@ * other: rr not added to zone, error occurred * */ -ods_status zone_add_rr(zone_type* zone, ldns_rr* rr, int do_stats); +extern ods_status zone_add_rr(zone_type* zone, ldns_rr* rr, int do_stats); /** * Delete RR. @@ -204,13 +204,13 @@ * other: rr not removed from zone, error occurred * */ -ods_status zone_del_rr(zone_type* zone, ldns_rr* rr, int do_stats); +extern ods_status zone_del_rr(zone_type* zone, ldns_rr* rr, int do_stats); /** * Remove all NSEC3PARAM RRs from the zone * \return ODS_STATUS_UNCHANGED or ODS_STATUS_OK */ -ods_status zone_del_nsec3params(zone_type* zone); +extern ods_status zone_del_nsec3params(zone_type* zone); /** * Merge zones. Values that are merged: @@ -222,14 +222,14 @@ * \param[in] z2 zone with new values * */ -void zone_merge(zone_type* z1, zone_type* z2); +extern void zone_merge(zone_type* z1, zone_type* z2); /** * Clean up zone. * \param[in] zone zone * */ -void zone_cleanup(zone_type* zone); +extern void zone_cleanup(zone_type* zone); /** * Backup zone. @@ -237,13 +237,13 @@ * \return ods_status status * */ -ods_status zone_backup2(zone_type* zone, time_t nextResign); +extern ods_status zone_backup2(zone_type* zone, time_t nextResign); /** * Recover zone from backup. * \param[in] zone corresponding zone * */ -ods_status zone_recover2(engine_type* engine, zone_type* zone); +extern ods_status zone_recover2(engine_type* engine, zone_type* zone); #endif /* SIGNER_ZONE_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/signer/zonelist.h opendnssec-2.1.6/signer/src/signer/zonelist.h --- opendnssec-2.1.6-orig/signer/src/signer/zonelist.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/signer/zonelist.h 2020-02-18 23:08:38.120360767 -0500 @@ -56,7 +56,7 @@ * \return zonelist_type* created zone list * */ -zonelist_type* zonelist_create(void); +extern zonelist_type* zonelist_create(void); /** * Lookup zone by name and class. @@ -66,7 +66,7 @@ * \return zone_type* found zone * */ -zone_type* zonelist_lookup_zone_by_name(zonelist_type* zonelist, +extern zone_type* zonelist_lookup_zone_by_name(zonelist_type* zonelist, const char* name, ldns_rr_class klass); /** @@ -77,7 +77,7 @@ * \return zone_type* found zone * */ -zone_type* zonelist_lookup_zone_by_dname(zonelist_type* zonelist, +extern zone_type* zonelist_lookup_zone_by_dname(zonelist_type* zonelist, ldns_rdf* dname, ldns_rr_class klass); /** @@ -87,7 +87,7 @@ * \return zone_type* added zone * */ -zone_type* zonelist_add_zone(zonelist_type* zl, zone_type* zone); +extern zone_type* zonelist_add_zone(zonelist_type* zl, zone_type* zone); /** * Delete zone. @@ -95,7 +95,7 @@ * \param[in] zone zone * */ -void zonelist_del_zone(zonelist_type* zlist, zone_type* zone); +extern void zonelist_del_zone(zonelist_type* zlist, zone_type* zone); /** * Update zonelist. @@ -104,20 +104,20 @@ * \return ods_status status * */ -ods_status zonelist_update(zonelist_type* zl, const char* zlfile); +extern ods_status zonelist_update(zonelist_type* zl, const char* zlfile); /** * Clean up zone list. * \param[in] zl zone list * */ -void zonelist_cleanup(zonelist_type* zl); +extern void zonelist_cleanup(zonelist_type* zl); /** * Free zone list. * \param[in] zl zone list * */ -void zonelist_free(zonelist_type* zl); +extern void zonelist_free(zonelist_type* zl); #endif /* SIGNER_ZONELIST_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/wire/acl.h opendnssec-2.1.6/signer/src/wire/acl.h --- opendnssec-2.1.6-orig/signer/src/wire/acl.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/acl.h 2020-02-18 23:08:38.120360767 -0500 @@ -81,7 +81,7 @@ * \return acl_type* ACL * */ -acl_type* acl_create(char* address, +extern acl_type* acl_create(char* address, char* port, char* tsig_name, tsig_type* tsig); /** @@ -92,7 +92,7 @@ * \return acl_type* ACL that matches * */ -acl_type* acl_find(acl_type* acl, struct sockaddr_storage* addr, +extern acl_type* acl_find(acl_type* acl, struct sockaddr_storage* addr, tsig_rr_type* tsig); /** @@ -101,7 +101,7 @@ * \return int address family * */ -int acl_parse_family(const char* a); +extern int acl_parse_family(const char* a); /** * Address storage to IP string. @@ -111,7 +111,7 @@ * \return int 0 if failed, 1 otherwise * */ -int addr2ip(struct sockaddr_storage addr, char* ip, size_t len); +extern int addr2ip(struct sockaddr_storage addr, char* ip, size_t len); /** * Clean up ACL. @@ -119,6 +119,6 @@ * \param[in] allocator memory allocator * */ -void acl_cleanup(acl_type* acl); +extern void acl_cleanup(acl_type* acl); #endif /* WIRE_ACL_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/wire/axfr.h opendnssec-2.1.6/signer/src/wire/axfr.h --- opendnssec-2.1.6-orig/signer/src/wire/axfr.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/axfr.h 2020-02-18 23:08:38.120360767 -0500 @@ -49,7 +49,7 @@ * \return query_state state of the query * */ -query_state soa_request(query_type* q, engine_type* engine); +extern query_state soa_request(query_type* q, engine_type* engine); /** * Do AXFR. @@ -59,7 +59,7 @@ * \return query_state state of the query * */ -query_state axfr(query_type* q, engine_type* engine, int fallback); +extern query_state axfr(query_type* q, engine_type* engine, int fallback); /** * Do IXFR. @@ -68,6 +68,6 @@ * \return query_state state of the query * */ -query_state ixfr(query_type* q, engine_type* engine); +extern query_state ixfr(query_type* q, engine_type* engine); #endif /* WIRE_AXFR_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/wire/buffer.h opendnssec-2.1.6/signer/src/wire/buffer.h --- opendnssec-2.1.6-orig/signer/src/wire/buffer.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/buffer.h 2020-02-18 23:08:38.120360767 -0500 @@ -124,7 +124,7 @@ * \return buffer_type* buffer * */ -buffer_type* buffer_create(size_t capacity); +extern buffer_type* buffer_create(size_t capacity); /** * Clear the buffer and make it ready for writing. @@ -132,7 +132,7 @@ * \param[in] buffer buffer * */ -void buffer_clear(buffer_type* buffer); +extern void buffer_clear(buffer_type* buffer); /** * Flip the buffer and make it ready for reading. @@ -150,7 +150,7 @@ * \return size_t position * */ -size_t buffer_position(buffer_type* buffer); +extern size_t buffer_position(buffer_type* buffer); /** * Set the buffer's position. @@ -159,7 +159,7 @@ * \param[in] pos position * */ -void buffer_set_position(buffer_type* buffer, size_t pos); +extern void buffer_set_position(buffer_type* buffer, size_t pos); /** * Change the buffer's position. @@ -169,7 +169,7 @@ * \param[in] count number of bytes to skip * */ -void buffer_skip(buffer_type* buffer, ssize_t count); +extern void buffer_skip(buffer_type* buffer, ssize_t count); /** * Change the buffer's position so that one dname is skipped. @@ -178,7 +178,7 @@ * 1 otherwise * */ -int buffer_skip_dname(buffer_type* buffer); +extern int buffer_skip_dname(buffer_type* buffer); /** * Change the buffer's position so that one RR is skipped. @@ -188,7 +188,7 @@ * 1 otherwise * */ -int buffer_skip_rr(buffer_type* buffer, unsigned qrr); +extern int buffer_skip_rr(buffer_type* buffer, unsigned qrr); /** * Get the buffer's limit. @@ -196,7 +196,7 @@ * \return size_t limit * */ -size_t buffer_limit(buffer_type* buffer); +extern size_t buffer_limit(buffer_type* buffer); /** * Set the buffer's limit. If the buffer's position is greater @@ -205,7 +205,7 @@ * \param[in] limit limit * */ -void buffer_set_limit(buffer_type* buffer, size_t limit); +extern void buffer_set_limit(buffer_type* buffer, size_t limit); /** * Get the buffer's capacity. @@ -213,7 +213,7 @@ * \return size_t capacity * */ -size_t buffer_capacity(buffer_type* buffer); +extern size_t buffer_capacity(buffer_type* buffer); /** * Return a pointer to the data at the indicated position. @@ -222,7 +222,7 @@ * \return uint8_t* pointer to the data at the indicated position * */ -uint8_t* buffer_at(buffer_type* buffer, size_t at); +extern uint8_t* buffer_at(buffer_type* buffer, size_t at); /** * Return a pointer to the data at the beginning of the buffer. @@ -230,7 +230,7 @@ * \return uint8_t* pointer to the data at the begin of the buffer * */ -uint8_t* buffer_begin(buffer_type* buffer); +extern uint8_t* buffer_begin(buffer_type* buffer); /** * Return a pointer to the data at the buffer's current position. @@ -238,7 +238,7 @@ * \return uint8_t* pointer to the data at the buffer's current position * */ -uint8_t* buffer_current(buffer_type* buffer); +extern uint8_t* buffer_current(buffer_type* buffer); /** * The number of bytes remaining between the buffer's position and limit. @@ -246,7 +246,7 @@ * \return size_t remaining number of bytes * */ -size_t buffer_remaining(buffer_type* buffer); +extern size_t buffer_remaining(buffer_type* buffer); /** * Check if the buffer has enough bytes available. @@ -256,7 +256,7 @@ * 1 otherwise * */ -int buffer_available(buffer_type* buffer, size_t count); +extern int buffer_available(buffer_type* buffer, size_t count); /** * Write to buffer. @@ -265,7 +265,7 @@ * \param[in] count number of bytes to write * */ -void buffer_write(buffer_type* buffer, const void* data, size_t count); +extern void buffer_write(buffer_type* buffer, const void* data, size_t count); /** * Write uint8_t to buffer. @@ -273,7 +273,7 @@ * \param[in] data data to write * */ -void buffer_write_u8(buffer_type* buffer, uint8_t data); +extern void buffer_write_u8(buffer_type* buffer, uint8_t data); /** * Write uint16_t to buffer. @@ -281,7 +281,7 @@ * \param[in] data data to write * */ -void buffer_write_u16(buffer_type* buffer, uint16_t data); +extern void buffer_write_u16(buffer_type* buffer, uint16_t data); /** * Write uint16_t to buffer at indicated position. @@ -290,7 +290,7 @@ * \param[in] data data to write * */ -void buffer_write_u16_at(buffer_type* buffer, size_t at, uint16_t data); +extern void buffer_write_u16_at(buffer_type* buffer, size_t at, uint16_t data); /** * Write uint32_t to buffer. @@ -298,7 +298,7 @@ * \param[in] data data to write * */ -void buffer_write_u32(buffer_type* buffer, uint32_t data); +extern void buffer_write_u32(buffer_type* buffer, uint32_t data); /** * Write rdf to buffer. @@ -306,7 +306,7 @@ * \param[in] rdf data to write * */ -void buffer_write_rdf(buffer_type* buffer, ldns_rdf* rdf); +extern void buffer_write_rdf(buffer_type* buffer, ldns_rdf* rdf); /** * Write rr to buffer. @@ -315,7 +315,7 @@ * \return int 1 if rr fits, 0 otherwise * */ -int buffer_write_rr(buffer_type* buffer, ldns_rr* rr); +extern int buffer_write_rr(buffer_type* buffer, ldns_rr* rr); /** * Read from buffer. @@ -324,7 +324,7 @@ * \param[in] count number of bytes to read * */ -void buffer_read(buffer_type* buffer, void* data, size_t count); +extern void buffer_read(buffer_type* buffer, void* data, size_t count); /** * Read uint8_t from buffer. @@ -332,7 +332,7 @@ * \return uint8_t read data * */ -uint8_t buffer_read_u8(buffer_type* buffer); +extern uint8_t buffer_read_u8(buffer_type* buffer); /** * Read uint16_t from buffer. @@ -340,7 +340,7 @@ * \return uint16_t read data * */ -uint16_t buffer_read_u16(buffer_type* buffer); +extern uint16_t buffer_read_u16(buffer_type* buffer); /** * Read uint32_t from buffer. @@ -348,7 +348,7 @@ * \return uint32_t read data * */ -uint32_t buffer_read_u32(buffer_type* buffer); +extern uint32_t buffer_read_u32(buffer_type* buffer); /** * Read dname from buffer. @@ -358,7 +358,7 @@ * \return int dname length * */ -size_t buffer_read_dname(buffer_type* buffer, uint8_t* dname, +extern size_t buffer_read_dname(buffer_type* buffer, uint8_t* dname, unsigned allow_pointers); /** @@ -367,14 +367,14 @@ * \return uint16_t query id * */ -uint16_t buffer_pkt_id(buffer_type* buffer); +extern uint16_t buffer_pkt_id(buffer_type* buffer); /** * Set random query id in buffer. * \param[in] buffer buffer * */ -void buffer_pkt_set_random_id(buffer_type* buffer); +extern void buffer_pkt_set_random_id(buffer_type* buffer); /** * Get flags from buffer. @@ -382,7 +382,7 @@ * \return uint16_t flags * */ -uint16_t buffer_pkt_flags(buffer_type* buffer); +extern uint16_t buffer_pkt_flags(buffer_type* buffer); /** * Set flags in buffer. @@ -390,7 +390,7 @@ * \param[in] flags flags * */ -void buffer_pkt_set_flags(buffer_type* buffer, uint16_t flags); +extern void buffer_pkt_set_flags(buffer_type* buffer, uint16_t flags); /** * Get QR bit from buffer. @@ -399,21 +399,21 @@ * 1 if QR bit is set * */ -int buffer_pkt_qr(buffer_type* buffer); +extern int buffer_pkt_qr(buffer_type* buffer); /** * Set QR bit in buffer. * \param[in] buffer buffer * */ -void buffer_pkt_set_qr(buffer_type* buffer); +extern void buffer_pkt_set_qr(buffer_type* buffer); /** * Clear QR bit in buffer. * \param[in] buffer buffer * */ -void buffer_pkt_clear_qr(buffer_type* buffer); +extern void buffer_pkt_clear_qr(buffer_type* buffer); /** * Get AA bit from buffer. @@ -422,14 +422,14 @@ * 1 if AA bit is set * */ -int buffer_pkt_aa(buffer_type* buffer); +extern int buffer_pkt_aa(buffer_type* buffer); /** * Set AA bit in buffer. * \param[in] buffer buffer * */ -void buffer_pkt_set_aa(buffer_type* buffer); +extern void buffer_pkt_set_aa(buffer_type* buffer); /** * Get TC bit from buffer. @@ -438,7 +438,7 @@ * 1 if TC bit is set * */ -int buffer_pkt_tc(buffer_type* buffer); +extern int buffer_pkt_tc(buffer_type* buffer); /** * Get RD bit from buffer. @@ -447,7 +447,7 @@ * 1 if RD bit is set * */ -int buffer_pkt_rd(buffer_type* buffer); +extern int buffer_pkt_rd(buffer_type* buffer); /** * Get RA bit from buffer. @@ -456,7 +456,7 @@ * 1 if RA bit is set * */ -int buffer_pkt_ra(buffer_type* buffer); +extern int buffer_pkt_ra(buffer_type* buffer); /** * Get AD bit from buffer. @@ -465,7 +465,7 @@ * 1 if AD bit is set * */ -int buffer_pkt_ad(buffer_type* buffer); +extern int buffer_pkt_ad(buffer_type* buffer); /** * Get CD bit from buffer. @@ -474,7 +474,7 @@ * 1 if CD bit is set * */ -int buffer_pkt_cd(buffer_type* buffer); +extern int buffer_pkt_cd(buffer_type* buffer); /** * Get OPCODE from buffer. @@ -482,7 +482,7 @@ * \return ldns_pkt_opcode OPCODE * */ -ldns_pkt_opcode buffer_pkt_opcode(buffer_type* buffer); +extern ldns_pkt_opcode buffer_pkt_opcode(buffer_type* buffer); /** * Set OPCODE in buffer. @@ -490,7 +490,7 @@ * \param[in] opcode OPCODE * */ -void buffer_pkt_set_opcode(buffer_type* buffer, ldns_pkt_opcode opcode); +extern void buffer_pkt_set_opcode(buffer_type* buffer, ldns_pkt_opcode opcode); /** * Get RCODE from buffer. @@ -498,7 +498,7 @@ * \return ldns_pkt_rcode RCODE * */ -ldns_pkt_rcode buffer_pkt_rcode(buffer_type* buffer); +extern ldns_pkt_rcode buffer_pkt_rcode(buffer_type* buffer); /** * Set RCODE in buffer. @@ -506,7 +506,7 @@ * \param[in] rcode RCODE * */ -void buffer_pkt_set_rcode(buffer_type* buffer, ldns_pkt_rcode rcode); +extern void buffer_pkt_set_rcode(buffer_type* buffer, ldns_pkt_rcode rcode); /** * Look up a descriptive text by each rcode. @@ -514,7 +514,7 @@ * \return const char* descriptive text * */ -const char* buffer_rcode2str(ldns_pkt_rcode rcode); +extern const char* buffer_rcode2str(ldns_pkt_rcode rcode); /** * Get QDCOUNT from buffer. @@ -522,7 +522,7 @@ * \return uint16_t QDCOUNT * */ -uint16_t buffer_pkt_qdcount(buffer_type* buffer); +extern uint16_t buffer_pkt_qdcount(buffer_type* buffer); /** * Set QDCOUNT in buffer. @@ -530,7 +530,7 @@ * \param[in] count QDCOUNT * */ -void buffer_pkt_set_qdcount(buffer_type* buffer, uint16_t count); +extern void buffer_pkt_set_qdcount(buffer_type* buffer, uint16_t count); /** * Get ANCOUNT from buffer. @@ -538,7 +538,7 @@ * \return uint16_t ANCOUNT * */ -uint16_t buffer_pkt_ancount(buffer_type* buffer); +extern uint16_t buffer_pkt_ancount(buffer_type* buffer); /** * Set ANCOUNT in buffer. @@ -546,7 +546,7 @@ * \param[in] count ANCOUNT * */ -void buffer_pkt_set_ancount(buffer_type* buffer, uint16_t count); +extern void buffer_pkt_set_ancount(buffer_type* buffer, uint16_t count); /** * Get NSCOUNT from buffer. @@ -554,7 +554,7 @@ * \return uint16_t NSCOUNT * */ -uint16_t buffer_pkt_nscount(buffer_type* buffer); +extern uint16_t buffer_pkt_nscount(buffer_type* buffer); /** * Set NSCOUNT in buffer. @@ -562,7 +562,7 @@ * \param[in] count NSCOUNT * */ -void buffer_pkt_set_nscount(buffer_type* buffer, uint16_t count); +extern void buffer_pkt_set_nscount(buffer_type* buffer, uint16_t count); /** * Get ARCOUNT from buffer. @@ -570,7 +570,7 @@ * \return uint16_t ARCOUNT * */ -uint16_t buffer_pkt_arcount(buffer_type* buffer); +extern uint16_t buffer_pkt_arcount(buffer_type* buffer); /** * Set ARCOUNT in buffer. @@ -578,7 +578,7 @@ * \param[in] count ARCOUNT * */ -void buffer_pkt_set_arcount(buffer_type* buffer, uint16_t count); +extern void buffer_pkt_set_arcount(buffer_type* buffer, uint16_t count); /** * Make a new query. @@ -588,7 +588,7 @@ * \param[in] qclass qclass * */ -void +extern void buffer_pkt_query(buffer_type* buffer, ldns_rdf* qname, ldns_rr_type qtype, ldns_rr_class qclass); @@ -599,7 +599,7 @@ * \param[in] qclass qclass * */ -void +extern void buffer_pkt_notify(buffer_type* buffer, ldns_rdf* qname, ldns_rr_class qclass); /** @@ -608,7 +608,7 @@ * \param[in] allocator memory allocator * */ -void buffer_cleanup(buffer_type* buffer); +extern void buffer_cleanup(buffer_type* buffer); /** UTIL **/ diff -Naur opendnssec-2.1.6-orig/signer/src/wire/edns.h opendnssec-2.1.6/signer/src/wire/edns.h --- opendnssec-2.1.6-orig/signer/src/wire/edns.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/edns.h 2020-02-18 23:08:38.120360767 -0500 @@ -87,7 +87,7 @@ * \param[in] max_length maximum length. * */ -void edns_init(edns_data_type* data, uint16_t max_length); +extern void edns_init(edns_data_type* data, uint16_t max_length); /** * Create new EDNS RR. @@ -95,7 +95,7 @@ * \return edns_rr_type* EDNS RR. * */ -edns_rr_type* edns_rr_create(void); +extern edns_rr_type* edns_rr_create(void); /** @@ -103,7 +103,7 @@ * \param[in] err EDNS record. * */ -void edns_rr_reset(edns_rr_type* err); +extern void edns_rr_reset(edns_rr_type* err); /** * Parse EDNS OPT RR. @@ -112,7 +112,7 @@ * \return int 1 if EDNS and valid, 0 otherwise. * */ -int edns_rr_parse(edns_rr_type* err, buffer_type* buffer); +extern int edns_rr_parse(edns_rr_type* err, buffer_type* buffer); /** * The amount of space to reserve in the response for the EDNS data. @@ -120,9 +120,9 @@ * \return size_t amount of space to reserve. * */ -size_t edns_rr_reserved_space(edns_rr_type* err); +extern size_t edns_rr_reserved_space(edns_rr_type* err); -void edns_rr_cleanup(edns_rr_type* err); +extern void edns_rr_cleanup(edns_rr_type* err); #endif /* WIRE_EDNS_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/wire/listener.h opendnssec-2.1.6/signer/src/wire/listener.h --- opendnssec-2.1.6-orig/signer/src/wire/listener.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/listener.h 2020-02-18 23:08:38.121360780 -0500 @@ -89,7 +89,7 @@ * \return listener_type* listener * */ -listener_type* listener_create(void); +extern listener_type* listener_create(void); /** * Push an interface to the listener. @@ -100,7 +100,7 @@ * \return interface_type* added interface * */ -interface_type* listener_push(listener_type* list, char* address, int family, +extern interface_type* listener_push(listener_type* list, char* address, int family, const char* port); /** @@ -108,13 +108,13 @@ * \param[in] i interface * */ -void interface_cleanup(interface_type* i); +extern void interface_cleanup(interface_type* i); /** * Clean up listener. * \param[in] listener listener to clean up * */ -void listener_cleanup(listener_type* listener); +extern void listener_cleanup(listener_type* listener); #endif /* WIRE_LISTENER_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/wire/netio.h opendnssec-2.1.6/signer/src/wire/netio.h --- opendnssec-2.1.6-orig/signer/src/wire/netio.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/netio.h 2020-02-18 23:08:38.121360780 -0500 @@ -162,7 +162,7 @@ * \return netio_type* netio instance * */ -netio_type* netio_create(void); +extern netio_type* netio_create(void); /* * Add a new handler to netio. @@ -170,7 +170,7 @@ * \param[in] handler handler * */ -void netio_add_handler(netio_type* netio, netio_handler_type* handler); +extern void netio_add_handler(netio_type* netio, netio_handler_type* handler); /* * Remove the handler from netio. @@ -178,7 +178,7 @@ * \param[in] handler handler * */ -void netio_remove_handler(netio_type* netio, netio_handler_type* handler); +extern void netio_remove_handler(netio_type* netio, netio_handler_type* handler); /* * Retrieve the current time (using gettimeofday(2)). @@ -186,7 +186,7 @@ * \return const struct timespec* current time * */ -const struct timespec* netio_current_time(netio_type* netio); +extern const struct timespec* netio_current_time(netio_type* netio); /* * Check for events and dispatch them to the handlers. @@ -198,7 +198,7 @@ * and -1 on error (with errno set appropriately). * */ -int netio_dispatch(netio_type* netio, const struct timespec* timeout, +extern int netio_dispatch(netio_type* netio, const struct timespec* timeout, const sigset_t* sigmask); /** @@ -206,8 +206,8 @@ * \param[in] netio netio instance * */ -void netio_cleanup(netio_type* netio); -void netio_cleanup_shallow(netio_type* netio); +extern void netio_cleanup(netio_type* netio); +extern void netio_cleanup_shallow(netio_type* netio); /** * Add timespecs. @@ -215,7 +215,7 @@ * \param[in] right right * */ -void timespec_add(struct timespec* left, const struct timespec* right); +extern void timespec_add(struct timespec* left, const struct timespec* right); #ifdef __cplusplus diff -Naur opendnssec-2.1.6-orig/signer/src/wire/notify.h opendnssec-2.1.6/signer/src/wire/notify.h --- opendnssec-2.1.6-orig/signer/src/wire/notify.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/notify.h 2020-02-18 23:08:38.121360780 -0500 @@ -74,7 +74,7 @@ * \return notify_type* notify structure. * */ -notify_type* notify_create(xfrhandler_type* xfrhandler, zone_type* zone); +extern notify_type* notify_create(xfrhandler_type* xfrhandler, zone_type* zone); /** * Enable notify. @@ -82,20 +82,20 @@ * \param[in] soa current soa * */ -void notify_enable(notify_type* notify, ldns_rr* soa); +extern void notify_enable(notify_type* notify, ldns_rr* soa); /** * Send notify. * \param[in] notify notify structure * */ -void notify_send(notify_type* notify); +extern void notify_send(notify_type* notify); /** * Cleanup notify structure. * \param[in] notify notify structure. * */ -void notify_cleanup(notify_type* notify); +extern void notify_cleanup(notify_type* notify); #endif /* WIRE_NOTIFY_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/wire/query.h opendnssec-2.1.6/signer/src/wire/query.h --- opendnssec-2.1.6-orig/signer/src/wire/query.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/query.h 2020-02-18 23:08:38.121360780 -0500 @@ -104,14 +104,14 @@ * \return query_type* query * */ -query_type* query_create(void); +extern query_type* query_create(void); /** * Prepare response. * \param[in] q query * */ -void query_prepare(query_type* q); +extern void query_prepare(query_type* q); /** * Process query. @@ -120,7 +120,7 @@ * \return query_state state of the query * */ -query_state query_process(query_type* q, engine_type* engine); +extern query_state query_process(query_type* q, engine_type* engine); /** * Reset query. @@ -129,7 +129,7 @@ * \param[in] is_tcp 1 if tcp query * */ -void query_reset(query_type* q, size_t maxlen, int is_tcp); +extern void query_reset(query_type* q, size_t maxlen, int is_tcp); /** * Add optional RRs to query. @@ -137,7 +137,7 @@ * \param[in] engine signer engine * */ -void query_add_optional(query_type* q, engine_type* engine); +extern void query_add_optional(query_type* q, engine_type* engine); /** * Add RR to query. @@ -146,13 +146,13 @@ * \return int 1 if ok, 0 if overflow. * */ -int query_add_rr(query_type* q, ldns_rr* rr); +extern int query_add_rr(query_type* q, ldns_rr* rr); /** * Cleanup query. * \param[in] q query * */ -void query_cleanup(query_type* q); +extern void query_cleanup(query_type* q); #endif /* WIRE_QUERY_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/wire/sock.h opendnssec-2.1.6/signer/src/wire/sock.h --- opendnssec-2.1.6-orig/signer/src/wire/sock.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/sock.h 2020-02-18 23:08:38.121360780 -0500 @@ -99,7 +99,7 @@ * \return ods_status status * */ -ods_status sock_listen(socklist_type* sockets, listener_type* listener); +extern ods_status sock_listen(socklist_type* sockets, listener_type* listener); /** * Handle incoming udp queries. @@ -108,7 +108,7 @@ * \param[in] event_types the types of events that should be checked for * */ -void sock_handle_udp(netio_type* netio, netio_handler_type* handler, +extern void sock_handle_udp(netio_type* netio, netio_handler_type* handler, netio_events_type event_types); /** @@ -118,7 +118,7 @@ * \param[in] event_types the types of events that should be checked for * */ -void sock_handle_tcp_accept(netio_type* netio, netio_handler_type* handler, +extern void sock_handle_tcp_accept(netio_type* netio, netio_handler_type* handler, netio_events_type event_types); /** @@ -128,7 +128,7 @@ * \param[in] event_types the types of events that should be checked for * */ -void sock_handle_tcp_read(netio_type* netio, netio_handler_type* handler, +extern void sock_handle_tcp_read(netio_type* netio, netio_handler_type* handler, netio_events_type event_types); /** @@ -138,7 +138,7 @@ * \param[in] event_types the types of events that should be checked for * */ -void sock_handle_tcp_write(netio_type* netio, netio_handler_type* handler, +extern void sock_handle_tcp_write(netio_type* netio, netio_handler_type* handler, netio_events_type event_types); #endif /* WIRE_SOCK_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/wire/tcpset.h opendnssec-2.1.6/signer/src/wire/tcpset.h --- opendnssec-2.1.6-orig/signer/src/wire/tcpset.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/tcpset.h 2020-02-18 23:08:38.121360780 -0500 @@ -77,7 +77,7 @@ * \return tcp_conn_type* TCP connection. * */ -tcp_conn_type* tcp_conn_create(void); +extern tcp_conn_type* tcp_conn_create(void); /** * Create a set of tcp connections. @@ -85,14 +85,14 @@ * \return tcp_set_type* set of tcp connection. * */ -tcp_set_type* tcp_set_create(void); +extern tcp_set_type* tcp_set_create(void); /** * Make tcp connection ready for reading. * \param[in] tcp tcp connection * */ -void tcp_conn_ready(tcp_conn_type* tcp); +extern void tcp_conn_ready(tcp_conn_type* tcp); /* * Read from a tcp connection. @@ -104,7 +104,7 @@ * 1 on completed read. * */ -int tcp_conn_read(tcp_conn_type* tcp); +extern int tcp_conn_read(tcp_conn_type* tcp); /* * Write to a tcp connection. @@ -116,7 +116,7 @@ * 1 on completed write. * */ -int tcp_conn_write(tcp_conn_type* tcp); +extern int tcp_conn_write(tcp_conn_type* tcp); /** * Clean up set of tcp connections. @@ -124,6 +124,6 @@ * \param[in] allocator memory allocator * */ -void tcp_set_cleanup(tcp_set_type* set); +extern void tcp_set_cleanup(tcp_set_type* set); #endif /* WIRE_TCPSET_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/wire/tsig.h opendnssec-2.1.6/signer/src/wire/tsig.h --- opendnssec-2.1.6-orig/signer/src/wire/tsig.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/tsig.h 2020-02-18 23:08:38.121360780 -0500 @@ -150,27 +150,27 @@ * \return ods_status status * */ -ods_status tsig_handler_init(void); +extern ods_status tsig_handler_init(void); /** * Clean up TSIG handler. * */ -void tsig_handler_cleanup(void); +extern void tsig_handler_cleanup(void); /** * Add key to TSIG handler. * \param[in] key tsig key * */ -void tsig_handler_add_key(tsig_key_type* key); +extern void tsig_handler_add_key(tsig_key_type* key); /** * Add algorithm to TSIG handler. * \param[in] algo tsig algorithm * */ -void tsig_handler_add_algo(tsig_algo_type* algo); +extern void tsig_handler_add_algo(tsig_algo_type* algo); /** * Create new TSIG. @@ -181,7 +181,7 @@ * \return tsig_type* TSIG * */ -tsig_type* tsig_create(char* name, char* algo, +extern tsig_type* tsig_create(char* name, char* algo, char* secret); /** @@ -191,7 +191,7 @@ * \return tsig_type* TSIG * */ -tsig_type* tsig_lookup_by_name(tsig_type* tsig, const char* name); +extern tsig_type* tsig_lookup_by_name(tsig_type* tsig, const char* name); /** * Lookup TSIG algorithm by name. @@ -199,7 +199,7 @@ * \return tsig_algo_type* TSIG algorithm * */ -tsig_algo_type* tsig_lookup_algo(const char* name); +extern tsig_algo_type* tsig_lookup_algo(const char* name); /** * Create new TSIG RR. @@ -207,7 +207,7 @@ * \return tsig_rr_type* TSIG RR * */ -tsig_rr_type* tsig_rr_create(void); +extern tsig_rr_type* tsig_rr_create(void); /** * Reset TSIG RR. @@ -216,7 +216,7 @@ * \param[in] key tsig key * */ -void tsig_rr_reset(tsig_rr_type* trr, tsig_algo_type* algo, tsig_key_type* key); +extern void tsig_rr_reset(tsig_rr_type* trr, tsig_algo_type* algo, tsig_key_type* key); /** * Find TSIG RR. @@ -225,7 +225,7 @@ * \return int 1 if not present or present and valid, 0 otherwise. * */ -int tsig_rr_find(tsig_rr_type* trr, buffer_type* buffer); +extern int tsig_rr_find(tsig_rr_type* trr, buffer_type* buffer); /** * Parse TSIG RR. @@ -234,7 +234,7 @@ * \return int 1 if not TSIG RR or TSIG RR and valid, 0 otherwise. * */ -int tsig_rr_parse(tsig_rr_type* trr, buffer_type* buffer); +extern int tsig_rr_parse(tsig_rr_type* trr, buffer_type* buffer); /** * Lookup TSIG RR. @@ -242,14 +242,14 @@ * \return int 1 if succeeded, 0 if unknown * */ -int tsig_rr_lookup(tsig_rr_type* trr); +extern int tsig_rr_lookup(tsig_rr_type* trr); /** * Prepare TSIG RR. * \param[in] trr TSIG RR * */ -void tsig_rr_prepare(tsig_rr_type* trr); +extern void tsig_rr_prepare(tsig_rr_type* trr); /** * Update TSIG RR. @@ -260,14 +260,14 @@ * query idfrom TSIG. * */ -void tsig_rr_update(tsig_rr_type* trr, buffer_type* buffer, size_t length); +extern void tsig_rr_update(tsig_rr_type* trr, buffer_type* buffer, size_t length); /** * Sign TSIG RR. * \param[in] trr TSIG RR * */ -void tsig_rr_sign(tsig_rr_type* trr); +extern void tsig_rr_sign(tsig_rr_type* trr); /** * Verify TSIG RR. @@ -275,7 +275,7 @@ * \return int 1 if verified, 0 on error * */ -int tsig_rr_verify(tsig_rr_type* trr); +extern int tsig_rr_verify(tsig_rr_type* trr); /** * Append TSIG RR. @@ -283,7 +283,7 @@ * \param[in] buffer packet buffer * */ -void tsig_rr_append(tsig_rr_type* trr, buffer_type* buffer); +extern void tsig_rr_append(tsig_rr_type* trr, buffer_type* buffer); /* * The amount of space to reserve in the response for the TSIG data. @@ -291,14 +291,14 @@ * \return size_t reserved space size * */ -size_t tsig_rr_reserved_space(tsig_rr_type *trr); +extern size_t tsig_rr_reserved_space(tsig_rr_type *trr); /** * Reply with error TSIG RR. * \param[in] trr TSIG RR * */ -void tsig_rr_error(tsig_rr_type* trr); +extern void tsig_rr_error(tsig_rr_type* trr); /** * Get human readable TSIG error code. @@ -306,7 +306,7 @@ * \return const char* TSIG status * */ -const char* tsig_status2str(tsig_status status); +extern const char* tsig_status2str(tsig_status status); /** * Get human readable TSIG error code. @@ -314,21 +314,21 @@ * \return const char* readable error code * */ -const char* tsig_strerror(uint16_t error); +extern const char* tsig_strerror(uint16_t error); /** * Free TSIG RR. * \param[in] trr TSIG RR * */ -void tsig_rr_free(tsig_rr_type* trr); +extern void tsig_rr_free(tsig_rr_type* trr); /** * Cleanup TSIG RR * \param[in] trr TSIG RR * */ -void tsig_rr_cleanup(tsig_rr_type* trr); +extern void tsig_rr_cleanup(tsig_rr_type* trr); /** * Clean up TSIG. @@ -336,6 +336,6 @@ * \param[in] allocator memory allocator * */ -void tsig_cleanup(tsig_type* tsig); +extern void tsig_cleanup(tsig_type* tsig); #endif /* WIRE_TSIG_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/wire/tsig-openssl.h opendnssec-2.1.6/signer/src/wire/tsig-openssl.h --- opendnssec-2.1.6-orig/signer/src/wire/tsig-openssl.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/tsig-openssl.h 2020-02-18 23:08:38.122360794 -0500 @@ -44,13 +44,13 @@ * \return ods_status status * */ -ods_status tsig_handler_openssl_init(void); +extern ods_status tsig_handler_openssl_init(void); /** * Finalize OpenSSL support for TSIG. * */ -void tsig_handler_openssl_finalize(void); +extern void tsig_handler_openssl_finalize(void); #endif /* HAVE_SSL */ #endif /* WIRE_TSIG_OPENSSL_H */ diff -Naur opendnssec-2.1.6-orig/signer/src/wire/xfrd.c opendnssec-2.1.6/signer/src/wire/xfrd.c --- opendnssec-2.1.6-orig/signer/src/wire/xfrd.c 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/xfrd.c 2020-02-18 23:08:38.122360794 -0500 @@ -1549,7 +1549,7 @@ xfrd->master->ixfr_disabled = time_now(); ods_log_verbose("[%s] disable ixfr requests for %s from now (%lu)", xfrd_str, xfrd->master->address, (unsigned long)xfrd->master->ixfr_disabled); - /* break; */ + /* break; FALL THROUGH */ case XFRD_PKT_BAD: default: ods_log_debug("[%s] tcp read %s: release connection", xfrd_str, diff -Naur opendnssec-2.1.6-orig/signer/src/wire/xfrd.h opendnssec-2.1.6/signer/src/wire/xfrd.h --- opendnssec-2.1.6-orig/signer/src/wire/xfrd.h 2020-02-10 12:25:11.000000000 -0500 +++ opendnssec-2.1.6/signer/src/wire/xfrd.h 2020-02-18 23:08:38.122360794 -0500 @@ -147,7 +147,7 @@ * \return xfrd_type* zone transfer structure. * */ -xfrd_type* xfrd_create(xfrhandler_type* xfrhandler, zone_type* zone); +extern xfrd_type* xfrd_create(xfrhandler_type* xfrhandler, zone_type* zone); /** * Set timeout for zone transfer to now. @@ -177,7 +177,7 @@ * \return socklen_t length of address * */ -socklen_t xfrd_acl_sockaddr_to(acl_type* acl, +extern socklen_t xfrd_acl_sockaddr_to(acl_type* acl, struct sockaddr_storage* to); /** @@ -186,6 +186,6 @@ * \param[in] backup backup transfer variables. * */ -void xfrd_cleanup(xfrd_type* xfrd, int backup); +extern void xfrd_cleanup(xfrd_type* xfrd, int backup); #endif /* WIRE_XFRD_H */