escape file name when there is a quote inside

This commit is contained in:
Chris Lu
2013-01-02 13:40:00 -08:00
parent 018f0b73be
commit c35fe9d631

View File

@@ -42,6 +42,8 @@ var (
store *storage.Store store *storage.Store
) )
var fileNameEscaper = strings.NewReplacer("\\","\\\\","\"","\\\"")
func statusHandler(w http.ResponseWriter, r *http.Request) { func statusHandler(w http.ResponseWriter, r *http.Request) {
m := make(map[string]interface{}) m := make(map[string]interface{})
m["Version"] = VERSION m["Version"] = VERSION
@@ -147,7 +149,7 @@ func GetHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", mtype) w.Header().Set("Content-Type", mtype)
} }
if n.NameSize > 0 { if n.NameSize > 0 {
w.Header().Set("Content-Disposition", "filename="+string(n.Name)) w.Header().Set("Content-Disposition", "filename="+fileNameEscaper.Replace(string(n.Name)))
} }
if ext != ".gz" { if ext != ".gz" {
if n.IsGzipped() { if n.IsGzipped() {