You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Gio Pugliese <at...@gmail.com> on 2005/08/30 02:22:04 UTC

[users@httpd] Re: File i/o permission question

I was finally able to track down the problem. Unfortunately being a new 
developer with a new development server which I set up for development it 
appears I did not have the development server set up correctly. Apache was 
not loading as the apache user, group which is configurable in the 
httpd.conf, thus the process obviously did not have the rights to write to 
the system. I kept thinking there was a coding error when the it was a 
configuration issue. Sorry for the newbie mistake. :)


 On 8/29/05, Gio Pugliese <at...@gmail.com> wrote: 
> 
> Hello, I would appreciate a point in the right direction concerning file 
> access within an apache module. I come from a win32 development background 
> and this is my first attempt writing an apache module. Using examples found 
> around the net and studying the various filters I have been able to write an 
> 'empty filter'. Before commencing 'fitlering' work I'm attempting to add 
> logging functionalilty to better track behavior within the module. I have 
> successfully passed initialization information via the http.conf file to 
> the module, however upon calling apr_file_open the server is reporting a 
> 'permission denied' error and not allowing me to create/write to the log 
> file. I have researched this basically all of today, looking through google 
> and through some of the other filters to observer there logging code and I 
> believe that I'm following the same path, however obviously something eludes 
> me. Here are a few points to consider - 
> 1 ) Filter is working. Although I cannot create my own log file, I am able 
> to dump the error the the error log
> 2 ) The file path appears correct. Based on the dump to the error log 
> heres how the path looks - /usr/local/apache2/logs/filter_log
> 3 ) I actually created a file called filter_log and changed the 
> permissions to owner: apache, group: apache. No dice
> 
> If someone could be so kind to point out the err of my ways or perhaps 
> point me to the right documentation i would trully appreciate it. Thxs in 
> advance.
> Here's a sample of the code ( I have included the permissions passed as 
> well )...
> 
> static int xfer_flags = (APR_WRITE | APR_APPEND | APR_LARGEFILE);
> static apr_fileperms_t xfer_perms = ( APR_UREAD | APR_UWRITE |
> APR_GREAD | APR_WREAD ); // I ALSO TRIED APR_OS_DEFAULT
> 
> static apr_status_t test_filter_in(ap_filter_t *f, apr_bucket_brigade *b, 
> ap_input_mode_t mode, apr_read_type_e block,
> apr_off_t readbytes)
> {
> apr_bucket *e;
> 
> apr_file_t *fd = NULL;
> apr_status_t status;
> apr_status_t rv; 
> 
> status = ap_get_brigade(f->next, b, mode, block, readbytes);
> // Get the first bucket on our brigade
> e = APR_BRIGADE_FIRST(b);
> 
> // If the first bucket is empty, we have an empty brigade. Exit the 
> function
> if (e->type == NULL) {
> return status;
> }
> 
> conn_rec *c = f->c;
> pt_filter_conf_t *s_cfg = ap_get_module_config( 
> c->base_server->module_config, &test_module); 
> const char *fname = s_cfg->strLogFilePath;
> 
> rv = apr_file_open(&fd, fname, xfer_flags, xfer_perms, f->c->pool);
> if ( APR_SUCCESS != rv ) {
> ap_log_error(APLOG_MARK, APLOG_ERR, rv, c->base_server,
> "could not create filter log at path %s", fname);
> return status;
> }
> ...
> }
>

Re: [users@httpd] Re: File i/o permission question

Posted by Joshua Slive <js...@gmail.com>.
On 8/29/05, Gio Pugliese <at...@gmail.com> wrote:
> I was finally able to track down the problem.  Unfortunately being a new
> developer with a new development server which I set up for development it
> appears I did not have the development server set up correctly.  Apache was
> not loading as the apache user, group which is configurable in the
> httpd.conf, thus the process obviously did not have the rights to write to
> the system.  I kept thinking there was a coding error when the it was a
> configuration issue.  Sorry for the newbie mistake.  :)

In the future, you might want to note that there is an apache module
developers mailing list here:
http://modules.apache.org/subscribe

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org