Merge pull request #218 from ikatson/mediaserver-response-proper-st
Mediaserver response proper st
This commit is contained in:
commit
78ee947d44
2 changed files with 14 additions and 11 deletions
3
Makefile
3
Makefile
|
|
@ -111,6 +111,9 @@ create-target-docker:
|
||||||
cp -lf target/armv7-unknown-linux-musleabihf/release-github/rqbit target/docker/linux/arm/v7/rqbit && \
|
cp -lf target/armv7-unknown-linux-musleabihf/release-github/rqbit target/docker/linux/arm/v7/rqbit && \
|
||||||
cp docker/Dockerfile target/Docker
|
cp docker/Dockerfile target/Docker
|
||||||
|
|
||||||
|
@PHONE: docker-build-prereqs
|
||||||
|
docker-build-prereqs: release-linux-aarch64 release-linux-x86_64 release-linux-armv7
|
||||||
|
|
||||||
@PHONY: docker-build
|
@PHONY: docker-build
|
||||||
docker-build: create-target-docker
|
docker-build: create-target-docker
|
||||||
docker build \
|
docker build \
|
||||||
|
|
|
||||||
|
|
@ -113,7 +113,6 @@ impl SsdpRunner {
|
||||||
#[cfg(not(target_os = "windows"))]
|
#[cfg(not(target_os = "windows"))]
|
||||||
sock.set_reuse_port(true)
|
sock.set_reuse_port(true)
|
||||||
.context("error setting SO_REUSEPORT")?;
|
.context("error setting SO_REUSEPORT")?;
|
||||||
#[cfg(target_os = "windows")]
|
|
||||||
sock.set_reuse_address(true)
|
sock.set_reuse_address(true)
|
||||||
.context("error setting SO_REUSEADDR")?;
|
.context("error setting SO_REUSEADDR")?;
|
||||||
|
|
||||||
|
|
@ -153,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 location = &self.opts.description_http_location;
|
||||||
let usn = &self.opts.usn;
|
let usn = &self.opts.usn;
|
||||||
let media_server = UPNP_KIND_MEDIASERVER;
|
|
||||||
let server = &self.opts.server_string;
|
let server = &self.opts.server_string;
|
||||||
format!(
|
format!(
|
||||||
"HTTP/1.1 200 OK\r
|
"HTTP/1.1 200 OK\r
|
||||||
|
|
@ -164,8 +162,8 @@ Cache-Control: max-age=75\r
|
||||||
Ext: \r
|
Ext: \r
|
||||||
Location: {location}\r
|
Location: {location}\r
|
||||||
Server: {server}\r
|
Server: {server}\r
|
||||||
St: {media_server}\r
|
St: {st}\r
|
||||||
Usn: {usn}::{media_server}\r
|
Usn: {usn}::{st}\r
|
||||||
Content-Length: 0\r\n\r\n"
|
Content-Length: 0\r\n\r\n"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
@ -214,12 +212,14 @@ Content-Length: 0\r\n\r\n"
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
|
|
||||||
let response = self.generate_ssdp_discover_response();
|
if let Ok(st) = std::str::from_utf8(msg.st) {
|
||||||
trace!(content = response, ?addr, "sending SSDP discover response");
|
let response = self.generate_ssdp_discover_response(st);
|
||||||
self.socket
|
trace!(content = response, ?addr, "sending SSDP discover response");
|
||||||
.send_to(response.as_bytes(), addr)
|
self.socket
|
||||||
.await
|
.send_to(response.as_bytes(), addr)
|
||||||
.context("error sending")?;
|
.await
|
||||||
|
.context("error sending")?;
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue