Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
38c0cf6
[~] Update to the Readme page to address #303 and #297
alienatedsec Oct 9, 2023
405862e
Add ptz functions to ipc_cmd
roleoroleo Jan 24, 2024
599e224
Move preset.sh code to ptz_presets.sh
roleoroleo Jan 25, 2024
516bd32
Add add/delete ptz presets
roleoroleo Jan 25, 2024
fe3cb7d
Add ipc2file: create a tmp file when an event is triggered
roleoroleo Jan 25, 2024
39f67ce
Add configuration file editing
roleoroleo Jan 25, 2024
6a15142
Add new parameters
roleoroleo Jan 25, 2024
2fb0fbe
Use generic command for ipc_cmd
roleoroleo Jan 25, 2024
677e5e3
Add onvif_simple_server submodule
roleoroleo Jan 25, 2024
f42d514
Patch httpd to run onvif as a cgi
roleoroleo Jan 25, 2024
e258274
Remove onvif_srvd and add onvif_simple_server sharing port 80 with httpd
roleoroleo Jan 26, 2024
053e47f
Update .gitignore
roleoroleo Jan 26, 2024
e5062db
Remove wsdd submodule
roleoroleo Jan 26, 2024
06e5c1f
Fix installation path
roleoroleo Jan 26, 2024
7021fa0
Replace symlinks with .sh
roleoroleo Jan 26, 2024
867371a
Add -t parameter to imggrabber
roleoroleo Jan 26, 2024
afb3f0c
Update onvif_simple_server to the last commit
roleoroleo Jan 27, 2024
40b9ace
Enable packing of rootfs and home
roleoroleo Jan 31, 2024
b96d835
Remove busybox submodule
roleoroleo Jan 31, 2024
4ae48df
Add busybox 1.36.1
roleoroleo Jan 31, 2024
1ecf7be
Minor fixes
roleoroleo Jan 31, 2024
7b2a9ba
Fix syntax error in system_init.sh
roleoroleo Jan 31, 2024
bd032dd
[+] Merge conflicts resolved
alienatedsec Jan 31, 2024
da803b6
[+] Merge conflict commits part 2
alienatedsec Jan 31, 2024
b8eab19
[~] Update to init.busybox
alienatedsec Jan 31, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,6 @@
path = src/mosquitto/mosquitto
url = https://github.com/eclipse/mosquitto.git
ignore = dirty
[submodule "src/wsdd/wsdd"]
path = src/wsdd/wsdd
url = https://github.com/KoynovStas/wsdd.git
ignore = dirty
[submodule "src/libfuse/libfuse"]
path = src/libfuse/libfuse
url = https://github.com/libfuse/libfuse.git
Expand All @@ -38,3 +34,6 @@
path = src/curl/curl
url = https://github.com/curl/curl
ignore = dirty
[submodule "src/onvif_simple_server/onvif_simple_server"]
path = src/onvif_simple_server/onvif_simple_server
url = https://github.com/roleoroleo/onvif_simple_server
46 changes: 23 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@

## Why this `YI-HACK-V5` firmware?

The answer is simple: missing updates, RTSP and not based on the latest stock firmware (which features improvements and new cool stuff).
Besides, there were no updates to Yi-Hack-V4, and I am really against that RTSP licensing model. I have contributed enough and will continue my work separately.
The answer is simple: missing updates, RTSP, and not based on the latest stock firmware (which features improvements and new cool stuff).
Besides, there were no updates to `yi-hack-v4`, and I am against that RTSP licensing model. I have contributed enough and will continue my work separately.

I am slowly releasing beta versions, and I can see lots of downloads, testing and contributions. A big thank you to the community.

Expand All @@ -32,7 +32,7 @@ This firmware will add the following features:

- **NEW FEATURES**
- **NEW CAMERAS SUPPORTED**: Yi Outdoor 1080p and Yi Cloud Dome 1080p.
- **RTSP server** - which will allow a RTSP stream of the video while keeping the cloud features enabled (available to all and its free).
- **RTSP server** - which will allow an RTSP stream of the video while keeping the cloud features enabled (available to all and it is free).
- **MQTT** - detect motion directly from your home server!
- WebServer - user-friendly stats and configurations.
- SSH server - _Enabled by default._
Expand All @@ -48,40 +48,40 @@ This firmware will add the following features:
- rotate
- PTZ support through a web page.
- Snapshot feature
- Proxychains-ng - _Disabled by default. Useful if the camera is region locked._
- Proxychains-ng - _Disabled by default. Useful if the camera is region-locked._
- The possibility to disable all the cloud features while keeping the RTSP stream.

## Supported cameras

Currently this project supports the following cameras:
Currently, this project supports the following cameras:

- Yi 1080p Home 48US - confirmed
- Yi 1080p Home 20US - confirmed
- Yi Home 17CN / 27US / 47US - confirmed
- Yi Dome - confirmed, but heavy performance issues with Snapshot and ONVIF is killing the CPU
- Yi Dome - confirmed, but heavy performance issues with Snapshot and ONVIF are killing the CPU
- Yi 1080p Dome - confirmed; however, I have no device to test
- Yi 1080p Cloud Dome - confirmed; however, I have no device to test
- Yi 1080p Outdoor - confirmed; however, I have no device to test

## Getting Started
1. Check that you have a correct Xiaomi Yi camera. (see the section above)

2. Get an microSD card, preferably of capacity 16gb or less and format it by selecting File System as FAT32.
2. Get a microSD card, preferably of capacity 16 GB or less and format it by selecting File System as FAT32.

**_IMPORTANT: The microSD card must be formatted in FAT32. exFAT formatted microSD cards will not work._**
**I have not formatted any of my 32GB cards in order to load the firmware. Just copy files directly and it should work.**
**I have not formatted any of my 32GB cards to load the firmware. Just copy files directly and it should work.**

<details><summary> (Click) How to format microSD cards > 32GB as FAT32 in Windows 10</summary><p>

For microSD cards larger than 32 GB, Windows 10 only gives you the option to format as NTFS or exFAT. You can create a small partition (e.g 4 GB) on a large microSD card (e.g. 64 GB) to get the FAT32 formatting option.
For microSD cards larger than 32 GB, Windows 10 only gives you the option to format as NTFS or exFAT. You can create a small partition (e.g. 4 GB) on a large microSD card (e.g. 64 GB) to get the FAT32 formatting option.

* insert microSD card into PC card reader
* open Disk Management (e.g. <kbd>Win</kbd>+<kbd>x</kbd>, <kbd>k</kbd>)
* Disk Management: delete all partitions on the microSD card
* right click each partition > "Delete Volume..."
* repeat until there are no partitions on the card
* Disk Management: create a new FAT32 partition
* right click on "Unallocated" > "New Simple Volume..."
* Right-click on "Unallocated" > "New Simple Volume..."
* Welcome to the New Simple Volume Wizard: click "Next"
* Specify Volume Size: 4096 > "Next"
* Assign Drive Letter or Path: (Any) > "Next"
Expand All @@ -101,15 +101,15 @@ Alternative way:
* open cmd with admin permissions
* run diskpart
* type "list disk"
* find your sd card (for example Disk 7)
* find your SD card (for example Disk 7)
* type "select disk 7"
* if it has one partition - type "select partition 1". If more - delete all the partitions and then create one
* type "format FS=FAT32 QUICK"
* done. 32GB partition in FAT32.

</p></details>

3. Get the correct firmware files for your camera from this link: https://github.com/alienatedsec/yi-hack-v5/releases
3. Get the correct firmware files for your camera from the latest baseline release link: https://github.com/alienatedsec/yi-hack-v5/releases/tag/0.3.8

| Camera | rootfs partition | home partition | Remarks |
| --- | --- | --- | --- |
Expand All @@ -120,27 +120,27 @@ Alternative way:
| **Yi 1080p Cloud Dome** | rootfs_y19 | home_y19 | Firmware files required for the Yi 1080p Cloud Dome camera. |
| **Yi Outdoor** | rootfs_h30 | home_h30 | Firmware files required for the Yi Outdoor camera. |

4. Save both files and the `yi-hack-v5` folder on root path of microSD card.
4. Save both files (rootfs_xx and home_xx), and the `yi-hack-v5` folder on the root path of the microSD card.

**_IMPORTANT: Make sure that the filename stored on microSD card are correct and didn't get changed. e.g. The firmware filenames for the Yi 1080p Dome camera must be home_h20 and rootfs_h20._**
**_IMPORTANT: Make sure that the filenames stored on the microSD card are correct and didn't get changed. e.g. The firmware filenames for the Yi 1080p Dome camera must be home_h20 and rootfs_h20._**

5. Remove power to the camera, insert the microSD card, turn the power back ON.
5. Remove power to the camera, insert the microSD card, and turn the power back ON.

6. The yellow light will come ON and flash for roughly 30 seconds, which means the firmware is being flashed successfully. The camera will boot up.

7. The yellow light will come ON again for the final stage of flashing. This will take up to 2 minutes.

8. Blue light should come ON indicating that your WiFi connection has been successful.

9. Go in the browser and access the web interface of the camera as a website.
9. Go into the browser and access the web interface of the camera as a website.

Depending upon your network setup, accessing the web interface with the hostname **may not work**. In this case, the IP address of the camera has to be found.

This can be done from the App. Open it and go to the Camera Settings --> Network Info --> IP Address.
This can be done from the App. Please open the app, and go to the Camera Settings --> Network Info --> IP Address.

Access the web interface by entering the IP address of the came in a web browser. e.g. http://192.168.1.5:8080
Access the web interface by entering the IP address of the camera in a web browser. e.g. `http://192.168.1.5:8080`

**_IMPORTANT: If you have multiple cameras. It is important to configure each camera with a unique hostname. Otherwise the web interface will only be accessible by IP address._**
**_IMPORTANT: If you have multiple cameras. It is important to configure each camera with a unique hostname. Otherwise, the web interface will only be accessible by IP address._**

10. Done! You are now successfully running yi-hack-v5!

Expand All @@ -149,11 +149,11 @@ _TO DO - (It happened a few times and it's often possible to recover from it)_

## Troubleshooting

### Wifi is connected, the camera responds to ping but I'm not able to connect to the web interface
Verify that you did not forget to upload `yi-hack-v5` folder to the SD card when uploading firmware. If you did, upload it and restart the camera.
### Wi-Fi is connected, and the camera responds to ping but I'm not able to connect to the web interface
Verify that you did not forget to upload the `yi-hack-v5` folder to the SD card when uploading firmware. If you did, upload it and restart the camera.

### Cannot complete the pairing / wifi settings lost after reboot
Make sure that you are using the correct app (Yi Home) to setup the wifi connection. For example, the "Xiaomi Home" app will also generate the correct QR code that will work with your camera for initial connection, but then after power is removed
### Cannot complete the pairing/wifi settings lost after reboot
Ensure you are using the correct app (Yi Home) to set up the wifi connection. For example, the "Xiaomi Home" app will also generate the correct QR code that will work with your camera for the initial connection, but then after power is removed
the settings will be lost.

## Introducing pre-releases
Expand Down
98 changes: 49 additions & 49 deletions src/busybox/.config
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Busybox version: 1.36.1
# Sun Jan 28 18:01:36 2024
# Tue Jan 30 21:11:49 2024
#
CONFIG_HAVE_DOT_CONFIG=y

Expand Down Expand Up @@ -47,14 +47,14 @@ CONFIG_FEATURE_SYSLOG=y
# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set
# CONFIG_FEATURE_INDIVIDUAL is not set
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
CONFIG_CROSS_COMPILER_PREFIX="arm-hisiv300-linux-"
CONFIG_CROSS_COMPILER_PREFIX="arm-hisiv300-linux-uclibcgnueabi-"
CONFIG_SYSROOT=""
CONFIG_EXTRA_CFLAGS="-march=armv5te -mcpu=arm926ej-s"
CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""
# CONFIG_USE_PORTABLE_CODE is not set
# CONFIG_STACK_OPTIMIZATION_386 is not set
CONFIG_STATIC_LIBGCC=y
# CONFIG_STATIC_LIBGCC is not set

#
# Installation Options ("make install" behavior)
Expand Down Expand Up @@ -205,7 +205,7 @@ CONFIG_FEATURE_VERBOSE=y
#
# Common options for date and touch
#
# CONFIG_FEATURE_TIMEZONE is not set
CONFIG_FEATURE_TIMEZONE=y

#
# Common options for cp and mv
Expand Down Expand Up @@ -423,25 +423,25 @@ CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y
# CONFIG_ED is not set
# CONFIG_PATCH is not set
CONFIG_SED=y
# CONFIG_VI is not set
CONFIG_FEATURE_VI_MAX_LEN=0
CONFIG_VI=y
CONFIG_FEATURE_VI_MAX_LEN=4096
# CONFIG_FEATURE_VI_8BIT is not set
# CONFIG_FEATURE_VI_COLON is not set
# CONFIG_FEATURE_VI_COLON_EXPAND is not set
# CONFIG_FEATURE_VI_YANKMARK is not set
# CONFIG_FEATURE_VI_SEARCH is not set
CONFIG_FEATURE_VI_COLON=y
CONFIG_FEATURE_VI_COLON_EXPAND=y
CONFIG_FEATURE_VI_YANKMARK=y
CONFIG_FEATURE_VI_SEARCH=y
# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
# CONFIG_FEATURE_VI_USE_SIGNALS is not set
# CONFIG_FEATURE_VI_DOT_CMD is not set
# CONFIG_FEATURE_VI_READONLY is not set
# CONFIG_FEATURE_VI_SETOPTS is not set
# CONFIG_FEATURE_VI_SET is not set
# CONFIG_FEATURE_VI_WIN_RESIZE is not set
# CONFIG_FEATURE_VI_ASK_TERMINAL is not set
# CONFIG_FEATURE_VI_UNDO is not set
# CONFIG_FEATURE_VI_UNDO_QUEUE is not set
CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0
# CONFIG_FEATURE_VI_VERBOSE_STATUS is not set
CONFIG_FEATURE_VI_USE_SIGNALS=y
CONFIG_FEATURE_VI_DOT_CMD=y
CONFIG_FEATURE_VI_READONLY=y
CONFIG_FEATURE_VI_SETOPTS=y
CONFIG_FEATURE_VI_SET=y
CONFIG_FEATURE_VI_WIN_RESIZE=y
CONFIG_FEATURE_VI_ASK_TERMINAL=y
CONFIG_FEATURE_VI_UNDO=y
CONFIG_FEATURE_VI_UNDO_QUEUE=y
CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256
CONFIG_FEATURE_VI_VERBOSE_STATUS=y
CONFIG_FEATURE_ALLOW_EXEC=y

#
Expand Down Expand Up @@ -662,8 +662,8 @@ CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y
# CONFIG_MKFS_REISER is not set
# CONFIG_MKDOSFS is not set
# CONFIG_MKFS_VFAT is not set
# CONFIG_MKSWAP is not set
# CONFIG_FEATURE_MKSWAP_UUID is not set
CONFIG_MKSWAP=y
CONFIG_FEATURE_MKSWAP_UUID=y
CONFIG_MORE=y
CONFIG_MOUNT=y
CONFIG_FEATURE_MOUNT_FAKE=y
Expand Down Expand Up @@ -696,7 +696,7 @@ CONFIG_FEATURE_SETPRIV_DUMP=y
CONFIG_FEATURE_SETPRIV_CAPABILITIES=y
CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y
# CONFIG_SETSID is not set
# CONFIG_SWAPON is not set
CONFIG_SWAPON=y
# CONFIG_FEATURE_SWAPON_DISCARD is not set
# CONFIG_FEATURE_SWAPON_PRI is not set
# CONFIG_SWAPOFF is not set
Expand Down Expand Up @@ -774,12 +774,12 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0
# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
# CONFIG_CONSPY is not set
# CONFIG_CROND is not set
CONFIG_CROND=y
# CONFIG_FEATURE_CROND_D is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
# CONFIG_FEATURE_CROND_SPECIAL_TIMES is not set
CONFIG_FEATURE_CROND_DIR=""
# CONFIG_CRONTAB is not set
CONFIG_CRONTAB=y
# CONFIG_DEVFSD is not set
# CONFIG_DEVFSD_MODLOAD is not set
# CONFIG_DEVFSD_FG_NP is not set
Expand All @@ -791,13 +791,13 @@ CONFIG_FLASH_ERASEALL=y
# CONFIG_FLASH_LOCK is not set
# CONFIG_FLASH_UNLOCK is not set
CONFIG_FLASHCP=y
# CONFIG_HDPARM is not set
# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
CONFIG_HDPARM=y
CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
CONFIG_HEXEDIT=y
# CONFIG_I2CGET is not set
# CONFIG_I2CSET is not set
Expand Down Expand Up @@ -875,9 +875,9 @@ CONFIG_FTPD=y
CONFIG_FEATURE_FTPD_WRITE=y
CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
CONFIG_FEATURE_FTPD_AUTHENTICATION=y
# CONFIG_FTPGET is not set
# CONFIG_FTPPUT is not set
# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
CONFIG_FTPGET=y
CONFIG_FTPPUT=y
CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
CONFIG_HOSTNAME=y
# CONFIG_DNSDOMAINNAME is not set
CONFIG_HTTPD=y
Expand All @@ -893,10 +893,10 @@ CONFIG_FEATURE_HTTPD_CGI=y
# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
# CONFIG_FEATURE_HTTPD_PROXY is not set
CONFIG_FEATURE_HTTPD_GZIP=y
# CONFIG_FEATURE_HTTPD_ETAG is not set
CONFIG_FEATURE_HTTPD_ETAG=y
CONFIG_FEATURE_HTTPD_LAST_MODIFIED=y
CONFIG_FEATURE_HTTPD_DATE=y
# CONFIG_FEATURE_HTTPD_ACL_IP is not set
CONFIG_FEATURE_HTTPD_ACL_IP=y
CONFIG_IFCONFIG=y
CONFIG_FEATURE_IFCONFIG_STATUS=y
CONFIG_FEATURE_IFCONFIG_SLIP=y
Expand Down Expand Up @@ -984,22 +984,22 @@ CONFIG_FEATURE_TELNETD_INETD_WAIT=y
# CONFIG_FEATURE_TFTP_PUT is not set
# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
# CONFIG_TFTP_DEBUG is not set
# CONFIG_TLS is not set
CONFIG_TLS=y
# CONFIG_TRACEROUTE is not set
# CONFIG_TRACEROUTE6 is not set
# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
# CONFIG_TUNCTL is not set
# CONFIG_FEATURE_TUNCTL_UG is not set
# CONFIG_VCONFIG is not set
# CONFIG_WGET is not set
# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set
# CONFIG_FEATURE_WGET_STATUSBAR is not set
# CONFIG_FEATURE_WGET_FTP is not set
# CONFIG_FEATURE_WGET_AUTHENTICATION is not set
# CONFIG_FEATURE_WGET_TIMEOUT is not set
# CONFIG_FEATURE_WGET_HTTPS is not set
# CONFIG_FEATURE_WGET_OPENSSL is not set
CONFIG_WGET=y
CONFIG_FEATURE_WGET_LONG_OPTIONS=y
CONFIG_FEATURE_WGET_STATUSBAR=y
CONFIG_FEATURE_WGET_FTP=y
CONFIG_FEATURE_WGET_AUTHENTICATION=y
CONFIG_FEATURE_WGET_TIMEOUT=y
CONFIG_FEATURE_WGET_HTTPS=y
CONFIG_FEATURE_WGET_OPENSSL=y
# CONFIG_WHOIS is not set
# CONFIG_ZCIP is not set
# CONFIG_UDHCPD is not set
Expand All @@ -1022,7 +1022,7 @@ CONFIG_UDHCPC6_DEFAULT_SCRIPT=""
#
# Common options for DHCP applets
#
CONFIG_UDHCPC_DEFAULT_INTERFACE="wlan0"
CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0"
# CONFIG_FEATURE_UDHCP_PORT is not set
CONFIG_UDHCP_DEBUG=9
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
Expand All @@ -1040,13 +1040,13 @@ CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
#
# Mail Utilities
#
CONFIG_FEATURE_MIME_CHARSET=""
CONFIG_FEATURE_MIME_CHARSET="us-ascii"
# CONFIG_MAKEMIME is not set
# CONFIG_POPMAILDIR is not set
# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
# CONFIG_REFORMIME is not set
# CONFIG_FEATURE_REFORMIME_COMPAT is not set
# CONFIG_SENDMAIL is not set
CONFIG_SENDMAIL=y

#
# Process Utilities
Expand Down Expand Up @@ -1147,7 +1147,7 @@ CONFIG_ASH_EXPAND_PRMT=y
CONFIG_ASH_ECHO=y
CONFIG_ASH_PRINTF=y
CONFIG_ASH_TEST=y
# CONFIG_ASH_SLEEP is not set
CONFIG_ASH_SLEEP=y
CONFIG_ASH_HELP=y
CONFIG_ASH_GETOPTS=y
CONFIG_ASH_CMDCMD=y
Expand Down
18 changes: 18 additions & 0 deletions src/busybox/auth.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
diff -Naur busybox-1.36.1.ori/networking/httpd.c busybox-1.36.1/networking/httpd.c
--- busybox-1.36.1.ori/networking/httpd.c 2024-01-08 16:52:14.701167800 +0100
+++ busybox-1.36.1/networking/httpd.c 2024-01-08 16:53:21.413344344 +0100
@@ -2136,8 +2136,12 @@
goto end_check_passwd;
}
bad_input:
- /* Comparing plaintext "user:pass" in one go */
- r = strcmp(cur->after_colon, user_and_passwd);
+ /* Check if auth is disabled for this path */
+ r = strcmp(cur->after_colon, ":");
+ if (r != 0) {
+ /* Comparing plaintext "user:pass" in one go */
+ r = strcmp(cur->after_colon, user_and_passwd);
+ }
end_check_passwd:
if (r == 0) {
remoteuser = xstrndup(user_and_passwd,
Loading