diff --git a/build.sh b/build.sh index d9b67f2..23765d7 100755 --- a/build.sh +++ b/build.sh @@ -106,27 +106,10 @@ echo "✓ nextcloud-calendar built successfully" echo "Building nextcloud-mail..." cd "$SCRIPT_DIR/tools/go/nextcloud-mail" -# Build ldflags - escape special characters in values -escape_ldflag() { - local value="$1" - # Escape backslashes, double quotes, and spaces - value="${value//\\/\\\\}" - value="${value//\"/\\\"}" - echo "$value" -} - -LDFLAGS="-X main.BuildIMAPServer=\"$(escape_ldflag "$IMAP_SERVER")\"" -LDFLAGS="$LDFLAGS -X main.BuildIMAPPort=\"$(escape_ldflag "$IMAP_PORT")\"" -LDFLAGS="$LDFLAGS -X main.BuildIMAPUser=\"$(escape_ldflag "$IMAP_USER")\"" -LDFLAGS="$LDFLAGS -X main.BuildIMAPPassword=\"$(escape_ldflag "$IMAP_PASS")\"" -LDFLAGS="$LDFLAGS -X main.BuildSMTPServer=\"$(escape_ldflag "$SMTP_SERVER")\"" -LDFLAGS="$LDFLAGS -X main.BuildSMTPPort=\"$(escape_ldflag "$SMTP_PORT")\"" -LDFLAGS="$LDFLAGS -X main.BuildSMTPUser=\"$(escape_ldflag "$SMTP_USER")\"" -LDFLAGS="$LDFLAGS -X main.BuildSMTPPassword=\"$(escape_ldflag "$SMTP_PASS")\"" -LDFLAGS="$LDFLAGS -X main.BuildUseSSL=\"$(escape_ldflag "$USE_SSL")\"" -LDFLAGS="$LDFLAGS -X main.BuildIgnoreCerts=\"$(escape_ldflag "$IGNORE_CERTS")\"" - -go build -ldflags="$LDFLAGS" -o ~/bin/nextcloud-mail . +# Build with compile-time credentials +# Note: This simple approach works for most passwords but may fail with +# passwords containing spaces, double quotes, or $ characters +go build -ldflags="-X main.BuildIMAPServer=$IMAP_SERVER -X main.BuildIMAPPort=$IMAP_PORT -X main.BuildIMAPUser=$IMAP_USER -X main.BuildIMAPPassword=$IMAP_PASS -X main.BuildSMTPServer=$SMTP_SERVER -X main.BuildSMTPPort=$SMTP_PORT -X main.BuildSMTPUser=$SMTP_USER -X main.BuildSMTPPassword=$SMTP_PASS -X main.BuildUseSSL=$USE_SSL -X main.BuildIgnoreCerts=$IGNORE_CERTS" -o ~/bin/nextcloud-mail . echo "✓ nextcloud-mail built successfully" echo ""