Respond with proper ST header on SSDP upnp requests
This commit is contained in:
parent
c14ccd5fa2
commit
ef99380147
1 changed files with 11 additions and 10 deletions
|
|
@ -152,10 +152,9 @@ USN: {usn}::{kind}\r
|
|||
)
|
||||
}
|
||||
|
||||
fn generate_ssdp_discover_response(&self) -> String {
|
||||
fn generate_ssdp_discover_response(&self, st: &str) -> String {
|
||||
let location = &self.opts.description_http_location;
|
||||
let usn = &self.opts.usn;
|
||||
let media_server = UPNP_KIND_MEDIASERVER;
|
||||
let server = &self.opts.server_string;
|
||||
format!(
|
||||
"HTTP/1.1 200 OK\r
|
||||
|
|
@ -163,8 +162,8 @@ Cache-Control: max-age=75\r
|
|||
Ext: \r
|
||||
Location: {location}\r
|
||||
Server: {server}\r
|
||||
St: {media_server}\r
|
||||
Usn: {usn}::{media_server}\r
|
||||
St: {st}\r
|
||||
Usn: {usn}::{st}\r
|
||||
Content-Length: 0\r\n\r\n"
|
||||
)
|
||||
}
|
||||
|
|
@ -213,12 +212,14 @@ Content-Length: 0\r\n\r\n"
|
|||
return Ok(());
|
||||
}
|
||||
|
||||
let response = self.generate_ssdp_discover_response();
|
||||
trace!(content = response, ?addr, "sending SSDP discover response");
|
||||
self.socket
|
||||
.send_to(response.as_bytes(), addr)
|
||||
.await
|
||||
.context("error sending")?;
|
||||
if let Ok(st) = std::str::from_utf8(msg.st) {
|
||||
let response = self.generate_ssdp_discover_response(st);
|
||||
trace!(content = response, ?addr, "sending SSDP discover response");
|
||||
self.socket
|
||||
.send_to(response.as_bytes(), addr)
|
||||
.await
|
||||
.context("error sending")?;
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue