summaryrefslogtreecommitdiff
path: root/sys/src/cmd/webfs
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-03-25 06:55:29 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2012-03-25 06:55:29 +0200
commit4558207db0490d2c6256c787ebc0e27f10e0a3ec (patch)
treee9457c613a6822d725e1bf86afe3999274af905c /sys/src/cmd/webfs
parent7e90b115973ce1fe05627c127227405fd8854a82 (diff)
webfs: useragent ctl message for /mnt/web/ctl
Diffstat (limited to 'sys/src/cmd/webfs')
-rw-r--r--sys/src/cmd/webfs/fs.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/src/cmd/webfs/fs.c b/sys/src/cmd/webfs/fs.c
index 853a0be85..b331819a4 100644
--- a/sys/src/cmd/webfs/fs.c
+++ b/sys/src/cmd/webfs/fs.c
@@ -78,6 +78,7 @@ static char *nametab[] = {
static long time0;
static char *user;
+static char *agent;
static Client client[64];
static int nclient;
@@ -398,8 +399,8 @@ fsopen(Req *r)
m = cl->request;
if(!lookkey(cl->hdr, "Connection"))
cl->hdr = addkey(cl->hdr, "Connection", "keep-alive");
- if(!lookkey(cl->hdr, "User-Agent"))
- cl->hdr = addkey(cl->hdr, "User-Agent", "hjdicks");
+ if(agent && !lookkey(cl->hdr, "User-Agent"))
+ cl->hdr = addkey(cl->hdr, "User-Agent", agent);
http(m, cl->url, cl->hdr, cl->qbody, f->buq);
cl->request[0] = 0;
cl->url = nil;
@@ -521,6 +522,15 @@ rootctl(char *ctl, char *arg)
if(debug)
fprint(2, "rootctl: %q %q\n", ctl, arg);
+ if(!strcmp(ctl, "useragent")){
+ free(agent);
+ if(arg && *arg)
+ agent = estrdup(arg);
+ else
+ agent = nil;
+ return nil;
+ }
+
if(!strcmp(ctl, "flushauth")){
u = nil;
if(arg && *arg)
@@ -529,6 +539,7 @@ rootctl(char *ctl, char *arg)
freeurl(u);
return nil;
}
+
return "bad ctl message";
}
@@ -719,6 +730,7 @@ main(int argc, char *argv[])
rfork(RFNOTEG);
+ agent = estrdup("hjdicks");
if(s = getenv("httpproxy")){
proxy = saneurl(url(s, 0));
free(s);