Ben Collins-Sussman <sussman@collab.net> writes:
> > len1 = strlen(path);
> > len2 = strlen(relative->info->repos->root_path);
> > if (len1 < len2
> > || (len1 > len2 && path[len2] != '/')
> > || memcmp(path, relative->info->repos->root_path, len2) != 0)
> > {
> > return svn_error_create(SVN_ERR_APMOD_MALFORMED_URI, 0, NULL, pool,
> > "The specified URI does not refer to this "
> > "repository, so it is unusable.");
> > }
> >
> > (gdb) p len1
> > $9 = 46
> > (gdb) p len2
> > $10 = 1
> > (gdb) p path
> > $11 = 0x80fd070 "/!svn/act/5ced1e32-edaa-0310-87f1-deb4c70d8c93"
> > (gdb) p relative->info->repos->root_path
>
>
> I'm confused. Should dav_svn_simple_parse_uri ever be processing an
> activity uri??
>
> What's the backtrace?
(gdb) bt
#0 dav_svn_simple_parse_uri (info=0xbffff8a0, relative=0x80fecc0,
uri=0x80fec40 "/!svn/act/e9c2d8c6-edaa-0310-8c3e-ac0711138a47",
pool=0x8102098) at ../svn/subversion/mod_dav_svn/util.c:166
#1 0x402b1ce2 in dav_svn_checkout (resource=0x80fecc0, auto_checkout=0,
is_unreserved=0, is_fork_ok=0, create_activity=0, activities=0x80feca8,
working_resource=0xbffff910) at ../svn/subversion/mod_dav_svn/version.c:183
#2 0x4029005e in dav_method_checkout (r=0x81020e8) at mod_dav.c:3415
#3 0x08078afe in ap_run_handler (r=0x81020e8) at config.c:194
#4 0x08078fd6 in ap_invoke_handler (r=0x81020e8) at config.c:400
#5 0x0806916b in ap_process_request (r=0x81020e8) at http_request.c:288
#6 0x080654a9 in ap_process_http_connection (c=0x80fc4d0) at http_core.c:293
#7 0x08081582 in ap_run_process_connection (c=0x80fc4d0) at connection.c:85
#8 0x080776b8 in child_main (child_num_arg=-1073743712) at prefork.c:696
#9 0x0807785a in make_child (s=0x80b62d8, slot=0) at prefork.c:736
#10 0x080778b3 in startup_children (number_to_start=5) at prefork.c:808
#11 0x08077fa9 in ap_mpm_run (_pconf=0x8076f98, plog=0x80b40c0, s=0x80b62d8)
at prefork.c:1024
#12 0x0807c9a4 in main (argc=2, argv=0xbffffbb4) at main.c:645
(gdb)
It appears that "normally" it gets
root /foo
path /foo/!....
and path[len(root)] == '/'. This obviously fails when root is /.
--
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Sep 18 17:38:23 2002