| 118 | } |
| 119 | |
| 120 | apr_file_t *ssl_util_ppopen(server_rec *s, apr_pool_t *p, const char *cmd, |
| 121 | const char * const *argv) |
| 122 | { |
| 123 | apr_procattr_t *procattr; |
| 124 | apr_proc_t *proc; |
| 125 | |
| 126 | if (apr_procattr_create(&procattr, p) != APR_SUCCESS) |
| 127 | return NULL; |
| 128 | if (apr_procattr_io_set(procattr, APR_FULL_BLOCK, APR_FULL_BLOCK, |
| 129 | APR_FULL_BLOCK) != APR_SUCCESS) |
| 130 | return NULL; |
| 131 | if (apr_procattr_dir_set(procattr, |
| 132 | ap_make_dirstr_parent(p, cmd)) != APR_SUCCESS) |
| 133 | return NULL; |
| 134 | if (apr_procattr_cmdtype_set(procattr, APR_PROGRAM) != APR_SUCCESS) |
| 135 | return NULL; |
| 136 | proc = apr_pcalloc(p, sizeof(apr_proc_t)); |
| 137 | if (apr_proc_create(proc, cmd, argv, NULL, procattr, p) != APR_SUCCESS) |
| 138 | return NULL; |
| 139 | return proc->out; |
| 140 | } |
| 141 | |
| 142 | void ssl_util_ppclose(server_rec *s, apr_pool_t *p, apr_file_t *fp) |
| 143 | { |
no test coverage detected