|
|
|
@ -30,9 +30,9 @@ func main() { |
|
|
|
usr, _ := user.Current() |
|
|
|
usr, _ := user.Current() |
|
|
|
dir := usr.HomeDir |
|
|
|
dir := usr.HomeDir |
|
|
|
configPath := filepath.Join(dir, "/.config/resh.toml") |
|
|
|
configPath := filepath.Join(dir, "/.config/resh.toml") |
|
|
|
reshUuidPath := filepath.Join(dir, "/.resh/resh-uuid") |
|
|
|
reshUUIDPath := filepath.Join(dir, "/.resh/resh-uuid") |
|
|
|
|
|
|
|
|
|
|
|
machineIdPath := "/etc/machine-id" |
|
|
|
machineIDPath := "/etc/machine-id" |
|
|
|
|
|
|
|
|
|
|
|
var config common.Config |
|
|
|
var config common.Config |
|
|
|
if _, err := toml.DecodeFile(configPath, &config); err != nil { |
|
|
|
if _, err := toml.DecodeFile(configPath, &config); err != nil { |
|
|
|
@ -48,7 +48,7 @@ func main() { |
|
|
|
exitCode := flag.Int("exitCode", -1, "exit code") |
|
|
|
exitCode := flag.Int("exitCode", -1, "exit code") |
|
|
|
shell := flag.String("shell", "", "actual shell") |
|
|
|
shell := flag.String("shell", "", "actual shell") |
|
|
|
uname := flag.String("uname", "", "uname") |
|
|
|
uname := flag.String("uname", "", "uname") |
|
|
|
sessionId := flag.String("sessionId", "", "resh generated session id") |
|
|
|
sessionID := flag.String("sessionId", "", "resh generated session id") |
|
|
|
|
|
|
|
|
|
|
|
// posix variables
|
|
|
|
// posix variables
|
|
|
|
cols := flag.String("cols", "-1", "$COLUMNS") |
|
|
|
cols := flag.String("cols", "-1", "$COLUMNS") |
|
|
|
@ -82,10 +82,10 @@ func main() { |
|
|
|
timezoneBefore := flag.String("timezoneBefore", "", "") |
|
|
|
timezoneBefore := flag.String("timezoneBefore", "", "") |
|
|
|
timezoneAfter := flag.String("timezoneAfter", "", "") |
|
|
|
timezoneAfter := flag.String("timezoneAfter", "", "") |
|
|
|
|
|
|
|
|
|
|
|
osReleaseId := flag.String("osReleaseId", "", "/etc/os-release ID") |
|
|
|
osReleaseID := flag.String("osReleaseId", "", "/etc/os-release ID") |
|
|
|
osReleaseVersionId := flag.String("osReleaseVersionId", "", |
|
|
|
osReleaseVersionID := flag.String("osReleaseVersionId", "", |
|
|
|
"/etc/os-release ID") |
|
|
|
"/etc/os-release ID") |
|
|
|
osReleaseIdLike := flag.String("osReleaseIdLike", "", "/etc/os-release ID") |
|
|
|
osReleaseIDLike := flag.String("osReleaseIdLike", "", "/etc/os-release ID") |
|
|
|
osReleaseName := flag.String("osReleaseName", "", "/etc/os-release ID") |
|
|
|
osReleaseName := flag.String("osReleaseName", "", "/etc/os-release ID") |
|
|
|
osReleasePrettyName := flag.String("osReleasePrettyName", "", |
|
|
|
osReleasePrettyName := flag.String("osReleasePrettyName", "", |
|
|
|
"/etc/os-release ID") |
|
|
|
"/etc/os-release ID") |
|
|
|
@ -161,8 +161,8 @@ func main() { |
|
|
|
*gitRemote = "" |
|
|
|
*gitRemote = "" |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if *osReleaseId == "" { |
|
|
|
if *osReleaseID == "" { |
|
|
|
*osReleaseId = "linux" |
|
|
|
*osReleaseID = "linux" |
|
|
|
} |
|
|
|
} |
|
|
|
if *osReleaseName == "" { |
|
|
|
if *osReleaseName == "" { |
|
|
|
*osReleaseName = "Linux" |
|
|
|
*osReleaseName = "Linux" |
|
|
|
@ -177,7 +177,7 @@ func main() { |
|
|
|
ExitCode: *exitCode, |
|
|
|
ExitCode: *exitCode, |
|
|
|
Shell: *shell, |
|
|
|
Shell: *shell, |
|
|
|
Uname: *uname, |
|
|
|
Uname: *uname, |
|
|
|
SessionId: *sessionId, |
|
|
|
SessionID: *sessionID, |
|
|
|
|
|
|
|
|
|
|
|
// posix
|
|
|
|
// posix
|
|
|
|
Cols: *cols, |
|
|
|
Cols: *cols, |
|
|
|
@ -220,15 +220,15 @@ func main() { |
|
|
|
GitDir: gitDir, |
|
|
|
GitDir: gitDir, |
|
|
|
GitRealDir: gitRealDir, |
|
|
|
GitRealDir: gitRealDir, |
|
|
|
GitOriginRemote: *gitRemote, |
|
|
|
GitOriginRemote: *gitRemote, |
|
|
|
MachineId: readFileContent(machineIdPath), |
|
|
|
MachineID: readFileContent(machineIDPath), |
|
|
|
|
|
|
|
|
|
|
|
OsReleaseId: *osReleaseId, |
|
|
|
OsReleaseID: *osReleaseID, |
|
|
|
OsReleaseVersionId: *osReleaseVersionId, |
|
|
|
OsReleaseVersionID: *osReleaseVersionID, |
|
|
|
OsReleaseIdLike: *osReleaseIdLike, |
|
|
|
OsReleaseIDLike: *osReleaseIDLike, |
|
|
|
OsReleaseName: *osReleaseName, |
|
|
|
OsReleaseName: *osReleaseName, |
|
|
|
OsReleasePrettyName: *osReleasePrettyName, |
|
|
|
OsReleasePrettyName: *osReleasePrettyName, |
|
|
|
|
|
|
|
|
|
|
|
ReshUuid: readFileContent(reshUuidPath), |
|
|
|
ReshUUID: readFileContent(reshUUIDPath), |
|
|
|
ReshVersion: Version, |
|
|
|
ReshVersion: Version, |
|
|
|
ReshRevision: Revision, |
|
|
|
ReshRevision: Revision, |
|
|
|
} |
|
|
|
} |
|
|
|
@ -236,13 +236,13 @@ func main() { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func sendRecord(r common.Record, port string) { |
|
|
|
func sendRecord(r common.Record, port string) { |
|
|
|
recJson, err := json.Marshal(r) |
|
|
|
recJSON, err := json.Marshal(r) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
log.Fatal("send err 1", err) |
|
|
|
log.Fatal("send err 1", err) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
req, err := http.NewRequest("POST", "http://localhost:"+port+"/record", |
|
|
|
req, err := http.NewRequest("POST", "http://localhost:"+port+"/record", |
|
|
|
bytes.NewBuffer(recJson)) |
|
|
|
bytes.NewBuffer(recJSON)) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
log.Fatal("send err 2", err) |
|
|
|
log.Fatal("send err 2", err) |
|
|
|
} |
|
|
|
} |
|
|
|
@ -279,14 +279,14 @@ func getGitDirs(cdup string, exitCode int, pwd string) (string, string) { |
|
|
|
|
|
|
|
|
|
|
|
func getTimezoneOffsetInSeconds(zone string) float64 { |
|
|
|
func getTimezoneOffsetInSeconds(zone string) float64 { |
|
|
|
// date +%z -> "+0200"
|
|
|
|
// date +%z -> "+0200"
|
|
|
|
hours_str := zone[:3] |
|
|
|
hoursStr := zone[:3] |
|
|
|
mins_str := zone[3:] |
|
|
|
minsStr := zone[3:] |
|
|
|
hours, err := strconv.Atoi(hours_str) |
|
|
|
hours, err := strconv.Atoi(hoursStr) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
log.Println("err while parsing hours in timezone offset:", err) |
|
|
|
log.Println("err while parsing hours in timezone offset:", err) |
|
|
|
return -1 |
|
|
|
return -1 |
|
|
|
} |
|
|
|
} |
|
|
|
mins, err := strconv.Atoi(mins_str) |
|
|
|
mins, err := strconv.Atoi(minsStr) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
log.Println("err while parsing mins in timezone offset:", err) |
|
|
|
log.Println("err while parsing mins in timezone offset:", err) |
|
|
|
return -1 |
|
|
|
return -1 |
|
|
|
|