Skip to content

Commit 393f14c

Browse files
committed
fix: build blockers
1 parent 5bfe439 commit 393f14c

File tree

4 files changed

+62
-2
lines changed

4 files changed

+62
-2
lines changed

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
run: cargo xtask dependencies -dip sudo
3030

3131
- name: build integration coverage
32-
run: sudo -E cargo +nightly coverage --out Xml
32+
run: sudo -E /usr/local/cargo/bin/cargo +nightly coverage --out Xml
3333
env:
3434
RAR_AUTHENTICATION: skip
3535
RAR_CFG_PATH: target/rootasrole.json

rar-common/src/database/actor.rs

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,30 @@ impl<'de: 'a, 'a> Deserialize<'de> for DGroups<'a> {
243243
}
244244
}
245245

246+
fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
247+
where
248+
E: serde::de::Error, {
249+
if let Ok(group) = v.parse() {
250+
return Ok(DGroups::Single(DGroupType(DGenericActorType::Id(group))));
251+
} else {
252+
return Ok(DGroups::Single(DGroupType(DGenericActorType::Name(
253+
Cow::Owned(v.to_string()),
254+
))));
255+
}
256+
}
257+
258+
fn visit_string<E>(self, v: String) -> Result<Self::Value, E>
259+
where
260+
E: serde::de::Error, {
261+
if let Ok(group) = v.parse() {
262+
return Ok(DGroups::Single(DGroupType(DGenericActorType::Id(group))));
263+
} else {
264+
return Ok(DGroups::Single(DGroupType(DGenericActorType::Name(
265+
v.into(),
266+
))));
267+
}
268+
}
269+
246270
fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
247271
where
248272
E: serde::de::Error,
@@ -302,6 +326,30 @@ impl<'de: 'a, 'a> Deserialize<'de> for SGroups {
302326
}
303327
}
304328

329+
fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
330+
where
331+
E: serde::de::Error, {
332+
if let Ok(group) = v.parse() {
333+
return Ok(SGroups::Single(SGroupType(SGenericActorType::Id(group))));
334+
} else {
335+
return Ok(SGroups::Single(SGroupType(SGenericActorType::Name(
336+
v.into(),
337+
))));
338+
}
339+
}
340+
341+
fn visit_string<E>(self, v: String) -> Result<Self::Value, E>
342+
where
343+
E: serde::de::Error, {
344+
if let Ok(group) = v.parse() {
345+
return Ok(SGroups::Single(SGroupType(SGenericActorType::Id(group))));
346+
} else {
347+
return Ok(SGroups::Single(SGroupType(SGenericActorType::Name(
348+
v,
349+
))));
350+
}
351+
}
352+
305353
fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
306354
where
307355
E: serde::de::Error,

rar-common/src/database/de.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,18 @@ impl<'de> Deserialize<'de> for SCommands {
251251
formatter.write_str("a string or a number")
252252
}
253253

254+
fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
255+
where
256+
E: de::Error, {
257+
let set = SetBehavior::from_str(v).map_err(de::Error::custom)?;
258+
Ok(SCommands {
259+
default_behavior: Some(set),
260+
add: Vec::new(),
261+
sub: Vec::new(),
262+
_extra_fields: Map::new(),
263+
})
264+
}
265+
254266
fn visit_string<E>(self, v: String) -> Result<Self::Value, E>
255267
where
256268
E: de::Error,

src/sr/pam/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ impl SrConversationHandler {
4848
no_interact: false,
4949
}
5050
}
51-
fn open(&self) -> std::io::Result<Terminal> {
51+
fn open(&self) -> std::io::Result<Terminal<'_>> {
5252
if self.use_stdin {
5353
Terminal::open_stdie()
5454
} else {

0 commit comments

Comments
 (0)