summaryrefslogtreecommitdiffstats
path: root/meta-netboot
AgeCommit message (Expand)AuthorFilesLines
2023-05-30Ensure all layers do pass yocto-check-layer and run-yocto-check-layer.sh scriptsJan-Simon Moeller2-50/+13
2022-07-27meta-netboot: Add SELinux supportScott Murray4-1/+55
2022-05-16Replace "/etc" with "${sysconfidir}"duerpei1-3/+3
2022-05-06Enable usrmergeScott Murray1-3/+3
2022-03-30Update various READMEsScott Murray1-0/+13
2022-03-29Declare layer compatibility with kirkstoneScott Murray1-1/+1
2021-11-04Prepare master for new framework integrationJan-Simon Moeller3-25/+3
2021-10-29[RCAR] Update RCAR BSP recipes to 5.5.0 versionRonan Le Martret1-1/+1
2021-08-23Convert to new override syntaxScott Murray7-12/+12
2021-07-07Add curl as a hard dependency for agl-netbootJan-Simon Moeller1-0/+1
2020-12-17SPEC-3723: restructure meta-aglJan-Simon Moeller12-130/+133
2020-06-19meta-netboot/README: Fix typo when passing commands to u-bootMarius Vlad1-1/+1
2020-04-27Declare layer compatibility for dunfellScott Murray1-1/+1
2020-03-31Use top-level LICENSE files for each repoJan-Simon Moeller3-0/+333
2020-03-12Update netboot initrd to persist the nbd connectionJan-Simon Moeller1-1/+1
2020-01-22Declare layer compatibility with zeusJan-Simon Möller1-1/+1
2019-12-03Extend intel-corei7-64 machine to support virtual targetsPaul Barker1-1/+1
2019-10-31Replace tab by 4 spacesRonan Le Martret1-17/+17
2019-10-23meta-netboot: don't use 'ip' command to detect boot interfaceStephane Desneux1-3/+29
2019-09-05Update AGL netboot documentationRonan Le Martret1-1/+10
2019-07-12netboot: adjust SMACK label for /etc/resolv.confStephane Desneux1-0/+1
2019-07-07netboot: systemd must mount /tmp and /runStephane Desneux1-2/+8
2019-06-21Add support for nbd protocol v3Ronan Le Martret3-3/+18
2019-04-04Upgrade to thudScott Murray1-0/+2
2018-08-01Remove porter reference from meta-aglRonan Le Martret2-64/+2
2018-04-04Adapt repository priorities in preparation of the profilesJan-Simon Möller1-1/+1
2018-02-22Hotfix for db410 on rockoJan-Simon Möller1-1/+4
2018-01-23Change image type to wic.vmdkChanghyeok Bae1-1/+1
2018-01-23netboot.bbclass: Remove image_types_uboot inheritanceChanghyeok Bae1-3/+0
2017-11-30meta-netboot: enhance reference uboot config for R-Car Gen3Stephane Desneux1-22/+42
2017-11-22Rework Linux Kernel fragment applicationsTom Rini3-8/+0
2017-10-14meta-agl-bsp: Re-merge image-vm/image.bbclass overlaysTom Rini1-1/+1
2017-07-12netboot: fix dependency loop for qemu buildMatt Ranostay1-1/+1
2017-06-28Fix rpi-sdimg after IMAGE_FSTYPE being enforced in poky-agl.confJan-Simon Möller2-3/+3
2017-06-28Enforce same IMAGE_FSTYPES across all boards for AGLJan-Simon Möller1-4/+2
2017-06-23meta-agl-netboot: increase IMAGE_ROOTFS_EXTRA_SPACEStephane Desneux2-2/+3
2017-06-14README.renesas-gen3: add uboot env to setup ethernetStephane Desneux1-0/+2
2017-03-10meta-netboot: unify instructions to setup uboot for Rcar-Gen3 M3/H3 boardsStephane Desneux1-49/+53
2017-01-26Move feature code into the meta recipesRonan1-0/+5
2017-01-02Fix to get netboot activated also for renesas gen3Romain Forlot5-1/+90
2016-09-26Fix meta-netboot build on Minnowboard Max after migration to KrogothStephane Desneux1-2/+3
2016-09-14Set INITRAMFS_IMAGE instead of appending to itAnton Gerasimov1-1/+1
2016-06-19meta-netboot: generate appropriate resolv.conf from /proc/net/pnpStephane Desneux1-2/+5
2016-06-19meta-netboot: enable NBD and Ramdisk support in kernel configStephane Desneux3-0/+8
2016-06-10meta-netboot: mount remote filesystem with 'noatime' optionStephane Desneux1-1/+1
2016-05-29add layer meta-netboot to enable network boot over NBD (Network Block Device)Stephane Desneux9-0/+335
uot;) case err = <-serveError: // Error due to listen/serve failure s.Log.Errorln(err) } return nil } // Stop web server func (s *WebServer) Stop() { s.api.Stop() close(s.stop) } // serveIndexFile provides initial file (eg. index.html) of webapp func (s *WebServer) serveIndexFile(c *gin.Context) { c.HTML(200, indexFilename, gin.H{}) } // Add details in Header func (s *WebServer) middlewareXDSDetails() gin.HandlerFunc { return func(c *gin.Context) { c.Header("XDS-Agent-Version", s.Config.Version) c.Header("XDS-API-Version", s.Config.APIVersion) c.Next() } } func (s *WebServer) isValidAPIKey(key string) bool { return (s.Config.FileConf.XDSAPIKey != "" && key == s.Config.FileConf.XDSAPIKey) } func (s *WebServer) middlewareCSRF() gin.HandlerFunc { return func(c *gin.Context) { // XXX - not used for now c.Next() return /* // Allow requests carrying a valid API key if s.isValidAPIKey(c.Request.Header.Get("X-API-Key")) { // Set the access-control-allow-origin header for CORS requests // since a valid API key has been provided c.Header("Access-Control-Allow-Origin", "*") c.Next() return } // Allow io.socket request if strings.HasPrefix(c.Request.URL.Path, "/socket.io") { c.Next() return } // FIXME Add really CSRF support // Allow requests for anything not under the protected path prefix, // and set a CSRF cookie if there isn't already a valid one. //if !strings.HasPrefix(c.Request.URL.Path, prefix) { // cookie, err := c.Cookie("CSRF-Token-" + unique) // if err != nil || !validCsrfToken(cookie.Value) { // s.Log.Debugln("new CSRF cookie in response to request for", c.Request.URL) // c.SetCookie("CSRF-Token-"+unique, newCsrfToken(), 600, "/", "", false, false) // } // c.Next() // return //} // Verify the CSRF token //token := c.Request.Header.Get("X-CSRF-Token-" + unique) //if !validCsrfToken(token) { // c.AbortWithError(403, "CSRF Error") // return //} //c.Next() c.AbortWithError(403, fmt.Errorf("Not valid API key")) */ } } // CORS middleware func (s *WebServer) middlewareCORS() gin.HandlerFunc { return func(c *gin.Context) { if c.Request.Method == "OPTIONS" { c.Header("Access-Control-Allow-Origin", "*") c.Header("Access-Control-Allow-Headers", "Content-Type, X-API-Key") c.Header("Access-Control-Allow-Methods", "GET, POST, DELETE") c.Header("Access-Control-Max-Age", cookieMaxAge) c.AbortWithStatus(204) return } c.Next() } } // socketHandler is the handler for the "main" websocket connection func (s *WebServer) socketHandler(c *gin.Context) { // Retrieve user session sess := s.sessions.Get(c) if sess == nil { c.JSON(500, gin.H{"error": "Cannot retrieve session"}) return } s.sIOServer.On("connection", func(so socketio.Socket) { sessID := sess.ID s.Log.Debugf("WS Connected (sessID=%s, WS SID=%s)", sessID, so.Id()) s.sessions.UpdateIOSocket(sessID, &so) so.On("disconnection", func() { s.Log.Debugf("WS disconnected (sessID=%s, WS SID=%s)", sessID, so.Id()) s.events.UnRegister(xaapiv1.EVTAll, sessID) s.sessions.UpdateIOSocket(sessID, nil) }) }) s.sIOServer.On("error", func(so socketio.Socket, err error) { s.Log.Errorf("WS SID=%v Error : %v", so.Id(), err.Error()) }) s.sIOServer.ServeHTTP(c.Writer, c.Request) }