- case R_DIRECTOR:
- if (res->res_dir.password) {
- free(res->res_dir.password);
- }
- if (res->res_dir.address) {
- free(res->res_dir.address);
- }
- break;
- case R_STORAGE:
- if (res->res_store.address) { /* ***FIXME*** deprecated */
- free(res->res_store.address);
- }
- if (res->res_store.SDaddr) {
- free(res->res_store.SDaddr);
- }
- if (res->res_store.working_directory) {
- free(res->res_store.working_directory);
- }
- if (res->res_store.pid_directory) {
- free(res->res_store.pid_directory);
- }
- if (res->res_store.subsys_directory) {
- free(res->res_store.subsys_directory);
- }
- break;
- case R_DEVICE:
- if (res->res_dev.media_type) {
- free(res->res_dev.media_type);
- }
- if (res->res_dev.device_name) {
- free(res->res_dev.device_name);
- }
- if (res->res_dev.changer_name) {
- free(res->res_dev.changer_name);
- }
- if (res->res_dev.changer_command) {
- free(res->res_dev.changer_command);
- }
- if (res->res_dev.spool_directory) {
- free(res->res_dev.spool_directory);
- }
- break;
- case R_MSGS:
- if (res->res_msgs.mail_cmd) {
- free(res->res_msgs.mail_cmd);
- }
- if (res->res_msgs.operator_cmd) {
- free(res->res_msgs.operator_cmd);
- }
- free_msgs_res((MSGS *)res); /* free message resource */
- res = NULL;
- break;
- default:
- Dmsg1(0, "Unknown resource type %d\n", type);
- break;
+ case R_DIRECTOR:
+ if (res->res_dir.password) {
+ free(res->res_dir.password);
+ }
+ if (res->res_dir.address) {
+ free(res->res_dir.address);
+ }
+ if (res->res_dir.tls_ctx) {
+ free_tls_context(res->res_dir.tls_ctx);
+ }
+ if (res->res_dir.tls_ca_certfile) {
+ free(res->res_dir.tls_ca_certfile);
+ }
+ if (res->res_dir.tls_ca_certdir) {
+ free(res->res_dir.tls_ca_certdir);
+ }
+ if (res->res_dir.tls_certfile) {
+ free(res->res_dir.tls_certfile);
+ }
+ if (res->res_dir.tls_keyfile) {
+ free(res->res_dir.tls_keyfile);
+ }
+ if (res->res_dir.tls_dhfile) {
+ free(res->res_dir.tls_dhfile);
+ }
+ if (res->res_dir.tls_allowed_cns) {
+ delete res->res_dir.tls_allowed_cns;
+ }
+ break;
+ case R_AUTOCHANGER:
+ if (res->res_changer.changer_name) {
+ free(res->res_changer.changer_name);
+ }
+ if (res->res_changer.changer_command) {
+ free(res->res_changer.changer_command);
+ }
+ if (res->res_changer.device) {
+ delete res->res_changer.device;
+ }
+ break;
+ case R_STORAGE:
+ if (res->res_store.sdaddrs) {
+ free_addresses(res->res_store.sdaddrs);
+ }
+ if (res->res_store.sddaddrs) {
+ free_addresses(res->res_store.sddaddrs);
+ }
+ if (res->res_store.working_directory) {
+ free(res->res_store.working_directory);
+ }
+ if (res->res_store.pid_directory) {
+ free(res->res_store.pid_directory);
+ }
+ if (res->res_store.subsys_directory) {
+ free(res->res_store.subsys_directory);
+ }
+ if (res->res_store.scripts_directory) {
+ free(res->res_store.scripts_directory);
+ }
+ if (res->res_store.tls_ctx) {
+ free_tls_context(res->res_store.tls_ctx);
+ }
+ if (res->res_store.tls_ca_certfile) {
+ free(res->res_store.tls_ca_certfile);
+ }
+ if (res->res_store.tls_ca_certdir) {
+ free(res->res_store.tls_ca_certdir);
+ }
+ if (res->res_store.tls_certfile) {
+ free(res->res_store.tls_certfile);
+ }
+ if (res->res_store.tls_keyfile) {
+ free(res->res_store.tls_keyfile);
+ }
+ if (res->res_store.tls_dhfile) {
+ free(res->res_store.tls_dhfile);
+ }
+ if (res->res_store.tls_allowed_cns) {
+ delete res->res_store.tls_allowed_cns;
+ }
+ break;
+ case R_DEVICE:
+ if (res->res_dev.media_type) {
+ free(res->res_dev.media_type);
+ }
+ if (res->res_dev.device_name) {
+ free(res->res_dev.device_name);
+ }
+ if (res->res_dev.changer_name) {
+ free(res->res_dev.changer_name);
+ }
+ if (res->res_dev.changer_command) {
+ free(res->res_dev.changer_command);
+ }
+ if (res->res_dev.alert_command) {
+ free(res->res_dev.alert_command);
+ }
+ if (res->res_dev.spool_directory) {
+ free(res->res_dev.spool_directory);
+ }
+ if (res->res_dev.mount_point) {
+ free(res->res_dev.mount_point);
+ }
+ if (res->res_dev.mount_command) {
+ free(res->res_dev.mount_command);
+ }
+ if (res->res_dev.unmount_command) {
+ free(res->res_dev.unmount_command);
+ }
+ if (res->res_dev.write_part_command) {
+ free(res->res_dev.write_part_command);
+ }
+ if (res->res_dev.free_space_command) {
+ free(res->res_dev.free_space_command);
+ }
+ break;
+ case R_MSGS:
+ if (res->res_msgs.mail_cmd) {
+ free(res->res_msgs.mail_cmd);
+ }
+ if (res->res_msgs.operator_cmd) {
+ free(res->res_msgs.operator_cmd);
+ }
+ free_msgs_res((MSGS *)res); /* free message resource */
+ res = NULL;
+ break;
+ default:
+ Dmsg1(0, _("Unknown resource type %d\n"), type);
+ break;